commit: 1dc9ddc63ed66854bd981378c9d2f0b523694837 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org> AuthorDate: Sun May 16 09:27:29 2021 +0000 Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> CommitDate: Mon May 17 04:57:00 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1dc9ddc6
app-editors/emacs: add gccjit support to version 28 Landed upstream in 289000eee729689b0cf362a21baa40ac7f9506f6 requires gcc built with USE=jit Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org> Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org> app-editors/emacs/emacs-28.0.9999.ebuild | 10 ++++++++-- app-editors/emacs/metadata.xml | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app-editors/emacs/emacs-28.0.9999.ebuild b/app-editors/emacs/emacs-28.0.9999.ebuild index d1f8dc79560..e37d8033bea 100644 --- a/app-editors/emacs/emacs-28.0.9999.ebuild +++ b/app-editors/emacs/emacs-28.0.9999.ebuild @@ -40,7 +40,7 @@ DESCRIPTION="The extensible, customizable, self-documenting real-time display ed HOMEPAGE="https://www.gnu.org/software/emacs/" LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" -IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm xwidgets zlib" +IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jit jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm xwidgets zlib" RESTRICT="test" RDEPEND="app-emacs/emacs-common[games?,gui(-)?] @@ -52,6 +52,7 @@ RDEPEND="app-emacs/emacs-common[games?,gui(-)?] gmp? ( dev-libs/gmp:0= ) gpm? ( sys-libs/gpm ) !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) ) + jit? ( sys-devel/gcc:=[jit(-)] ) json? ( dev-libs/jansson ) kerberos? ( virtual/krb5 ) lcms? ( media-libs/lcms:2 ) @@ -140,6 +141,10 @@ src_prepare() { || die "Upstream version number changed to ${FULL_VERSION}" fi + # These files ignore LDFLAGS. We assign the variable here, because + # for live ebuilds FULL_VERSION doesn't exist in global scope + use jit && QA_FLAGS_IGNORED="usr/$(get_libdir)/emacs/${FULL_VERSION}/native-lisp/.*" + eapply_user # Fix filename reference in redirected man page @@ -261,6 +266,7 @@ src_configure() { $(use_with games gameuser ":gamestat") \ $(use_with gmp libgmp) \ $(use_with gpm) \ + $(use_with jit native-compilation) \ $(use_with json) \ $(use_with kerberos) $(use_with kerberos kerberos5) \ $(use_with lcms lcms2) \ @@ -310,7 +316,7 @@ src_install() { # avoid collision between slots, see bug #169033 e.g. rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el || die rm -rf "${ED}"/usr/share/{appdata,applications,icons} || die - rm -rf "${ED}/usr/$(get_libdir)" || die + rm -rf "${ED}/usr/$(get_libdir)/systemd" || die rm -rf "${ED}"/var || die # remove unused <version>/site-lisp dir diff --git a/app-editors/emacs/metadata.xml b/app-editors/emacs/metadata.xml index 62697703545..48f1ffacb83 100644 --- a/app-editors/emacs/metadata.xml +++ b/app-editors/emacs/metadata.xml @@ -38,6 +38,8 @@ engine</flag> <flag name="imagemagick">Use <pkg>media-gfx/imagemagick</pkg> for image processing</flag> + <flag name="jit">Compile with Emacs Lisp native compiler support via + libgccjit</flag> <flag name="json">Compile with native JSON support using <pkg>dev-libs/jansson</pkg></flag> <flag name="libxml2">Use <pkg>dev-libs/libxml2</pkg> to parse XML instead