summaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
authorAshish SHUKLA <ashish@FreeBSD.org>2013-12-09 13:01:12 +0000
committerAshish SHUKLA <ashish@FreeBSD.org>2013-12-09 13:01:12 +0000
commitf9a45a28bb7910799fd387722b32a7fca8548637 (patch)
tree18361d78be2906414dab14dcb12010287afc4aac /editors
parentUnbreak by replacing make with gmake. (diff)
- Update to bzr snapshot revision 115370
- Add PKGNAMESUFFIX to avoid package name collision - Add STAGE support - Relocate INFO_PATH to avoid conflicting with similarly named info files provided by other packages, like print/texinfo - Use INSTALLS_ICONS only when X11 is enabled - Add OPTIONs for X11 support, SOUND (ALSA/OSS) support and filesystem notifications - Depend on GCC for i386 platforms until clang gets the required fixes - Stop compressing info files for it to work with INFO_PATH - Use OptionsNG helpers to cleanup Makefile - Remove already upstream-ed patches
Notes
Notes: svn path=/head/; revision=335977
Diffstat (limited to 'editors')
-rw-r--r--editors/emacs-devel/Makefile285
-rw-r--r--editors/emacs-devel/distinfo4
-rw-r--r--editors/emacs-devel/files/patch-configure.ac55
-rw-r--r--editors/emacs-devel/files/patch-doc-emacs-Makefile.in14
-rw-r--r--editors/emacs-devel/files/patch-doc-lispintro-Makefile.in14
-rw-r--r--editors/emacs-devel/files/patch-doc-lispref-Makefile.in14
-rw-r--r--editors/emacs-devel/files/patch-doc-misc-Makefile.in14
-rw-r--r--editors/emacs-devel/files/patch-lib_verify.h17
-rw-r--r--editors/emacs-devel/files/patch-sources.el10
-rw-r--r--editors/emacs-devel/files/patch-src_coding.c51
-rw-r--r--editors/emacs-devel/files/patch-src_lisp.h16
-rw-r--r--editors/emacs-devel/files/patch-src_process.c16
-rw-r--r--editors/emacs-devel/files/patch-src_sysdep.c244
-rw-r--r--editors/emacs-devel/pkg-plist8
14 files changed, 129 insertions, 633 deletions
diff --git a/editors/emacs-devel/Makefile b/editors/emacs-devel/Makefile
index 9ecd38826420..194a59692e6b 100644
--- a/editors/emacs-devel/Makefile
+++ b/editors/emacs-devel/Makefile
@@ -8,6 +8,7 @@ CATEGORIES= editors ipv6
MASTER_SITES= http://distfiles.pirateparty.in/%SUBDIR%/ \
${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= ashish
+PKGNAMESUFFIX= -devel
MAINTAINER= ashish@FreeBSD.org
COMMENT= GNU editing macros
@@ -15,47 +16,45 @@ COMMENT= GNU editing macros
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
-
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]*
EMACS_VER= 24.3.50
-EMACS_REV= 112532
+EMACS_REV= 115370
GNU_CONFIGURE= yes
-USES= ncurses
+USES= ncurses pkgconfig
USE_GMAKE= yes
USE_XZ= yes
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
-CONFIGURE_ARGS= --localstatedir=/var
+INFO_PATH= ${DATADIR_REL}/info
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
USE_AUTOTOOLS= autoconf:env automake:env aclocal:env autoheader:env
-INSTALLS_ICONS= yes
-EMACS_DIRS= ${DATADIR}/${EMACS_VER}/leim ${DATADIR}/${EMACS_VER}/lisp ${DATADIR}/${EMACS_VER}/src \
+# Append --without-compress-install to prevent emacs from compressing info
+# which bsd.port.mk is not able to detect
+CONFIGURE_ARGS= --localstatedir=/var --without-compress-install
+
+EMACS_DIRS= ${DATADIR}/${EMACS_VER}/lisp ${DATADIR}/${EMACS_VER}/src \
${PREFIX}/libexec/${PORTNAME}
-MAN1= ctags.1 ebrowse.1 emacs.1 emacsclient.1 etags.1 \
- grep-changelog.1
-MANCOMPRESSED= yes
-PLIST_SUB= EMACS_VER=${EMACS_VER}
+PLIST_SUB= EMACS_VER=${EMACS_VER} INFODIR=${INFO_PATH}
MAKE_ENV= LC_ALL=C
INFO= ada-mode auth autotype bovine calc ccmode cl dbus dired-x \
ebrowse ede ediff edt efaq eieio eintr elisp emacs-mime emacs-gnutls emacs epa \
- erc ert eshell eudc flymake forms gnus htmlfontify idlwave info \
+ erc ert eshell eudc flymake forms gnus htmlfontify idlwave ido info \
mairix-el message mh-e newsticker nxml-mode \
org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve \
- smtpmail speedbar srecode tramp url vip viper widget wisent woman
+ smtpmail speedbar srecode todo-mode tramp url vip viper widget wisent woman
-LATEST_LINK= emacs-devel
-OPTIONS_DEFINE= ACL DBUS GCONF GIF JPEG M17N OTF PNG SOUND SOURCES SVG TIFF SYNC_INPUT SCROLLBARS \
- XFT XIM XML XPM MAGICK GNUTLS GSETTINGS LTO
+OPTIONS_DEFINE= X11 ACL DBUS GCONF GIF JPEG M17N OTF PNG SOUND SOURCES SVG TIFF SYNC_INPUT SCROLLBARS \
+ XFT XIM XML XPM MAGICK GNUTLS GSETTINGS LTO FILENOTIFY
-OPTIONS_SINGLE= X11TOOLKIT
+OPTIONS_SINGLE= X11 SOUND
ACL_DESC= ACL support
GSETTINGS_DESC= GSettings support
@@ -68,179 +67,137 @@ XAW3D_DESC= Athena3D widgets
XIM_DESC= X Input Method Support
M17N_DESC= M17N support for text-shaping
OTF_DESC= Opentype fonts suport
+FILENOTIFY_DESC= File notification support
LTO_DESC= Enable link-time optimization (requires GCC 4.6+)
-OPTIONS_SINGLE_X11TOOLKIT= GTK2 GTK3 XAW XAW3D MOTIF
+OPTIONS_SINGLE_X11= GTK2 GTK3 XAW XAW3D MOTIF
+OPTIONS_SINGLE_SOUND= ALSA OSS
OPTIONS_DEFAULT=ACL DBUS GCONF GIF GTK2 JPEG M17N OTF PNG SOUND SOURCES SVG TIFF SYNC_INPUT \
- SCROLLBARS XFT XIM XML XPM MAGICK GNUTLS GSETTINGS
+ SCROLLBARS XFT XIM XML XPM MAGICK GNUTLS GSETTINGS FILENOTIFY OSS X11
-NO_STAGE= yes
-.include <bsd.port.options.mk>
+OPTIONS_SUB= SOURCES
-DBUS_PTHREAD_LIBS= ${CC} -dumpspecs | ${GREP} -m 1 pthread: | ${SED} -e 's|^.*%{\!pg: %{pthread:||' -e 's|}.*$$||' || ${TRUE}
+SOUND_CONFIGURE_OFF= --with-sound=no
+ALSA_CONFIGURE_ON= --with-sound=alsa
+OSS_CONFIGURE_ON= --with-sound=oss
-.if defined(WITHOUT_X11)
-CONFIGURE_ARGS+= --without-x
-.else
-USE_XORG= x11
-USE_GNOME=
+DBUS_LIB_DEPENDS= dbus-1:${PORTSDIR}/devel/dbus
+DBUS_CONFIGURE_WITH= dbus
-.if ${PORT_OPTIONS:MSVG}
-USE_GNOME+= librsvg2
-.else
-CONFIGURE_ARGS+= --without-rsvg
-.endif
+GNUTLS_LIB_DEPENDS= gnutls:${PORTSDIR}/security/gnutls
+GNUTLS_CONFIGURE_WITH= gnutls
-.if ${PORT_OPTIONS:MGTK2}
-USE_GNOME+= gtk20
-CONFIGURE_ARGS+= --with-x-toolkit=gtk
-.elif ${PORT_OPTIONS:MGTK3}
-USE_GNOME+= gtk30
-CONFIGURE_ARGS+= --with-x-toolkit=gtk3
-.elif ${PORT_OPTIONS:MXAW3D}
-LIB_DEPENDS+= Xaw3d:${PORTSDIR}/x11-toolkits/Xaw3d
-CONFIGURE_ARGS+= --with-x-toolkit=athena
-.elif ${PORT_OPTIONS:MXAW}
-USE_XORG= xaw
-CONFIGURE_ARGS+= --with-x-toolkit=athena --without-xaw3d
-.elif ${PORT_OPTIONS:MMOTIF}
-USES+= motif
-CONFIGURE_ARGS+= --with-x-toolkit=motif
-.endif
+XML_USE= GNOME=libxml2
+XML_CONFIGURE_WITH= xml2
-.if !${PORT_OPTIONS:MSCROLLBARS}
-CONFIGURE_ARGS+= --without-toolkit-scroll-bars
-.endif
+SVG_USE= GNOME=librsvg2
+SVG_CONFIGURE_WITH= rsvg
-.if !${PORT_OPTIONS:MSYNC_INPUT}
-CONFIGURE_ARGS+= --without-sync-input
-.endif
+X11_CONFIGURE_WITH= x
+X11_USE= XORG=x11
-.if ${PORT_OPTIONS:MJPEG}
-LIB_DEPENDS+= jpeg:${PORTSDIR}/graphics/jpeg
-.else
-CONFIGURE_ARGS+= --without-jpeg
-.endif
+GTK2_USE= GNOME=gtk20
+GTK2_CONFIGURE_ON= --with-x-toolkit=gtk2
-.if ${PORT_OPTIONS:MTIFF}
-LIB_DEPENDS+= tiff:${PORTSDIR}/graphics/tiff
-.else
-CONFIGURE_ARGS+= --without-tiff
-.endif
+GTK3_USE= GNOME=gtk30
+GTK3_CONFIGURE_ON= --with-x-toolkit=gtk3
-.if ${PORT_OPTIONS:MGIF}
-LIB_DEPENDS+= gif:${PORTSDIR}/graphics/giflib
-.else
-CONFIGURE_ARGS+= --without-gif
-.endif
+XAW3D_LIB_DEPENDS= Xaw3d:${PORTSDIR}/x11-toolkits/Xaw3d
+XAW3D_CONFIGURE_ON= --with-x-toolkit=athena
-.if ${PORT_OPTIONS:MPNG}
-LIB_DEPENDS+= png15:${PORTSDIR}/graphics/png
-.else
-CONFIGURE_ARGS+= --without-png
-.endif
+XAW_USE= XORG=xaw
+XAW_CONFIGURE_ON+= --with-x-toolkit=athena --without-xaw3d
-.if ${PORT_OPTIONS:MXPM}
-USE_XORG+= xpm
-.else
-CONFIGURE_ARGS+= --without-xpm
-.endif
+MOTIF_USES= motif
+MOTIF_CONFIGURE_ON+= --with-x-toolkit=motif
-.if ${PORT_OPTIONS:MXFT}
-USE_XORG+= xft
-LIB_DEPENDS+= freetype:${PORTSDIR}/print/freetype2
-CONFIGURE_ARGS+= --with-xft
-.if ${PORT_OPTIONS:MM17N}
-CONFIGURE_ARGS+= --with-m17n-flt
-LIB_DEPENDS+= m17n:${PORTSDIR}/devel/m17n-lib
-.else
-CONFIGURE_ARGS+= --without-m17n-flt
-.endif
-.if ${PORT_OPTIONS:MOTF}
-CONFIGURE_ARGS+= --with-libotf
-LIB_DEPENDS+= otf:${PORTSDIR}/print/libotf
-.else
-CONFIGURE_ARGS+= --without-libotf
-.endif
-.else
-CONFIGURE_ARGS+= --without-xft
-.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
-CONFIGURE_ARGS+= --without-libotf --without-m17n-flt
-.endif
+SCROLLBARS_CONFIGURE_WITH= toolkit-scroll-bars
-.if ${PORT_OPTIONS:MMAGICK}
-LIB_DEPENDS+= MagickCore:${PORTSDIR}/graphics/ImageMagick
-CONFIGURE_ARGS+= --with-imagemagick
-.else
-CONFIGURE_ARGS+= --without-imagemagick
-.endif
+SYNC_INPUT_CONFIGURE_WITH= sync-input
-.if ${PORT_OPTIONS:MGSETTINGS}
-USE_GNOME+= glib20
-CONFIGURE_ARGS+= --with-gsettings
-.else
-CONFIGURE_ARGS+= --without-gsettings
-.endif
+JPEG_LIB_DEPENDS= jpeg:${PORTSDIR}/graphics/jpeg
+JPEG_CONFIGURE_WITH= jpeg
-.if ${PORT_OPTIONS:MGCONF}
-USE_GNOME+= gconf2
-CONFIGURE_ARGS+= --with-gconf
-.else
-CONFIGURE_ARGS+= --without-gconf
-.endif
+TIFF_LIB_DEPENDS= tiff:${PORTSDIR}/graphics/tiff
+TIFF_CONFIGURE_WITH= tiff
-.if ${PORT_OPTIONS:MXIM}
-CONFIGURE_ARGS+= --with-xim
-.else
-CONFIGURE_ARGS+= --without-xim
-.endif
+GIF_LIB_DEPENDS= gif:${PORTSDIR}/graphics/giflib
+GIF_CONFIGURE_WITH= gif
-.endif
+PNG_LIB_DEPENDS+= png15:${PORTSDIR}/graphics/png
+PNG_CONFIGURE_WITH= png
-.if ${PORT_OPTIONS:MSOUND}
-CONFIGURE_ARGS+= --with-sound
-.else
-CONFIGURE_ARGS+= --without-sound
+XPM_USE= XORG=xpm
+XPM_CONFIGURE_WITH= xpm
+
+XFT_USE= XORG=xft
+XFT_LIB_DEPENDS= freetype:${PORTSDIR}/print/freetype2
+XFT_CONFIGURE_WITH= xft
+
+M17N_LIB_DEPENDS= m17n:${PORTSDIR}/devel/m17n-lib
+M17N_CONFIGURE_WITH= m17n-flt
+
+OTF_LIB_DEPENDS= otf:${PORTSDIR}/print/libotf
+OTF_CONFIGURE_WITH= libotf
+
+MAGICK_LIB_DEPENDS= MagickCore:${PORTSDIR}/graphics/ImageMagick
+MAGICK_CONFIGURE_WITH= imagemagick
+
+GSETTINGS_USE= gnome=glib20
+GSETTINGS_CONFIGURE_WITH= gsettings
+
+GCONF_USE= gnome=gconf2
+GCONF_CONFIGURE_WITH= gconf
+
+XIM_CONFIGURE_WITH= xim
+
+LTO_CONFIGURE_ON= --enable-link-time-optimization
+LTO_USE= GCC=4.6+
+
+ACL_CONFIGURE_WITH= acl
+
+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
+.if ${ARCH} == "i386"
+USE_GCC= any
.endif
-.if ${PORT_OPTIONS:MDBUS}
-LIB_DEPENDS+= dbus-1:${PORTSDIR}/devel/dbus
-CONFIGURE_ARGS+= --with-dbus
-.else
-CONFIGURE_ARGS+= --without-dbus
-.if ${PORT_OPTIONS:MGSETTINGS}
-IGNORE= GSettings support requires DBUS. Please run 'make config'
+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
-.if ${PORT_OPTIONS:MXML}
-USE_GNOME+= libxml2
-CONFIGURE_ARGS+= --with-xml2
.else
-CONFIGURE_ARGS+= --without-xml2
-.endif
-.if ${PORT_OPTIONS:MGNUTLS}
-LIB_DEPENDS+= gnutls:${PORTSDIR}/security/gnutls
-CONFIGURE_ARGS+= --with-gnutls
-.else
-CONFIGURE_ARGS+= --without-gnutls
+.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= ${OPT} option depends on X11 option
.endif
+.endfor
-.if ${PORT_OPTIONS:MLTO}
-USE_GCC= yes
-CONFIGURE_ARGS+= --enable-link-time-optimization
.endif
-.if ${PORT_OPTIONS:MACL}
-CONFIGURE_ARGS+= --with-acl
-.else
-CONFIGURE_ARGS+= --without-acl
+.if !${PORT_OPTIONS:MDBUS}
+.if ${PORT_OPTIONS:MGSETTINGS}
+IGNORE= GSettings support requires DBUS. Please run 'make config'
+.endif
.endif
.include <bsd.port.pre.mk>
@@ -261,27 +218,23 @@ post-configure:
add-plist-data:
.for i in ${EMACS_DIRS}
- @${FIND} ${i} -type f |${SED} -E -e 's,^${PREFIX}/,,g' >>${TMPPLIST}
+ @${FIND} ${STAGEDIR}${i} -type f |${SED} -E -e 's,^${STAGEDIR}${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 f |${SED} -E -e 's,^${WRKSRC},${DATADIR_REL}/${EMACS_VER},g' -e '/etc\/(\..*|ChangeLog)$$/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}
+ @${FIND} ${STAGEDIR}${i} -type d -depth |${SED} -E -e 's,^${STAGEDIR}${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=""
-
+.if ${PORT_OPTIONS:MSOURCES}
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 "
+ @${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
.if !defined(WITHOUT_X11)
diff --git a/editors/emacs-devel/distinfo b/editors/emacs-devel/distinfo
index 6589fc6f4bf0..f6c5a010c4ba 100644
--- a/editors/emacs-devel/distinfo
+++ b/editors/emacs-devel/distinfo
@@ -1,2 +1,2 @@
-SHA256 (emacs-24.3.50.112532.tar.xz) = 45f3d33f2f2f291a78c499fe1d05bc2ce403d56f4ec4b0cbaba4bdb0558b54e4
-SIZE (emacs-24.3.50.112532.tar.xz) = 31509672
+SHA256 (emacs-24.3.50.115370.tar.xz) = bca04ba4a501ed63282d43e5b82c85b3827b45032e4c1d62d5ba2954768ee60b
+SIZE (emacs-24.3.50.115370.tar.xz) = 30547236
diff --git a/editors/emacs-devel/files/patch-configure.ac b/editors/emacs-devel/files/patch-configure.ac
deleted file mode 100644
index a744d3f3d94d..000000000000
--- a/editors/emacs-devel/files/patch-configure.ac
+++ /dev/null
@@ -1,55 +0,0 @@
-
-$FreeBSD$
-
---- configure.ac.orig
-+++ configure.ac
-@@ -1150,39 +1150,10 @@
- AC_CHECK_LIB(ossaudio, _oss_ioctl, LIBSOUND=-lossaudio, LIBSOUND=)
- AC_SUBST(LIBSOUND)
-
-- ALSA_REQUIRED=1.0.0
-- ALSA_MODULES="alsa >= $ALSA_REQUIRED"
-- PKG_CHECK_MODULES(ALSA, $ALSA_MODULES, HAVE_ALSA=yes, HAVE_ALSA=no)
-- if test $HAVE_ALSA = yes; then
-- SAVE_CFLAGS="$CFLAGS"
-- SAVE_LIBS="$LIBS"
-- CFLAGS="$ALSA_CFLAGS $CFLAGS"
-- LIBS="$ALSA_LIBS $LIBS"
-- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <asoundlib.h>]], [[snd_lib_error_set_handler (0);]])],
-- emacs_alsa_normal=yes,
-- emacs_alsa_normal=no)
-- if test "$emacs_alsa_normal" != yes; then
-- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <alsa/asoundlib.h>]],
-- [[snd_lib_error_set_handler (0);]])],
-- emacs_alsa_subdir=yes,
-- emacs_alsa_subdir=no)
-- if test "$emacs_alsa_subdir" != yes; then
-- AC_MSG_ERROR([pkg-config found alsa, but it does not compile. See config.log for error messages.])
-- fi
-- ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE"
-- fi
--
-- CFLAGS="$SAVE_CFLAGS"
-- LIBS="$SAVE_LIBS"
-- LIBSOUND="$LIBSOUND $ALSA_LIBS"
-- CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS"
-- AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if ALSA is available.])
-- fi
--
- dnl Define HAVE_SOUND if we have sound support. We know it works and
- dnl compiles only on the specified platforms. For others, it
- dnl probably doesn't make sense to try.
-- if test x$have_sound_header = xyes || test $HAVE_ALSA = yes; then
-+ if test x$have_sound_header = xyes; then
- case "$opsys" in
- dnl defined __FreeBSD__ || defined __NetBSD__ || defined __linux__
- gnu-linux|freebsd|netbsd)
-@@ -1199,7 +1170,7 @@
- linux/version.h sys/systeminfo.h
- coff.h pty.h
- sys/resource.h
-- sys/utsname.h pwd.h utmp.h util.h)
-+ sys/utsname.h pwd.h utmp.h util.h libutil.h)
-
- AC_MSG_CHECKING(if personality LINUX32 can be set)
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/personality.h>]], [[personality (PER_LINUX32)]])],
diff --git a/editors/emacs-devel/files/patch-doc-emacs-Makefile.in b/editors/emacs-devel/files/patch-doc-emacs-Makefile.in
deleted file mode 100644
index 43c924fa9b65..000000000000
--- a/editors/emacs-devel/files/patch-doc-emacs-Makefile.in
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- doc/emacs/Makefile.in.orig
-+++ doc/emacs/Makefile.in
-@@ -38,7 +38,7 @@
- # The makeinfo program is part of the Texinfo distribution.
- # Use --force so that it generates output even if there are errors.
- MAKEINFO = @MAKEINFO@
--MAKEINFO_OPTS = --force --enable-encoding -I $(srcdir)
-+MAKEINFO_OPTS = --force --no-split --enable-encoding -I $(srcdir)
-
- TEXI2DVI = texi2dvi
- TEXI2PDF = texi2pdf
diff --git a/editors/emacs-devel/files/patch-doc-lispintro-Makefile.in b/editors/emacs-devel/files/patch-doc-lispintro-Makefile.in
deleted file mode 100644
index cfe14309de4a..000000000000
--- a/editors/emacs-devel/files/patch-doc-lispintro-Makefile.in
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- doc/lispintro/Makefile.in.orig
-+++ doc/lispintro/Makefile.in
-@@ -35,7 +35,7 @@
- INFO_OPTS=@INFO_OPTS@
-
- MAKEINFO = @MAKEINFO@
--MAKEINFO_OPTS = --force -I $(emacsdir) -I $(srcdir)
-+MAKEINFO_OPTS = --force --no-split -I $(emacsdir) -I $(srcdir)
- TEXI2DVI = texi2dvi
- TEXI2PDF = texi2pdf
- DVIPS = dvips
diff --git a/editors/emacs-devel/files/patch-doc-lispref-Makefile.in b/editors/emacs-devel/files/patch-doc-lispref-Makefile.in
deleted file mode 100644
index 525d025916ca..000000000000
--- a/editors/emacs-devel/files/patch-doc-lispref-Makefile.in
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- doc/lispref/Makefile.in.orig
-+++ doc/lispref/Makefile.in
-@@ -31,7 +31,7 @@
- emacsdir = $(srcdir)/../emacs
-
- MAKEINFO = @MAKEINFO@
--MAKEINFO_OPTS = --force --enable-encoding -I $(emacsdir) -I $(srcdir)
-+MAKEINFO_OPTS = --force --no-split --enable-encoding -I $(emacsdir) -I $(srcdir)
- TEXI2DVI = texi2dvi
- TEXI2PDF = texi2pdf
- DVIPS = dvips
diff --git a/editors/emacs-devel/files/patch-doc-misc-Makefile.in b/editors/emacs-devel/files/patch-doc-misc-Makefile.in
deleted file mode 100644
index ebc245cc7f67..000000000000
--- a/editors/emacs-devel/files/patch-doc-misc-Makefile.in
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- doc/misc/Makefile.in.orig
-+++ doc/misc/Makefile.in
-@@ -41,7 +41,7 @@
- # The makeinfo program is part of the Texinfo distribution.
- # Use --force so that it generates output even if there are errors.
- MAKEINFO = @MAKEINFO@
--MAKEINFO_OPTS = --force -I$(emacsdir)
-+MAKEINFO_OPTS = --force --no-split -I$(emacsdir)
-
- # Also add new entries to INFO_FILES in the top-level Makefile.in.
- INFO_TARGETS = \
diff --git a/editors/emacs-devel/files/patch-lib_verify.h b/editors/emacs-devel/files/patch-lib_verify.h
deleted file mode 100644
index 14bffe4b6c87..000000000000
--- a/editors/emacs-devel/files/patch-lib_verify.h
+++ /dev/null
@@ -1,17 +0,0 @@
-
-$FreeBSD$
-
---- lib/verify.h.orig
-+++ lib/verify.h
-@@ -21,6 +21,11 @@
- # define _GL_VERIFY_H
-
-
-+// undefine the _Static_assert definition present in <sys/cdefs.h>
-+#ifdef __FreeBSD__
-+#undef _Static_assert
-+#endif
-+
- /* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11.
- This is supported by GCC 4.6.0 and later, in C mode, and its use
- here generates easier-to-read diagnostics when verify (R) fails.
diff --git a/editors/emacs-devel/files/patch-sources.el b/editors/emacs-devel/files/patch-sources.el
deleted file mode 100644
index 6845a02d9f93..000000000000
--- a/editors/emacs-devel/files/patch-sources.el
+++ /dev/null
@@ -1,10 +0,0 @@
-
-$FreeBSD$
-
---- /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-devel/files/patch-src_coding.c b/editors/emacs-devel/files/patch-src_coding.c
deleted file mode 100644
index 05c5cc1a6eab..000000000000
--- a/editors/emacs-devel/files/patch-src_coding.c
+++ /dev/null
@@ -1,51 +0,0 @@
-
-$FreeBSD$
-
---- src/coding.c.orig
-+++ src/coding.c
-@@ -3717,8 +3717,20 @@
- else
- charset = CHARSET_FROM_ID (charset_id_2);
- ONE_MORE_BYTE (c1);
-- if (c1 < 0x20 || (c1 >= 0x80 && c1 < 0xA0))
-- goto invalid_code;
-+ /*
-+ * <ESC>N sequence is recognized as SS2 in some ISO2022
-+ * encodings. As a workaround, mark invalid only if
-+ * <ESC>N + GR in a 7-bit encoding or <ESC>N + GL in an 8-bit
-+ * encoding.
-+ */
-+ if (CODING_ISO_FLAGS (coding) & CODING_ISO_FLAG_SEVEN_BITS) {
-+ if (c1 < 0x20 || c1 >= 0x80)
-+ goto invalid_code;
-+ }
-+ else {
-+ if (c1 < 0xA0)
-+ goto invalid_code;
-+ }
- break;
-
- case 'O': /* invocation of single-shift-3 */
-@@ -3731,8 +3743,20 @@
- else
- charset = CHARSET_FROM_ID (charset_id_3);
- ONE_MORE_BYTE (c1);
-- if (c1 < 0x20 || (c1 >= 0x80 && c1 < 0xA0))
-- goto invalid_code;
-+ /*
-+ * <ESC>O sequence by arrow keys is recognized as SS3 in
-+ * some ISO2022 encodings. As a workaround, mark invalid only if
-+ * <ESC>O + GR in a 7-bit encoding or <ESC>O + GL in an 8-bit
-+ * encoding.
-+ */
-+ if (CODING_ISO_FLAGS (coding) & CODING_ISO_FLAG_SEVEN_BITS) {
-+ if (c1 < 0x20 || c1 >= 0x80)
-+ goto invalid_code;
-+ }
-+ else {
-+ if (c1 < 0xA0)
-+ goto invalid_code;
-+ }
- break;
-
- case '0': case '2': case '3': case '4': /* start composition */
diff --git a/editors/emacs-devel/files/patch-src_lisp.h b/editors/emacs-devel/files/patch-src_lisp.h
deleted file mode 100644
index 1ac2caff4beb..000000000000
--- a/editors/emacs-devel/files/patch-src_lisp.h
+++ /dev/null
@@ -1,16 +0,0 @@
-
-$FreeBSD$
-
---- src/lisp.h.orig
-+++ src/lisp.h
-@@ -21,6 +21,10 @@
- #define EMACS_LISP_H
-
- #include <setjmp.h>
-+#ifdef __FreeBSD__
-+#undef _Alignof
-+#undef _Alignas
-+#endif
- #include <stdalign.h>
- #include <stdarg.h>
- #include <stdbool.h>
diff --git a/editors/emacs-devel/files/patch-src_process.c b/editors/emacs-devel/files/patch-src_process.c
deleted file mode 100644
index 969accf82807..000000000000
--- a/editors/emacs-devel/files/patch-src_process.c
+++ /dev/null
@@ -1,16 +0,0 @@
-
-$FreeBSD$
-
---- src/process.c.orig
-+++ src/process.c
-@@ -83,6 +83,10 @@
- #include <util.h>
- #endif
-
-+#ifdef HAVE_LIBUTIL_H
-+#include <libutil.h>
-+#endif
-+
- #ifdef HAVE_PTY_H
- #include <pty.h>
- #endif
diff --git a/editors/emacs-devel/files/patch-src_sysdep.c b/editors/emacs-devel/files/patch-src_sysdep.c
deleted file mode 100644
index 7b03201d37e5..000000000000
--- a/editors/emacs-devel/files/patch-src_sysdep.c
+++ /dev/null
@@ -1,244 +0,0 @@
-
-$FreeBSD$
-
---- src/sysdep.c.orig
-+++ src/sysdep.c
-@@ -37,6 +37,20 @@
- #include "sysselect.h"
- #include "blockinput.h"
-
-+#ifdef __FreeBSD__
-+#include <sys/sysctl.h>
-+/* machine/frame.h in Sparc/ARM has 'struct frame' which conflicts with Emacs' 'struct frame', so rename it */
-+#if defined(__sparc__) || defined(__arm__)
-+#define frame freebsd_sparc_frame
-+#endif
-+#include <sys/user.h>
-+#if defined(__sparc__) || defined(__arm__)
-+#undef frame
-+#endif
-+#include <sys/resource.h>
-+#include <math.h>
-+#endif
-+
- #ifdef WINDOWSNT
- #define read sys_read
- #define write sys_write
-@@ -2529,6 +2543,40 @@
- return proclist;
- }
-
-+#elif defined (__FreeBSD__)
-+
-+Lisp_Object
-+list_system_processes ()
-+{
-+ int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PROC};
-+ size_t len;
-+ struct kinfo_proc *procs;
-+ size_t i;
-+
-+ struct gcpro gcpro1;
-+ Lisp_Object proclist = Qnil;
-+
-+ if (sysctl (mib, 3, NULL, &len, NULL, 0) != 0)
-+ return proclist;
-+
-+ procs = xmalloc (len);
-+ if (sysctl (mib, 3, procs, &len, NULL, 0) != 0)
-+ {
-+ xfree (procs);
-+ return proclist;
-+ }
-+
-+ GCPRO1 (proclist);
-+ len /= sizeof (struct kinfo_proc);
-+ for (i = 0; i < len; i++)
-+ proclist = Fcons (make_fixnum_or_float (procs[i].ki_pid), proclist);
-+ UNGCPRO;
-+
-+ xfree (procs);
-+
-+ return proclist;
-+}
-+
- /* The WINDOWSNT implementation is in w32.c.
- The MSDOS implementation is in dosfns.c. */
- #elif !defined (WINDOWSNT) && !defined (MSDOS)
-@@ -3079,6 +3127,176 @@
- return attrs;
- }
-
-+#elif defined(__FreeBSD__)
-+
-+Lisp_Object
-+system_process_attributes (Lisp_Object pid)
-+{
-+ int proc_id;
-+ int pagesize = getpagesize();
-+ int npages;
-+ int fscale;
-+ struct passwd *pw;
-+ struct group *gr;
-+ char *ttyname;
-+ size_t len;
-+ char args[MAXPATHLEN];
-+ EMACS_TIME t, now;
-+
-+ int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID};
-+ struct kinfo_proc proc;
-+ size_t proclen = sizeof(proc);
-+
-+ struct gcpro gcpro1, gcpro2;
-+ Lisp_Object attrs = Qnil;
-+ Lisp_Object decoded_comm;
-+
-+ CHECK_NUMBER_OR_FLOAT (pid);
-+ proc_id = FLOATP (pid) ? XFLOAT_DATA (pid) : XINT (pid);
-+ mib[3] = proc_id;
-+
-+ if (sysctl (mib, 4, &proc, &proclen, NULL, 0) != 0)
-+ return attrs;
-+
-+ GCPRO2 (attrs, decoded_comm);
-+
-+ attrs = Fcons (Fcons (Qeuid, make_fixnum_or_float(proc.ki_uid)), attrs);
-+
-+ BLOCK_INPUT;
-+ pw = getpwuid (proc.ki_uid);
-+ UNBLOCK_INPUT;
-+ if (pw)
-+ attrs = Fcons (Fcons (Quser, build_string (pw->pw_name)), attrs);
-+
-+ attrs = Fcons (Fcons (Qegid, make_fixnum_or_float(proc.ki_svgid)), attrs);
-+
-+ BLOCK_INPUT;
-+ gr = getgrgid (proc.ki_svgid);
-+ UNBLOCK_INPUT;
-+ if (gr)
-+ attrs = Fcons (Fcons (Qgroup, build_string (gr->gr_name)), attrs);
-+
-+ decoded_comm = code_convert_string_norecord
-+ (make_unibyte_string (proc.ki_comm, strlen (proc.ki_comm)),
-+ Vlocale_coding_system, 0);
-+
-+ attrs = Fcons (Fcons (Qcomm, decoded_comm), attrs);
-+ {
-+ char state[2] = {'\0', '\0'};
-+ switch (proc.ki_stat)
-+ {
-+ case SRUN:
-+ state[0] = 'R';
-+ break;
-+
-+ case SSLEEP:
-+ state[0] = 'S';
-+ break;
-+
-+ case SLOCK:
-+ state[0] = 'D';
-+ break;
-+
-+ case SZOMB:
-+ state[0] = 'Z';
-+ break;
-+
-+ case SSTOP:
-+ state[0] = 'T';
-+ break;
-+ }
-+ attrs = Fcons (Fcons (Qstate, build_string (state)), attrs);
-+ }
-+
-+ attrs = Fcons (Fcons (Qppid, make_fixnum_or_float (proc.ki_ppid)), attrs);
-+ attrs = Fcons (Fcons (Qpgrp, make_fixnum_or_float (proc.ki_pgid)), attrs);
-+ attrs = Fcons (Fcons (Qsess, make_fixnum_or_float (proc.ki_sid)), attrs);
-+
-+ BLOCK_INPUT;
-+ ttyname = proc.ki_tdev == NODEV ? NULL : devname (proc.ki_tdev, S_IFCHR);
-+ UNBLOCK_INPUT;
-+ if (ttyname)
-+ attrs = Fcons (Fcons (Qtty, build_string (ttyname)), attrs);
-+
-+ attrs = Fcons (Fcons (Qtpgid, make_fixnum_or_float (proc.ki_tpgid)), attrs);
-+ attrs = Fcons (Fcons (Qminflt, make_fixnum_or_float (proc.ki_rusage.ru_minflt)), attrs);
-+ attrs = Fcons (Fcons (Qmajflt, make_fixnum_or_float (proc.ki_rusage.ru_majflt)), attrs);
-+ attrs = Fcons (Fcons (Qcminflt, make_number (proc.ki_rusage_ch.ru_minflt)), attrs);
-+ attrs = Fcons (Fcons (Qcmajflt, make_number (proc.ki_rusage_ch.ru_majflt)), attrs);
-+
-+#define TIMELIST(ts) \
-+ list3 (make_number (EMACS_SECS (ts) >> 16 & 0xffff), \
-+ make_number (EMACS_SECS (ts) & 0xffff), \
-+ make_number (EMACS_USECS (ts)))
-+
-+ attrs = Fcons (Fcons (Qutime, TIMELIST(proc.ki_rusage.ru_utime)), attrs);
-+ attrs = Fcons (Fcons (Qstime, TIMELIST(proc.ki_rusage.ru_stime)), attrs);
-+ EMACS_ADD_TIME (t, proc.ki_rusage.ru_utime, proc.ki_rusage.ru_stime);
-+ attrs = Fcons (Fcons (Qtime, TIMELIST(t)), attrs);
-+
-+ attrs = Fcons (Fcons (Qcutime, TIMELIST(proc.ki_rusage_ch.ru_utime)), attrs);
-+ attrs = Fcons (Fcons (Qcstime, TIMELIST(proc.ki_rusage_ch.ru_utime)), attrs);
-+ EMACS_ADD_TIME (t, proc.ki_rusage_ch.ru_utime, proc.ki_rusage_ch.ru_stime);
-+ attrs = Fcons (Fcons (Qctime, TIMELIST(t)), attrs);
-+
-+ attrs = Fcons (Fcons (Qthcount, make_fixnum_or_float (proc.ki_numthreads)), attrs);
-+ attrs = Fcons (Fcons (Qpri, make_number (proc.ki_pri.pri_native)), attrs);
-+ attrs = Fcons (Fcons (Qnice, make_number (proc.ki_nice)), attrs);
-+ attrs = Fcons (Fcons (Qstart, TIMELIST(proc.ki_start)), attrs);
-+ attrs = Fcons (Fcons (Qvsize, make_number (proc.ki_size >> 10)), attrs);
-+ attrs = Fcons (Fcons (Qrss, make_number (proc.ki_rssize * pagesize >> 10)), attrs);
-+
-+ EMACS_GET_TIME (now);
-+ EMACS_SUB_TIME (t, now, proc.ki_start);
-+ attrs = Fcons (Fcons (Qetime, TIMELIST(t)), attrs);
-+
-+#undef TIMELIST
-+
-+ len = sizeof(fscale);
-+ if (sysctlbyname ("kern.fscale", &fscale, &len, NULL, 0) == 0)
-+ {
-+ float pcpu;
-+ fixpt_t ccpu;
-+ len = sizeof (ccpu);
-+ if (sysctlbyname ("kern.ccpu", &ccpu, &len, NULL, 0) == 0)
-+ {
-+ pcpu = 100.0 * ((double) proc.ki_pctcpu / fscale)
-+ / (1.0 - exp(proc.ki_swtime * log((double) ccpu / fscale)));
-+ attrs = Fcons (Fcons (Qpcpu, make_fixnum_or_float(pcpu)), attrs);
-+ }
-+ }
-+
-+ len = sizeof(npages);
-+ if (sysctlbyname ("hw.availpages", &npages, &len, NULL, 0) == 0)
-+ {
-+ float pmem = proc.ki_flag & P_INMEM
-+ ? 100.0 * ((float) proc.ki_rssize / npages)
-+ : 0.0;
-+ attrs = Fcons (Fcons (Qpmem, make_fixnum_or_float(pmem)), attrs);
-+ }
-+
-+ mib[2] = KERN_PROC_ARGS;
-+ len = MAXPATHLEN;
-+ if (sysctl (mib, 4, args, &len, NULL, 0) == 0)
-+ {
-+ int i;
-+ for (i = 0; i < len; i++)
-+ {
-+ if (! args[i] && i < len - 1)
-+ args[i] = ' ';
-+ }
-+
-+ decoded_comm = code_convert_string_norecord
-+ (make_unibyte_string (args, strlen (args)),
-+ Vlocale_coding_system, 0);
-+
-+ attrs = Fcons (Fcons (Qargs, decoded_comm), attrs);
-+ }
-+
-+ UNGCPRO;
-+ return attrs;
-+}
-+
- /* The WINDOWSNT implementation is in w32.c.
- The MSDOS implementation is in dosfns.c. */
- #elif !defined (WINDOWSNT) && !defined (MSDOS)
diff --git a/editors/emacs-devel/pkg-plist b/editors/emacs-devel/pkg-plist
index 564c1c269c0d..0b06fce9183b 100644
--- a/editors/emacs-devel/pkg-plist
+++ b/editors/emacs-devel/pkg-plist
@@ -5,10 +5,17 @@ bin/emacs-%%EMACS_VER%%
bin/emacsclient
bin/etags
bin/grep-changelog
+man/man1/emacs.1.gz
+man/man1/ctags.1.gz
+man/man1/etags.1.gz
+man/man1/grep-changelog.1.gz
+man/man1/emacsclient.1.gz
+man/man1/ebrowse.1.gz
share/applications/emacs.desktop
%%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/site-lisp/site-start.el
%%DATADIR%%/%%EMACS_VER%%/site-lisp/subdirs.el
%%DATADIR%%/site-lisp/subdirs.el
+%%INFODIR%%/dir
share/icons/hicolor/128x128/apps/emacs.png
share/icons/hicolor/16x16/apps/emacs.png
share/icons/hicolor/24x24/apps/emacs.png
@@ -16,6 +23,7 @@ share/icons/hicolor/32x32/apps/emacs.png
share/icons/hicolor/48x48/apps/emacs.png
share/icons/hicolor/scalable/apps/emacs.svg
share/icons/hicolor/scalable/mimetypes/emacs-document.svg
+@dirrm %%INFODIR%%
@dirrmtry %%DATADIR%%/%%EMACS_VER%%/site-lisp
@dirrmtry share/icons/hicolor/scalable/mimetypes
@dirrmtry share/icons/hicolor/scalable/apps