summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2021-05-16 02:27:29 -0700
committerUlrich Müller <ulm@gentoo.org>2021-05-17 06:57:00 +0200
commit1dc9ddc63ed66854bd981378c9d2f0b523694837 (patch)
tree7b13e31de130417a67639d7fe6203736f988ca1e /app-editors
parentdev-ruby/delayer: add 1.2.1 (diff)
downloadgentoo-1dc9ddc63ed66854bd981378c9d2f0b523694837.tar.gz
gentoo-1dc9ddc63ed66854bd981378c9d2f0b523694837.tar.bz2
gentoo-1dc9ddc63ed66854bd981378c9d2f0b523694837.zip
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@gentoo.org> Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'app-editors')
-rw-r--r--app-editors/emacs/emacs-28.0.9999.ebuild10
-rw-r--r--app-editors/emacs/metadata.xml2
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 d1f8dc79560f..e37d8033beab 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 626977035455..48f1ffacb83d 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