aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAshish SHUKLA <ashish@FreeBSD.org>2016-04-08 08:00:15 +0000
committerAshish SHUKLA <ashish@FreeBSD.org>2016-04-08 08:00:15 +0000
commit4cbac963a845bcb7623059fd79287c055863c7c4 (patch)
tree5dfc00f51c0b8f886e4a2836d2d44bb6f4bd3149
parent69195e1f58b8f8044f46099e220336522058dfee (diff)
downloadports-4cbac963a845bcb7623059fd79287c055863c7c4.tar.gz
ports-4cbac963a845bcb7623059fd79287c055863c7c4.zip
editors/emacs:
- Clarify LICENSE, as it's "or any later version" clause - Switch to CONFLICTS_INSTALL, as conflicts only happen on install - Finish OPTIONS helpers conversion - Convert patch-sources.el to SUB_FILES - Convert *FLAGS to USES=localbase - Convert IGNORE and SOUND to _IMPLIES - Drop DBUS_PTHREAD_LIBS after ports r382294 - Drop default WRKSRC - Drop clang workaround for unsupported FreeBSD versions editors/emacs-nox11: - Kill EMACS_NO_X11_SLAVE in favour of ?= variables - Conflict with any EMACS_VER PR: 208217 Submitted by: jbeich
Notes
Notes: svn path=/head/; revision=412722
-rw-r--r--editors/emacs-nox11/Makefile5
-rw-r--r--editors/emacs/Makefile129
-rw-r--r--editors/emacs/files/patch-sources.el7
-rw-r--r--editors/emacs/files/sources.el.in4
4 files changed, 52 insertions, 93 deletions
diff --git a/editors/emacs-nox11/Makefile b/editors/emacs-nox11/Makefile
index 7b15c768cf97..52a59eaac9b2 100644
--- a/editors/emacs-nox11/Makefile
+++ b/editors/emacs-nox11/Makefile
@@ -3,11 +3,12 @@
PKGNAMESUFFIX= -nox11
+CONFLICTS_INSTALL= emacs[0-9]*
+
OPTIONS_EXCLUDE=GCONF GIF JPEG OTF M17N PNG SVG TIFF SYNC_INPUT GTK2 GTK3 \
SCROLLBARS XFT XIM XPM MAGICK GSETTINGS X11 CANNA \
XAW XAW3D MOTIF
-
-EMACS_NO_X11_SLAVE= yes
+OPTIONS_DEFAULT?=SOURCES GNUTLS XML
MASTERDIR= ${.CURDIR}/../emacs
diff --git a/editors/emacs/Makefile b/editors/emacs/Makefile
index a6d7c9a6da9e..91117b3d0d8d 100644
--- a/editors/emacs/Makefile
+++ b/editors/emacs/Makefile
@@ -15,25 +15,29 @@ PATCH_DIST_STRIP= -p1
MAINTAINER= ashish@FreeBSD.org
COMMENT= GNU editing macros
-LICENSE= GPLv3
+LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
-CONFLICTS= emacs-19.* emacs21-[0-9]* emacs22-[0-9]* emacs23-[0-9]* \
+BROKEN_ia64= Emacs 24.X does not currently build on ia64
+
+CONFLICTS_INSTALL?= emacs-nox11-[0-9]*
+CONFLICTS_INSTALL+= \
+ emacs-19.* emacs21-[0-9]* emacs22-[0-9]* emacs23-[0-9]* \
xemacs-[0-9]* xemacs-devel-[0-9]* xemacs-mule-[0-9]* \
xemacs-devel-mule-[0-9]* \
emacs-devel-[0-9]*
EMACS_VER= 24.5
GNU_CONFIGURE= yes
-USES= cpe gmake makeinfo ncurses pkgconfig shebangfix tar:xz
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
+USES= cpe gmake localbase makeinfo ncurses pkgconfig shebangfix tar:xz
+# Building with GCC 4.6+ requires it
+LDFLAGS+= ${ncurses_ARGS:Mport:C/.+/-ltinfo/}
INFO_PATH= ${DATADIR_REL}/info
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
CPE_VENDOR= gnu
-SUB_FILES= pkg-install
+SUB_FILES= pkg-install sources.el
SUB_LIST+= ARCHLIBDIR=${PREFIX}/libexec/emacs/${EMACS_VER}/${CONFIGURE_TARGET}
+SUB_LIST+= EMACS_VER=${EMACS_VER} # sources.el
SHEBANG_FILES= lib-src/grep-changelog
CONFIGURE_ARGS= --localstatedir=/var
@@ -53,7 +57,7 @@ INFO= ada-mode auth autotype bovine calc ccmode cl dbus dired-x \
OPTIONS_DEFINE= CANNA X11 ACL DBUS GCONF GIF JPEG M17N OTF PNG SOUND SOURCES SVG TIFF SCROLLBARS \
XFT XIM XML XPM MAGICK GNUTLS GSETTINGS LTO FILENOTIFY
-OPTIONS_SINGLE= X11 SOUND
+OPTIONS_RADIO= X11 SOUND
CANNA_DESC= Canna support
ACL_DESC= ACL support
@@ -69,17 +73,11 @@ OTF_DESC= Opentype fonts suport
FILENOTIFY_DESC= File notification support
LTO_DESC= Enable link-time optimization (requires GCC 4.6+)
-OPTIONS_SINGLE_X11= GTK2 GTK3 XAW XAW3D MOTIF
-OPTIONS_SINGLE_SOUND= ALSA OSS
+OPTIONS_RADIO_X11= GTK2 GTK3 XAW XAW3D MOTIF
+OPTIONS_RADIO_SOUND= ALSA OSS
-.if !defined(EMACS_NO_X11_SLAVE)
-OPTIONS_DEFAULT=DBUS GCONF GIF GTK2 JPEG M17N OTF PNG SOUND SOURCES SVG TIFF \
- SCROLLBARS XFT XIM XML XPM MAGICK GNUTLS GSETTINGS OSS X11
-CONFLICTS+= emacs-nox11-[0-9]*
-.else
-OPTIONS_DEFAULT=SOURCES GNUTLS XML
-CONFLICTS+= emacs24-[0-9]*
-.endif
+OPTIONS_DEFAULT?= DBUS GCONF GIF GTK2 JPEG M17N OTF PNG SOURCES SVG TIFF \
+ SCROLLBARS XFT XIM XML XPM MAGICK GNUTLS GSETTINGS OSS
OPTIONS_SUB= SOURCES
@@ -93,7 +91,9 @@ CANNA_LIB_DEPENDS= libcanna.so:japanese/canna-lib
SOUND_CONFIGURE_OFF= --with-sound=no
ALSA_CONFIGURE_ON= --with-sound=alsa
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+ALSA_IMPLIES= SOUND
OSS_CONFIGURE_ON= --with-sound=oss
+OSS_IMPLIES= SOUND
DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
DBUS_CONFIGURE_WITH= dbus
@@ -106,63 +106,83 @@ XML_CONFIGURE_WITH= xml2
SVG_USE= GNOME=librsvg2
SVG_CONFIGURE_WITH= rsvg
+SVG_IMPLIES= X11
X11_CONFIGURE_WITH= x
X11_USE= XORG=x11
X11_USES= desktop-file-utils
+X11_VARS= INSTALLS_ICONS=yes
GTK2_USE= GNOME=gtk20
GTK2_CONFIGURE_ON= --with-x-toolkit=gtk2
+GTK2_IMPLIES= X11
GTK3_USE= GNOME=gtk30
GTK3_CONFIGURE_ON= --with-x-toolkit=gtk3
+GTK3_IMPLIES= X11
XAW3D_LIB_DEPENDS= libXaw3d.so:x11-toolkits/Xaw3d
XAW3D_CONFIGURE_ON= --with-x-toolkit=athena
+XAW3D_IMPLIES= X11
XAW_USE= XORG=xaw
XAW_CONFIGURE_ON+= --with-x-toolkit=athena --without-xaw3d
+XAW_IMPLIES= X11
MOTIF_USES= motif
MOTIF_CONFIGURE_ON+= --with-x-toolkit=motif
+MOTIF_IMPLIES= X11
SCROLLBARS_CONFIGURE_WITH= toolkit-scroll-bars
+SCROLLBARS_IMPLIES= X11
JPEG_USES= jpeg
JPEG_CONFIGURE_WITH= jpeg
+JPEG_IMPLIES= X11
TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff
TIFF_CONFIGURE_WITH= tiff
+TIFF_IMPLIES= X11
GIF_LIB_DEPENDS= libgif.so:graphics/giflib
GIF_CONFIGURE_WITH= gif
+GIF_IMPLIES= X11
PNG_LIB_DEPENDS+= libpng.so:graphics/png
PNG_CONFIGURE_WITH= png
+PNG_IMPLIES= X11
XPM_USE= XORG=xpm
XPM_CONFIGURE_WITH= xpm
+XPM_IMPLIES= X11
XFT_USE= XORG=xft
XFT_LIB_DEPENDS= libfreetype.so:print/freetype2
XFT_CONFIGURE_WITH= xft
+XFT_IMPLIES= X11
M17N_LIB_DEPENDS= libm17n.so:devel/m17n-lib
M17N_CONFIGURE_WITH= m17n-flt
+M17N_IMPLIES= XFT
OTF_LIB_DEPENDS= libotf.so:print/libotf
OTF_CONFIGURE_WITH= libotf
+OTF_IMPLIES= XFT
MAGICK_LIB_DEPENDS= libMagickCore-6.so:graphics/ImageMagick
MAGICK_CONFIGURE_WITH= imagemagick
+MAGICK_IMPLIES= X11
GSETTINGS_USE= gnome=glib20
GSETTINGS_CONFIGURE_WITH= gsettings
+GSETTINGS_IMPLIES= X11 DBUS
GCONF_USE= gnome=gconf2
GCONF_CONFIGURE_WITH= gconf
+GCONF_IMPLIES= X11
XIM_CONFIGURE_WITH= xim
+XIM_IMPLIES= X11
LTO_CONFIGURE_ON= --enable-link-time-optimization
LTO_USE= GCC=4.6+
@@ -173,77 +193,18 @@ FILENOTIFY_CONFIGURE_ON= --with-file-notification=gfile
FILENOTIFY_CONFIGURE_OFF= --without-file-notification
FILENOTIFY_USE= GNOME=glib20
-.include <bsd.port.options.mk>
-
-# clang is broken on i386 platform in -O2, due to use of alloca, and stack realignment
-# and %esi as frame pointer register
-# http://llvm.org/bugs/show_bug.cgi?id=18171
-# fixed in r263312 (11-CURRENT), and fixed in r263765 (10-STABLE)
-.if ${ARCH} == "i386"
-.if (${OSVERSION} < 1000706) || (${OSVERSION} >= 1100000 && ${OSVERSION} < 1100015)
-USE_GCC= any
-.endif
-.endif
-
-DBUS_PTHREAD_LIBS= ${CC} -dumpspecs | ${GREP} -m 1 pthread: | ${SED} -e 's|^.*%{\!pg: %{pthread:||' -e 's|}.*$$||' || ${TRUE}
-
-.if ${PORT_OPTIONS:MX11}
-
-INSTALLS_ICONS= yes
-
-.if !${PORT_OPTIONS:MXFT}
-.if ${PORT_OPTIONS:MM17N}
-IGNORE= m17n support for text-shaping requires Xft. Please run 'make config'
-.elif ${PORT_OPTIONS:MOTF}
-IGNORE= opentype fonts support requires Xft. Please run 'make config'
-.endif
-.endif
-
-.else
-
-.for OPT in SVG GTK2 GTK3 XAW3D XAW MOTIF SCROLLBARS JPEG TIFF GIF PNG XPM XFT M17N MAGICK GCONF GSETTINGS XIM
-.if ${PORT_OPTIONS:M${OPT}}
-IGNORE= option ${OPT} requires requires X11 option
-.endif
-.endfor
-
-.endif
-
-.if !${PORT_OPTIONS:MDBUS}
-.if ${PORT_OPTIONS:MGSETTINGS}
-IGNORE= support for GSettings requires DBUS. Please run 'make config'
-.endif
-.endif
-
-.include <bsd.port.pre.mk>
-
-# Building with GCC 4.6+ requires it
-.if ${ncurses_ARGS} == "port"
-LDFLAGS+= -ltinfo
-.endif
-
-.if ${ARCH} == "ia64"
-BROKEN= Emacs 24.X does not currently build on ia64
-.endif
-
-post-patch:
- @${REINPLACE_CMD} -e "s/%%EMACS_VER%%/${EMACS_VER}/g" -e "s/%%DATADIR%%/${DATADIR:C/\//\\\//g}/g" ${WRKSRC}/sources.el
-.if empty(PORT_OPTIONS:MX11)
+post-patch-X11-off:
@${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
post-install:
@${RM} -rf ${STAGEDIR}/var/games/emacs
-.if ${PORT_OPTIONS:MSOURCES}
+ @${FIND} ${STAGEDIR}${PREFIX}/${INFO_PATH} -type f -name '*.gz' -exec ${GUNZIP_CMD} '{}' \;
+
+post-install-SOURCES-on:
@${MKDIR} ${STAGEDIR}${DATADIR}/${EMACS_VER}/src
${INSTALL_DATA} ${WRKSRC}/src/*.[ch] ${STAGEDIR}${DATADIR}/${EMACS_VER}/src
- ${INSTALL_DATA} ${WRKSRC}/sources.el ${STAGEDIR}${DATADIR}/${EMACS_VER}/site-lisp/site-start.el
-.endif
- @${FIND} ${STAGEDIR}${PREFIX}/${INFO_PATH} -type f -name '*.gz' -exec ${GUNZIP_CMD} '{}' \;
+ ${INSTALL_DATA} ${WRKDIR}/sources.el \
+ ${STAGEDIR}${DATADIR}/${EMACS_VER}/site-lisp/site-start.el
.if !defined(WITHOUT_X11)
pre-everything::
@@ -252,4 +213,4 @@ pre-everything::
@${ECHO_MSG}
.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/editors/emacs/files/patch-sources.el b/editors/emacs/files/patch-sources.el
deleted file mode 100644
index f292fb768fec..000000000000
--- a/editors/emacs/files/patch-sources.el
+++ /dev/null
@@ -1,7 +0,0 @@
---- /dev/null
-+++ sources.el
-@@ -0,0 +1,4 @@
-+;;; Path to Emacs C Sources.
-+(when (string-match (regexp-quote "%%EMACS_VER%%") emacs-version)
-+ (setq find-function-C-source-directory
-+ "%%DATADIR%%/%%EMACS_VER%%/src"))
diff --git a/editors/emacs/files/sources.el.in b/editors/emacs/files/sources.el.in
new file mode 100644
index 000000000000..3f5929f3aa96
--- /dev/null
+++ b/editors/emacs/files/sources.el.in
@@ -0,0 +1,4 @@
+;;; Path to Emacs C Sources.
+(when (string-match (regexp-quote "%%EMACS_VER%%") emacs-version)
+ (setq find-function-C-source-directory
+ "%%DATADIR%%/%%EMACS_VER%%/src"))