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>
This commit is contained in:
Joseph Mingrone 2021-06-02 13:38:03 -03:00
parent 12169c9d89
commit d0fe06d230
No known key found for this signature in database
GPG Key ID: 36A40C83B0D6EF9E
3 changed files with 27 additions and 11 deletions

View File

@ -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

View File

@ -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

View File

@ -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