1 |
commit: 71bf110ebc7834aa710775eb08911d4f2d9dfb18 |
2 |
Author: Matthew Brewer <tomboy64 <AT> sina <DOT> cn> |
3 |
AuthorDate: Fri May 27 22:43:01 2016 +0000 |
4 |
Commit: M. B. <tomboy64 <AT> sina <DOT> cn> |
5 |
CommitDate: Fri May 27 22:43:01 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/user/tbc.git/commit/?id=71bf110e |
7 |
|
8 |
push my new perl6 ebuilds to the overlay |
9 |
|
10 |
dev-lang/moarvm/Manifest | 2 + |
11 |
dev-lang/moarvm/files/Configure-2016.04.patch | 145 +++++++++++++++++++ |
12 |
dev-lang/moarvm/metadata.xml | 27 ++++ |
13 |
dev-lang/moarvm/moarvm-2016.04-r1.ebuild | 63 ++++++++ |
14 |
dev-lang/moarvm/moarvm-2016.05.ebuild | 61 ++++++++ |
15 |
dev-lang/moarvm/moarvm-9999.ebuild | 61 ++++++++ |
16 |
dev-lang/nqp/Manifest | 1 + |
17 |
dev-lang/nqp/metadata.xml | 1 - |
18 |
dev-lang/nqp/nqp-2016.04-r3.ebuild | 159 ++++++++++++++------- |
19 |
dev-lang/nqp/nqp-2016.04-r4.ebuild | 124 ---------------- |
20 |
.../{nqp-2016.04-r5.ebuild => nqp-2016.05.ebuild} | 99 +++++++------ |
21 |
.../nqp/{nqp-2016.04-r5.ebuild => nqp-9999.ebuild} | 99 +++++++------ |
22 |
dev-lang/rakudo/Manifest | 2 +- |
23 |
...-jna-lib.patch => rakudo-2016.04-jna-lib.patch} | 0 |
24 |
dev-lang/rakudo/rakudo-2016.04-r2.ebuild | 83 ----------- |
25 |
...udo-2016.04-r3.ebuild => rakudo-2016.05.ebuild} | 26 ++-- |
26 |
...rakudo-2016.04-r3.ebuild => rakudo-9999.ebuild} | 26 ++-- |
27 |
tools/chroot-here.sh | 2 +- |
28 |
18 files changed, 616 insertions(+), 365 deletions(-) |
29 |
|
30 |
diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest |
31 |
new file mode 100644 |
32 |
index 0000000..8d79641 |
33 |
--- /dev/null |
34 |
+++ b/dev-lang/moarvm/Manifest |
35 |
@@ -0,0 +1,2 @@ |
36 |
+DIST MoarVM-2016.04.tar.gz 3332850 SHA256 6fe9000daada59535747f2557cc73573241ba8a6044271caf1647aa37be33c6d SHA512 ef22145c9f7c32d7d12192cee63f286544500adff40fc2dbaad677d57108bc6efedc348fe8ddf460fe12d2c6b282e885bcb74fb3bcaa1e06b7719754175afe7d WHIRLPOOL e314f80cd785d31768630798647d7f445831bb29aaded88ef32326df3f4705a5d3fba2da00fce6888a2256b57aeb838922e94c3096250d30112f2be2bfacbb92 |
37 |
+DIST MoarVM-2016.05.tar.gz 3343486 SHA256 d59e3b366cd788a9e9aaa747dc0883dc6f41d97cb76a8fb2815bd565ef75498a SHA512 0cc946962b56cd9075013074228cee008c98b43da9bdaadd8ce91aa06d94510df1c4a2877d36945aff30dada01f3bf66c0ef1028c59967d09c0aec662aa87f99 WHIRLPOOL 1681538cb1a2919bfb49e51fe29877392ee0900d38daed1bbdae92d57332de84888f6ecae3bfbfba5b8132f186ebdfa3151a7cd038f10538e09c97ddae953adc |
38 |
|
39 |
diff --git a/dev-lang/moarvm/files/Configure-2016.04.patch b/dev-lang/moarvm/files/Configure-2016.04.patch |
40 |
new file mode 100644 |
41 |
index 0000000..6fd46c2 |
42 |
--- /dev/null |
43 |
+++ b/dev-lang/moarvm/files/Configure-2016.04.patch |
44 |
@@ -0,0 +1,145 @@ |
45 |
+diff --git a/Configure.pl b/Configure.pl |
46 |
+index 72a5dad..f829d5c 100755 |
47 |
+--- a/Configure.pl |
48 |
++++ b/Configure.pl |
49 |
+@@ -32,7 +32,7 @@ GetOptions(\%args, qw( |
50 |
+ os=s shell=s toolchain=s compiler=s |
51 |
+ ar=s cc=s ld=s make=s has-sha has-libuv |
52 |
+ static has-libtommath has-libatomic_ops |
53 |
+- has-dyncall has-libffi |
54 |
++ has-dyncall has-libffi pkgconfig=s |
55 |
+ build=s host=s big-endian jit! enable-jit lua=s has-dynasm |
56 |
+ prefix=s bindir=s libdir=s mastdir=s make-install asan ubsan), |
57 |
+ 'no-optimize|nooptimize' => sub { $args{optimize} = 0 }, |
58 |
+@@ -99,6 +99,7 @@ $config{config} = join ' ', map { / / ? "\"$_\"" : $_ } @args; |
59 |
+ $config{osname} = $^O; |
60 |
+ $config{osvers} = $Config{osvers}; |
61 |
+ $config{lua} = $args{lua} // './3rdparty/dynasm/minilua@exe@'; |
62 |
++$config{pkgconfig} = $args{pkgconfig} // '/usr/bin/pkg-config'; |
63 |
+ |
64 |
+ # set options that take priority over all others |
65 |
+ my @keys = qw( ar cc ld make ); |
66 |
+@@ -164,12 +165,33 @@ if (-e '3rdparty/libuv/src/unix/threadpool' . $defaults{obj} |
67 |
+ system($defaults{make}, 'realclean') |
68 |
+ } |
69 |
+ |
70 |
++# test whether pkg-config works |
71 |
++if (-e "$config{pkgconfig}") { |
72 |
++ print("\nTesting pkgconfig ... "); |
73 |
++ system("$config{pkgconfig}", "--version"); |
74 |
++ if ( $? == 0 ) { |
75 |
++ $config{pkgconfig_works} = 1; |
76 |
++ } else { |
77 |
++ $config{pkgconfig_works} = 0; |
78 |
++ } |
79 |
++} |
80 |
++ |
81 |
+ # conditionally set include dirs and install rules |
82 |
+ $config{cincludes} //= ''; |
83 |
+ $config{install} //= ''; |
84 |
+ if ($args{'has-libuv'}) { |
85 |
+ $defaults{-thirdparty}->{uv} = undef; |
86 |
+ unshift @{$config{usrlibs}}, 'uv'; |
87 |
++ if ($config{pkgconfig_works}) { |
88 |
++ my $result = `$config{pkgconfig} --cflags libuv`; |
89 |
++ if ( $? == 0 ) { |
90 |
++ $result =~ s/\n/ /g; |
91 |
++ $config{cincludes} .= ' ' . "$result"; |
92 |
++ print("Adding extra include for libuv: $result\n"); |
93 |
++ } else { |
94 |
++ print("Error occured when running $config{pkgconfig} --cflags libuv.\n"); |
95 |
++ } |
96 |
++ } |
97 |
+ } |
98 |
+ else { |
99 |
+ $config{cincludes} .= ' ' . $defaults{ccinc} . '3rdparty/libuv/include' |
100 |
+@@ -181,6 +203,16 @@ else { |
101 |
+ if ($args{'has-libatomic_ops'}) { |
102 |
+ $defaults{-thirdparty}->{lao} = undef; |
103 |
+ unshift @{$config{usrlibs}}, 'atomic_ops'; |
104 |
++ if ($config{pkgconfig_works}) { |
105 |
++ my $result = `$config{pkgconfig} --cflags atomic_ops`; |
106 |
++ if ( $? == 0 ) { |
107 |
++ $result =~ s/\n/ /g; |
108 |
++ $config{cincludes} .= ' ' . "$result"; |
109 |
++ print("Adding extra include for atomic_ops: $result\n"); |
110 |
++ } else { |
111 |
++ print("Error occured when running $config{pkgconfig} --cflags atomic_ops.\n"); |
112 |
++ } |
113 |
++ } |
114 |
+ } |
115 |
+ else { |
116 |
+ $config{cincludes} .= ' ' . $defaults{ccinc} . '3rdparty/libatomic_ops/src'; |
117 |
+@@ -216,7 +248,8 @@ if ($args{'has-libtommath'}) { |
118 |
+ } |
119 |
+ else { |
120 |
+ $config{cincludes} .= ' ' . $defaults{ccinc} . '3rdparty/libtommath'; |
121 |
+- $config{install} .= "\t\$(CP) 3rdparty/libtommath/*.h \$(DESTDIR)\$(PREFIX)/include/libtommath\n"; |
122 |
++ $config{install} .= "\t\$(MKPATH) \$(DESTDIR)\$(PREFIX)/include/libtommath\n" |
123 |
++ . "\t\$(CP) 3rdparty/libtommath/*.h \$(DESTDIR)\$(PREFIX)/include/libtommath\n"; |
124 |
+ } |
125 |
+ |
126 |
+ if ($args{'has-dynasm'}) { |
127 |
+@@ -232,6 +265,16 @@ if ($args{'has-libffi'}) { |
128 |
+ $config{nativecall_backend} = 'libffi'; |
129 |
+ unshift @{$config{usrlibs}}, 'ffi'; |
130 |
+ push @{$config{defs}}, 'HAVE_LIBFFI'; |
131 |
++ if ($config{pkgconfig_works}) { |
132 |
++ my $result = `$config{pkgconfig} --cflags libffi`; |
133 |
++ if ( $? == 0 ) { |
134 |
++ $result =~ s/\n/ /g; |
135 |
++ $config{cincludes} .= ' ' . "$result"; |
136 |
++ print("Adding extra include for libffi: $result\n"); |
137 |
++ } else { |
138 |
++ print("Error occured when running $config{pkgconfig} --cflags libffi.\n"); |
139 |
++ } |
140 |
++ } |
141 |
+ } |
142 |
+ elsif ($args{'has-dyncall'}) { |
143 |
+ unshift @{$config{usrlibs}}, 'dyncall_s', 'dyncallback_s', 'dynload_s'; |
144 |
+@@ -364,6 +407,7 @@ my $order = $config{be} ? 'big endian' : 'little endian'; |
145 |
+ print "\n", <<TERM, "\n"; |
146 |
+ make: $config{make} |
147 |
+ compile: $config{cc} $config{cflags} |
148 |
++ includes: $config{cincludes} |
149 |
+ link: $config{ld} $config{ldflags} |
150 |
+ libs: $config{ldlibs} |
151 |
+ |
152 |
+@@ -873,6 +917,10 @@ Build and install MoarVM in addition to configuring it. |
153 |
+ |
154 |
+ =item --has-libffi |
155 |
+ |
156 |
++=item --pkgconfig=/path/to/pkgconfig/executable |
157 |
++ |
158 |
++Provide path to the pkgconfig executable. Default: /usr/bin/pkg-config |
159 |
++ |
160 |
+ =item --no-jit |
161 |
+ |
162 |
+ Disable JIT compiler, which is enabled by default to JIT-compile hot frames. |
163 |
+diff --git a/build/Makefile.in b/build/Makefile.in |
164 |
+index 56a4c8a..b94e847 100644 |
165 |
+--- a/build/Makefile.in |
166 |
++++ b/build/Makefile.in |
167 |
+@@ -454,9 +454,6 @@ install: all |
168 |
+ $(CP) src/strings/*.h $(DESTDIR)$(PREFIX)/include/moar/strings |
169 |
+ $(CP) src/jit/*.h $(DESTDIR)$(PREFIX)/include/moar/jit |
170 |
+ $(CP) src/instrument/*.h $(DESTDIR)$(PREFIX)/include/moar/instrument |
171 |
+- $(MKPATH) $(DESTDIR)$(PREFIX)/include/libuv |
172 |
+- $(MKPATH) $(DESTDIR)$(PREFIX)/include/libtommath |
173 |
+- $(CP) 3rdparty/libuv/include/*.h $(DESTDIR)$(PREFIX)/include/libuv |
174 |
+ @install@ |
175 |
+ |
176 |
+ lib: @moar@ |
177 |
+diff --git a/build/setup.pm b/build/setup.pm |
178 |
+index 324cc88..c87d79e 100755 |
179 |
+--- a/build/setup.pm |
180 |
++++ b/build/setup.pm |
181 |
+@@ -125,7 +125,7 @@ our %TC_POSIX = ( |
182 |
+ ccshared => '-fPIC', |
183 |
+ ldshared => '-shared @ccshared@', |
184 |
+ moarshared => '', |
185 |
+- ldrpath => '-Wl,-rpath,@libdir@ -Wl,-rpath,@prefix@/share/perl6/site/lib', |
186 |
++ ldrpath => '-Wl,-rpath,/@libdir@ -Wl,-rpath,@prefix@/share/perl6/site/lib', |
187 |
+ |
188 |
+ arflags => 'rcs', |
189 |
+ arout => '', |
190 |
|
191 |
diff --git a/dev-lang/moarvm/metadata.xml b/dev-lang/moarvm/metadata.xml |
192 |
new file mode 100644 |
193 |
index 0000000..3e0f367 |
194 |
--- /dev/null |
195 |
+++ b/dev-lang/moarvm/metadata.xml |
196 |
@@ -0,0 +1,27 @@ |
197 |
+<?xml version="1.0" encoding="UTF-8"?> |
198 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
199 |
+<pkgmetadata> |
200 |
+ <maintainer type="person"> |
201 |
+ <email>patrick@g.o</email> |
202 |
+ <name>Patrick Lauer</name> |
203 |
+ </maintainer> |
204 |
+ <maintainer type="person"> |
205 |
+ <email>tomboy64@××××.cn</email> |
206 |
+ <name>Matthew Brewer</name> |
207 |
+ </maintainer> |
208 |
+ <maintainer type="project"> |
209 |
+ <email>perl@g.o</email> |
210 |
+ <name>Gentoo Perl Project</name> |
211 |
+ </maintainer> |
212 |
+ <use> |
213 |
+ <flag name="asan">Enable clang's Address Sanitizer functionality. Expect longer compile time.</flag> |
214 |
+ <flag name="clang">Use clang compiler instead of GCC</flag> |
215 |
+ <flag name="jit">Enable Just-In-Time-Compiler. Has no effect except on AMD64 and Darwin.</flag> |
216 |
+ <flag name="optimize">Enable optimization via CFLAGS</flag> |
217 |
+ <flag name="system-libs">Link against the system's shared libraries</flag> |
218 |
+ <flag name="ubsan">Enable clang's Undefined Behavior Sanitizer functionality. Expect longer compile time.</flag> |
219 |
+ </use> |
220 |
+ <upstream> |
221 |
+ <remote-id type="github">MoarVM/MoarVM</remote-id> |
222 |
+ </upstream> |
223 |
+</pkgmetadata> |
224 |
|
225 |
diff --git a/dev-lang/moarvm/moarvm-2016.04-r1.ebuild b/dev-lang/moarvm/moarvm-2016.04-r1.ebuild |
226 |
new file mode 100644 |
227 |
index 0000000..30b7f13 |
228 |
--- /dev/null |
229 |
+++ b/dev-lang/moarvm/moarvm-2016.04-r1.ebuild |
230 |
@@ -0,0 +1,63 @@ |
231 |
+# Copyright 1999-2016 Gentoo Foundation |
232 |
+# Distributed under the terms of the GNU General Public License v2 |
233 |
+# $Id$ |
234 |
+ |
235 |
+EAPI=6 |
236 |
+ |
237 |
+inherit flag-o-matic |
238 |
+ |
239 |
+MY_PN="MoarVM" |
240 |
+if [[ ${PV} == "9999" ]]; then |
241 |
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" |
242 |
+ inherit git-r3 |
243 |
+ KEYWORDS="" |
244 |
+ S="${WORKDIR}/${P}" |
245 |
+else |
246 |
+ SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" |
247 |
+ KEYWORDS="~amd64 ~x86" |
248 |
+ S="${WORKDIR}/${MY_PN}-${PV}" |
249 |
+fi |
250 |
+ |
251 |
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6" |
252 |
+HOMEPAGE="http://moarvm.org" |
253 |
+LICENSE="Artistic-2" |
254 |
+SLOT="0" |
255 |
+IUSE="asan clang debug doc +jit static-libs +system-libs optimize ubsan" |
256 |
+ |
257 |
+RDEPEND="dev-libs/libatomic_ops |
258 |
+ dev-libs/libtommath |
259 |
+ dev-libs/libuv |
260 |
+ jit? ( dev-lang/lua:0[deprecated] |
261 |
+ dev-lua/LuaBitOp ) |
262 |
+ virtual/libffi" |
263 |
+DEPEND="${RDEPEND} |
264 |
+ clang? ( >=sys-devel/clang-3.1 ) |
265 |
+ dev-lang/perl" |
266 |
+ |
267 |
+PATCHES=( "${FILESDIR}/Configure-2016.04.patch" ) |
268 |
+DOCS=( CREDITS README.markdown ) |
269 |
+ |
270 |
+# Tests are conducted via nqp |
271 |
+RESTRICT=test |
272 |
+ |
273 |
+src_configure() { |
274 |
+ use doc && DOCS+=( docs/* ) |
275 |
+ local myconfigargs=( |
276 |
+ "--prefix=/usr" |
277 |
+ "--libdir=$(get_libdir)" |
278 |
+ "--compiler=$(usex clang clang gcc)" |
279 |
+ "$(usex asan --asan)" |
280 |
+ "$(usex debug --debug --no-debug)" |
281 |
+ "$(usex jit --lua=/usr/bin/lua --no-jit)" |
282 |
+ "$(usex optimize --optimize= --no-optimize)" |
283 |
+ "$(usex static-libs --static)" |
284 |
+ "$(usex system-libs --has-libtommath)" |
285 |
+ "$(usex system-libs --has-libuv)" |
286 |
+ "$(usex system-libs --has-libatomic_ops)" |
287 |
+ "$(usex system-libs --has-libffi)" |
288 |
+ "$(usex ubsan --ubsan)" |
289 |
+ ) |
290 |
+ use optimize && filter-flags '-O*' |
291 |
+ |
292 |
+ perl Configure.pl "${myconfigargs[@]}" || die |
293 |
+} |
294 |
|
295 |
diff --git a/dev-lang/moarvm/moarvm-2016.05.ebuild b/dev-lang/moarvm/moarvm-2016.05.ebuild |
296 |
new file mode 100644 |
297 |
index 0000000..f6c45bd |
298 |
--- /dev/null |
299 |
+++ b/dev-lang/moarvm/moarvm-2016.05.ebuild |
300 |
@@ -0,0 +1,61 @@ |
301 |
+# Copyright 1999-2016 Gentoo Foundation |
302 |
+# Distributed under the terms of the GNU General Public License v2 |
303 |
+# $Id$ |
304 |
+ |
305 |
+EAPI=6 |
306 |
+ |
307 |
+inherit flag-o-matic |
308 |
+ |
309 |
+MY_PN="MoarVM" |
310 |
+if [[ ${PV} == "9999" ]]; then |
311 |
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" |
312 |
+ inherit git-r3 |
313 |
+ KEYWORDS="" |
314 |
+ S="${WORKDIR}/${P}" |
315 |
+else |
316 |
+ SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" |
317 |
+ KEYWORDS="~amd64 ~x86" |
318 |
+ S="${WORKDIR}/${MY_PN}-${PV}" |
319 |
+fi |
320 |
+ |
321 |
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6" |
322 |
+HOMEPAGE="http://moarvm.org" |
323 |
+LICENSE="Artistic-2" |
324 |
+SLOT="0" |
325 |
+IUSE="asan clang debug doc +jit static-libs +system-libs optimize ubsan" |
326 |
+ |
327 |
+RDEPEND="dev-libs/libatomic_ops |
328 |
+ dev-libs/libtommath |
329 |
+ dev-libs/libuv |
330 |
+ jit? ( dev-lang/lua:0[deprecated] |
331 |
+ dev-lua/LuaBitOp ) |
332 |
+ virtual/libffi" |
333 |
+DEPEND="${RDEPEND} |
334 |
+ clang? ( >=sys-devel/clang-3.1 ) |
335 |
+ dev-lang/perl" |
336 |
+DOCS=( CREDITS README.markdown ) |
337 |
+ |
338 |
+# Tests are conducted via nqp |
339 |
+RESTRICT=test |
340 |
+ |
341 |
+src_configure() { |
342 |
+ use doc && DOCS+=( docs/* ) |
343 |
+ local myconfigargs=( |
344 |
+ "--prefix=/usr" |
345 |
+ "--libdir=$(get_libdir)" |
346 |
+ "--compiler=$(usex clang clang gcc)" |
347 |
+ "$(usex asan --asan)" |
348 |
+ "$(usex debug --debug --no-debug)" |
349 |
+ "$(usex jit --lua=/usr/bin/lua --no-jit)" |
350 |
+ "$(usex optimize --optimize= --no-optimize)" |
351 |
+ "$(usex static-libs --static)" |
352 |
+ "$(usex system-libs --has-libtommath)" |
353 |
+ "$(usex system-libs --has-libuv)" |
354 |
+ "$(usex system-libs --has-libatomic_ops)" |
355 |
+ "$(usex system-libs --has-libffi)" |
356 |
+ "$(usex ubsan --ubsan)" |
357 |
+ ) |
358 |
+ use optimize && filter-flags '-O*' |
359 |
+ |
360 |
+ perl Configure.pl "${myconfigargs[@]}" || die |
361 |
+} |
362 |
|
363 |
diff --git a/dev-lang/moarvm/moarvm-9999.ebuild b/dev-lang/moarvm/moarvm-9999.ebuild |
364 |
new file mode 100644 |
365 |
index 0000000..f6c45bd |
366 |
--- /dev/null |
367 |
+++ b/dev-lang/moarvm/moarvm-9999.ebuild |
368 |
@@ -0,0 +1,61 @@ |
369 |
+# Copyright 1999-2016 Gentoo Foundation |
370 |
+# Distributed under the terms of the GNU General Public License v2 |
371 |
+# $Id$ |
372 |
+ |
373 |
+EAPI=6 |
374 |
+ |
375 |
+inherit flag-o-matic |
376 |
+ |
377 |
+MY_PN="MoarVM" |
378 |
+if [[ ${PV} == "9999" ]]; then |
379 |
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" |
380 |
+ inherit git-r3 |
381 |
+ KEYWORDS="" |
382 |
+ S="${WORKDIR}/${P}" |
383 |
+else |
384 |
+ SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" |
385 |
+ KEYWORDS="~amd64 ~x86" |
386 |
+ S="${WORKDIR}/${MY_PN}-${PV}" |
387 |
+fi |
388 |
+ |
389 |
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6" |
390 |
+HOMEPAGE="http://moarvm.org" |
391 |
+LICENSE="Artistic-2" |
392 |
+SLOT="0" |
393 |
+IUSE="asan clang debug doc +jit static-libs +system-libs optimize ubsan" |
394 |
+ |
395 |
+RDEPEND="dev-libs/libatomic_ops |
396 |
+ dev-libs/libtommath |
397 |
+ dev-libs/libuv |
398 |
+ jit? ( dev-lang/lua:0[deprecated] |
399 |
+ dev-lua/LuaBitOp ) |
400 |
+ virtual/libffi" |
401 |
+DEPEND="${RDEPEND} |
402 |
+ clang? ( >=sys-devel/clang-3.1 ) |
403 |
+ dev-lang/perl" |
404 |
+DOCS=( CREDITS README.markdown ) |
405 |
+ |
406 |
+# Tests are conducted via nqp |
407 |
+RESTRICT=test |
408 |
+ |
409 |
+src_configure() { |
410 |
+ use doc && DOCS+=( docs/* ) |
411 |
+ local myconfigargs=( |
412 |
+ "--prefix=/usr" |
413 |
+ "--libdir=$(get_libdir)" |
414 |
+ "--compiler=$(usex clang clang gcc)" |
415 |
+ "$(usex asan --asan)" |
416 |
+ "$(usex debug --debug --no-debug)" |
417 |
+ "$(usex jit --lua=/usr/bin/lua --no-jit)" |
418 |
+ "$(usex optimize --optimize= --no-optimize)" |
419 |
+ "$(usex static-libs --static)" |
420 |
+ "$(usex system-libs --has-libtommath)" |
421 |
+ "$(usex system-libs --has-libuv)" |
422 |
+ "$(usex system-libs --has-libatomic_ops)" |
423 |
+ "$(usex system-libs --has-libffi)" |
424 |
+ "$(usex ubsan --ubsan)" |
425 |
+ ) |
426 |
+ use optimize && filter-flags '-O*' |
427 |
+ |
428 |
+ perl Configure.pl "${myconfigargs[@]}" || die |
429 |
+} |
430 |
|
431 |
diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest |
432 |
index 19088f1..3bbe823 100644 |
433 |
--- a/dev-lang/nqp/Manifest |
434 |
+++ b/dev-lang/nqp/Manifest |
435 |
@@ -1 +1,2 @@ |
436 |
DIST nqp-2016.04.tar.gz 5156494 SHA256 9176422eb2a99db24ab520bc78686f3a2c008ba73bf8c7091a790985f5061019 SHA512 5dcb685a90b26fee3e8dac3ca24da11bd967d034b5328232d18d9db37e27645b57259cabf54ef8e10b3ac508b1aa784072f0a9542d30168d3017f86e610c3cee WHIRLPOOL 0711e1471740b0ed181f9e4504f810a084056e74650c0ffb1c6c17e2976b2c1facb6a7e73df5d991d9ffe43f055fe844f0756dbd816375708b4d499a0f7a9162 |
437 |
+DIST nqp-2016.05.tar.gz 5159647 SHA256 7fdd76322383632783b4352e8fab144c3d68acbfda5112c1f178d8909277f616 SHA512 c81d2f6ef13fad36ed863869c985049a5e1daa04e979449fbbd3b5b365ff58430711f6a7ed5ac10ff61fe6a78d4f960f76ade7445ecb82eb3100882449747a61 WHIRLPOOL 119237accc6723db4afa27cdbb1409e9d11a572bf24fbd83e8bed3c507193bf2199bb5a1e8a27052d922040892f5ce35ffd30640218bbc15167fff88e70941c7 |
438 |
|
439 |
diff --git a/dev-lang/nqp/metadata.xml b/dev-lang/nqp/metadata.xml |
440 |
index dd228ef..7d0e9d2 100644 |
441 |
--- a/dev-lang/nqp/metadata.xml |
442 |
+++ b/dev-lang/nqp/metadata.xml |
443 |
@@ -16,7 +16,6 @@ |
444 |
<use> |
445 |
<flag name="clang">Toggle usage of the clang compiler in conjunction with MoarVM</flag> |
446 |
<flag name="moar">Build the MoarVM backend (experimental/broken)</flag> |
447 |
- <flag name="system-libs">Use jars provided by the system instead of upstream</flag> |
448 |
</use> |
449 |
<upstream> |
450 |
<remote-id type="github">perl6/nqp</remote-id> |
451 |
|
452 |
diff --git a/dev-lang/nqp/nqp-2016.04-r3.ebuild b/dev-lang/nqp/nqp-2016.04-r3.ebuild |
453 |
index 47c7906..3d3e1b3 100644 |
454 |
--- a/dev-lang/nqp/nqp-2016.04-r3.ebuild |
455 |
+++ b/dev-lang/nqp/nqp-2016.04-r3.ebuild |
456 |
@@ -2,9 +2,9 @@ |
457 |
# Distributed under the terms of the GNU General Public License v2 |
458 |
# $Id$ |
459 |
|
460 |
-EAPI=6 |
461 |
+EAPI=5 |
462 |
|
463 |
-inherit java-pkg-2 |
464 |
+inherit java-pkg-opt-2 multibuild |
465 |
|
466 |
if [[ ${PV} == "9999" ]]; then |
467 |
EGIT_REPO_URI="https://github.com/perl6/${PN}.git" |
468 |
@@ -12,7 +12,8 @@ if [[ ${PV} == "9999" ]]; then |
469 |
KEYWORDS="" |
470 |
else |
471 |
SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz" |
472 |
- KEYWORDS="" |
473 |
+ inherit vcs-snapshot |
474 |
+ KEYWORDS="~amd64 ~x86" |
475 |
fi |
476 |
|
477 |
DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler" |
478 |
@@ -20,80 +21,140 @@ HOMEPAGE="http://rakudo.org/" |
479 |
|
480 |
LICENSE="Artistic-2" |
481 |
SLOT="0" |
482 |
-IUSE="doc clang java +moar +system-libs test" |
483 |
+IUSE="doc clang java +moar test" |
484 |
REQUIRED_USE="|| ( java moar )" |
485 |
|
486 |
-RDEPEND="java? ( >=virtual/jre-1.7 |
487 |
- system-libs? ( |
488 |
- dev-java/asm:4 |
489 |
- dev-java/jline:0 |
490 |
- ) |
491 |
+CDEPEND="java? ( |
492 |
+ dev-java/asm:4 |
493 |
+ dev-java/jline:0 |
494 |
+ dev-java/jna:4 |
495 |
) |
496 |
- moar? ( ~dev-lang/moarvm-${PV}[clang=] ) |
497 |
- dev-libs/libffi" |
498 |
-DEPEND="${RDEPEND} |
499 |
+ moar? ( ~dev-lang/moarvm-${PV}[clang=] )" |
500 |
+RDEPEND="${CDEPEND} |
501 |
+ java? ( >=virtual/jre-1.7 )" |
502 |
+DEPEND="${CDEPEND} |
503 |
clang? ( sys-devel/clang ) |
504 |
java? ( >=virtual/jdk-1.7 ) |
505 |
dev-lang/perl" |
506 |
PATCHES=( "${FILESDIR}/enable-external-jars.patch" ) |
507 |
|
508 |
-pkg_setup() { |
509 |
- use java && java-pkg-2_pkg_setup |
510 |
+pkg_pretend() { |
511 |
+ if has_version dev-lang/rakudo || has_version dev-lang/nqp; then |
512 |
+ ewarn "NQP is known to fail compilation/installation with rakudo and/or NQP" |
513 |
+ ewarn "already being installed. So if it fails, try uninstalling them before" |
514 |
+ ewarn "reporting a bug." |
515 |
+ fi |
516 |
} |
517 |
|
518 |
-src_prepare() { |
519 |
- eapply "${PATCHES[@]}" |
520 |
- eapply_user |
521 |
- use java && java-pkg-2_src_prepare |
522 |
+java_prepare() { |
523 |
+ # Don't clean stage0 jars. |
524 |
+ einfo "Cleaning upstream jars" |
525 |
+ java-pkg_clean 3rdparty/ |
526 |
+ |
527 |
+ # Don't use jars we just deleted. |
528 |
+ sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \ |
529 |
+ src/vm/jvm/runners/nqp-j || die |
530 |
} |
531 |
|
532 |
-src_unpack() { |
533 |
- if [[ ${PV} == "9999" ]]; then |
534 |
- git-r3_src_unpack |
535 |
- else |
536 |
- unpack ${A} |
537 |
- mv "${WORKDIR}/perl6-nqp-"* "${WORKDIR}/${P}" || die |
538 |
- fi |
539 |
+src_prepare() { |
540 |
+ MULTIBUILD_VARIANTS=() |
541 |
+ use moar && MULTIBUILD_VARIANTS+=( moar ) |
542 |
+ use java && MULTIBUILD_VARIANTS+=( jvm ) |
543 |
+ |
544 |
+ multibuild_copy_sources |
545 |
+ |
546 |
+ # This will pull in conditional java_prepare |
547 |
+ default |
548 |
} |
549 |
|
550 |
-src_configure() { |
551 |
- local backends |
552 |
- use java && backends+="jvm," |
553 |
- use moar && backends+="moar" |
554 |
+nqp_configure() { |
555 |
+ pushd "${BUILD_DIR}" > /dev/null || die |
556 |
local myconfargs=( |
557 |
- "--backend=${backends}" |
558 |
+ "--backend=${MULTIBUILD_VARIANT}" |
559 |
"--prefix=/usr" ) |
560 |
|
561 |
- # 2016.04 doesn't like our jna-3.4.1 nor jna-4.1.0 |
562 |
- # keep testing against it |
563 |
- if use system-libs; then |
564 |
- if use java; then |
565 |
- myconfargs+=( |
566 |
- "--with-asm=$(echo $(java-pkg_getjars asm-4) | tr : '\n' | grep '/asm\.jar$')" |
567 |
- "--with-asm-tree=$(echo $(java-pkg_getjars asm-4) | tr : '\n' | grep '/asm-tree\.jar$')" |
568 |
- "--with-jline=$(echo $(java-pkg_getjars jline) | tr : '\n' | grep '/jline\.jar$')" ) |
569 |
- else |
570 |
- einfo "USE=system-libs set, but this won't have any effect without USE=java." |
571 |
- fi |
572 |
+ perl Configure.pl "${myconfargs[@]}" || die |
573 |
+ popd || die |
574 |
+} |
575 |
+ |
576 |
+nqp_compile() { |
577 |
+ if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then |
578 |
+ emake -j1 \ |
579 |
+ -C "${BUILD_DIR}" \ |
580 |
+ THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \ |
581 |
+ JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" |
582 |
+ elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then |
583 |
+ emake -j1 \ |
584 |
+ -C "${BUILD_DIR}" |
585 |
fi |
586 |
+} |
587 |
|
588 |
- perl Configure.pl "${myconfargs[@]}" || die |
589 |
+nqp_test() { |
590 |
+ emake -j1 \ |
591 |
+ -C "${BUILD_DIR}" \ |
592 |
+ test |
593 |
+} |
594 |
+ |
595 |
+nqp_install() { |
596 |
+ # This is the actual reason we need multibuild.eclass. |
597 |
+ # We need to distinguish the install procedure for MoarVM and JVM backends. |
598 |
+ case "${MULTIBUILD_VARIANT}" in |
599 |
+ moar) |
600 |
+ emake \ |
601 |
+ DESTDIR="${ED}" \ |
602 |
+ -C "${BUILD_DIR}" \ |
603 |
+ install |
604 |
+ ;; |
605 |
+ jvm) |
606 |
+ pushd "${BUILD_DIR}" > /dev/null || die |
607 |
+ # Set JAVA_PKG_JARDEST early. |
608 |
+ java-pkg_init_paths_ |
609 |
+ |
610 |
+ # Upstream sets the classpath to this location. Perhaps it's |
611 |
+ # used to locate the additional libraries? |
612 |
+ java-pkg_addcp "${JAVA_PKG_JARDEST}" |
613 |
+ |
614 |
+ insinto "${JAVA_PKG_JARDEST}" |
615 |
+ local jar |
616 |
+ |
617 |
+ for jar in *.jar; do |
618 |
+ if has ${jar} ${PN}.jar ${PN}-runtime.jar; then |
619 |
+ # jars for NQP itself. |
620 |
+ java-pkg_dojar ${jar} |
621 |
+ else |
622 |
+ # jars used by NQP. |
623 |
+ doins ${jar} |
624 |
+ fi |
625 |
+ done |
626 |
+ |
627 |
+ # Upstream uses -Xbootclasspath/a, which is faster due to lack |
628 |
+ # of verification, but gjl isn't flexible enough yet. :( |
629 |
+ java-pkg_dolauncher ${PN}-j --main ${PN} |
630 |
+ dosym ${PN}-j /usr/bin/${PN} |
631 |
+ dobin tools/jvm/eval-client.pl |
632 |
+ popd > /dev/null || die |
633 |
+ ;; |
634 |
+ *) |
635 |
+ die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}." |
636 |
+ ;; |
637 |
+ esac |
638 |
+} |
639 |
+ |
640 |
+src_configure() { |
641 |
+ multibuild_foreach_variant nqp_configure |
642 |
} |
643 |
|
644 |
src_compile() { |
645 |
- emake -j1 |
646 |
+ multibuild_foreach_variant nqp_compile |
647 |
} |
648 |
|
649 |
src_test() { |
650 |
- emake -j1 test |
651 |
+ multibuild_foreach_variant nqp_test |
652 |
} |
653 |
|
654 |
src_install() { |
655 |
- emake DESTDIR="${ED}" install |
656 |
+ multibuild_foreach_variant nqp_install |
657 |
|
658 |
dodoc CREDITS README.pod |
659 |
- |
660 |
- if use doc; then |
661 |
- dodoc -r docs/* |
662 |
- fi |
663 |
+ use doc && dodoc -r docs/* |
664 |
} |
665 |
|
666 |
diff --git a/dev-lang/nqp/nqp-2016.04-r4.ebuild b/dev-lang/nqp/nqp-2016.04-r4.ebuild |
667 |
deleted file mode 100644 |
668 |
index 02c414d..0000000 |
669 |
--- a/dev-lang/nqp/nqp-2016.04-r4.ebuild |
670 |
+++ /dev/null |
671 |
@@ -1,124 +0,0 @@ |
672 |
-# Copyright 1999-2016 Gentoo Foundation |
673 |
-# Distributed under the terms of the GNU General Public License v2 |
674 |
-# $Id$ |
675 |
- |
676 |
-EAPI=5 |
677 |
- |
678 |
-inherit java-pkg-opt-2 |
679 |
- |
680 |
-if [[ ${PV} == "9999" ]]; then |
681 |
- EGIT_REPO_URI="https://github.com/perl6/${PN}.git" |
682 |
- inherit git-r3 |
683 |
- KEYWORDS="" |
684 |
-else |
685 |
- SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz" |
686 |
- inherit vcs-snapshot |
687 |
- KEYWORDS="" |
688 |
-fi |
689 |
- |
690 |
-DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler" |
691 |
-HOMEPAGE="http://rakudo.org/" |
692 |
- |
693 |
-LICENSE="Artistic-2" |
694 |
-SLOT="0" |
695 |
-IUSE="doc clang java +moar test" |
696 |
-REQUIRED_USE="|| ( java moar )" |
697 |
- |
698 |
-CDEPEND="java? ( |
699 |
- dev-java/asm:4 |
700 |
- dev-java/jline:0 |
701 |
- dev-java/jna:4 |
702 |
- ) |
703 |
- moar? ( ~dev-lang/moarvm-${PV}[clang=] ) |
704 |
- dev-libs/libffi" |
705 |
-RDEPEND="${CDEPEND} |
706 |
- java? ( >=virtual/jre-1.7 )" |
707 |
-DEPEND="${CDEPEND} |
708 |
- clang? ( sys-devel/clang ) |
709 |
- java? ( >=virtual/jdk-1.7 ) |
710 |
- dev-lang/perl" |
711 |
-PATCHES=( "${FILESDIR}/enable-external-jars.patch" ) |
712 |
- |
713 |
-java_prepare() { |
714 |
- # Don't clean stage0 jars. |
715 |
- einfo "Cleaning upstream jars" |
716 |
- java-pkg_clean 3rdparty/ |
717 |
- |
718 |
- # Don't use jars we just deleted. |
719 |
- sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \ |
720 |
- src/vm/jvm/runners/nqp-j || die |
721 |
-} |
722 |
- |
723 |
-src_configure() { |
724 |
- local backends |
725 |
- use java && backends+="jvm," |
726 |
- use moar && backends+="moar" |
727 |
- |
728 |
- local myconfargs=( |
729 |
- "--backend=${backends}" |
730 |
- "--prefix=/usr" ) |
731 |
- |
732 |
- perl Configure.pl "${myconfargs[@]}" || die |
733 |
- |
734 |
- if use java; then |
735 |
- # Export this for the script we sed'd above. |
736 |
- export THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) |
737 |
- fi |
738 |
-} |
739 |
- |
740 |
-src_compile() { |
741 |
- if use java; then |
742 |
- emake -j1 \ |
743 |
- THIRDPARTY_JARS="${THIRDPARTY_JARS}" \ |
744 |
- JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" |
745 |
- else |
746 |
- emake -j1 |
747 |
- fi |
748 |
-} |
749 |
- |
750 |
-src_test() { |
751 |
- emake -j1 test |
752 |
-} |
753 |
- |
754 |
-src_install() { |
755 |
- if use moar; then |
756 |
- if use java; then |
757 |
- # We need to re-run Configure.pl with only the MoarVM backend, |
758 |
- # so we don't overwrite our custom java install. |
759 |
- # This has to happen before the installation of nqp's MoarVM bits. |
760 |
- # Also, those bits have to get installed before the JVM bits. |
761 |
- perl Configure.pl --backend=moar --prefix=/usr || die |
762 |
- fi |
763 |
- emake DESTDIR="${ED}" install |
764 |
- fi |
765 |
- if use java; then |
766 |
- # Set JAVA_PKG_JARDEST early. |
767 |
- java-pkg_init_paths_ |
768 |
- |
769 |
- # Upstream sets the classpath to this location. Perhaps it's |
770 |
- # used to locate the additional libraries? |
771 |
- java-pkg_addcp "${JAVA_PKG_JARDEST}" |
772 |
- |
773 |
- insinto "${JAVA_PKG_JARDEST}" |
774 |
- local jar |
775 |
- |
776 |
- for jar in *.jar; do |
777 |
- if has ${jar} ${PN}.jar ${PN}-runtime.jar; then |
778 |
- # jars for NQP itself. |
779 |
- java-pkg_dojar ${jar} |
780 |
- else |
781 |
- # jars used by NQP. |
782 |
- doins ${jar} |
783 |
- fi |
784 |
- done |
785 |
- |
786 |
- # Upstream uses -Xbootclasspath/a, which is faster due to lack |
787 |
- # of verification, but gjl isn't flexible enough yet. :( |
788 |
- java-pkg_dolauncher ${PN}-j --main ${PN} |
789 |
- dosym ${PN}-j /usr/bin/${PN} |
790 |
- dobin tools/jvm/eval-client.pl |
791 |
- fi |
792 |
- |
793 |
- dodoc CREDITS README.pod |
794 |
- use doc && dodoc -r docs/* |
795 |
-} |
796 |
|
797 |
diff --git a/dev-lang/nqp/nqp-2016.04-r5.ebuild b/dev-lang/nqp/nqp-2016.05.ebuild |
798 |
similarity index 60% |
799 |
copy from dev-lang/nqp/nqp-2016.04-r5.ebuild |
800 |
copy to dev-lang/nqp/nqp-2016.05.ebuild |
801 |
index 4f0bf1f..c142ddf 100644 |
802 |
--- a/dev-lang/nqp/nqp-2016.04-r5.ebuild |
803 |
+++ b/dev-lang/nqp/nqp-2016.05.ebuild |
804 |
@@ -13,7 +13,7 @@ if [[ ${PV} == "9999" ]]; then |
805 |
else |
806 |
SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz" |
807 |
inherit vcs-snapshot |
808 |
- KEYWORDS="" |
809 |
+ KEYWORDS="~amd64 ~x86" |
810 |
fi |
811 |
|
812 |
DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler" |
813 |
@@ -29,15 +29,21 @@ CDEPEND="java? ( |
814 |
dev-java/jline:0 |
815 |
dev-java/jna:4 |
816 |
) |
817 |
- moar? ( ~dev-lang/moarvm-${PV}[clang=] ) |
818 |
- dev-libs/libffi" |
819 |
+ moar? ( ~dev-lang/moarvm-${PV}[clang=] )" |
820 |
RDEPEND="${CDEPEND} |
821 |
java? ( >=virtual/jre-1.7 )" |
822 |
DEPEND="${CDEPEND} |
823 |
clang? ( sys-devel/clang ) |
824 |
java? ( >=virtual/jdk-1.7 ) |
825 |
dev-lang/perl" |
826 |
-PATCHES=( "${FILESDIR}/enable-external-jars.patch" ) |
827 |
+ |
828 |
+pkg_pretend() { |
829 |
+ if has_version dev-lang/rakudo || has_version dev-lang/nqp; then |
830 |
+ ewarn "NQP is known to fail compilation/installation with rakudo and/or NQP" |
831 |
+ ewarn "already being installed. So if it fails, try uninstalling them before" |
832 |
+ ewarn "reporting a bug." |
833 |
+ fi |
834 |
+} |
835 |
|
836 |
java_prepare() { |
837 |
# Don't clean stage0 jars. |
838 |
@@ -71,57 +77,66 @@ nqp_configure() { |
839 |
} |
840 |
|
841 |
nqp_compile() { |
842 |
- pushd "${BUILD_DIR}" > /dev/null || die |
843 |
if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then |
844 |
emake -j1 \ |
845 |
- THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) |
846 |
+ -C "${BUILD_DIR}" \ |
847 |
+ THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \ |
848 |
JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" |
849 |
elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then |
850 |
- emake -j1 |
851 |
+ emake -j1 \ |
852 |
+ -C "${BUILD_DIR}" |
853 |
fi |
854 |
- popd || die |
855 |
} |
856 |
|
857 |
nqp_test() { |
858 |
- pushd "${BUILD_DIR}" > /dev/null || die |
859 |
- emake -j1 test |
860 |
- popd || die |
861 |
+ emake -j1 \ |
862 |
+ -C "${BUILD_DIR}" \ |
863 |
+ test |
864 |
} |
865 |
|
866 |
nqp_install() { |
867 |
- pushd "${BUILD_DIR}" > /dev/null || die |
868 |
# This is the actual reason we need multibuild.eclass. |
869 |
# We need to distinguish the install procedure for MoarVM and JVM backends. |
870 |
- if [[ "${MULTIBUILD_VARIANT}" = moar ]]; then |
871 |
- emake DESTDIR="${ED}" install |
872 |
- elif [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then |
873 |
- # Set JAVA_PKG_JARDEST early. |
874 |
- java-pkg_init_paths_ |
875 |
- |
876 |
- # Upstream sets the classpath to this location. Perhaps it's |
877 |
- # used to locate the additional libraries? |
878 |
- java-pkg_addcp "${JAVA_PKG_JARDEST}" |
879 |
- |
880 |
- insinto "${JAVA_PKG_JARDEST}" |
881 |
- local jar |
882 |
- |
883 |
- for jar in *.jar; do |
884 |
- if has ${jar} ${PN}.jar ${PN}-runtime.jar; then |
885 |
- # jars for NQP itself. |
886 |
- java-pkg_dojar ${jar} |
887 |
- else |
888 |
- # jars used by NQP. |
889 |
- doins ${jar} |
890 |
- fi |
891 |
- done |
892 |
- |
893 |
- # Upstream uses -Xbootclasspath/a, which is faster due to lack |
894 |
- # of verification, but gjl isn't flexible enough yet. :( |
895 |
- java-pkg_dolauncher ${PN}-j --main ${PN} |
896 |
- dosym ${PN}-j /usr/bin/${PN} |
897 |
- dobin tools/jvm/eval-client.pl |
898 |
- fi |
899 |
- popd || die |
900 |
+ case "${MULTIBUILD_VARIANT}" in |
901 |
+ moar) |
902 |
+ emake \ |
903 |
+ DESTDIR="${ED}" \ |
904 |
+ -C "${BUILD_DIR}" \ |
905 |
+ install |
906 |
+ ;; |
907 |
+ jvm) |
908 |
+ pushd "${BUILD_DIR}" > /dev/null || die |
909 |
+ # Set JAVA_PKG_JARDEST early. |
910 |
+ java-pkg_init_paths_ |
911 |
+ |
912 |
+ # Upstream sets the classpath to this location. Perhaps it's |
913 |
+ # used to locate the additional libraries? |
914 |
+ java-pkg_addcp "${JAVA_PKG_JARDEST}" |
915 |
+ |
916 |
+ insinto "${JAVA_PKG_JARDEST}" |
917 |
+ local jar |
918 |
+ |
919 |
+ for jar in *.jar; do |
920 |
+ if has ${jar} ${PN}.jar ${PN}-runtime.jar; then |
921 |
+ # jars for NQP itself. |
922 |
+ java-pkg_dojar ${jar} |
923 |
+ else |
924 |
+ # jars used by NQP. |
925 |
+ doins ${jar} |
926 |
+ fi |
927 |
+ done |
928 |
+ |
929 |
+ # Upstream uses -Xbootclasspath/a, which is faster due to lack |
930 |
+ # of verification, but gjl isn't flexible enough yet. :( |
931 |
+ java-pkg_dolauncher ${PN}-j --main ${PN} |
932 |
+ dosym ${PN}-j /usr/bin/${PN} |
933 |
+ dobin tools/jvm/eval-client.pl |
934 |
+ popd > /dev/null || die |
935 |
+ ;; |
936 |
+ *) |
937 |
+ die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}." |
938 |
+ ;; |
939 |
+ esac |
940 |
} |
941 |
|
942 |
src_configure() { |
943 |
|
944 |
diff --git a/dev-lang/nqp/nqp-2016.04-r5.ebuild b/dev-lang/nqp/nqp-9999.ebuild |
945 |
similarity index 60% |
946 |
rename from dev-lang/nqp/nqp-2016.04-r5.ebuild |
947 |
rename to dev-lang/nqp/nqp-9999.ebuild |
948 |
index 4f0bf1f..c142ddf 100644 |
949 |
--- a/dev-lang/nqp/nqp-2016.04-r5.ebuild |
950 |
+++ b/dev-lang/nqp/nqp-9999.ebuild |
951 |
@@ -13,7 +13,7 @@ if [[ ${PV} == "9999" ]]; then |
952 |
else |
953 |
SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz" |
954 |
inherit vcs-snapshot |
955 |
- KEYWORDS="" |
956 |
+ KEYWORDS="~amd64 ~x86" |
957 |
fi |
958 |
|
959 |
DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler" |
960 |
@@ -29,15 +29,21 @@ CDEPEND="java? ( |
961 |
dev-java/jline:0 |
962 |
dev-java/jna:4 |
963 |
) |
964 |
- moar? ( ~dev-lang/moarvm-${PV}[clang=] ) |
965 |
- dev-libs/libffi" |
966 |
+ moar? ( ~dev-lang/moarvm-${PV}[clang=] )" |
967 |
RDEPEND="${CDEPEND} |
968 |
java? ( >=virtual/jre-1.7 )" |
969 |
DEPEND="${CDEPEND} |
970 |
clang? ( sys-devel/clang ) |
971 |
java? ( >=virtual/jdk-1.7 ) |
972 |
dev-lang/perl" |
973 |
-PATCHES=( "${FILESDIR}/enable-external-jars.patch" ) |
974 |
+ |
975 |
+pkg_pretend() { |
976 |
+ if has_version dev-lang/rakudo || has_version dev-lang/nqp; then |
977 |
+ ewarn "NQP is known to fail compilation/installation with rakudo and/or NQP" |
978 |
+ ewarn "already being installed. So if it fails, try uninstalling them before" |
979 |
+ ewarn "reporting a bug." |
980 |
+ fi |
981 |
+} |
982 |
|
983 |
java_prepare() { |
984 |
# Don't clean stage0 jars. |
985 |
@@ -71,57 +77,66 @@ nqp_configure() { |
986 |
} |
987 |
|
988 |
nqp_compile() { |
989 |
- pushd "${BUILD_DIR}" > /dev/null || die |
990 |
if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then |
991 |
emake -j1 \ |
992 |
- THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) |
993 |
+ -C "${BUILD_DIR}" \ |
994 |
+ THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \ |
995 |
JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" |
996 |
elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then |
997 |
- emake -j1 |
998 |
+ emake -j1 \ |
999 |
+ -C "${BUILD_DIR}" |
1000 |
fi |
1001 |
- popd || die |
1002 |
} |
1003 |
|
1004 |
nqp_test() { |
1005 |
- pushd "${BUILD_DIR}" > /dev/null || die |
1006 |
- emake -j1 test |
1007 |
- popd || die |
1008 |
+ emake -j1 \ |
1009 |
+ -C "${BUILD_DIR}" \ |
1010 |
+ test |
1011 |
} |
1012 |
|
1013 |
nqp_install() { |
1014 |
- pushd "${BUILD_DIR}" > /dev/null || die |
1015 |
# This is the actual reason we need multibuild.eclass. |
1016 |
# We need to distinguish the install procedure for MoarVM and JVM backends. |
1017 |
- if [[ "${MULTIBUILD_VARIANT}" = moar ]]; then |
1018 |
- emake DESTDIR="${ED}" install |
1019 |
- elif [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then |
1020 |
- # Set JAVA_PKG_JARDEST early. |
1021 |
- java-pkg_init_paths_ |
1022 |
- |
1023 |
- # Upstream sets the classpath to this location. Perhaps it's |
1024 |
- # used to locate the additional libraries? |
1025 |
- java-pkg_addcp "${JAVA_PKG_JARDEST}" |
1026 |
- |
1027 |
- insinto "${JAVA_PKG_JARDEST}" |
1028 |
- local jar |
1029 |
- |
1030 |
- for jar in *.jar; do |
1031 |
- if has ${jar} ${PN}.jar ${PN}-runtime.jar; then |
1032 |
- # jars for NQP itself. |
1033 |
- java-pkg_dojar ${jar} |
1034 |
- else |
1035 |
- # jars used by NQP. |
1036 |
- doins ${jar} |
1037 |
- fi |
1038 |
- done |
1039 |
- |
1040 |
- # Upstream uses -Xbootclasspath/a, which is faster due to lack |
1041 |
- # of verification, but gjl isn't flexible enough yet. :( |
1042 |
- java-pkg_dolauncher ${PN}-j --main ${PN} |
1043 |
- dosym ${PN}-j /usr/bin/${PN} |
1044 |
- dobin tools/jvm/eval-client.pl |
1045 |
- fi |
1046 |
- popd || die |
1047 |
+ case "${MULTIBUILD_VARIANT}" in |
1048 |
+ moar) |
1049 |
+ emake \ |
1050 |
+ DESTDIR="${ED}" \ |
1051 |
+ -C "${BUILD_DIR}" \ |
1052 |
+ install |
1053 |
+ ;; |
1054 |
+ jvm) |
1055 |
+ pushd "${BUILD_DIR}" > /dev/null || die |
1056 |
+ # Set JAVA_PKG_JARDEST early. |
1057 |
+ java-pkg_init_paths_ |
1058 |
+ |
1059 |
+ # Upstream sets the classpath to this location. Perhaps it's |
1060 |
+ # used to locate the additional libraries? |
1061 |
+ java-pkg_addcp "${JAVA_PKG_JARDEST}" |
1062 |
+ |
1063 |
+ insinto "${JAVA_PKG_JARDEST}" |
1064 |
+ local jar |
1065 |
+ |
1066 |
+ for jar in *.jar; do |
1067 |
+ if has ${jar} ${PN}.jar ${PN}-runtime.jar; then |
1068 |
+ # jars for NQP itself. |
1069 |
+ java-pkg_dojar ${jar} |
1070 |
+ else |
1071 |
+ # jars used by NQP. |
1072 |
+ doins ${jar} |
1073 |
+ fi |
1074 |
+ done |
1075 |
+ |
1076 |
+ # Upstream uses -Xbootclasspath/a, which is faster due to lack |
1077 |
+ # of verification, but gjl isn't flexible enough yet. :( |
1078 |
+ java-pkg_dolauncher ${PN}-j --main ${PN} |
1079 |
+ dosym ${PN}-j /usr/bin/${PN} |
1080 |
+ dobin tools/jvm/eval-client.pl |
1081 |
+ popd > /dev/null || die |
1082 |
+ ;; |
1083 |
+ *) |
1084 |
+ die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}." |
1085 |
+ ;; |
1086 |
+ esac |
1087 |
} |
1088 |
|
1089 |
src_configure() { |
1090 |
|
1091 |
diff --git a/dev-lang/rakudo/Manifest b/dev-lang/rakudo/Manifest |
1092 |
index 34951ea..eb9ab2e 100644 |
1093 |
--- a/dev-lang/rakudo/Manifest |
1094 |
+++ b/dev-lang/rakudo/Manifest |
1095 |
@@ -1 +1 @@ |
1096 |
-DIST rakudo-2016.04.tar.gz 2706659 SHA256 207d723c9b2d524daf6008a3ed026ea06773d937e76e0fe79b89bfb7dcd0d92b SHA512 08e718643cfa89edbb8995ab9f350f69053e41cff97b33530dd2eb202d2ab2116d219ef1385717b48f5883665c73a181b1b054c1300db302fba31c6081e97532 WHIRLPOOL d49791b696114f57b685221be5cfe1873a88507810819b2a9aace07da2c2d7535eeaecc6c830df3265ecd1ff352effa509cbb3f24cba7e8afc0dc1468553cce6 |
1097 |
+DIST rakudo-2016.05.tar.gz 2786506 SHA256 f3b3236c22ff75427c87dea1fab1dc9a0b4ca3a97296e64a14c3f2695be7a28a SHA512 524a71fa72fc04ed8a04eebe319d68c051d45082ae4ce0894a34b2c08d5dd1f270fd380ffb9a486c1cbad7df20dd96180a11642dc20f2ef343a386ce9df42ac8 WHIRLPOOL 000c74d0c0c26517b2324a20e91d304fafbf4953e028683b84599cc0508e4d79c8324dd78c95fb456e46163b52bb5615e30ec034813df10c8762a3362ae77fae |
1098 |
|
1099 |
diff --git a/dev-lang/rakudo/files/rakudo-jna-lib.patch b/dev-lang/rakudo/files/rakudo-2016.04-jna-lib.patch |
1100 |
similarity index 100% |
1101 |
rename from dev-lang/rakudo/files/rakudo-jna-lib.patch |
1102 |
rename to dev-lang/rakudo/files/rakudo-2016.04-jna-lib.patch |
1103 |
|
1104 |
diff --git a/dev-lang/rakudo/rakudo-2016.04-r2.ebuild b/dev-lang/rakudo/rakudo-2016.04-r2.ebuild |
1105 |
deleted file mode 100644 |
1106 |
index e60d437..0000000 |
1107 |
--- a/dev-lang/rakudo/rakudo-2016.04-r2.ebuild |
1108 |
+++ /dev/null |
1109 |
@@ -1,83 +0,0 @@ |
1110 |
-# Copyright 1999-2016 Gentoo Foundation |
1111 |
-# Distributed under the terms of the GNU General Public License v2 |
1112 |
-# $Id$ |
1113 |
- |
1114 |
-EAPI=6 |
1115 |
- |
1116 |
-inherit java-pkg-2 |
1117 |
- |
1118 |
-DESCRIPTION="A compiler for the Perl 6 programming language" |
1119 |
-HOMEPAGE="http://rakudo.org" |
1120 |
- |
1121 |
-if [[ ${PV} == "9999" ]]; then |
1122 |
- EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" |
1123 |
- inherit git-r3 |
1124 |
- KEYWORDS="" |
1125 |
-else |
1126 |
- SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz" |
1127 |
- KEYWORDS="" |
1128 |
-fi |
1129 |
- |
1130 |
-LICENSE="Artistic-2" |
1131 |
-SLOT="0" |
1132 |
-# TODO: add USE="javascript" once that's usable in nqp |
1133 |
-IUSE="clang java +moar test" |
1134 |
- |
1135 |
-RDEPEND="~dev-lang/nqp-${PV}:=[java?,moar?,clang=]" |
1136 |
-DEPEND="${RDEPEND} |
1137 |
- clang? ( sys-devel/clang ) |
1138 |
- >=dev-lang/perl-5.10" |
1139 |
- |
1140 |
-REQUIRED_USE="|| ( java moar )" |
1141 |
-PATCHES=( "${FILESDIR}/${PN}-2016.04-Makefile.in.patch" ) |
1142 |
- |
1143 |
-pkg_pretend() { |
1144 |
- if has_version dev-lang/rakudo && use java; then |
1145 |
- die "Rakudo is known to fail compilation with the jvm backend if it's already installed." |
1146 |
- fi |
1147 |
-} |
1148 |
- |
1149 |
-pkg_setup() { |
1150 |
- use java && java-pkg-2_pkg_setup |
1151 |
-} |
1152 |
- |
1153 |
-src_prepare() { |
1154 |
- eapply "${PATCHES[@]}" |
1155 |
- |
1156 |
- # yup, this is ugly. but emake doesn't respect DESTDIR. |
1157 |
- for i in Moar JVM; do |
1158 |
- echo "DESTDIR = ${D}" > "${T}/Makefile-${i}.in" || die |
1159 |
- cat "${S}/tools/build/Makefile-${i}.in" >> "${T}/Makefile-${i}.in" || die |
1160 |
- mv "${T}/Makefile-${i}.in" "${S}/tools/build/Makefile-${i}.in" || die |
1161 |
- done |
1162 |
- |
1163 |
- eapply_user |
1164 |
- use java && java-pkg-2_src_prepare |
1165 |
-} |
1166 |
- |
1167 |
-src_configure() { |
1168 |
- local backends |
1169 |
- use java && backends+="jvm," |
1170 |
- use moar && backends+="moar," |
1171 |
- local myargs=( "--prefix=/usr" |
1172 |
- "--sysroot=/" |
1173 |
- "--sdkroot=/" |
1174 |
- "--make-install" |
1175 |
- "--sdkroot=/" |
1176 |
- "--backends=${backends}" |
1177 |
- ) |
1178 |
- perl Configure.pl "${myargs[@]}" |
1179 |
-} |
1180 |
- |
1181 |
-src_compile() { |
1182 |
- emake DESTDIR="${D}" |
1183 |
-} |
1184 |
- |
1185 |
-src_test() { |
1186 |
- export RAKUDO_PRECOMP_PREFIX=$(mktemp -d) |
1187 |
- default |
1188 |
-} |
1189 |
- |
1190 |
-src_install() { |
1191 |
- emake DESTDIR="${D}" install |
1192 |
-} |
1193 |
|
1194 |
diff --git a/dev-lang/rakudo/rakudo-2016.04-r3.ebuild b/dev-lang/rakudo/rakudo-2016.05.ebuild |
1195 |
similarity index 72% |
1196 |
copy from dev-lang/rakudo/rakudo-2016.04-r3.ebuild |
1197 |
copy to dev-lang/rakudo/rakudo-2016.05.ebuild |
1198 |
index cd55aa5..4f24e11 100644 |
1199 |
--- a/dev-lang/rakudo/rakudo-2016.04-r3.ebuild |
1200 |
+++ b/dev-lang/rakudo/rakudo-2016.05.ebuild |
1201 |
@@ -2,7 +2,7 @@ |
1202 |
# Distributed under the terms of the GNU General Public License v2 |
1203 |
# $Id$ |
1204 |
|
1205 |
-EAPI=6 |
1206 |
+EAPI=5 |
1207 |
|
1208 |
inherit java-pkg-opt-2 |
1209 |
|
1210 |
@@ -15,7 +15,7 @@ if [[ ${PV} == "9999" ]]; then |
1211 |
KEYWORDS="" |
1212 |
else |
1213 |
SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz" |
1214 |
- KEYWORDS="" |
1215 |
+ KEYWORDS="~amd64 ~x86" |
1216 |
fi |
1217 |
|
1218 |
LICENSE="Artistic-2" |
1219 |
@@ -32,21 +32,25 @@ DEPEND="${CDEPEND} |
1220 |
java? ( >=virtual/jdk-1.7 ) |
1221 |
>=dev-lang/perl-5.10" |
1222 |
|
1223 |
-PATCHES=( |
1224 |
- "${FILESDIR}/${PN}-2016.04-Makefile.in.patch" |
1225 |
- "${FILESDIR}/${PN}-jna-lib.patch" |
1226 |
-) |
1227 |
+PATCHES=( "${FILESDIR}/${PN}-2016.04-jna-lib.patch" ) |
1228 |
|
1229 |
pkg_pretend() { |
1230 |
- if has_version dev-lang/rakudo && use java; then |
1231 |
- die "Rakudo is known to fail compilation with the jvm backend if it's already installed." |
1232 |
+ if has_version dev-lang/rakudo; then |
1233 |
+ ewarn "Rakudo is known to fail compilation/installation with Rakudo" |
1234 |
+ ewarn "already being installed. So if it fails, try uninstalling it before" |
1235 |
+ ewarn "reporting a bug." |
1236 |
fi |
1237 |
} |
1238 |
|
1239 |
+src_prepare() { |
1240 |
+ epatch "${PATCHES[@]}" |
1241 |
+ epatch_user |
1242 |
+} |
1243 |
+ |
1244 |
src_configure() { |
1245 |
local backends |
1246 |
- use java && backends+="jvm," |
1247 |
- use moar && backends+="moar" |
1248 |
+ use moar && backends+="moar," |
1249 |
+ use java && backends+="jvm" |
1250 |
|
1251 |
local myargs=( |
1252 |
"--prefix=/usr" |
1253 |
@@ -55,7 +59,7 @@ src_configure() { |
1254 |
"--backends=${backends}" |
1255 |
) |
1256 |
|
1257 |
- perl Configure.pl "${myargs[@]}" |
1258 |
+ perl Configure.pl "${myargs[@]}" || die |
1259 |
|
1260 |
if use java; then |
1261 |
NQP=$(java-pkg_getjars --with-dependencies nqp) |
1262 |
|
1263 |
diff --git a/dev-lang/rakudo/rakudo-2016.04-r3.ebuild b/dev-lang/rakudo/rakudo-9999.ebuild |
1264 |
similarity index 72% |
1265 |
rename from dev-lang/rakudo/rakudo-2016.04-r3.ebuild |
1266 |
rename to dev-lang/rakudo/rakudo-9999.ebuild |
1267 |
index cd55aa5..4f24e11 100644 |
1268 |
--- a/dev-lang/rakudo/rakudo-2016.04-r3.ebuild |
1269 |
+++ b/dev-lang/rakudo/rakudo-9999.ebuild |
1270 |
@@ -2,7 +2,7 @@ |
1271 |
# Distributed under the terms of the GNU General Public License v2 |
1272 |
# $Id$ |
1273 |
|
1274 |
-EAPI=6 |
1275 |
+EAPI=5 |
1276 |
|
1277 |
inherit java-pkg-opt-2 |
1278 |
|
1279 |
@@ -15,7 +15,7 @@ if [[ ${PV} == "9999" ]]; then |
1280 |
KEYWORDS="" |
1281 |
else |
1282 |
SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz" |
1283 |
- KEYWORDS="" |
1284 |
+ KEYWORDS="~amd64 ~x86" |
1285 |
fi |
1286 |
|
1287 |
LICENSE="Artistic-2" |
1288 |
@@ -32,21 +32,25 @@ DEPEND="${CDEPEND} |
1289 |
java? ( >=virtual/jdk-1.7 ) |
1290 |
>=dev-lang/perl-5.10" |
1291 |
|
1292 |
-PATCHES=( |
1293 |
- "${FILESDIR}/${PN}-2016.04-Makefile.in.patch" |
1294 |
- "${FILESDIR}/${PN}-jna-lib.patch" |
1295 |
-) |
1296 |
+PATCHES=( "${FILESDIR}/${PN}-2016.04-jna-lib.patch" ) |
1297 |
|
1298 |
pkg_pretend() { |
1299 |
- if has_version dev-lang/rakudo && use java; then |
1300 |
- die "Rakudo is known to fail compilation with the jvm backend if it's already installed." |
1301 |
+ if has_version dev-lang/rakudo; then |
1302 |
+ ewarn "Rakudo is known to fail compilation/installation with Rakudo" |
1303 |
+ ewarn "already being installed. So if it fails, try uninstalling it before" |
1304 |
+ ewarn "reporting a bug." |
1305 |
fi |
1306 |
} |
1307 |
|
1308 |
+src_prepare() { |
1309 |
+ epatch "${PATCHES[@]}" |
1310 |
+ epatch_user |
1311 |
+} |
1312 |
+ |
1313 |
src_configure() { |
1314 |
local backends |
1315 |
- use java && backends+="jvm," |
1316 |
- use moar && backends+="moar" |
1317 |
+ use moar && backends+="moar," |
1318 |
+ use java && backends+="jvm" |
1319 |
|
1320 |
local myargs=( |
1321 |
"--prefix=/usr" |
1322 |
@@ -55,7 +59,7 @@ src_configure() { |
1323 |
"--backends=${backends}" |
1324 |
) |
1325 |
|
1326 |
- perl Configure.pl "${myargs[@]}" |
1327 |
+ perl Configure.pl "${myargs[@]}" || die |
1328 |
|
1329 |
if use java; then |
1330 |
NQP=$(java-pkg_getjars --with-dependencies nqp) |
1331 |
|
1332 |
diff --git a/tools/chroot-here.sh b/tools/chroot-here.sh |
1333 |
index c7291a1..7c20805 100755 |
1334 |
--- a/tools/chroot-here.sh |
1335 |
+++ b/tools/chroot-here.sh |
1336 |
@@ -147,7 +147,7 @@ MOUNT_PATHS=( usr/portage proc sys dev dev/pts dev/shm ) |
1337 |
|
1338 |
#if [[ -d "./${ARCH}-chroot" ]] |
1339 |
#then |
1340 |
- echo -n "Erase './'? [y/N] " |
1341 |
+ echo -n "Erase '${PWD}/*'? [y/N] " |
1342 |
read -n1 -r response |
1343 |
if [[ "${response}" == "y" ]] |
1344 |
then |