mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-23 00:43:28 +00:00
cc53588749
- Update emacs.desktop to launch Emacs in Terminal when WITHOUT_X11 is defined.[1] - Emacs picks up giflib if available instead of libungif. Account for this.[2] PR: ports/156167[1] Submitted by: Zhihao Yuan <lichray@gmail.com>[1] Herbert J. Skuhra <h.skuhra@gmail.com>[2] (via private email)
288 lines
7.4 KiB
Makefile
288 lines
7.4 KiB
Makefile
# New ports collection makefile for: emacs22
|
|
# Date created: April 12 2005
|
|
# Whom: Kenneth Vestergaard Schmidt <kvs@pil.dk>
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= emacs
|
|
PORTVERSION= ${EMACS_VER}.${EMACS_REV}
|
|
PORTEPOCH= 1
|
|
CATEGORIES= editors ipv6
|
|
MASTER_SITES= http://wahjava.users.sourceforge.net/%SUBDIR%/ \
|
|
${MASTER_SITE_LOCAL}
|
|
MASTER_SITE_SUBDIR= ashish
|
|
|
|
MAINTAINER= ashish@FreeBSD.org
|
|
COMMENT= GNU editing macros
|
|
|
|
MAKE_JOBS_UNSAFE= yes
|
|
|
|
CONFLICTS= emacs-19.* emacs-21.* emacs-22.* emacs-23.* \
|
|
xemacs-[0-9]* xemacs-devel-[0-9]* \
|
|
xemacs-mule-[0-9]* xemacs-devel-mule-[0-9]* \
|
|
emacs-nox11-[0-9]*
|
|
|
|
INSTALLS_ICONS= yes
|
|
|
|
EMACS_VER= 24.0.50
|
|
EMACS_REV= 104238
|
|
GNU_CONFIGURE= yes
|
|
USE_GMAKE= yes
|
|
USE_XZ= yes
|
|
CPPFLAGS+= -I${LOCALBASE}/include
|
|
LDFLAGS+= -L${LOCALBASE}/lib
|
|
CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
|
|
CONFIGURE_ARGS= --localstatedir=/var
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
|
|
USE_AUTOTOOLS= autoconf:env automake:env aclocal:env autoheader:env
|
|
|
|
EMACS_DIRS= ${DATADIR}/${EMACS_VER}/leim ${DATADIR}/${EMACS_VER}/lisp ${DATADIR}/${EMACS_VER}/src \
|
|
${PREFIX}/libexec/${PORTNAME}
|
|
|
|
LICENSE= GPLv3
|
|
LICENSE_FILE= ${WRKSRC}/COPYING
|
|
|
|
MAN1= ctags.1 ebrowse.1 emacs.1 emacsclient.1 etags.1 \
|
|
grep-changelog.1 rcs-checkin.1
|
|
MANCOMPRESSED= yes
|
|
PLIST_SUB= EMACS_VER=${EMACS_VER}
|
|
|
|
MAKE_ENV= LC_ALL=C
|
|
|
|
INFO= ada-mode auth autotype calc ccmode cl dbus dired-x \
|
|
ebrowse ede ediff edt efaq eieio eintr elisp emacs-mime emacs epa \
|
|
erc ert eshell eudc flymake forms gnus idlwave info \
|
|
mairix-el message mh-e newsticker nxml-mode \
|
|
org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve \
|
|
smtpmail speedbar tramp url vip viper widget woman
|
|
|
|
LATEST_LINK= emacs-devel
|
|
OPTIONS= DBUS "DBus support" ON \
|
|
GCONF "GConf support" ON \
|
|
GIF "GIF Images support" ON \
|
|
GTK2 "Use GTK+ widgets" ON \
|
|
JPEG "JPEG images support" ON \
|
|
M17N "M17N support for text-shaping" ON \
|
|
MOTIF "Use Motif widgets" OFF \
|
|
OTF "Opentype Font Support" ON \
|
|
PNG "PNG images support" ON \
|
|
SOUND "Sound support" ON \
|
|
SOURCES "Install source code" ON \
|
|
SVG "SVG images support" ON \
|
|
TIFF "TIFF images support" ON \
|
|
XAW "Use Athena widgets" OFF \
|
|
XAW3D "Use Athena3D widgets" OFF \
|
|
SYNC_INPUT "Synchronously process asynchronous input" ON \
|
|
SCROLLBARS "Without toolkit scroll-bars" ON \
|
|
XFT "Freetype fonts support" ON \
|
|
XIM "X Input Method support" ON \
|
|
XML "XML Parser support" ON \
|
|
XPM "XPM images support" ON \
|
|
IMAGEMAGICK "ImageMagick support" ON \
|
|
GNUTLS "GNUTLS support" ON
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
DBUS_PTHREAD_LIBS= ${CC} -dumpspecs | ${GREP} -m 1 pthread: | ${SED} -e 's|^.*%{\!pg: %{pthread:||' -e 's|}.*$$||' || ${TRUE}
|
|
|
|
.if defined(WITHOUT_X11)
|
|
CONFIGURE_ARGS+= --without-x
|
|
.else
|
|
USE_XORG= x11
|
|
USE_GNOME=
|
|
|
|
.if defined(WITHOUT_SVG)
|
|
CONFIGURE_ARGS+= --without-rsvg
|
|
.else
|
|
USE_GNOME+= librsvg2
|
|
.endif
|
|
|
|
.if defined(WITHOUT_GTK2)
|
|
.if defined(WITH_XAW)
|
|
.if defined(WITH_XAW3D) || defined(WITH_MOTIF)
|
|
IGNORE= please choose only one toolkit: GTK+/Motif/Xaw/Xaw3d
|
|
.endif
|
|
USE_XORG= xaw
|
|
CONFIGURE_ARGS+= --with-x-toolkit=athena --without-xaw3d
|
|
.elif defined(WITH_XAW3D)
|
|
.if defined(WITH_MOTIF)
|
|
IGNORE= please choose only one toolkit: GTK+/Motif/Xaw/Xaw3d
|
|
.endif
|
|
LIB_DEPENDS+= Xaw3d.${XAWVER}:${PORTSDIR}/x11-toolkits/Xaw3d
|
|
CONFIGURE_ARGS+= --with-x-toolkit=athena
|
|
.elif defined(WITH_MOTIF)
|
|
USE_MOTIF= yes
|
|
CONFIGURE_ARGS+= --with-x-toolkit=motif
|
|
.else
|
|
IGNORE= please choose a toolkit: GTK+/Motif/Xaw/Xaw3d, or build without X11 support
|
|
.endif
|
|
.else
|
|
.if defined(WITH_XAW) || defined(WITH_XAW3D) || defined(WITH_MOTIF)
|
|
IGNORE= please choose only one toolkit: GTK+/Motif/Xaw/Xaw3d
|
|
.endif
|
|
USE_GNOME+= gtk20
|
|
CONFIGURE_ARGS+= --with-x-toolkit=gtk
|
|
.endif
|
|
|
|
.if defined(WITHOUT_SCROLLBARS)
|
|
CONFIGURE_ARGS+= --without-toolkit-scroll-bars
|
|
.endif
|
|
|
|
.if defined(WITHOUT_SYNC_INPUT)
|
|
CONFIGURE_ARGS+= --without-sync-input
|
|
.endif
|
|
|
|
.if defined(WITHOUT_JPEG)
|
|
CONFIGURE_ARGS+= --without-jpeg
|
|
.else
|
|
LIB_DEPENDS+= jpeg.11:${PORTSDIR}/graphics/jpeg
|
|
.endif
|
|
|
|
.if defined(WITHOUT_TIFF)
|
|
CONFIGURE_ARGS+= --without-tiff
|
|
.else
|
|
LIB_DEPENDS+= tiff.4:${PORTSDIR}/graphics/tiff
|
|
.endif
|
|
|
|
.if defined(WITHOUT_GIF)
|
|
CONFIGURE_ARGS+= --without-gif
|
|
.else
|
|
. if exists(${LOCALBASE}/lib/libgif.so)
|
|
LIB_DEPENDS+= gif.5:${PORTSDIR}/graphics/giflib
|
|
. else
|
|
LIB_DEPENDS+= ungif.5:${PORTSDIR}/graphics/libungif
|
|
. endif
|
|
.endif
|
|
|
|
.if defined(WITHOUT_PNG)
|
|
CONFIGURE_ARGS+= --without-png
|
|
.else
|
|
LIB_DEPENDS+= png.6:${PORTSDIR}/graphics/png
|
|
.endif
|
|
|
|
.if defined(WITHOUT_XPM)
|
|
CONFIGURE_ARGS+= --without-xpm
|
|
.else
|
|
USE_XORG+= xpm
|
|
.endif
|
|
|
|
.if defined(WITHOUT_XFT)
|
|
.if defined(WITH_M17N)
|
|
IGNORE= m17n support requires Xft. Please run 'make config'
|
|
.elif defined(WITH_OTF)
|
|
IGNORE= otf support requires Xft. Please run 'make config'
|
|
.else
|
|
CONFIGURE_ARGS+= --without-xft
|
|
.endif
|
|
.else
|
|
USE_XORG+= xft
|
|
LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
|
|
.endif
|
|
|
|
.if defined(WITHOUT_IMAGEMAGICK)
|
|
CONFIGURE_ARGS+= --without-imagemagick
|
|
.else
|
|
LIB_DEPENDS+= MagickCore.4:${PORTSDIR}/graphics/ImageMagick
|
|
.endif
|
|
|
|
.if defined(WITHOUT_M17N)
|
|
CONFIGURE_ARGS+= --without-m17n-flt
|
|
.else
|
|
.if !defined(WITHOUT_XFT)
|
|
LIB_DEPENDS+= m17n.4:${PORTSDIR}/devel/m17n-lib
|
|
.endif
|
|
.endif
|
|
|
|
.if defined(WITHOUT_OTF)
|
|
CONFIGURE_ARGS+= --without-libotf
|
|
.else
|
|
.if !defined(WITHOUT_XFT)
|
|
LIB_DEPENDS+= otf.0:${PORTSDIR}/print/libotf
|
|
.endif
|
|
.endif
|
|
|
|
.if defined(WITHOUT_GCONF)
|
|
CONFIGURE_ARGS+= --without-gconf
|
|
.else
|
|
USE_GNOME+= gconf2
|
|
.endif
|
|
|
|
.if defined(WITHOUT_XIM)
|
|
CONFIGURE_ARGS+= --without-xim
|
|
.endif
|
|
|
|
.endif
|
|
|
|
.if defined(WITHOUT_SOUND)
|
|
CONFIGURE_ARGS+= --without-sound
|
|
.endif
|
|
|
|
.if defined(WITHOUT_DBUS)
|
|
CONFIGURE_ARGS+= --without-dbus
|
|
.else
|
|
LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
|
|
.endif
|
|
|
|
.if defined(WITHOUT_XML)
|
|
CONFIGURE_ARGS+= --without-xml2
|
|
.else
|
|
USE_GNOME+= libxml2
|
|
.endif
|
|
|
|
.if defined(WITHOUT_GNUTLS)
|
|
CONFIGURE_ARGS+= --without-gnutls
|
|
.else
|
|
LIB_DEPENDS+= gnutls.40:${PORTSDIR}/security/gnutls
|
|
.endif
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${ARCH} == "ia64"
|
|
BROKEN= Emacs 24.X does not currently build on ia64
|
|
.endif
|
|
|
|
post-patch:
|
|
@${RM} -f ${WRKSRC}/info/*
|
|
@${REINPLACE_CMD} -e "s/%%EMACS_VER%%/${EMACS_VER}/g" -e "s/%%DATADIR%%/${DATADIR:C/\//\\\//g}/g" ${WRKSRC}/sources.el
|
|
.if defined(WITHOUT_X11)
|
|
@${REINPLACE_CMD} -e 's/^Terminal=.*$$/Terminal=true/' ${WRKSRC}/etc/emacs.desktop
|
|
.endif
|
|
|
|
post-configure:
|
|
@${REINPLACE_CMD} -e "s/^\(DBUS_LIBS.*\)-pthread\(.*\)$$/\1$$(${DBUS_PTHREAD_LIBS})\2/" ${WRKSRC}/src/Makefile
|
|
|
|
add-plist-data:
|
|
.for i in ${EMACS_DIRS}
|
|
@${FIND} ${i} -type f |${SED} -E -e 's,^${PREFIX}/,,g' >>${TMPPLIST}
|
|
.endfor
|
|
@${FIND} ${WRKSRC}/etc -type f |${SED} -E -e 's,^${WRKSRC},${DATADIR_REL}/${EMACS_VER},g' -e '/etc\/(\..*|ChangeLog|DOC)$$/d' >>${TMPPLIST}
|
|
@${FIND} ${WRKSRC}/etc -type d -depth |${SED} -E -e 's,^${WRKSRC},@dirrm ${DATADIR_REL}/${EMACS_VER},g' >>${TMPPLIST}
|
|
.for i in ${EMACS_DIRS}
|
|
@${FIND} ${i} -type d -depth |${SED} -E -e 's,^${PREFIX}/,@dirrm ,g' >>${TMPPLIST}
|
|
.endfor
|
|
@${ECHO} "@unexec rmdir %D/${DATADIR_REL}/${EMACS_VER} 2>/dev/null || true" >>${TMPPLIST}
|
|
|
|
pre-configure:
|
|
@cd ${WRKSRC} && ./autogen.sh
|
|
|
|
.if defined(WITH_SOURCES)
|
|
PLIST_SUB+= SOURCES=""
|
|
|
|
post-install:
|
|
@${MKDIR} ${DATADIR}/${EMACS_VER}/src
|
|
@${INSTALL_DATA} ${WRKSRC}/src/*.[ch] ${DATADIR}/${EMACS_VER}/src
|
|
@${INSTALL_DATA} ${WRKSRC}/sources.el ${DATADIR}/${EMACS_VER}/site-lisp/site-start.el
|
|
.else
|
|
PLIST_SUB+= SOURCES="@comment "
|
|
.endif
|
|
|
|
.if !defined(WITHOUT_X11)
|
|
pre-everything::
|
|
@${ECHO_MSG}
|
|
@${ECHO_MSG} "====> To disable X11 support, define: WITHOUT_X11."
|
|
@${ECHO_MSG}
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|