1 |
commit: 1dc9ddc63ed66854bd981378c9d2f0b523694837 |
2 |
Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun May 16 09:27:29 2021 +0000 |
4 |
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon May 17 04:57:00 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1dc9ddc6 |
7 |
|
8 |
app-editors/emacs: add gccjit support to version 28 |
9 |
|
10 |
Landed upstream in 289000eee729689b0cf362a21baa40ac7f9506f6 |
11 |
requires gcc built with USE=jit |
12 |
|
13 |
Package-Manager: Portage-3.0.18, Repoman-3.0.3 |
14 |
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org> |
15 |
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org> |
16 |
|
17 |
app-editors/emacs/emacs-28.0.9999.ebuild | 10 ++++++++-- |
18 |
app-editors/emacs/metadata.xml | 2 ++ |
19 |
2 files changed, 10 insertions(+), 2 deletions(-) |
20 |
|
21 |
diff --git a/app-editors/emacs/emacs-28.0.9999.ebuild b/app-editors/emacs/emacs-28.0.9999.ebuild |
22 |
index d1f8dc79560..e37d8033bea 100644 |
23 |
--- a/app-editors/emacs/emacs-28.0.9999.ebuild |
24 |
+++ b/app-editors/emacs/emacs-28.0.9999.ebuild |
25 |
@@ -40,7 +40,7 @@ DESCRIPTION="The extensible, customizable, self-documenting real-time display ed |
26 |
HOMEPAGE="https://www.gnu.org/software/emacs/" |
27 |
|
28 |
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" |
29 |
-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" |
30 |
+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" |
31 |
RESTRICT="test" |
32 |
|
33 |
RDEPEND="app-emacs/emacs-common[games?,gui(-)?] |
34 |
@@ -52,6 +52,7 @@ RDEPEND="app-emacs/emacs-common[games?,gui(-)?] |
35 |
gmp? ( dev-libs/gmp:0= ) |
36 |
gpm? ( sys-libs/gpm ) |
37 |
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) ) |
38 |
+ jit? ( sys-devel/gcc:=[jit(-)] ) |
39 |
json? ( dev-libs/jansson ) |
40 |
kerberos? ( virtual/krb5 ) |
41 |
lcms? ( media-libs/lcms:2 ) |
42 |
@@ -140,6 +141,10 @@ src_prepare() { |
43 |
|| die "Upstream version number changed to ${FULL_VERSION}" |
44 |
fi |
45 |
|
46 |
+ # These files ignore LDFLAGS. We assign the variable here, because |
47 |
+ # for live ebuilds FULL_VERSION doesn't exist in global scope |
48 |
+ use jit && QA_FLAGS_IGNORED="usr/$(get_libdir)/emacs/${FULL_VERSION}/native-lisp/.*" |
49 |
+ |
50 |
eapply_user |
51 |
|
52 |
# Fix filename reference in redirected man page |
53 |
@@ -261,6 +266,7 @@ src_configure() { |
54 |
$(use_with games gameuser ":gamestat") \ |
55 |
$(use_with gmp libgmp) \ |
56 |
$(use_with gpm) \ |
57 |
+ $(use_with jit native-compilation) \ |
58 |
$(use_with json) \ |
59 |
$(use_with kerberos) $(use_with kerberos kerberos5) \ |
60 |
$(use_with lcms lcms2) \ |
61 |
@@ -310,7 +316,7 @@ src_install() { |
62 |
# avoid collision between slots, see bug #169033 e.g. |
63 |
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el || die |
64 |
rm -rf "${ED}"/usr/share/{appdata,applications,icons} || die |
65 |
- rm -rf "${ED}/usr/$(get_libdir)" || die |
66 |
+ rm -rf "${ED}/usr/$(get_libdir)/systemd" || die |
67 |
rm -rf "${ED}"/var || die |
68 |
|
69 |
# remove unused <version>/site-lisp dir |
70 |
|
71 |
diff --git a/app-editors/emacs/metadata.xml b/app-editors/emacs/metadata.xml |
72 |
index 62697703545..48f1ffacb83 100644 |
73 |
--- a/app-editors/emacs/metadata.xml |
74 |
+++ b/app-editors/emacs/metadata.xml |
75 |
@@ -38,6 +38,8 @@ |
76 |
engine</flag> |
77 |
<flag name="imagemagick">Use <pkg>media-gfx/imagemagick</pkg> for image |
78 |
processing</flag> |
79 |
+ <flag name="jit">Compile with Emacs Lisp native compiler support via |
80 |
+ libgccjit</flag> |
81 |
<flag name="json">Compile with native JSON support using |
82 |
<pkg>dev-libs/jansson</pkg></flag> |
83 |
<flag name="libxml2">Use <pkg>dev-libs/libxml2</pkg> to parse XML instead |