Gentoo Archives: gentoo-commits

From: "M. B." <tomboy64@××××.cn>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/user/tbc:master commit in: dev-lang/moarvm/files/, tools/, dev-lang/nqp/, dev-lang/rakudo/files/, ...
Date: Sat, 28 May 2016 12:05:05
Message-Id: 1464436919.99667d408cde2428270d613d7d823db186c9f2e8.tomboy64@gentoo
1 commit: 99667d408cde2428270d613d7d823db186c9f2e8
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: Sat May 28 12:01:59 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/user/tbc.git/commit/?id=99667d40
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 | 70 ++++-----
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, 647 insertions(+), 321 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 index e60d437..478cb08 100644
1106 --- a/dev-lang/rakudo/rakudo-2016.04-r2.ebuild
1107 +++ b/dev-lang/rakudo/rakudo-2016.04-r2.ebuild
1108 @@ -2,9 +2,9 @@
1109 # Distributed under the terms of the GNU General Public License v2
1110 # $Id$
1111
1112 -EAPI=6
1113 +EAPI=5
1114
1115 -inherit java-pkg-2
1116 +inherit java-pkg-opt-2
1117
1118 DESCRIPTION="A compiler for the Perl 6 programming language"
1119 HOMEPAGE="http://rakudo.org"
1120 @@ -15,69 +15,61 @@ if [[ ${PV} == "9999" ]]; then
1121 KEYWORDS=""
1122 else
1123 SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz"
1124 - KEYWORDS=""
1125 + KEYWORDS="~amd64 ~x86"
1126 fi
1127
1128 LICENSE="Artistic-2"
1129 SLOT="0"
1130 # TODO: add USE="javascript" once that's usable in nqp
1131 IUSE="clang java +moar test"
1132 +REQUIRED_USE="|| ( java moar )"
1133
1134 -RDEPEND="~dev-lang/nqp-${PV}:=[java?,moar?,clang=]"
1135 -DEPEND="${RDEPEND}
1136 +CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]
1137 + >=dev-lang/nqp-2016.04-r3"
1138 +RDEPEND="${CDEPEND}
1139 + java? ( >=virtual/jre-1.7 )"
1140 +DEPEND="${CDEPEND}
1141 clang? ( sys-devel/clang )
1142 + java? ( >=virtual/jdk-1.7 )
1143 >=dev-lang/perl-5.10"
1144
1145 -REQUIRED_USE="|| ( java moar )"
1146 -PATCHES=( "${FILESDIR}/${PN}-2016.04-Makefile.in.patch" )
1147 -
1148 -pkg_pretend() {
1149 - if has_version dev-lang/rakudo && use java; then
1150 - die "Rakudo is known to fail compilation with the jvm backend if it's already installed."
1151 - fi
1152 -}
1153 -
1154 -pkg_setup() {
1155 - use java && java-pkg-2_pkg_setup
1156 -}
1157 +PATCHES=(
1158 + "${FILESDIR}/${PN}-2016.04-Makefile.in.patch"
1159 + "${FILESDIR}/${P}-jna-lib.patch"
1160 +)
1161
1162 src_prepare() {
1163 - eapply "${PATCHES[@]}"
1164 -
1165 - # yup, this is ugly. but emake doesn't respect DESTDIR.
1166 - for i in Moar JVM; do
1167 - echo "DESTDIR = ${D}" > "${T}/Makefile-${i}.in" || die
1168 - cat "${S}/tools/build/Makefile-${i}.in" >> "${T}/Makefile-${i}.in" || die
1169 - mv "${T}/Makefile-${i}.in" "${S}/tools/build/Makefile-${i}.in" || die
1170 - done
1171 -
1172 - eapply_user
1173 - use java && java-pkg-2_src_prepare
1174 + epatch "${PATCHES[@]}"
1175 + epatch_user
1176 }
1177
1178 src_configure() {
1179 local backends
1180 - use java && backends+="jvm,"
1181 use moar && backends+="moar,"
1182 - local myargs=( "--prefix=/usr"
1183 + use java && backends+="jvm"
1184 +
1185 + local myargs=(
1186 + "--prefix=/usr"
1187 "--sysroot=/"
1188 "--sdkroot=/"
1189 - "--make-install"
1190 - "--sdkroot=/"
1191 "--backends=${backends}"
1192 )
1193 - perl Configure.pl "${myargs[@]}"
1194 +
1195 + perl Configure.pl "${myargs[@]}" || die
1196 +
1197 + if use java; then
1198 + NQP=$(java-pkg_getjars --with-dependencies nqp)
1199 + fi
1200 }
1201
1202 src_compile() {
1203 - emake DESTDIR="${D}"
1204 + emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}"
1205 }
1206
1207 -src_test() {
1208 - export RAKUDO_PRECOMP_PREFIX=$(mktemp -d)
1209 - default
1210 +src_install() {
1211 + emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install
1212 }
1213
1214 -src_install() {
1215 - emake DESTDIR="${D}" install
1216 +src_test() {
1217 + RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default
1218 }
1219
1220 diff --git a/dev-lang/rakudo/rakudo-2016.04-r3.ebuild b/dev-lang/rakudo/rakudo-2016.05.ebuild
1221 similarity index 72%
1222 copy from dev-lang/rakudo/rakudo-2016.04-r3.ebuild
1223 copy to dev-lang/rakudo/rakudo-2016.05.ebuild
1224 index cd55aa5..4f24e11 100644
1225 --- a/dev-lang/rakudo/rakudo-2016.04-r3.ebuild
1226 +++ b/dev-lang/rakudo/rakudo-2016.05.ebuild
1227 @@ -2,7 +2,7 @@
1228 # Distributed under the terms of the GNU General Public License v2
1229 # $Id$
1230
1231 -EAPI=6
1232 +EAPI=5
1233
1234 inherit java-pkg-opt-2
1235
1236 @@ -15,7 +15,7 @@ if [[ ${PV} == "9999" ]]; then
1237 KEYWORDS=""
1238 else
1239 SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz"
1240 - KEYWORDS=""
1241 + KEYWORDS="~amd64 ~x86"
1242 fi
1243
1244 LICENSE="Artistic-2"
1245 @@ -32,21 +32,25 @@ DEPEND="${CDEPEND}
1246 java? ( >=virtual/jdk-1.7 )
1247 >=dev-lang/perl-5.10"
1248
1249 -PATCHES=(
1250 - "${FILESDIR}/${PN}-2016.04-Makefile.in.patch"
1251 - "${FILESDIR}/${PN}-jna-lib.patch"
1252 -)
1253 +PATCHES=( "${FILESDIR}/${PN}-2016.04-jna-lib.patch" )
1254
1255 pkg_pretend() {
1256 - if has_version dev-lang/rakudo && use java; then
1257 - die "Rakudo is known to fail compilation with the jvm backend if it's already installed."
1258 + if has_version dev-lang/rakudo; then
1259 + ewarn "Rakudo is known to fail compilation/installation with Rakudo"
1260 + ewarn "already being installed. So if it fails, try uninstalling it before"
1261 + ewarn "reporting a bug."
1262 fi
1263 }
1264
1265 +src_prepare() {
1266 + epatch "${PATCHES[@]}"
1267 + epatch_user
1268 +}
1269 +
1270 src_configure() {
1271 local backends
1272 - use java && backends+="jvm,"
1273 - use moar && backends+="moar"
1274 + use moar && backends+="moar,"
1275 + use java && backends+="jvm"
1276
1277 local myargs=(
1278 "--prefix=/usr"
1279 @@ -55,7 +59,7 @@ src_configure() {
1280 "--backends=${backends}"
1281 )
1282
1283 - perl Configure.pl "${myargs[@]}"
1284 + perl Configure.pl "${myargs[@]}" || die
1285
1286 if use java; then
1287 NQP=$(java-pkg_getjars --with-dependencies nqp)
1288
1289 diff --git a/dev-lang/rakudo/rakudo-2016.04-r3.ebuild b/dev-lang/rakudo/rakudo-9999.ebuild
1290 similarity index 72%
1291 rename from dev-lang/rakudo/rakudo-2016.04-r3.ebuild
1292 rename to dev-lang/rakudo/rakudo-9999.ebuild
1293 index cd55aa5..4f24e11 100644
1294 --- a/dev-lang/rakudo/rakudo-2016.04-r3.ebuild
1295 +++ b/dev-lang/rakudo/rakudo-9999.ebuild
1296 @@ -2,7 +2,7 @@
1297 # Distributed under the terms of the GNU General Public License v2
1298 # $Id$
1299
1300 -EAPI=6
1301 +EAPI=5
1302
1303 inherit java-pkg-opt-2
1304
1305 @@ -15,7 +15,7 @@ if [[ ${PV} == "9999" ]]; then
1306 KEYWORDS=""
1307 else
1308 SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz"
1309 - KEYWORDS=""
1310 + KEYWORDS="~amd64 ~x86"
1311 fi
1312
1313 LICENSE="Artistic-2"
1314 @@ -32,21 +32,25 @@ DEPEND="${CDEPEND}
1315 java? ( >=virtual/jdk-1.7 )
1316 >=dev-lang/perl-5.10"
1317
1318 -PATCHES=(
1319 - "${FILESDIR}/${PN}-2016.04-Makefile.in.patch"
1320 - "${FILESDIR}/${PN}-jna-lib.patch"
1321 -)
1322 +PATCHES=( "${FILESDIR}/${PN}-2016.04-jna-lib.patch" )
1323
1324 pkg_pretend() {
1325 - if has_version dev-lang/rakudo && use java; then
1326 - die "Rakudo is known to fail compilation with the jvm backend if it's already installed."
1327 + if has_version dev-lang/rakudo; then
1328 + ewarn "Rakudo is known to fail compilation/installation with Rakudo"
1329 + ewarn "already being installed. So if it fails, try uninstalling it before"
1330 + ewarn "reporting a bug."
1331 fi
1332 }
1333
1334 +src_prepare() {
1335 + epatch "${PATCHES[@]}"
1336 + epatch_user
1337 +}
1338 +
1339 src_configure() {
1340 local backends
1341 - use java && backends+="jvm,"
1342 - use moar && backends+="moar"
1343 + use moar && backends+="moar,"
1344 + use java && backends+="jvm"
1345
1346 local myargs=(
1347 "--prefix=/usr"
1348 @@ -55,7 +59,7 @@ src_configure() {
1349 "--backends=${backends}"
1350 )
1351
1352 - perl Configure.pl "${myargs[@]}"
1353 + perl Configure.pl "${myargs[@]}" || die
1354
1355 if use java; then
1356 NQP=$(java-pkg_getjars --with-dependencies nqp)
1357
1358 diff --git a/tools/chroot-here.sh b/tools/chroot-here.sh
1359 index c7291a1..7c20805 100755
1360 --- a/tools/chroot-here.sh
1361 +++ b/tools/chroot-here.sh
1362 @@ -147,7 +147,7 @@ MOUNT_PATHS=( usr/portage proc sys dev dev/pts dev/shm )
1363
1364 #if [[ -d "./${ARCH}-chroot" ]]
1365 #then
1366 - echo -n "Erase './'? [y/N] "
1367 + echo -n "Erase '${PWD}/*'? [y/N] "
1368 read -n1 -r response
1369 if [[ "${response}" == "y" ]]
1370 then