summaryrefslogtreecommitdiff
path: root/editors/xemacs/Makefile
blob: 77bad26998d6fcb3a4f01d0cfdda6e4054123de9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# $NetBSD: Makefile,v 1.113 2015/02/15 13:13:24 hauke Exp $

PKGNAME?=	${DISTNAME}
COMMENT?=	XEmacs text editor version 21

DISTNAME=	xemacs-21.4.23
PKGREVISION=	1
CATEGORIES=	editors
MASTER_SITES=	${MASTER_SITE_XEMACS:=${DISTNAME:C/[.][^.]*$//}/}

MAINTAINER=	hauke@NetBSD.org
HOMEPAGE=	http://www.xemacs.org/
LICENSE=	gnu-gpl-v2

CONFLICTS+=	gnuserv-[0-9]*
CONFLICTS+=	xemacs-[0-9]*
CONFLICTS+=	xemacs-nox11-[0-9]*

BROKEN_ON_PLATFORM=	*-*-mips*	# fails purespace dumping

USE_TOOLS+=	makeinfo

HAS_CONFIGURE=		yes

DIST_SUBDIR=		xemacs
PLIST_SUBST+=		DISTNAME=${DISTNAME:Q}
FILES_SUBST+=		DISTNAME=${DISTNAME:Q}
MESSAGE_SUBST+=		DISTNAME=${DISTNAME:Q}
INFO_FILES=		yes

.if defined(MANZ)
PLIST_SUBST+=		ELSUFX='.gz'
.else
PLIST_SUBST+=		ELSUFX=''
.endif

.include "options.mk"

CONFIGURE_ARGS+=	${MACHINE_GNU_PLATFORM}
CONFIGURE_ARGS+=	--prefix=${PREFIX:Q}
CONFIGURE_ARGS+=	--mandir=${PREFIX:Q}/${PKGMANDIR:Q}/man1
CONFIGURE_ARGS+=	--with-clash-detection
CONFIGURE_ARGS+=	--with-mule=yes
CONFIGURE_ARGS+=	--with-msw=no
CONFIGURE_ARGS+=	--pdump
CFLAGS+=		-Dunix

# Use terminfo on NetBSD-6 and newer.
# We cannot use terminfo.*.mk as XEmacs enforces a link to termcap,
# but this is fine for us.
.if (${OPSYS} == "NetBSD") && exists(/usr/include/term.h)
CPPFLAGS+=	-DTERMINFO
.endif

.if ${X11_TYPE} != "modular"
INFOPATH=		${PREFIX}/${PKGINFODIR}:${X11BASE}/${PKGINFODIR}:${LOCALBASE}/${PKGINFODIR}
.else
INFOPATH=		${PREFIX}/${PKGINFODIR}:${LOCALBASE}/${PKGINFODIR}
.endif
CONFIGURE_ARGS+=	--infopath=${INFOPATH:Q}

.if ${OPSYS} == "SunOS"
.  if !exists(/usr/demo/SOUND/libaudio.a) && \
      !exists(/usr/demo/SOUND/lib/libaudio.a)
CONFIGURE_ARGS+=	--with_sound=none
.  endif
.endif

.if (${OPSYS} == "DragonFly") && exists(/usr/lib/crtn.o)
CPPFLAGS+=		-DDFLY_CRT_USRLIB
.endif

CHECK_WRKREF_SKIP=	bin/xemacs*
REPLACE_SH=		etc/check_cygwin_setup.sh

LIBDIR=			${PREFIX}/lib/${DISTNAME}
ARCHLIBDIR=		${LIBDIR}/${MACHINE_GNU_PLATFORM}

# The portable dumper creates a dump file with a build ID in its name
GENERATE_PLIST+=	${ECHO} bin/${DISTNAME}-`${WRKSRC}/src/xemacs -sd`.dmp ;

# This list overrides variables used in the source Makefiles at install
# time to allow for ${DESTDIR}-style installation.  This variables list
# is pulled from the ``mkdir'' target of Makefile.in.in.
#
INSTALL_MAKE_FLAGS+=	archlibdir=${DESTDIR}${ARCHLIBDIR}
INSTALL_MAKE_FLAGS+=	bindir=${DESTDIR}${PREFIX}/bin
INSTALL_MAKE_FLAGS+=	datadir=${DESTDIR}${PREFIX}/lib
INSTALL_MAKE_FLAGS+=	docdir=${DESTDIR}${ARCHLIBDIR}
INSTALL_MAKE_FLAGS+=	etcdir=${DESTDIR}${LIBDIR}/etc
INSTALL_MAKE_FLAGS+=	exec_prefix=${DESTDIR}${PREFIX}
INSTALL_MAKE_FLAGS+=	infodir=${DESTDIR}${LIBDIR}/info
INSTALL_MAKE_FLAGS+=	libdir=${DESTDIR}/lib
INSTALL_MAKE_FLAGS+=	lispdir=${DESTDIR}${LIBDIR}/lisp
INSTALL_MAKE_FLAGS+=	mandir=${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
INSTALL_MAKE_FLAGS+=	moduledir=${DESTDIR}${ARCHLIBDIR}/modules
INSTALL_MAKE_FLAGS+=	pkgdir=${DESTDIR}${LIBDIR}/lisp
INSTALL_MAKE_FLAGS+=	prefix=${DESTDIR}${PREFIX}
INSTALL_MAKE_FLAGS+=	sitelispdir=${DESTDIR}${PREFIX}/lib/xemacs/site-lisp
INSTALL_MAKE_FLAGS+=	sitemoduledir=${DESTDIR}${PREFIX}/lib/xemacs/site-modules

post-extract:
	cp ${FILESDIR}/dragonfly.h ${WRKSRC}/src/s/

pre-build:
	rm -f ${WRKSRC}/etc/ctags.1.orig

post-install:
	${INSTALL_DATA} ${WRKSRC}/Installation ${DESTDIR}${LIBDIR}/etc/
.if defined(MANZ)
	find ${DESTDIR}${LIBDIR} -name "*.el" -type f -print | xargs ${GZIP_CMD}
.endif

.include "../../databases/gdbm/buildlink3.mk"
.include "../../mk/oss.buildlink3.mk"
.include "../../mk/termcap.buildlink3.mk"

.include "../../mk/bsd.pkg.mk"