1 |
commit: ef2f15f048eccbec7e68f754788a3acdbd184450 |
2 |
Author: Marshall Brewer <tomboy64 <AT> sina <DOT> cn> |
3 |
AuthorDate: Thu May 26 15:56:10 2016 +0000 |
4 |
Commit: Amy Winston <amynka <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Jun 2 12:52:37 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef2f15f0 |
7 |
|
8 |
dev-lang/rakudo: revbump 2016.04-r2 |
9 |
|
10 |
- switched to java-pkg-opt-2 |
11 |
- removed unnecessary DESTDIR hack |
12 |
- not requiring nqp to have USE=-java/-moar, if it's not set for |
13 |
rakudo |
14 |
- enable usage of nqp with system jna (patch and mechanics contributed |
15 |
by Chewi) |
16 |
|
17 |
dev-lang/rakudo/files/rakudo-2016.04-jna-lib.patch | 21 ++++++ |
18 |
dev-lang/rakudo/rakudo-2016.04-r1.ebuild | 83 --------------------- |
19 |
dev-lang/rakudo/rakudo-2016.04-r2.ebuild | 84 ++++++++++++++++++++++ |
20 |
3 files changed, 105 insertions(+), 83 deletions(-) |
21 |
|
22 |
diff --git a/dev-lang/rakudo/files/rakudo-2016.04-jna-lib.patch b/dev-lang/rakudo/files/rakudo-2016.04-jna-lib.patch |
23 |
new file mode 100644 |
24 |
index 0000000..3f4532f |
25 |
--- /dev/null |
26 |
+++ b/dev-lang/rakudo/files/rakudo-2016.04-jna-lib.patch |
27 |
@@ -0,0 +1,21 @@ |
28 |
+Upstream uses -Xbootclasspath, which prevents us from using |
29 |
+LD_LIBRARY_PATH, thefore we need to set jna.boot.library.path. |
30 |
+See http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4285197. |
31 |
+ |
32 |
+Chewi |
33 |
+2016/05/15 |
34 |
+ |
35 |
+diff -Naur rakudo-2016.04.orig/tools/build/create-jvm-runner.pl rakudo-2016.04/tools/build/create-jvm-runner.pl |
36 |
+--- rakudo-2016.04.orig/tools/build/create-jvm-runner.pl 2015-12-25 19:23:19.000000000 +0000 |
37 |
++++ rakudo-2016.04/tools/build/create-jvm-runner.pl 2016-05-15 11:30:37.488085661 +0100 |
38 |
+@@ -60,7 +60,10 @@ |
39 |
+ } |
40 |
+ |
41 |
+ my $classpath = join($cpsep, ($jardir, $libdir, $nqplibdir)); |
42 |
++my $jna_lib = `java-config --query LIBRARY_PATH --package jna-4`; |
43 |
++chomp $jna_lib; |
44 |
+ my $jopts = '-noverify -Xms100m -Xbootclasspath/a:' . $perl6jars |
45 |
++ . ' -Djna.boot.library.path=' . $jna_lib |
46 |
+ . ' -cp ' . ($^O eq 'MSWin32' ? '"%CLASSPATH%";' : '$CLASSPATH:') . $classpath |
47 |
+ . ' -Dperl6.prefix=' . $prefix |
48 |
+ . ' -Djna.library.path=' . $sharedir |
49 |
|
50 |
diff --git a/dev-lang/rakudo/rakudo-2016.04-r1.ebuild b/dev-lang/rakudo/rakudo-2016.04-r1.ebuild |
51 |
deleted file mode 100644 |
52 |
index e677758..0000000 |
53 |
--- a/dev-lang/rakudo/rakudo-2016.04-r1.ebuild |
54 |
+++ /dev/null |
55 |
@@ -1,83 +0,0 @@ |
56 |
-# Copyright 1999-2016 Gentoo Foundation |
57 |
-# Distributed under the terms of the GNU General Public License v2 |
58 |
-# $Id$ |
59 |
- |
60 |
-EAPI=6 |
61 |
- |
62 |
-inherit java-pkg-2 |
63 |
- |
64 |
-DESCRIPTION="A compiler for the Perl 6 programming language" |
65 |
-HOMEPAGE="http://rakudo.org" |
66 |
- |
67 |
-if [[ ${PV} == "9999" ]]; then |
68 |
- EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" |
69 |
- inherit git-r3 |
70 |
- KEYWORDS="" |
71 |
-else |
72 |
- SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz" |
73 |
- KEYWORDS="~amd64 ~x86" |
74 |
-fi |
75 |
- |
76 |
-LICENSE="Artistic-2" |
77 |
-SLOT="0" |
78 |
-# TODO: add USE="javascript" once that's usable in nqp |
79 |
-IUSE="clang java +moar test" |
80 |
- |
81 |
-RDEPEND="~dev-lang/nqp-${PV}:=[java=,moar=,clang=]" |
82 |
-DEPEND="${RDEPEND} |
83 |
- clang? ( sys-devel/clang ) |
84 |
- >=dev-lang/perl-5.10" |
85 |
- |
86 |
-REQUIRED_USE="|| ( java moar )" |
87 |
-PATCHES=( "${FILESDIR}/${PN}-2016.04-Makefile.in.patch" ) |
88 |
- |
89 |
-pkg_pretend() { |
90 |
- if has_version dev-lang/rakudo && use java; then |
91 |
- die "Rakudo is known to fail compilation with the jvm backend if it's already installed." |
92 |
- fi |
93 |
-} |
94 |
- |
95 |
-pkg_setup() { |
96 |
- use java && java-pkg-2_pkg_setup |
97 |
-} |
98 |
- |
99 |
-src_prepare() { |
100 |
- eapply "${PATCHES[@]}" |
101 |
- |
102 |
- # yup, this is ugly. but emake doesn't respect DESTDIR. |
103 |
- for i in Moar JVM; do |
104 |
- echo "DESTDIR = ${D}" > "${T}/Makefile-${i}.in" || die |
105 |
- cat "${S}/tools/build/Makefile-${i}.in" >> "${T}/Makefile-${i}.in" || die |
106 |
- mv "${T}/Makefile-${i}.in" "${S}/tools/build/Makefile-${i}.in" || die |
107 |
- done |
108 |
- |
109 |
- eapply_user |
110 |
- use java && java-pkg-2_src_prepare |
111 |
-} |
112 |
- |
113 |
-src_configure() { |
114 |
- local backends |
115 |
- use java && backends+="jvm," |
116 |
- use moar && backends+="moar," |
117 |
- local myargs=( "--prefix=/usr" |
118 |
- "--sysroot=/" |
119 |
- "--sdkroot=/" |
120 |
- "--make-install" |
121 |
- "--sdkroot=/" |
122 |
- "--backends=${backends}" |
123 |
- ) |
124 |
- perl Configure.pl "${myargs[@]}" |
125 |
-} |
126 |
- |
127 |
-src_compile() { |
128 |
- emake DESTDIR="${D}" |
129 |
-} |
130 |
- |
131 |
-src_test() { |
132 |
- export RAKUDO_PRECOMP_PREFIX=$(mktemp -d) |
133 |
- default |
134 |
-} |
135 |
- |
136 |
-src_install() { |
137 |
- emake DESTDIR="${D}" install |
138 |
-} |
139 |
|
140 |
diff --git a/dev-lang/rakudo/rakudo-2016.04-r2.ebuild b/dev-lang/rakudo/rakudo-2016.04-r2.ebuild |
141 |
new file mode 100644 |
142 |
index 0000000..18eb631 |
143 |
--- /dev/null |
144 |
+++ b/dev-lang/rakudo/rakudo-2016.04-r2.ebuild |
145 |
@@ -0,0 +1,84 @@ |
146 |
+# Copyright 1999-2016 Gentoo Foundation |
147 |
+# Distributed under the terms of the GNU General Public License v2 |
148 |
+# $Id$ |
149 |
+ |
150 |
+EAPI=5 |
151 |
+ |
152 |
+inherit java-pkg-opt-2 |
153 |
+ |
154 |
+DESCRIPTION="A compiler for the Perl 6 programming language" |
155 |
+HOMEPAGE="http://rakudo.org" |
156 |
+ |
157 |
+if [[ ${PV} == "9999" ]]; then |
158 |
+ EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" |
159 |
+ inherit git-r3 |
160 |
+ KEYWORDS="" |
161 |
+else |
162 |
+ SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz" |
163 |
+ KEYWORDS="~amd64 ~x86" |
164 |
+fi |
165 |
+ |
166 |
+LICENSE="Artistic-2" |
167 |
+SLOT="0" |
168 |
+# TODO: add USE="javascript" once that's usable in nqp |
169 |
+IUSE="clang java +moar test" |
170 |
+REQUIRED_USE="|| ( java moar )" |
171 |
+ |
172 |
+CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=] |
173 |
+ >=dev-lang/nqp-2016.04-r3" |
174 |
+RDEPEND="${CDEPEND} |
175 |
+ java? ( >=virtual/jre-1.7 )" |
176 |
+DEPEND="${CDEPEND} |
177 |
+ clang? ( sys-devel/clang ) |
178 |
+ java? ( >=virtual/jdk-1.7 ) |
179 |
+ >=dev-lang/perl-5.10" |
180 |
+ |
181 |
+PATCHES=( |
182 |
+ "${FILESDIR}/${PN}-2016.04-Makefile.in.patch" |
183 |
+ "${FILESDIR}/${P}-jna-lib.patch" |
184 |
+) |
185 |
+ |
186 |
+pkg_pretend() { |
187 |
+ if has_version dev-lang/rakudo; then |
188 |
+ ewarn "Rakudo is known to fail compilation/installation with Rakudo" |
189 |
+ ewarn "already being installed. So if it fails, try unmerging dev-lang/rakudo," |
190 |
+ ewarn "then do a new installation." |
191 |
+ ewarn "(see Bug #584394)" |
192 |
+ fi |
193 |
+} |
194 |
+ |
195 |
+src_prepare() { |
196 |
+ epatch "${PATCHES[@]}" |
197 |
+ epatch_user |
198 |
+} |
199 |
+ |
200 |
+src_configure() { |
201 |
+ local backends |
202 |
+ use moar && backends+="moar," |
203 |
+ use java && backends+="jvm" |
204 |
+ |
205 |
+ local myargs=( |
206 |
+ "--prefix=/usr" |
207 |
+ "--sysroot=/" |
208 |
+ "--sdkroot=/" |
209 |
+ "--backends=${backends}" |
210 |
+ ) |
211 |
+ |
212 |
+ perl Configure.pl "${myargs[@]}" || die |
213 |
+ |
214 |
+ if use java; then |
215 |
+ NQP=$(java-pkg_getjars --with-dependencies nqp) |
216 |
+ fi |
217 |
+} |
218 |
+ |
219 |
+src_compile() { |
220 |
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" |
221 |
+} |
222 |
+ |
223 |
+src_install() { |
224 |
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install |
225 |
+} |
226 |
+ |
227 |
+src_test() { |
228 |
+ RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default |
229 |
+} |