diff options
author | Ashish SHUKLA <ashish@FreeBSD.org> | 2013-12-09 13:01:12 +0000 |
---|---|---|
committer | Ashish SHUKLA <ashish@FreeBSD.org> | 2013-12-09 13:01:12 +0000 |
commit | f9a45a28bb7910799fd387722b32a7fca8548637 (patch) | |
tree | 18361d78be2906414dab14dcb12010287afc4aac /editors | |
parent | Unbreak 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/Makefile | 285 | ||||
-rw-r--r-- | editors/emacs-devel/distinfo | 4 | ||||
-rw-r--r-- | editors/emacs-devel/files/patch-configure.ac | 55 | ||||
-rw-r--r-- | editors/emacs-devel/files/patch-doc-emacs-Makefile.in | 14 | ||||
-rw-r--r-- | editors/emacs-devel/files/patch-doc-lispintro-Makefile.in | 14 | ||||
-rw-r--r-- | editors/emacs-devel/files/patch-doc-lispref-Makefile.in | 14 | ||||
-rw-r--r-- | editors/emacs-devel/files/patch-doc-misc-Makefile.in | 14 | ||||
-rw-r--r-- | editors/emacs-devel/files/patch-lib_verify.h | 17 | ||||
-rw-r--r-- | editors/emacs-devel/files/patch-sources.el | 10 | ||||
-rw-r--r-- | editors/emacs-devel/files/patch-src_coding.c | 51 | ||||
-rw-r--r-- | editors/emacs-devel/files/patch-src_lisp.h | 16 | ||||
-rw-r--r-- | editors/emacs-devel/files/patch-src_process.c | 16 | ||||
-rw-r--r-- | editors/emacs-devel/files/patch-src_sysdep.c | 244 | ||||
-rw-r--r-- | editors/emacs-devel/pkg-plist | 8 |
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 |