263 lines
6.3 KiB
Makefile
263 lines
6.3 KiB
Makefile
# $OpenBSD: Makefile,v 1.15 2002/07/19 22:25:59 pvalchev Exp $
|
|
|
|
COMMENT= "heavily customizable and extensible editor"
|
|
|
|
VERSION= 21.1.14
|
|
DISTNAME= xemacs-${VERSION}
|
|
CATEGORIES= editors
|
|
NEED_VERSION= 1.513
|
|
|
|
HOMEPAGE= http://www.xemacs.org/
|
|
|
|
# where to send bitches about this port
|
|
MAINTAINER= Jean-Yves Burlett <jean-yves@burlett.org>
|
|
|
|
# GNU GPL License
|
|
# PERMIT_PACKAGE_CDROM= ??? # depends on flavors (compface), see below
|
|
PERMIT_PACKAGE_FTP= Yes
|
|
PERMIT_DISTFILES_FTP= Yes
|
|
|
|
# where the source files and patches can be fetched
|
|
MASTER_SITES= ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.1/ \
|
|
ftp://ftp.oleane.net/pub/xemacs/xemacs-21.1/ \
|
|
ftp://ftp.pasteur.fr/pub/computing/xemacs/xemacs-21.1/ \
|
|
ftp://ftp.mpi-sb.mpg.de/pub/gnu/mirror/ftp.xemacs.org/xemacs/xemacs-21.1/ \
|
|
ftp://ftp.usyd.edu.au/pub/Xemacs/xemacs-21.1/ \
|
|
ftp://ftp.lab.kdd.co.jp/xemacs/xemacs-21.1/ \
|
|
ftp://ftp.th-darmstadt.de/pub/editors/xemacs/xemacs-21.1/ \
|
|
ftp://ftp.funet.fi/pub/mirrors/ftp.xemacs.org/pub/tux/xemacs/xemacs-21.1/
|
|
|
|
# Dependencies are very flavors-specific, you have
|
|
# to select a flavor set to know them
|
|
|
|
# build/configuration variables
|
|
|
|
# this one is not "toggle-able" in the configure script
|
|
MODULES= gettext
|
|
|
|
# XEmacs symlinks a lot of files in its source tree
|
|
# preventing safe SEPARATE_BUILD
|
|
# (In facts, files modified in the source tree
|
|
# are not platform-specific (elisp bytecode) but
|
|
# you cannot build the package on different systems
|
|
# sharing the same ports tree w/o risking race
|
|
# problems (yes, building over nfs is stupid but...))
|
|
# (there are flavors (mule) issues too)
|
|
# Lots of configure.in changes are needed to restore
|
|
# a more logical behaviour (eech)
|
|
# Therefore, this is commented out for now:
|
|
# SEPARATE_BUILD= simple
|
|
|
|
USE_GMAKE= Yes
|
|
|
|
# 'configure.in' modified to generate a 'configure'
|
|
# that knows about curses really being ncurses
|
|
|
|
CONFIGURE_STYLE= autoconf old dest
|
|
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include/libpng"
|
|
CONFIGURE_ARGS+= --with-gnu-make \
|
|
--gung-ho \
|
|
--infodir='$${DESTDIR}${PREFIX}/info/${DISTNAME}' \
|
|
--infopath='${LOCALBASE}/info/${DISTNAME}:${LOCALBASE}/info:usr/share/info' \
|
|
--site-prefixes='${LOCALBASE}:/usr' \
|
|
--without-ldap \
|
|
--without-cde \
|
|
--without-offix \
|
|
--without-dragndrop \
|
|
--without-gpm \
|
|
--without-tooltalk \
|
|
--with-sound=no \
|
|
--without-wnn6
|
|
|
|
# there is not (yet) bsd sound support in XEmacs
|
|
# XEmacs does not work with OpenLDAP 2.0.7 (linking problem)
|
|
|
|
FAKE_FLAGS= prefix='$${WRKINST}$${DESTDIR}${PREFIX}' \
|
|
infodir='$${WRKINST}$${DESTDIR}${PREFIX}/info/${DISTNAME}'
|
|
|
|
####
|
|
|
|
# Arch string for configure
|
|
# copied from emacs and xemacs20 ports
|
|
|
|
GCCARCH= ${MACHINE_ARCH}-unknown-openbsd${OSREV}
|
|
|
|
CONFIGURE_ARGS+= ${GCCARCH}
|
|
SUBST_VARS= GCCARCH
|
|
|
|
#### Flavors
|
|
|
|
# generic flavors
|
|
FLAVORS= mule clashdetect gdbm canna wnn
|
|
|
|
# X11 Related
|
|
FLAVORS+= no_x11 tiff no_png jpeg motif compface
|
|
|
|
FLAVOR?=
|
|
|
|
#
|
|
# X11-related
|
|
#
|
|
|
|
.if ${FLAVOR:L:Mno_x11}
|
|
|
|
CONFIGURE_ARGS+=--without-x11
|
|
|
|
. if ${FLAVOR:L:Mno_png} || \
|
|
${FLAVOR:L:Mjpeg} || \
|
|
${FLAVOR:L:Mmotif} || \
|
|
${FLAVOR:L:Mtiff} || \
|
|
${FLAVOR:L:Mcompface}
|
|
ERRORS+= "Fatal: You cannot use X11-related flavors with a non-X11 flavor"
|
|
. endif
|
|
|
|
.else
|
|
|
|
### X11-dependent flavors
|
|
USE_X11= Yes
|
|
|
|
CONFIGURE_ARGS+= --with-menubars=lucid
|
|
|
|
. if ${FLAVOR:L:Mmotif}
|
|
USE_MOTIF= any
|
|
CONFIGURE_ARGS+=--with-scrollbars=motif \
|
|
--with-dialogs=motif
|
|
. else
|
|
CONFIGURE_ARGS+=--with-scrollbars=lucid \
|
|
--with-dialogs=athena3d
|
|
. endif
|
|
|
|
. if ${FLAVOR:L:Mjpeg}
|
|
LIB_DEPENDS+= jpeg.62::graphics/jpeg
|
|
CONFIGURE_ARGS+=--with-jpeg
|
|
. else
|
|
CONFIGURE_ARGS+=--without-jpeg
|
|
. endif
|
|
|
|
. if !${FLAVOR:L:Mno_png}
|
|
LIB_DEPENDS+= png.2.::graphics/png
|
|
CONFIGURE_ARGS+=--with-png
|
|
. else
|
|
CONFIGURE_ARGS+=--without-png
|
|
. endif
|
|
|
|
. if ${FLAVOR:L:Mtiff}
|
|
LIB_DEPENDS+= tiff.35::graphics/tiff
|
|
CONFIGURE_ARGS+=--with-tiff
|
|
. else
|
|
CONFIGURE_ARGS+=--without-tiff
|
|
. endif
|
|
|
|
. if ${FLAVOR:L:Mcompface}
|
|
|
|
# compface statically linked -> license issues
|
|
PERMIT_PACKAGE_CDROM= "No Fee"
|
|
PERMIT_DISTFILES_CDROM= "No Fee"
|
|
BUILD_DEPENDS+= ${LOCALBASE}/lib/libcompface.a::graphics/compface
|
|
CONFIGURE_ARGS+=--with-xface
|
|
. else
|
|
CONFIGURE_ARGS+=--with-xface=no
|
|
. endif
|
|
|
|
. if ${FLAVOR:L:Mmule}
|
|
CONFIGURE_ARGS+= --with-xim=xlib
|
|
# prevents XEmacs from using motif's XIM which coredumps a lot
|
|
. endif
|
|
|
|
### end of X11 dependant flavors
|
|
.endif
|
|
|
|
#
|
|
# GENERAL FLAVORS
|
|
#
|
|
|
|
.if ${FLAVOR:L:Mgdbm}
|
|
LIB_DEPENDS+= gdbm.2::databases/gdbm
|
|
CONFIGURE_ARGS+=--with-database=berkdb,gnudbm
|
|
.else
|
|
CONFIGURE_ARGS+=--with-database=berkdb
|
|
.endif
|
|
|
|
#
|
|
# MULE (MUlti Lingual Emacs) RELATED
|
|
# I18N
|
|
#
|
|
|
|
.if ${FLAVOR:L:Mmule}
|
|
CONFIGURE_ARGS+=--with-mule
|
|
|
|
. if ${FLAVOR:L:Mcanna}
|
|
LIB_DEPENDS+= canna16::japanese/canna
|
|
CONFIGURE_ARGS+=--with-canna
|
|
. else
|
|
CONFIGURE_ARGS+=--with-canna=no
|
|
. endif
|
|
|
|
. if ${FLAVOR:L:Mwnn}
|
|
BUILD_DEPENDS+= ${LOCALBASE}/lib/libwnn.a::japanese/Wnn
|
|
CONFIGURE_ARGS+=--with-wnn
|
|
. else
|
|
CONFIGURE_ARGS+=--with-wnn=no
|
|
. endif
|
|
|
|
.else
|
|
|
|
. if ${FLAVOR:L:Mcanna} || ${FLAVOR:L:Mwnn}
|
|
ERRORS+= "Fatal: You cannot use MULE-dependant flavors without MULE support"
|
|
. endif
|
|
|
|
CONFIGURE_ARGS+=--with-mule=no \
|
|
--with-canna=no \
|
|
--with-wnn=no
|
|
.endif
|
|
|
|
# Clash-detection flavor needs LOCKDIR to be set to the path
|
|
# of the directory where clash detection lockfiles will be put.
|
|
# Some people dislikes this feature because anybody able to read
|
|
# this directory can see what other people are working on.
|
|
# W/o this feature, clash-detection still occur using lockfiles present
|
|
# in the same directory as the file being edited (.#files#) but, in
|
|
# this case, clash detection won't work well with symlinked files.
|
|
|
|
.if ${FLAVOR:L:Mclashdetect}
|
|
. if defined(LOCKDIR)
|
|
CONFIGURE_ARGS+=--with-clash-detection --lockdir='$${LOCKDIR}'
|
|
. else
|
|
ERRORS+= "Fatal: You need to set LOCKDIR to use clashdetect"
|
|
. endif
|
|
.endif
|
|
|
|
#
|
|
# license-related
|
|
#
|
|
|
|
.if !defined(PERMIT_PACKAGE_CDROM)
|
|
PERMIT_PACKAGE_CDROM= Yes
|
|
.endif
|
|
|
|
.if !defined(PERMIT_DISTFILES_CDROM)
|
|
PERMIT_DISTFILES_CDROM= Yes
|
|
.endif
|
|
|
|
#######
|
|
.if (${MACHINE_ARCH} != "alpha")
|
|
STRIP_PROGS+= ${DISTNAME}
|
|
.endif
|
|
STRIP_EXECS= cvtmail digest-doc fakemail gnuserv hexl make-docfile \
|
|
make-path mmencode movemail profile sorted-doc wakeup yow
|
|
STRIP_PROGS= gnuclient xemacs-b2m xemacs-ctags xemacs-etags ootags
|
|
|
|
post-install:
|
|
# Stripping
|
|
.for file in ${STRIP_PROGS}
|
|
@strip ${PREFIX}/bin/${file}
|
|
.endfor
|
|
.for file in ${STRIP_EXECS}
|
|
@strip ${PREFIX}/lib/${DISTNAME}/${GCCARCH}/${file}
|
|
.endfor
|
|
.if !defined(LOCKDIR)
|
|
@rm -rf ${PREFIX}/lib/xemacs
|
|
.endif
|
|
|
|
.include <bsd.port.mk>
|