Gentoo Archives: gentoo-commits

From: "罗百科" <patrick@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/nqp/
Date: Wed, 25 Dec 2019 11:31:22
Message-Id: 1577273413.a6fd00f972daf2c6ede32222b7d9c571000644c8.patrick@gentoo
1 commit: a6fd00f972daf2c6ede32222b7d9c571000644c8
2 Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
3 AuthorDate: Wed Dec 25 11:30:13 2019 +0000
4 Commit: 罗百科 <patrick <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 25 11:30:13 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6fd00f9
7
8 dev-lang/nqp: Old
9
10 Package-Manager: Portage-2.3.83, Repoman-2.3.20
11 Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>
12
13 dev-lang/nqp/Manifest | 4 -
14 dev-lang/nqp/nqp-2018.06-r1.ebuild | 159 -------------------------------------
15 dev-lang/nqp/nqp-2018.08-r1.ebuild | 159 -------------------------------------
16 dev-lang/nqp/nqp-2018.09-r1.ebuild | 159 -------------------------------------
17 dev-lang/nqp/nqp-2018.12-r1.ebuild | 159 -------------------------------------
18 5 files changed, 640 deletions(-)
19
20 diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest
21 index a1c4bec66a0..127d2002a2e 100644
22 --- a/dev-lang/nqp/Manifest
23 +++ b/dev-lang/nqp/Manifest
24 @@ -1,7 +1,3 @@
25 -DIST nqp-2018.06.official.tar.gz 3795050 BLAKE2B 9c5be1a93f5bba632778125fe3c13431606ef01b654775f890aef27c8bfd220930079cb820e933fdae2d151a7c3bacd57bd4f139547cd938e5c1eb0c54b16f19 SHA512 6b4a74098a3d55931a3c8934029f0e97e388b90c1babef023023e1bf3203dbe53b928155d24ecb6a3a54a3228e72a18a2a2747cd8389497569e24e22d489c68c
26 -DIST nqp-2018.08.official.tar.gz 3770932 BLAKE2B 2425c28a8192fe0d992650fe3d9c79e198c69abfece17276d62225cfa2029916af1ec7568f626a1a67eadc886a1544154af3c015370a67eb1e13e5da35e08bd8 SHA512 663b52677c49eb4b6c5f4ed68de821d9adbe4e3fbcabf2174227b1d3dfafffa357f720557b18a5fbd121c46704dda117395c996a78af70eb367f1b23d8b2564f
27 -DIST nqp-2018.09.official.tar.gz 3798897 BLAKE2B d9ac40be8f864a7c9a35cd21dde188396b15465568d7642dbd5dddc3468edc09b6e2f7997fb08a189e160cd5ec004cb4efdcee9262e23b6bb32650eb17d93c14 SHA512 5a673430c2dce5d51f90fd8da18636d1abfd5e841f8530a51020beaffd83635a77090e52968bcbcdee361681a436834490bd2f5c383b21972cf40a9d88b28020
28 -DIST nqp-2018.12.official.tar.gz 3930041 BLAKE2B 35876f63461aadc634e8ad3fd1a46aff4ead788ebf0d741eb1ff6a82e9227fd5edbcd1f733c184083f73073f2ac1a8dab094f2f8fe177183663697dc13da3065 SHA512 56b7821fc0164c8e8fcf58a16aa96c75347aa078cb3bf7f8f6c41df26338e51e2ddb6984049908de83126861c7406c4504e073e7203409c3f37b129661b8c2f8
29 DIST nqp-2019.03.official.tar.gz 3951058 BLAKE2B 237b8cc0105396fc96349a0dd34502ab45fb7d02089dd2ef5aad2554610b4090adf11679271869e5ae06abfa509210959ae8762fbee30dfe6190d6a74ce32591 SHA512 248768c1b1c0f5e5bd19183404e2a1aa28ab488b05db0b1ed0f0bcceca8b9830885762e763ea38cdd2b54d975d2663e1defe236907096aabc5b668818d293533
30 DIST nqp-2019.07.1.tar.gz 3937612 BLAKE2B 71f5ddadaa70d7eeadc122ef50f90c13bf7e3a1a4262069ee8564f739e99dfb780359e1155a28f61f90dd1cc419379e366d7274c9567a4319bd841005c3a51a9 SHA512 90c9cfbc3de165ba8c0b4653a849a6faafef9e3862743c3675277c25bc4578522a97a663a4ed7529831fa0b617c7412fcfe67b3e3ff1fc5994f6c42cdf7a4bc5
31 DIST nqp-2019.11.tar.gz 3942494 BLAKE2B 241c4131fc94d7055b51a44b7be824fb53a00fc51370f59dcba1d92655de66e2db536c622084bf9466d9d753d5ad804411b4af07b2767ad1a4f09e065c6693f8 SHA512 3b9fea9d9c4d2ae2ca065536bcca5b483067f9e723c3a89c7e238199c0f52ea6ba23ae4429dacbd42bea69dccbbc836efe5046d1691185d5452f30912f4e6a40
32
33 diff --git a/dev-lang/nqp/nqp-2018.06-r1.ebuild b/dev-lang/nqp/nqp-2018.06-r1.ebuild
34 deleted file mode 100644
35 index 663242f61de..00000000000
36 --- a/dev-lang/nqp/nqp-2018.06-r1.ebuild
37 +++ /dev/null
38 @@ -1,159 +0,0 @@
39 -# Copyright 1999-2019 Gentoo Authors
40 -# Distributed under the terms of the GNU General Public License v2
41 -
42 -EAPI=6
43 -
44 -inherit java-pkg-opt-2 multibuild
45 -
46 -if [[ ${PV} == "9999" ]]; then
47 - EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
48 - inherit git-r3
49 - KEYWORDS=""
50 -else
51 - SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz -> ${P}.official.tar.gz"
52 - KEYWORDS="~amd64 ~x86"
53 -fi
54 -
55 -DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
56 -HOMEPAGE="https://rakudo.org"
57 -
58 -LICENSE="Artistic-2"
59 -SLOT="0"
60 -IUSE="doc clang java +moar test"
61 -RESTRICT="!test? ( test )"
62 -REQUIRED_USE="|| ( java moar )"
63 -
64 -CDEPEND="java? (
65 - dev-java/asm:4
66 - dev-java/jline:0
67 - dev-java/jna:4
68 - )
69 - moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
70 -RDEPEND="${CDEPEND}
71 - java? ( >=virtual/jre-1.8 )"
72 -DEPEND="${CDEPEND}
73 - clang? ( sys-devel/clang )
74 - java? ( >=virtual/jdk-1.8 )
75 - dev-lang/perl"
76 -
77 -pkg_pretend() {
78 - if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
79 - ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP"
80 - ewarn "already being installed. So if it fails, try uninstalling both"
81 - ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation."
82 - ewarn "(see Bug #584394)"
83 - fi
84 -}
85 -
86 -java_prepare() {
87 - # Don't clean stage0 jars.
88 - einfo "Cleaning upstream jars"
89 - java-pkg_clean 3rdparty/
90 -
91 - # Don't use jars we just deleted.
92 - sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \
93 - src/vm/jvm/runners/nqp-j || die
94 -}
95 -
96 -src_prepare() {
97 - MULTIBUILD_VARIANTS=()
98 - use moar && MULTIBUILD_VARIANTS+=( moar )
99 - use java && MULTIBUILD_VARIANTS+=( jvm )
100 -
101 - multibuild_copy_sources
102 -
103 - # This will pull in conditional java_prepare
104 - default
105 -}
106 -
107 -nqp_configure() {
108 - pushd "${BUILD_DIR}" > /dev/null || die
109 - local myconfargs=(
110 - "--backend=${MULTIBUILD_VARIANT}"
111 - "--prefix=${EPREFIX%/}/usr" )
112 -
113 - perl Configure.pl "${myconfargs[@]}" || die
114 - popd || die
115 -}
116 -
117 -nqp_compile() {
118 - if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
119 - emake -j1 \
120 - -C "${BUILD_DIR}" \
121 - THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \
122 - JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
123 - elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
124 - emake -j1 \
125 - -C "${BUILD_DIR}"
126 - fi
127 -}
128 -
129 -nqp_test() {
130 - emake -j1 \
131 - -C "${BUILD_DIR}" \
132 - test
133 -}
134 -
135 -nqp_install() {
136 - # This is the actual reason we need multibuild.eclass.
137 - # We need to distinguish the install procedure for MoarVM and JVM backends.
138 - case "${MULTIBUILD_VARIANT}" in
139 - moar)
140 - emake \
141 - DESTDIR="${ED}" \
142 - -C "${BUILD_DIR}" \
143 - install
144 - ;;
145 - jvm)
146 - pushd "${BUILD_DIR}" > /dev/null || die
147 - # Set JAVA_PKG_JARDEST early.
148 - java-pkg_init_paths_
149 -
150 - # Upstream sets the classpath to this location. Perhaps it's
151 - # used to locate the additional libraries?
152 - java-pkg_addcp "${JAVA_PKG_JARDEST}"
153 -
154 - insinto "${JAVA_PKG_JARDEST}"
155 - local jar
156 -
157 - for jar in *.jar; do
158 - if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
159 - # jars for NQP itself.
160 - java-pkg_dojar ${jar}
161 - else
162 - # jars used by NQP.
163 - doins ${jar}
164 - fi
165 - done
166 -
167 - # Upstream uses -Xbootclasspath/a, which is faster due to lack
168 - # of verification, but gjl isn't flexible enough yet. :(
169 - java-pkg_dolauncher ${PN}-j --main ${PN}
170 - dosym ${PN}-j /usr/bin/${PN}
171 - dobin tools/jvm/eval-client.pl
172 - popd > /dev/null || die
173 - ;;
174 - *)
175 - die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
176 - ;;
177 - esac
178 -}
179 -
180 -src_configure() {
181 - multibuild_foreach_variant nqp_configure
182 -}
183 -
184 -src_compile() {
185 - multibuild_foreach_variant nqp_compile
186 -}
187 -
188 -src_test() {
189 - multibuild_foreach_variant nqp_test
190 -}
191 -
192 -src_install() {
193 - multibuild_foreach_variant nqp_install
194 -
195 - dodoc CREDITS README.pod
196 - use doc && dodoc -r docs/*
197 -}
198
199 diff --git a/dev-lang/nqp/nqp-2018.08-r1.ebuild b/dev-lang/nqp/nqp-2018.08-r1.ebuild
200 deleted file mode 100644
201 index 663242f61de..00000000000
202 --- a/dev-lang/nqp/nqp-2018.08-r1.ebuild
203 +++ /dev/null
204 @@ -1,159 +0,0 @@
205 -# Copyright 1999-2019 Gentoo Authors
206 -# Distributed under the terms of the GNU General Public License v2
207 -
208 -EAPI=6
209 -
210 -inherit java-pkg-opt-2 multibuild
211 -
212 -if [[ ${PV} == "9999" ]]; then
213 - EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
214 - inherit git-r3
215 - KEYWORDS=""
216 -else
217 - SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz -> ${P}.official.tar.gz"
218 - KEYWORDS="~amd64 ~x86"
219 -fi
220 -
221 -DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
222 -HOMEPAGE="https://rakudo.org"
223 -
224 -LICENSE="Artistic-2"
225 -SLOT="0"
226 -IUSE="doc clang java +moar test"
227 -RESTRICT="!test? ( test )"
228 -REQUIRED_USE="|| ( java moar )"
229 -
230 -CDEPEND="java? (
231 - dev-java/asm:4
232 - dev-java/jline:0
233 - dev-java/jna:4
234 - )
235 - moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
236 -RDEPEND="${CDEPEND}
237 - java? ( >=virtual/jre-1.8 )"
238 -DEPEND="${CDEPEND}
239 - clang? ( sys-devel/clang )
240 - java? ( >=virtual/jdk-1.8 )
241 - dev-lang/perl"
242 -
243 -pkg_pretend() {
244 - if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
245 - ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP"
246 - ewarn "already being installed. So if it fails, try uninstalling both"
247 - ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation."
248 - ewarn "(see Bug #584394)"
249 - fi
250 -}
251 -
252 -java_prepare() {
253 - # Don't clean stage0 jars.
254 - einfo "Cleaning upstream jars"
255 - java-pkg_clean 3rdparty/
256 -
257 - # Don't use jars we just deleted.
258 - sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \
259 - src/vm/jvm/runners/nqp-j || die
260 -}
261 -
262 -src_prepare() {
263 - MULTIBUILD_VARIANTS=()
264 - use moar && MULTIBUILD_VARIANTS+=( moar )
265 - use java && MULTIBUILD_VARIANTS+=( jvm )
266 -
267 - multibuild_copy_sources
268 -
269 - # This will pull in conditional java_prepare
270 - default
271 -}
272 -
273 -nqp_configure() {
274 - pushd "${BUILD_DIR}" > /dev/null || die
275 - local myconfargs=(
276 - "--backend=${MULTIBUILD_VARIANT}"
277 - "--prefix=${EPREFIX%/}/usr" )
278 -
279 - perl Configure.pl "${myconfargs[@]}" || die
280 - popd || die
281 -}
282 -
283 -nqp_compile() {
284 - if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
285 - emake -j1 \
286 - -C "${BUILD_DIR}" \
287 - THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \
288 - JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
289 - elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
290 - emake -j1 \
291 - -C "${BUILD_DIR}"
292 - fi
293 -}
294 -
295 -nqp_test() {
296 - emake -j1 \
297 - -C "${BUILD_DIR}" \
298 - test
299 -}
300 -
301 -nqp_install() {
302 - # This is the actual reason we need multibuild.eclass.
303 - # We need to distinguish the install procedure for MoarVM and JVM backends.
304 - case "${MULTIBUILD_VARIANT}" in
305 - moar)
306 - emake \
307 - DESTDIR="${ED}" \
308 - -C "${BUILD_DIR}" \
309 - install
310 - ;;
311 - jvm)
312 - pushd "${BUILD_DIR}" > /dev/null || die
313 - # Set JAVA_PKG_JARDEST early.
314 - java-pkg_init_paths_
315 -
316 - # Upstream sets the classpath to this location. Perhaps it's
317 - # used to locate the additional libraries?
318 - java-pkg_addcp "${JAVA_PKG_JARDEST}"
319 -
320 - insinto "${JAVA_PKG_JARDEST}"
321 - local jar
322 -
323 - for jar in *.jar; do
324 - if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
325 - # jars for NQP itself.
326 - java-pkg_dojar ${jar}
327 - else
328 - # jars used by NQP.
329 - doins ${jar}
330 - fi
331 - done
332 -
333 - # Upstream uses -Xbootclasspath/a, which is faster due to lack
334 - # of verification, but gjl isn't flexible enough yet. :(
335 - java-pkg_dolauncher ${PN}-j --main ${PN}
336 - dosym ${PN}-j /usr/bin/${PN}
337 - dobin tools/jvm/eval-client.pl
338 - popd > /dev/null || die
339 - ;;
340 - *)
341 - die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
342 - ;;
343 - esac
344 -}
345 -
346 -src_configure() {
347 - multibuild_foreach_variant nqp_configure
348 -}
349 -
350 -src_compile() {
351 - multibuild_foreach_variant nqp_compile
352 -}
353 -
354 -src_test() {
355 - multibuild_foreach_variant nqp_test
356 -}
357 -
358 -src_install() {
359 - multibuild_foreach_variant nqp_install
360 -
361 - dodoc CREDITS README.pod
362 - use doc && dodoc -r docs/*
363 -}
364
365 diff --git a/dev-lang/nqp/nqp-2018.09-r1.ebuild b/dev-lang/nqp/nqp-2018.09-r1.ebuild
366 deleted file mode 100644
367 index 663242f61de..00000000000
368 --- a/dev-lang/nqp/nqp-2018.09-r1.ebuild
369 +++ /dev/null
370 @@ -1,159 +0,0 @@
371 -# Copyright 1999-2019 Gentoo Authors
372 -# Distributed under the terms of the GNU General Public License v2
373 -
374 -EAPI=6
375 -
376 -inherit java-pkg-opt-2 multibuild
377 -
378 -if [[ ${PV} == "9999" ]]; then
379 - EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
380 - inherit git-r3
381 - KEYWORDS=""
382 -else
383 - SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz -> ${P}.official.tar.gz"
384 - KEYWORDS="~amd64 ~x86"
385 -fi
386 -
387 -DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
388 -HOMEPAGE="https://rakudo.org"
389 -
390 -LICENSE="Artistic-2"
391 -SLOT="0"
392 -IUSE="doc clang java +moar test"
393 -RESTRICT="!test? ( test )"
394 -REQUIRED_USE="|| ( java moar )"
395 -
396 -CDEPEND="java? (
397 - dev-java/asm:4
398 - dev-java/jline:0
399 - dev-java/jna:4
400 - )
401 - moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
402 -RDEPEND="${CDEPEND}
403 - java? ( >=virtual/jre-1.8 )"
404 -DEPEND="${CDEPEND}
405 - clang? ( sys-devel/clang )
406 - java? ( >=virtual/jdk-1.8 )
407 - dev-lang/perl"
408 -
409 -pkg_pretend() {
410 - if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
411 - ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP"
412 - ewarn "already being installed. So if it fails, try uninstalling both"
413 - ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation."
414 - ewarn "(see Bug #584394)"
415 - fi
416 -}
417 -
418 -java_prepare() {
419 - # Don't clean stage0 jars.
420 - einfo "Cleaning upstream jars"
421 - java-pkg_clean 3rdparty/
422 -
423 - # Don't use jars we just deleted.
424 - sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \
425 - src/vm/jvm/runners/nqp-j || die
426 -}
427 -
428 -src_prepare() {
429 - MULTIBUILD_VARIANTS=()
430 - use moar && MULTIBUILD_VARIANTS+=( moar )
431 - use java && MULTIBUILD_VARIANTS+=( jvm )
432 -
433 - multibuild_copy_sources
434 -
435 - # This will pull in conditional java_prepare
436 - default
437 -}
438 -
439 -nqp_configure() {
440 - pushd "${BUILD_DIR}" > /dev/null || die
441 - local myconfargs=(
442 - "--backend=${MULTIBUILD_VARIANT}"
443 - "--prefix=${EPREFIX%/}/usr" )
444 -
445 - perl Configure.pl "${myconfargs[@]}" || die
446 - popd || die
447 -}
448 -
449 -nqp_compile() {
450 - if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
451 - emake -j1 \
452 - -C "${BUILD_DIR}" \
453 - THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \
454 - JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
455 - elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
456 - emake -j1 \
457 - -C "${BUILD_DIR}"
458 - fi
459 -}
460 -
461 -nqp_test() {
462 - emake -j1 \
463 - -C "${BUILD_DIR}" \
464 - test
465 -}
466 -
467 -nqp_install() {
468 - # This is the actual reason we need multibuild.eclass.
469 - # We need to distinguish the install procedure for MoarVM and JVM backends.
470 - case "${MULTIBUILD_VARIANT}" in
471 - moar)
472 - emake \
473 - DESTDIR="${ED}" \
474 - -C "${BUILD_DIR}" \
475 - install
476 - ;;
477 - jvm)
478 - pushd "${BUILD_DIR}" > /dev/null || die
479 - # Set JAVA_PKG_JARDEST early.
480 - java-pkg_init_paths_
481 -
482 - # Upstream sets the classpath to this location. Perhaps it's
483 - # used to locate the additional libraries?
484 - java-pkg_addcp "${JAVA_PKG_JARDEST}"
485 -
486 - insinto "${JAVA_PKG_JARDEST}"
487 - local jar
488 -
489 - for jar in *.jar; do
490 - if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
491 - # jars for NQP itself.
492 - java-pkg_dojar ${jar}
493 - else
494 - # jars used by NQP.
495 - doins ${jar}
496 - fi
497 - done
498 -
499 - # Upstream uses -Xbootclasspath/a, which is faster due to lack
500 - # of verification, but gjl isn't flexible enough yet. :(
501 - java-pkg_dolauncher ${PN}-j --main ${PN}
502 - dosym ${PN}-j /usr/bin/${PN}
503 - dobin tools/jvm/eval-client.pl
504 - popd > /dev/null || die
505 - ;;
506 - *)
507 - die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
508 - ;;
509 - esac
510 -}
511 -
512 -src_configure() {
513 - multibuild_foreach_variant nqp_configure
514 -}
515 -
516 -src_compile() {
517 - multibuild_foreach_variant nqp_compile
518 -}
519 -
520 -src_test() {
521 - multibuild_foreach_variant nqp_test
522 -}
523 -
524 -src_install() {
525 - multibuild_foreach_variant nqp_install
526 -
527 - dodoc CREDITS README.pod
528 - use doc && dodoc -r docs/*
529 -}
530
531 diff --git a/dev-lang/nqp/nqp-2018.12-r1.ebuild b/dev-lang/nqp/nqp-2018.12-r1.ebuild
532 deleted file mode 100644
533 index 663242f61de..00000000000
534 --- a/dev-lang/nqp/nqp-2018.12-r1.ebuild
535 +++ /dev/null
536 @@ -1,159 +0,0 @@
537 -# Copyright 1999-2019 Gentoo Authors
538 -# Distributed under the terms of the GNU General Public License v2
539 -
540 -EAPI=6
541 -
542 -inherit java-pkg-opt-2 multibuild
543 -
544 -if [[ ${PV} == "9999" ]]; then
545 - EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
546 - inherit git-r3
547 - KEYWORDS=""
548 -else
549 - SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz -> ${P}.official.tar.gz"
550 - KEYWORDS="~amd64 ~x86"
551 -fi
552 -
553 -DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
554 -HOMEPAGE="https://rakudo.org"
555 -
556 -LICENSE="Artistic-2"
557 -SLOT="0"
558 -IUSE="doc clang java +moar test"
559 -RESTRICT="!test? ( test )"
560 -REQUIRED_USE="|| ( java moar )"
561 -
562 -CDEPEND="java? (
563 - dev-java/asm:4
564 - dev-java/jline:0
565 - dev-java/jna:4
566 - )
567 - moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
568 -RDEPEND="${CDEPEND}
569 - java? ( >=virtual/jre-1.8 )"
570 -DEPEND="${CDEPEND}
571 - clang? ( sys-devel/clang )
572 - java? ( >=virtual/jdk-1.8 )
573 - dev-lang/perl"
574 -
575 -pkg_pretend() {
576 - if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
577 - ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP"
578 - ewarn "already being installed. So if it fails, try uninstalling both"
579 - ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation."
580 - ewarn "(see Bug #584394)"
581 - fi
582 -}
583 -
584 -java_prepare() {
585 - # Don't clean stage0 jars.
586 - einfo "Cleaning upstream jars"
587 - java-pkg_clean 3rdparty/
588 -
589 - # Don't use jars we just deleted.
590 - sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \
591 - src/vm/jvm/runners/nqp-j || die
592 -}
593 -
594 -src_prepare() {
595 - MULTIBUILD_VARIANTS=()
596 - use moar && MULTIBUILD_VARIANTS+=( moar )
597 - use java && MULTIBUILD_VARIANTS+=( jvm )
598 -
599 - multibuild_copy_sources
600 -
601 - # This will pull in conditional java_prepare
602 - default
603 -}
604 -
605 -nqp_configure() {
606 - pushd "${BUILD_DIR}" > /dev/null || die
607 - local myconfargs=(
608 - "--backend=${MULTIBUILD_VARIANT}"
609 - "--prefix=${EPREFIX%/}/usr" )
610 -
611 - perl Configure.pl "${myconfargs[@]}" || die
612 - popd || die
613 -}
614 -
615 -nqp_compile() {
616 - if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
617 - emake -j1 \
618 - -C "${BUILD_DIR}" \
619 - THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \
620 - JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
621 - elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
622 - emake -j1 \
623 - -C "${BUILD_DIR}"
624 - fi
625 -}
626 -
627 -nqp_test() {
628 - emake -j1 \
629 - -C "${BUILD_DIR}" \
630 - test
631 -}
632 -
633 -nqp_install() {
634 - # This is the actual reason we need multibuild.eclass.
635 - # We need to distinguish the install procedure for MoarVM and JVM backends.
636 - case "${MULTIBUILD_VARIANT}" in
637 - moar)
638 - emake \
639 - DESTDIR="${ED}" \
640 - -C "${BUILD_DIR}" \
641 - install
642 - ;;
643 - jvm)
644 - pushd "${BUILD_DIR}" > /dev/null || die
645 - # Set JAVA_PKG_JARDEST early.
646 - java-pkg_init_paths_
647 -
648 - # Upstream sets the classpath to this location. Perhaps it's
649 - # used to locate the additional libraries?
650 - java-pkg_addcp "${JAVA_PKG_JARDEST}"
651 -
652 - insinto "${JAVA_PKG_JARDEST}"
653 - local jar
654 -
655 - for jar in *.jar; do
656 - if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
657 - # jars for NQP itself.
658 - java-pkg_dojar ${jar}
659 - else
660 - # jars used by NQP.
661 - doins ${jar}
662 - fi
663 - done
664 -
665 - # Upstream uses -Xbootclasspath/a, which is faster due to lack
666 - # of verification, but gjl isn't flexible enough yet. :(
667 - java-pkg_dolauncher ${PN}-j --main ${PN}
668 - dosym ${PN}-j /usr/bin/${PN}
669 - dobin tools/jvm/eval-client.pl
670 - popd > /dev/null || die
671 - ;;
672 - *)
673 - die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
674 - ;;
675 - esac
676 -}
677 -
678 -src_configure() {
679 - multibuild_foreach_variant nqp_configure
680 -}
681 -
682 -src_compile() {
683 - multibuild_foreach_variant nqp_compile
684 -}
685 -
686 -src_test() {
687 - multibuild_foreach_variant nqp_test
688 -}
689 -
690 -src_install() {
691 - multibuild_foreach_variant nqp_install
692 -
693 - dodoc CREDITS README.pod
694 - use doc && dodoc -r docs/*
695 -}