pkgsrc/editors/xemacs-current/Makefile
jlam 98886c197a Restructure the following packages:
editors/xemacs-current
	editors/xemacs-current-nox11

The latter is now just editors/xemacs-current built with a specific set
of options.  Changes include:

+ Rename the "xaw" option to "lucid" to match the option name used in
  xemacs/options.mk.  Also comment out the "esound" option which isn't
  fully supported yet.  Add some comments to the options.mk file to
  make it a little easier to understand.

  XXX Should probably add a pgsql option as this version of XEmacs has
  XXX some sort of PostgreSQL support.  Also need to sort out native
  XXX sound support.

+ Remove Makefile.common and move all logic into xemacs-current/Makefile
  and xemacs-current/options.mk.

+ As of version 21.5, xemacs switched to using GNU autoconf, so set
  GNU_CONFIGURE=yes.

+ Include termcap.buildlink3.mk to properly deal with termcap/curses
  issues (xemacs needs termcap).  Drop the --without-ncurses setting
  as the issue is handled by termcap.buildlink3.mk.

+ Be slightly more aware of ${X11_TYPE} == "modular" by not referring to
  ${X11BASE} in that case.

+ Include buildlink3.mk files for zlib and gettext, which are detected
  automatically if they're in the base system.  Gettext is needed for
  MULE support.

+ In the Makefile and the PLIST, don't substitute for ${EMACSVER}.
  Instead substitute for ${DISTNAME} so the PLIST looks closer to
  xemacs/PLIST.

+ Add patch-al which handles a difference between bmake and gmake in
  using $< in a makefile target.

+ Support DESTDIR installation by adding INSTALL_MAKE_FLAGS to override
  where files are installed during the install phase.

+ Honor PKGMANDIR.

+ Bump the PKGREVISION for xemacs-current and xemacs-current-nox11 to 1.
  Both packages now track and use the same PKGREVISION number.
2008-04-24 21:32:47 +00:00

93 lines
3 KiB
Makefile

# $NetBSD: Makefile,v 1.64 2008/04/24 21:32:47 jlam Exp $
PKGNAME?= ${DISTNAME}
COMMENT?= *BETA* XEmacs text editor version ${PKGVERSION_NOREV}
DISTNAME= xemacs-21.5.27
EMACSVERSION= 21.5-b27
EMACS_DISTNAME= xemacs-${EMACSVERSION}
PKGREVISION= 1
CATEGORIES= editors
MASTER_SITES= ${MASTER_SITE_XEMACS:=${DISTNAME:C/[.][^.]*$//}/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.xemacs.org/
CONFLICTS+= gnuclient-[0-9]*
CONFLICTS+= xemacs-[0-9]*
CONFLICTS+= xemacs-nox11-[0-9]*
PKG_DESTDIR_SUPPORT= user-destdir
.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "arm32"
GCC_REQD+= 2.95.3
.endif
PLIST_SUBST+= DISTNAME=${EMACS_DISTNAME}
FILES_SUBST+= DISTNAME=${EMACS_DISTNAME}
MESSAGE_SUBST+= DISTNAME=${EMACS_DISTNAME}
INFO_FILES= # PLIST
.include "options.mk"
# The XEmacs configure script does something silly to the value of mandir
# passed to the configure script to point it to where the man1 pages go.
# Point it there directly.
#
GNU_CONFIGURE_MANDIR= ${PREFIX:Q}/${PKGMANDIR}/man1
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-clash-detection
CONFIGURE_ARGS+= --with-mule
CONFIGURE_ARGS+= --with-zlib
CONFIGURE_ARGS+= --without-msw
CFLAGS+= -Dunix
# Newer gcc has big trouble with aliasing. This should be fixed in the
# source, but until then, use the big hammer here.
#
CFLAGS+= -fno-strict-aliasing
.if ${X11_TYPE} != "modular"
INFOPATH= ${PREFIX}/${PKGINFODIR}:${X11BASE}/${PKGINFODIR}:${LOCALBASE}/${PKGINFODIR}
.else
INFOPATH= ${PREFIX}/${PKGINFODIR}:${LOCALBASE}/${PKGINFODIR}
.endif
CONFIGURE_ARGS+= --with-infopath=${INFOPATH:Q}
# Having the build path in the dumped emacs is not a problem.
CHECK_WRKREF_SKIP+= bin/xemacs
CHECK_WRKREF_SKIP+= bin/xemacs-${EMACSVERSION}
LIBDIR= ${PREFIX}/lib/${EMACS_DISTNAME}
ARCHLIBDIR= ${LIBDIR}/${MACHINE_GNU_PLATFORM}
# 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
pre-build:
rm -f ${WRKSRC}/etc/ctags.1.orig
.include "../../databases/gdbm/buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/termcap.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"