aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Mingrone <jrm@FreeBSD.org>2021-06-02 16:38:03 +0000
committerJoseph Mingrone <jrm@FreeBSD.org>2021-06-02 20:55:34 +0000
commitd0fe06d230fc2a52067c371fe3ef61f3c5a13690 (patch)
tree2364e1251446cee5f6f0f959708334409089f9e9
parent12169c9d89d966bb70ffe494a25758c4b152e090 (diff)
downloadports-d0fe06d230fc2a52067c371fe3ef61f3c5a13690.tar.gz
ports-d0fe06d230fc2a52067c371fe3ef61f3c5a13690.zip
editors/emacs-devel: Update to 87e7390 and add NATIVECOMP option
Native Compilation adds support for compiling EmacsLisp to native code using libgccjit. For more information see https://www.emacswiki.org/emacs/GccEmacs. The option is off by default until it receives wider testing. Co-authored-by: Ashish SHUKLA <ashish@FreeBSD.org> Co-authored-by: Joseph Mingrone <jrm@FreeBSD.org>
-rw-r--r--editors/emacs-devel/Makefile20
-rw-r--r--editors/emacs-devel/distinfo6
-rw-r--r--editors/emacs-devel/pkg-plist12
3 files changed, 27 insertions, 11 deletions
diff --git a/editors/emacs-devel/Makefile b/editors/emacs-devel/Makefile
index 8bc1254f7db8..9cbc7730d562 100644
--- a/editors/emacs-devel/Makefile
+++ b/editors/emacs-devel/Makefile
@@ -1,7 +1,7 @@
# Created by: Kenneth Vestergaard Schmidt <kvs@pil.dk>
PORTNAME= emacs
-DISTVERSION= 28.0.50.20210515
+DISTVERSION= 28.0.50.20210602
PORTEPOCH= 2
CATEGORIES= editors
PKGNAMESUFFIX= -devel
@@ -25,7 +25,7 @@ USES= autoreconf:build cpe gmake localbase:ldflags ncurses pkgconfig
CPE_VENDOR= gnu
USE_GITHUB= yes
GH_ACCOUNT= emacs-mirror
-GH_TAGNAME= 46e4704
+GH_TAGNAME= 87e7390
.if ${FLAVOR:U} != nox
USES+= desktop-file-utils gnome xorg
@@ -82,8 +82,8 @@ PLIST_SUB= EMACS_VER=${DISTVERSION:R} \
GNU_HOST=${CONFIGURE_TARGET}
OPTIONS_DEFINE= ACL DBUS GCONF GNUTLS GSETTINGS HARFBUZZ JSON \
- LCMS2 M17N MAILUTILS MODULES OTF SCROLLBARS \
- SOURCES THREADS XFT XIM XML XWIDGETS
+ LCMS2 M17N MAILUTILS MODULES NATIVECOMP OTF \
+ SCROLLBARS SOURCES THREADS XFT XIM XML XWIDGETS
OPTIONS_DEFAULT= ACL CAIRO DBUS GIF GNUTLS GSETTINGS GTK3 \
HARFBUZZ JPEG JSON KQUEUE LCMS2 M17N MAILUTILS \
MODULES OSS OTF PNG SCROLLBARS SOURCES SVG \
@@ -114,6 +114,7 @@ M17N_DESC= M17N support for text-shaping [implies XFT]
MAGICK_DESC= ImageMagick image processing support (deprecated)
MAILUTILS_DESC= Mail framework via GNU Mailutils
MODULES_DESC= Dynamic modules support
+NATIVECOMP_DESC= Emacs Lisp native compiler support
OTF_DESC= Opentype fonts [implies XFT]
SCROLLBARS_DESC= Toolkit scroll-bars
SOURCES_DESC= Install sources
@@ -168,6 +169,11 @@ MAILUTILS_CONFIGURE_WITH= mailutils
MAILUTILS_CONFIGURE_ENV_OFF= ac_cv_lib_lockfile_maillock=no \
ac_cv_prog_liblockfile=no
MODULES_CONFIGURE_WITH= modules
+NATIVECOMP_LIB_DEPENDS= libgccjit.so:lang/gcc11-devel
+NATIVECOMP_CONFIGURE_WITH= native-compilation
+NATIVECOMP_MAKE_ARGS= NATIVE_FULL_AOT=1
+NATIVECOMP_CFLAGS= -I${LOCALBASE}/include
+NATIVECOMP_LDFLAGS= -L${LOCALBASE}/lib/gcc11
OSS_CONFIGURE_ON= --with-sound=oss
OTF_IMPLIES= XFT
OTF_LIB_DEPENDS= libotf.so:print/libotf
@@ -235,6 +241,12 @@ post-install-MAILUTILS-on:
${LN} -sf ${PREFIX}/bin/movemail \
${STAGEDIR}${PREFIX}/libexec/emacs/${DISTVERSION:R}/${CONFIGURE_TARGET}
+# Natively compiled elisp files names include build checksum information, so add
+# these files to the plist after the build.
+post-install-NATIVECOMP-on:
+ @(cd ${WRKSRC} && ${FIND} native-lisp -type f | ${SED} -e 's,^,lib/emacs/${DISTVERSION:R}/,') >> ${TMPPLIST}
+ @${FIND} ${STAGEDIR}${PREFIX}/lib/emacs/${DISTVERSION:R}/native-lisp/ -name '*.eln*' -exec ${STRIP_CMD} {} +
+
post-install-SOURCES-on:
@${MKDIR} ${STAGEDIR}${DATADIR}/${DISTVERSION:R}/src
${INSTALL_DATA} ${WRKSRC}/src/*.[ch] ${STAGEDIR}${DATADIR}/${DISTVERSION:R}/src
diff --git a/editors/emacs-devel/distinfo b/editors/emacs-devel/distinfo
index ec1ffdadbfd2..e5f024714ceb 100644
--- a/editors/emacs-devel/distinfo
+++ b/editors/emacs-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1621087889
-SHA256 (emacs-mirror-emacs-28.0.50.20210515-46e4704_GH0.tar.gz) = 98b0e7707f95fa3135351d375e959a6504d36f4a40d187856ef9c245050fab4d
-SIZE (emacs-mirror-emacs-28.0.50.20210515-46e4704_GH0.tar.gz) = 42834431
+TIMESTAMP = 1622641280
+SHA256 (emacs-mirror-emacs-28.0.50.20210602-87e7390_GH0.tar.gz) = faa326d84e74ae8461234fb68397e8647293c0cd0c7e2845bc3198b0623c661d
+SIZE (emacs-mirror-emacs-28.0.50.20210602-87e7390_GH0.tar.gz) = 42876897
diff --git a/editors/emacs-devel/pkg-plist b/editors/emacs-devel/pkg-plist
index 164bb7ab2801..16d1ff6680db 100644
--- a/editors/emacs-devel/pkg-plist
+++ b/editors/emacs-devel/pkg-plist
@@ -15,7 +15,7 @@ man/man1/emacsclient.1.gz
man/man1/etags.1.gz
share/applications/emacs.desktop
share/applications/emacsclient.desktop
-share/metainfo/emacs.appdata.xml
+%%NO_NATIVECOMP%%share/metainfo/emacs.metainfo.xml
%%DATADIR%%/%%EMACS_VER%%/etc/AUTHORS
%%DATADIR%%/%%EMACS_VER%%/etc/CALC-NEWS
%%DATADIR%%/%%EMACS_VER%%/etc/COPYING
@@ -189,7 +189,6 @@ share/metainfo/emacs.appdata.xml
%%DATADIR%%/%%EMACS_VER%%/etc/edt-user.el
%%DATADIR%%/%%EMACS_VER%%/etc/emacs-buffer.gdb
%%DATADIR%%/%%EMACS_VER%%/etc/emacs-mail.desktop
-%%DATADIR%%/%%EMACS_VER%%/etc/emacs.appdata.xml
%%DATADIR%%/%%EMACS_VER%%/etc/emacs.desktop
%%DATADIR%%/%%EMACS_VER%%/etc/emacs.icon
%%DATADIR%%/%%EMACS_VER%%/etc/emacs.service
@@ -771,6 +770,7 @@ share/metainfo/emacs.appdata.xml
%%DATADIR%%/%%EMACS_VER%%/etc/images/zoom-in.xpm
%%DATADIR%%/%%EMACS_VER%%/etc/images/zoom-out.pbm
%%DATADIR%%/%%EMACS_VER%%/etc/images/zoom-out.xpm
+%%NO_NATIVECOMP%%%%DATADIR%%/%%EMACS_VER%%/%%ETCDIR%%.metainfo.xml
%%DATADIR%%/%%EMACS_VER%%/etc/nxml/README
%%DATADIR%%/%%EMACS_VER%%/etc/nxml/test-invalid.xml
%%DATADIR%%/%%EMACS_VER%%/etc/nxml/test-valid.xml
@@ -1551,8 +1551,12 @@ share/metainfo/emacs.appdata.xml
%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/cl-print.elc
%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/cl-seq.el.gz
%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/cl-seq.elc
-%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/comp-cstr.el
-%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/comp.el
+%%NO_NATIVECOMP%%%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/comp-cstr.el
+%%NO_NATIVECOMP%%%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/comp.el
+%%NATIVECOMP%%%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/comp-cstr.el.gz
+%%NATIVECOMP%%%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/comp-cstr.elc
+%%NATIVECOMP%%%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/comp.el.gz
+%%NATIVECOMP%%%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/comp.elc
%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/copyright.el.gz
%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/copyright.elc
%%DATADIR%%/%%EMACS_VER%%/lisp/emacs-lisp/crm.el.gz