From owner-svn-ports-all@FreeBSD.ORG Thu Jan 2 15:43:19 2014 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B5DDC620; Thu, 2 Jan 2014 15:43:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A196213B2; Thu, 2 Jan 2014 15:43:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s02FhJbX060830; Thu, 2 Jan 2014 15:43:19 GMT (envelope-from ashish@svn.freebsd.org) Received: (from ashish@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s02FhIkq060816; Thu, 2 Jan 2014 15:43:18 GMT (envelope-from ashish@svn.freebsd.org) Message-Id: <201401021543.s02FhIkq060816@svn.freebsd.org> From: Ashish SHUKLA Date: Thu, 2 Jan 2014 15:43:18 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r338450 - in head/editors: emacs emacs-nox11 emacs/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jan 2014 15:43:19 -0000 Author: ashish Date: Thu Jan 2 15:43:18 2014 New Revision: 338450 URL: http://svnweb.freebsd.org/changeset/ports/338450 Log: - Add PKGNAMESUFFIX - Add STAGE support - Use OptionsNG helpers - Rename X11TOOLKIT option to X11 - Add OPTIONS for emacs-nox11 slave - Install info manuals to their own directory to avoid conflicts[1][3][4] - Add a patch from upstream to fix building on non-X11 platforms[2] - Add a patch from upstream to fix building on 9.x and later platforms due to C11 support - Explicitly depend on GCC for i386 platforms, broken due to clang bug# 18171 - Mark port as MAKE_JOBS_SAFE PR: ports/183064[2], ports/181758[3], ports/179843[4] Reported by: Jay Borkenhagen [1] Added: head/editors/emacs/files/patch-c113322.diff (contents, props changed) head/editors/emacs/files/patch-src_xdisp.c (contents, props changed) Modified: head/editors/emacs-nox11/Makefile head/editors/emacs/Makefile head/editors/emacs/files/patch-src_sysdep.c head/editors/emacs/pkg-plist Modified: head/editors/emacs-nox11/Makefile ============================================================================== --- head/editors/emacs-nox11/Makefile Thu Jan 2 15:36:47 2014 (r338449) +++ head/editors/emacs-nox11/Makefile Thu Jan 2 15:43:18 2014 (r338450) @@ -1,33 +1,17 @@ # Created by: phoffman@proper.com # $FreeBSD$ -PORTREVISION= 8 PKGNAMESUFFIX= -nox11 -WITHOUT_CANNA= yes -WITHOUT_DBUS= yes -WITHOUT_GCONF= yes -WITHOUT_GTK2= yes -WITHOUT_JPEG= yes -WITHOUT_M17N= yes -WITHOUT_MOTIF= yes -WITHOUT_OTF= yes -WITHOUT_PNG= yes -WITHOUT_SVG= yes -WITHOUT_TIFF= yes -WITHOUT_XAW= yes -WITHOUT_XAW3D= yes -WITH_SYNC_INPUT= yes -WITHOUT_SCROLLBARS= yes -WITHOUT_X11= yes -WITHOUT_XFT= yes -WITHOUT_XIM= yes -WITHOUT_XPM= yes +PORTREVISION= 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 MASTERDIR= ${.CURDIR}/../emacs LATEST_LINK= emacs-nox11 -NO_STAGE= yes .include "${MASTERDIR}/Makefile" Modified: head/editors/emacs/Makefile ============================================================================== --- head/editors/emacs/Makefile Thu Jan 2 15:36:47 2014 (r338449) +++ head/editors/emacs/Makefile Thu Jan 2 15:43:18 2014 (r338450) @@ -3,10 +3,15 @@ PORTNAME= emacs PORTVERSION= ${EMACS_VER} +PORTREVISION?= 1 PORTEPOCH= 3 CATEGORIES= editors ipv6 MASTER_SITES= ${MASTER_SITE_GNU} MASTER_SITE_SUBDIR= ${PORTNAME} +PKGNAMESUFFIX?= 24 + +PATCH_SITE_SUBDIR+= ashish +PATCH_DIST_STRIP= -p1 MAINTAINER= ashish@FreeBSD.org COMMENT= GNU editing macros @@ -14,6 +19,7 @@ COMMENT= GNU editing macros LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/COPYING +MAKE_JOBS_SAFE= yes CONFLICTS= emacs-19.* emacs-21.* emacs-22.* emacs-23.* \ xemacs-[0-9]* xemacs-devel-[0-9]* \ @@ -25,13 +31,13 @@ USES= ncurses gmake pkgconfig USE_XZ= yes CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib -CONFIGURE_ARGS= --localstatedir=/var +INFO_PATH= ${DATADIR_REL}/info +CONFIGURE_ARGS= --localstatedir=/var --without-compress-info WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} 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} EMACS_DIRS= ${DATADIR}/${EMACS_VER}/leim ${DATADIR}/${EMACS_VER}/lisp ${DATADIR}/${EMACS_VER}/src \ ${PREFIX}/libexec/${PORTNAME} @@ -45,12 +51,11 @@ INFO= ada-mode auth autotype bovine cal org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve \ smtpmail speedbar srecode tramp url vip viper widget wisent woman -.if !defined(EMACS_NO_X11_SLAVE) CONFLICTS+= emacs-nox11-[0-9]* -OPTIONS_DEFINE= CANNA DBUS GCONF GIF JPEG M17N OTF PNG SOUND SOURCES SVG TIFF SYNC_INPUT SCROLLBARS XFT \ +OPTIONS_DEFINE= CANNA DBUS GCONF GIF JPEG M17N OTF PNG SOUND SOURCES SVG TIFF SYNC_INPUT SCROLLBARS X11 XFT \ XIM XML XPM MAGICK GNUTLS GSETTINGS -OPTIONS_SINGLE= X11TOOLKIT +OPTIONS_SINGLE= X11 CANNA_DESC= Canna support GSETTINGS_DESC= GSettings support (requires DBUS) @@ -64,183 +69,143 @@ XIM_DESC= X Input Method Support M17N_DESC= M17N support for text-shaping OTF_DESC= Opentype fonts suport -OPTIONS_SINGLE_X11TOOLKIT= GTK2 GTK3 XAW XAW3D MOTIF +OPTIONS_SINGLE_X11= GTK2 GTK3 XAW XAW3D MOTIF +.if !defined(EMACS_NO_X11_SLAVE) OPTIONS_DEFAULT=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 X11 +.else +OPTIONS_DEFAULT=SOURCES GNUTLS XML .endif -NO_STAGE= yes -.include - -DBUS_PTHREAD_LIBS= ${CC} -dumpspecs | ${GREP} -m 1 pthread: | ${SED} -e 's|^.*%{\!pg: %{pthread:||' -e 's|}.*$$||' || ${TRUE} +OPTIONS_SUB= SOURCES -.if ${PORT_OPTIONS:MCANNA} -PATCH_SITES+= http://distfiles.pirateparty.in/%SUBDIR%/ ${MASTER_SITE_LOCAL} -PATCH_SITE_SUBDIR+= ashish -PATCHFILES+= emacs24.3canna-20130321.diff.gz -PATCH_DIST_STRIP= -p1 -CONFIGURE_ARGS+= --with-canna \ +CANNA_CONFIGURE_ON= --with-canna \ --with-canna-includes=${LOCALBASE}/include \ --with-canna-libraries=${LOCALBASE}/lib -LIB_DEPENDS+= canna:${PORTSDIR}/japanese/canna-lib -.endif +CANNA_PATCH_SITES= http://distfiles.pirateparty.in/%SUBDIR%/ ${MASTER_SITE_LOCAL} +CANNA_PATCHFILES= emacs24.3canna-20130321.diff.gz +CANNA_LIB_DEPENDS= canna:${PORTSDIR}/japanese/canna-lib -.if defined(WITHOUT_X11) -CONFIGURE_ARGS+= --without-x -.else -USE_XORG= x11 -USE_GNOME= -INSTALLS_ICONS= yes +SOUND_CONFIGURE_WITH= sound -.if ${PORT_OPTIONS:MSVG} -USE_GNOME+= librsvg2 -.else -CONFIGURE_ARGS+= --without-rsvg -.endif +DBUS_LIB_DEPENDS= dbus-1:${PORTSDIR}/devel/dbus +DBUS_CONFIGURE_WITH= dbus -.if ${PORT_OPTIONS:MGTK2} -USE_GNOME+= gtk20 -CONFIGURE_ARGS+= --with-x-toolkit=gtk2 -.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 +GNUTLS_LIB_DEPENDS= gnutls:${PORTSDIR}/security/gnutls +GNUTLS_CONFIGURE_WITH= gnutls -.if !${PORT_OPTIONS:MSCROLLBARS} -CONFIGURE_ARGS+= --without-toolkit-scroll-bars -.endif +XML_USE= GNOME=libxml2 +XML_CONFIGURE_WITH= xml2 -.if !${PORT_OPTIONS:MSYNC_INPUT} -CONFIGURE_ARGS+= --without-sync-input -.endif +SVG_USE= GNOME=librsvg2 +SVG_CONFIGURE_WITH= rsvg -.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-otf -LIB_DEPENDS+= otf:${PORTSDIR}/print/libotf -.else -CONFIGURE_ARGS+= --without-libotf +SCROLLBARS_CONFIGURE_WITH= toolkit-scroll-bars + +SYNC_INPUT_CONFIGURE_WITH= sync-input + +JPEG_LIB_DEPENDS= jpeg:${PORTSDIR}/graphics/jpeg +JPEG_CONFIGURE_WITH= jpeg + +TIFF_LIB_DEPENDS= tiff:${PORTSDIR}/graphics/tiff +TIFF_CONFIGURE_WITH= tiff + +GIF_LIB_DEPENDS= gif:${PORTSDIR}/graphics/giflib +GIF_CONFIGURE_WITH= gif + +PNG_LIB_DEPENDS+= png15:${PORTSDIR}/graphics/png +PNG_CONFIGURE_WITH= png + +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 + +.include + +# clang is broken on i386 platform in -O2, due to use of alloca +# and %esi as frame pointer register +.if ${ARCH} == "i386" +USE_GCC= any .endif -.else -CONFIGURE_ARGS+= --without-xft + +DBUS_PTHREAD_LIBS= ${CC} -dumpspecs | ${GREP} -m 1 pthread: | ${SED} -e 's|^.*%{\!pg: %{pthread:||' -e 's|}.*$$||' || ${TRUE} + +.if ${PORT_OPTIONS:MX11} + +CONFIGURE_ARGS+= --with-x +USE_XORG= x11 + +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 -CONFIGURE_ARGS+= --without-otf --without-m17n-flt .endif -.if ${PORT_OPTIONS:MMAGICK} -LIB_DEPENDS+= MagickCore:${PORTSDIR}/graphics/ImageMagick -CONFIGURE_ARGS+= --with-imagemagick .else -CONFIGURE_ARGS+= --without-imagemagick -.endif -.if ${PORT_OPTIONS:MGSETTINGS} -USE_GNOME+= glib20 -CONFIGURE_ARGS+= --with-gsettings -.else -CONFIGURE_ARGS+= --without-gsettings -.endif - -.if ${PORT_OPTIONS:MGCONF} -USE_GNOME+= gconf2 -CONFIGURE_ARGS+= --with-gconf -.else -CONFIGURE_ARGS+= --without-gconf -.endif - -.if ${PORT_OPTIONS:MXIM} -CONFIGURE_ARGS+= --with-xim -.else -CONFIGURE_ARGS+= --without-xim -.endif +CONFIGURE_ARGS+= --without-x +.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:MSOUND} -CONFIGURE_ARGS+= --with-sound -.else -CONFIGURE_ARGS+= --without-sound .endif -.if ${PORT_OPTIONS:MDBUS} -LIB_DEPENDS+= dbus-1:${PORTSDIR}/devel/dbus -CONFIGURE_ARGS+= --with-dbus -.else -CONFIGURE_ARGS+= --without-dbus +.if !${PORT_OPTIONS:MDBUS} .if ${PORT_OPTIONS:MGSETTINGS} IGNORE= GSettings support requires DBUS. Please run 'make config' .endif .endif -.if ${PORT_OPTIONS:MXML} -USE_GNOME+= libxml2 -CONFIGURE_ARGS+= --with-xml2 -.else -CONFIGURE_ARGS+= --without-xml2 -.endif +.include -.if ${PORT_OPTIONS:MGNUTLS} -LIB_DEPENDS+= gnutls:${PORTSDIR}/security/gnutls -CONFIGURE_ARGS+= --with-gnutls -.else -CONFIGURE_ARGS+= --without-gnutls +# Building with GCC 4.6+ requires it +.if ${ncurses_ARGS} == "port" +LDFLAGS+= -ltinfo .endif -.include - .if ${ARCH} == "ia64" BROKEN= Emacs 24.X does not currently build on ia64 .endif @@ -248,7 +213,7 @@ BROKEN= Emacs 24.X does not currently bu 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) +.if ${PORT_OPTIONS:MX11} @${REINPLACE_CMD} -e 's/^Terminal=.*$$/Terminal=true/' ${WRKSRC}/etc/emacs.desktop .endif @@ -257,33 +222,29 @@ 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 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} -.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 pre-everything:: -.if !defined(WITHOUT_X11) +.if ${PORT_OPTIONS:MX11} @${ECHO_MSG} - @${ECHO_MSG} "====> To disable X11 support, define: WITHOUT_X11." + @${ECHO_MSG} "====> To disable X11 support, unset option: X11." @${ECHO_MSG} .endif -.if defined(WITH_CANNA) +.if ${PORT_OPTIONS:MCANNA} @${ECHO_MSG} "====> Canna support is not part of standard distribution" @${ECHO_MSG} "====> of GNU Emacs and is therefore not supported by GNU" @${ECHO_MSG} "====> Emacs development team." Added: head/editors/emacs/files/patch-c113322.diff ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/editors/emacs/files/patch-c113322.diff Thu Jan 2 15:43:18 2014 (r338450) @@ -0,0 +1,276 @@ + +$FreeBSD$ + +Backport of changeset: 113322 +fixes bug: http://debbugs.gnu.org/14812 +committer: Paul Eggert +branch nick: trunk +timestamp: Sun 2013-07-07 23:15:38 -0700 +message: + Try to fix FreeBSD 9.1 porting problem. + + This incorporates the following merge from gnulib: + 2013-07-07 stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11 + +--- lib/verify.h.orig ++++ lib/verify.h +@@ -18,7 +18,7 @@ + /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ + + #ifndef _GL_VERIFY_H +-# define _GL_VERIFY_H ++#define _GL_VERIFY_H + + + /* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11. +@@ -31,14 +31,24 @@ + Use this only with GCC. If we were willing to slow 'configure' + down we could also use it with other compilers, but since this + affects only the quality of diagnostics, why bother? */ +-# if (4 < __GNUC__ || (__GNUC__ == 4 && 6 <= __GNUC_MINOR__)) && !defined __cplusplus +-# define _GL_HAVE__STATIC_ASSERT 1 +-# endif ++#if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \ ++ && (201112L <= __STDC_VERSION__ || !defined __STRICT_ANSI__) \ ++ && !defined __cplusplus) ++# define _GL_HAVE__STATIC_ASSERT 1 ++#endif + /* The condition (99 < __GNUC__) is temporary, until we know about the + first G++ release that supports static_assert. */ +-# if (99 < __GNUC__) && defined __cplusplus +-# define _GL_HAVE_STATIC_ASSERT 1 +-# endif ++#if (99 < __GNUC__) && defined __cplusplus ++# define _GL_HAVE_STATIC_ASSERT 1 ++#endif ++ ++/* FreeBSD 9.1 , included by and lots of other ++ system headers, defines a conflicting _Static_assert that is no ++ better than ours; override it. */ ++#ifndef _GL_HAVE_STATIC_ASSERT ++# include ++# undef _Static_assert ++#endif + + /* Each of these macros verifies that its argument R is nonzero. To + be portable, R should be an integer constant expression. Unlike +@@ -141,50 +151,50 @@ + Use a template type to work around the problem. */ + + /* Concatenate two preprocessor tokens. */ +-# define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y) +-# define _GL_CONCAT0(x, y) x##y ++#define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y) ++#define _GL_CONCAT0(x, y) x##y + + /* _GL_COUNTER is an integer, preferably one that changes each time we + use it. Use __COUNTER__ if it works, falling back on __LINE__ + otherwise. __LINE__ isn't perfect, but it's better than a + constant. */ +-# if defined __COUNTER__ && __COUNTER__ != __COUNTER__ +-# define _GL_COUNTER __COUNTER__ +-# else +-# define _GL_COUNTER __LINE__ +-# endif ++#if defined __COUNTER__ && __COUNTER__ != __COUNTER__ ++# define _GL_COUNTER __COUNTER__ ++#else ++# define _GL_COUNTER __LINE__ ++#endif + + /* Generate a symbol with the given prefix, making it unique if + possible. */ +-# define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER) ++#define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER) + + /* Verify requirement R at compile-time, as an integer constant expression + that returns 1. If R is false, fail at compile-time, preferably + with a diagnostic that includes the string-literal DIAGNOSTIC. */ + +-# define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \ +- (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC))) ++#define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \ ++ (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC))) + +-# ifdef __cplusplus +-# if !GNULIB_defined_struct__gl_verify_type ++#ifdef __cplusplus ++# if !GNULIB_defined_struct__gl_verify_type + template + struct _gl_verify_type { + unsigned int _gl_verify_error_if_negative: w; + }; +-# define GNULIB_defined_struct__gl_verify_type 1 +-# endif +-# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ +- _gl_verify_type<(R) ? 1 : -1> +-# elif defined _GL_HAVE__STATIC_ASSERT +-# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ +- struct { \ +- _Static_assert (R, DIAGNOSTIC); \ +- int _gl_dummy; \ +- } +-# else +-# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ +- struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; } ++# define GNULIB_defined_struct__gl_verify_type 1 + # endif ++# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ ++ _gl_verify_type<(R) ? 1 : -1> ++#elif defined _GL_HAVE__STATIC_ASSERT ++# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ ++ struct { \ ++ _Static_assert (R, DIAGNOSTIC); \ ++ int _gl_dummy; \ ++ } ++#else ++# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ ++ struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; } ++#endif + + /* Verify requirement R at compile-time, as a declaration without a + trailing ';'. If R is false, fail at compile-time, preferably +@@ -193,23 +203,23 @@ + Unfortunately, unlike C11, this implementation must appear as an + ordinary declaration, and cannot appear inside struct { ... }. */ + +-# ifdef _GL_HAVE__STATIC_ASSERT +-# define _GL_VERIFY _Static_assert +-# else +-# define _GL_VERIFY(R, DIAGNOSTIC) \ +- extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ +- [_GL_VERIFY_TRUE (R, DIAGNOSTIC)] +-# endif ++#ifdef _GL_HAVE__STATIC_ASSERT ++# define _GL_VERIFY _Static_assert ++#else ++# define _GL_VERIFY(R, DIAGNOSTIC) \ ++ extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ ++ [_GL_VERIFY_TRUE (R, DIAGNOSTIC)] ++#endif + + /* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */ +-# ifdef _GL_STATIC_ASSERT_H +-# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert +-# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC) +-# endif +-# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert +-# define static_assert _Static_assert /* C11 requires this #define. */ +-# endif ++#ifdef _GL_STATIC_ASSERT_H ++# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert ++# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC) ++# endif ++# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert ++# define static_assert _Static_assert /* C11 requires this #define. */ + # endif ++#endif + + /* @assert.h omit start@ */ + +@@ -227,18 +237,18 @@ + + verify_true is obsolescent; please use verify_expr instead. */ + +-# define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")") ++#define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")") + + /* Verify requirement R at compile-time. Return the value of the + expression E. */ + +-# define verify_expr(R, E) \ +- (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E)) ++#define verify_expr(R, E) \ ++ (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E)) + + /* Verify requirement R at compile-time, as a declaration without a + trailing ';'. */ + +-# define verify(R) _GL_VERIFY (R, "verify (" #R ")") ++#define verify(R) _GL_VERIFY (R, "verify (" #R ")") + + /* @assert.h omit end@ */ + + +--- lib/stdalign.in.h.orig ++++ lib/stdalign.in.h +@@ -41,13 +41,28 @@ + are 4 unless the option '-malign-double' is used. + + The result cannot be used as a value for an 'enum' constant, if you +- want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */ ++ want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. ++ ++ Include for offsetof. */ + #include +-#if defined __cplusplus ++ ++/* FreeBSD 9.1 , included by and lots of other ++ standard headers, defines conflicting implementations of _Alignas ++ and _Alignof that are no better than ours; override them. */ ++#undef _Alignas ++#undef _Alignof ++ ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 ++# ifdef __cplusplus ++# if 201103 <= __cplusplus ++# define _Alignof(type) alignof (type) ++# else + template struct __alignof_helper { char __a; __t __b; }; +-# define _Alignof(type) offsetof (__alignof_helper, __b) +-#else +-# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) ++# define _Alignof(type) offsetof (__alignof_helper, __b) ++# endif ++# else ++# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) ++# endif + #endif + #define alignof _Alignof + #define __alignof_is_defined 1 +@@ -77,12 +92,16 @@ + + */ + +-#if __GNUC__ || __IBMC__ || __IBMCPP__ || 0x5110 <= __SUNPRO_C +-# define _Alignas(a) __attribute__ ((__aligned__ (a))) +-#elif 1300 <= _MSC_VER +-# define _Alignas(a) __declspec (align (a)) ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 ++# if defined __cplusplus && 201103 <= __cplusplus ++# define _Alignas(a) alignas (a) ++# elif __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC || 0x5110 <= __SUNPRO_C ++# define _Alignas(a) __attribute__ ((__aligned__ (a))) ++# elif 1300 <= _MSC_VER ++# define _Alignas(a) __declspec (align (a)) ++# endif + #endif +-#ifdef _Alignas ++#if defined _Alignas || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__) + # define alignas _Alignas + # define __alignas_is_defined 1 + #endif +--- m4/stdalign.m4.orig ++++ m4/stdalign.m4 +@@ -31,7 +31,8 @@ + + /* Test _Alignas only on platforms where gnulib can help. */ + #if \ +- (__GNUC__ || __IBMC__ || __IBMCPP__ \ ++ ((defined __cplusplus && 201103 <= __cplusplus) \ ++ || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \ + || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) + int alignas (8) alignas_int = 1; + char test_alignas[_Alignof (alignas_int) == 8 ? 1 : -1]; +--- ChangeLog.orig ++++ ChangeLog +@@ -1,3 +1,9 @@ ++2013-07-08 Paul Eggert ++ ++ Try to fix FreeBSD 9.1 porting problem (Bug#14812). ++ This incorporates the following merge from gnulib: ++ 2013-07-07 stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11 ++ + 2013-03-11 Glenn Morris + + * Verson 24.3 released. Modified: head/editors/emacs/files/patch-src_sysdep.c ============================================================================== --- head/editors/emacs/files/patch-src_sysdep.c Thu Jan 2 15:36:47 2014 (r338449) +++ head/editors/emacs/files/patch-src_sysdep.c Thu Jan 2 15:43:18 2014 (r338450) @@ -3,24 +3,29 @@ $FreeBSD$ --- src/sysdep.c.orig +++ src/sysdep.c -@@ -46,7 +46,15 @@ - #endif +@@ -37,6 +37,20 @@ + #include "sysselect.h" + #include "blockinput.h" - #ifdef __FreeBSD__ ++#ifdef __FreeBSD__ +#include +/* 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 ++#include +#if defined(__sparc__) || defined(__arm__) +#undef frame +#endif - #include - #include - #endif -@@ -2691,6 +2699,40 @@ - return proclist; ++#include ++#include ++#endif ++ + #ifdef WINDOWSNT + #define read sys_read + #define write sys_write +@@ -2529,6 +2543,40 @@ + return proclist; } +#elif defined (__FreeBSD__) @@ -60,7 +65,7 @@ $FreeBSD$ /* The WINDOWSNT implementation is in w32.c. The MSDOS implementation is in dosfns.c. */ #elif !defined (WINDOWSNT) && !defined (MSDOS) -@@ -3402,6 +3444,176 @@ +@@ -3079,6 +3127,176 @@ return attrs; } Added: head/editors/emacs/files/patch-src_xdisp.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/editors/emacs/files/patch-src_xdisp.c Thu Jan 2 15:43:18 2014 (r338450) @@ -0,0 +1,23 @@ +This patch is taken from upstream repository r114482. + + +$FreeBSD$ + +--- src/xdisp.c.orig ++++ src/xdisp.c +@@ -6870,6 +6870,7 @@ + } + } + ++#ifdef HAVE_WINDOW_SYSTEM + /* Adjust face id for a multibyte character. There are no multibyte + character in unibyte text. */ + if ((it->what == IT_CHARACTER || it->what == IT_COMPOSITION) +@@ -6910,6 +6911,7 @@ + it->face_id = FACE_FOR_CHAR (it->f, face, c, pos, it->string); + } + } ++#endif /* HAVE_WINDOW_SYSTEM */ + + done: + /* Is this character the last one of a run of characters with Modified: head/editors/emacs/pkg-plist ============================================================================== --- head/editors/emacs/pkg-plist Thu Jan 2 15:36:47 2014 (r338449) +++ head/editors/emacs/pkg-plist Thu Jan 2 15:43:18 2014 (r338450) @@ -5,10 +5,17 @@ bin/emacs-%%EMACS_VER%% bin/emacsclient bin/etags bin/grep-changelog +man/man1/grep-changelog.1.gz +man/man1/etags.1.gz +man/man1/ctags.1.gz +man/man1/ebrowse.1.gz +man/man1/emacsclient.1.gz +man/man1/emacs.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 +@dirrmtry %%INFODIR%% @dirrmtry %%DATADIR%%/%%EMACS_VER%%/site-lisp @dirrmtry share/icons/hicolor/scalable/mimetypes @dirrmtry share/icons/hicolor/scalable/apps