aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/moarvm/Manifest2
-rw-r--r--dev-lang/moarvm/files/Configure-2016.04.patch145
-rw-r--r--dev-lang/moarvm/metadata.xml27
-rw-r--r--dev-lang/moarvm/moarvm-2016.04-r1.ebuild63
-rw-r--r--dev-lang/moarvm/moarvm-2016.05.ebuild61
-rw-r--r--dev-lang/moarvm/moarvm-9999.ebuild61
-rw-r--r--dev-lang/nqp/Manifest1
-rw-r--r--dev-lang/nqp/metadata.xml1
-rw-r--r--dev-lang/nqp/nqp-2016.04-r3.ebuild159
-rw-r--r--dev-lang/nqp/nqp-2016.04-r4.ebuild124
-rw-r--r--dev-lang/nqp/nqp-2016.05.ebuild (renamed from dev-lang/nqp/nqp-2016.04-r5.ebuild)99
-rw-r--r--dev-lang/nqp/nqp-9999.ebuild159
-rw-r--r--dev-lang/rakudo/Manifest2
-rw-r--r--dev-lang/rakudo/files/rakudo-2016.04-jna-lib.patch (renamed from dev-lang/rakudo/files/rakudo-jna-lib.patch)0
-rw-r--r--dev-lang/rakudo/rakudo-2016.04-r2.ebuild70
-rw-r--r--dev-lang/rakudo/rakudo-2016.05.ebuild (renamed from dev-lang/rakudo/rakudo-2016.04-r3.ebuild)26
-rw-r--r--dev-lang/rakudo/rakudo-9999.ebuild79
-rwxr-xr-xtools/chroot-here.sh2
18 files changed, 813 insertions, 268 deletions
diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest
new file mode 100644
index 0000000..8d79641
--- /dev/null
+++ b/dev-lang/moarvm/Manifest
@@ -0,0 +1,2 @@
+DIST MoarVM-2016.04.tar.gz 3332850 SHA256 6fe9000daada59535747f2557cc73573241ba8a6044271caf1647aa37be33c6d SHA512 ef22145c9f7c32d7d12192cee63f286544500adff40fc2dbaad677d57108bc6efedc348fe8ddf460fe12d2c6b282e885bcb74fb3bcaa1e06b7719754175afe7d WHIRLPOOL e314f80cd785d31768630798647d7f445831bb29aaded88ef32326df3f4705a5d3fba2da00fce6888a2256b57aeb838922e94c3096250d30112f2be2bfacbb92
+DIST MoarVM-2016.05.tar.gz 3343486 SHA256 d59e3b366cd788a9e9aaa747dc0883dc6f41d97cb76a8fb2815bd565ef75498a SHA512 0cc946962b56cd9075013074228cee008c98b43da9bdaadd8ce91aa06d94510df1c4a2877d36945aff30dada01f3bf66c0ef1028c59967d09c0aec662aa87f99 WHIRLPOOL 1681538cb1a2919bfb49e51fe29877392ee0900d38daed1bbdae92d57332de84888f6ecae3bfbfba5b8132f186ebdfa3151a7cd038f10538e09c97ddae953adc
diff --git a/dev-lang/moarvm/files/Configure-2016.04.patch b/dev-lang/moarvm/files/Configure-2016.04.patch
new file mode 100644
index 0000000..6fd46c2
--- /dev/null
+++ b/dev-lang/moarvm/files/Configure-2016.04.patch
@@ -0,0 +1,145 @@
+diff --git a/Configure.pl b/Configure.pl
+index 72a5dad..f829d5c 100755
+--- a/Configure.pl
++++ b/Configure.pl
+@@ -32,7 +32,7 @@ GetOptions(\%args, qw(
+ os=s shell=s toolchain=s compiler=s
+ ar=s cc=s ld=s make=s has-sha has-libuv
+ static has-libtommath has-libatomic_ops
+- has-dyncall has-libffi
++ has-dyncall has-libffi pkgconfig=s
+ build=s host=s big-endian jit! enable-jit lua=s has-dynasm
+ prefix=s bindir=s libdir=s mastdir=s make-install asan ubsan),
+ 'no-optimize|nooptimize' => sub { $args{optimize} = 0 },
+@@ -99,6 +99,7 @@ $config{config} = join ' ', map { / / ? "\"$_\"" : $_ } @args;
+ $config{osname} = $^O;
+ $config{osvers} = $Config{osvers};
+ $config{lua} = $args{lua} // './3rdparty/dynasm/minilua@exe@';
++$config{pkgconfig} = $args{pkgconfig} // '/usr/bin/pkg-config';
+
+ # set options that take priority over all others
+ my @keys = qw( ar cc ld make );
+@@ -164,12 +165,33 @@ if (-e '3rdparty/libuv/src/unix/threadpool' . $defaults{obj}
+ system($defaults{make}, 'realclean')
+ }
+
++# test whether pkg-config works
++if (-e "$config{pkgconfig}") {
++ print("\nTesting pkgconfig ... ");
++ system("$config{pkgconfig}", "--version");
++ if ( $? == 0 ) {
++ $config{pkgconfig_works} = 1;
++ } else {
++ $config{pkgconfig_works} = 0;
++ }
++}
++
+ # conditionally set include dirs and install rules
+ $config{cincludes} //= '';
+ $config{install} //= '';
+ if ($args{'has-libuv'}) {
+ $defaults{-thirdparty}->{uv} = undef;
+ unshift @{$config{usrlibs}}, 'uv';
++ if ($config{pkgconfig_works}) {
++ my $result = `$config{pkgconfig} --cflags libuv`;
++ if ( $? == 0 ) {
++ $result =~ s/\n/ /g;
++ $config{cincludes} .= ' ' . "$result";
++ print("Adding extra include for libuv: $result\n");
++ } else {
++ print("Error occured when running $config{pkgconfig} --cflags libuv.\n");
++ }
++ }
+ }
+ else {
+ $config{cincludes} .= ' ' . $defaults{ccinc} . '3rdparty/libuv/include'
+@@ -181,6 +203,16 @@ else {
+ if ($args{'has-libatomic_ops'}) {
+ $defaults{-thirdparty}->{lao} = undef;
+ unshift @{$config{usrlibs}}, 'atomic_ops';
++ if ($config{pkgconfig_works}) {
++ my $result = `$config{pkgconfig} --cflags atomic_ops`;
++ if ( $? == 0 ) {
++ $result =~ s/\n/ /g;
++ $config{cincludes} .= ' ' . "$result";
++ print("Adding extra include for atomic_ops: $result\n");
++ } else {
++ print("Error occured when running $config{pkgconfig} --cflags atomic_ops.\n");
++ }
++ }
+ }
+ else {
+ $config{cincludes} .= ' ' . $defaults{ccinc} . '3rdparty/libatomic_ops/src';
+@@ -216,7 +248,8 @@ if ($args{'has-libtommath'}) {
+ }
+ else {
+ $config{cincludes} .= ' ' . $defaults{ccinc} . '3rdparty/libtommath';
+- $config{install} .= "\t\$(CP) 3rdparty/libtommath/*.h \$(DESTDIR)\$(PREFIX)/include/libtommath\n";
++ $config{install} .= "\t\$(MKPATH) \$(DESTDIR)\$(PREFIX)/include/libtommath\n"
++ . "\t\$(CP) 3rdparty/libtommath/*.h \$(DESTDIR)\$(PREFIX)/include/libtommath\n";
+ }
+
+ if ($args{'has-dynasm'}) {
+@@ -232,6 +265,16 @@ if ($args{'has-libffi'}) {
+ $config{nativecall_backend} = 'libffi';
+ unshift @{$config{usrlibs}}, 'ffi';
+ push @{$config{defs}}, 'HAVE_LIBFFI';
++ if ($config{pkgconfig_works}) {
++ my $result = `$config{pkgconfig} --cflags libffi`;
++ if ( $? == 0 ) {
++ $result =~ s/\n/ /g;
++ $config{cincludes} .= ' ' . "$result";
++ print("Adding extra include for libffi: $result\n");
++ } else {
++ print("Error occured when running $config{pkgconfig} --cflags libffi.\n");
++ }
++ }
+ }
+ elsif ($args{'has-dyncall'}) {
+ unshift @{$config{usrlibs}}, 'dyncall_s', 'dyncallback_s', 'dynload_s';
+@@ -364,6 +407,7 @@ my $order = $config{be} ? 'big endian' : 'little endian';
+ print "\n", <<TERM, "\n";
+ make: $config{make}
+ compile: $config{cc} $config{cflags}
++ includes: $config{cincludes}
+ link: $config{ld} $config{ldflags}
+ libs: $config{ldlibs}
+
+@@ -873,6 +917,10 @@ Build and install MoarVM in addition to configuring it.
+
+ =item --has-libffi
+
++=item --pkgconfig=/path/to/pkgconfig/executable
++
++Provide path to the pkgconfig executable. Default: /usr/bin/pkg-config
++
+ =item --no-jit
+
+ Disable JIT compiler, which is enabled by default to JIT-compile hot frames.
+diff --git a/build/Makefile.in b/build/Makefile.in
+index 56a4c8a..b94e847 100644
+--- a/build/Makefile.in
++++ b/build/Makefile.in
+@@ -454,9 +454,6 @@ install: all
+ $(CP) src/strings/*.h $(DESTDIR)$(PREFIX)/include/moar/strings
+ $(CP) src/jit/*.h $(DESTDIR)$(PREFIX)/include/moar/jit
+ $(CP) src/instrument/*.h $(DESTDIR)$(PREFIX)/include/moar/instrument
+- $(MKPATH) $(DESTDIR)$(PREFIX)/include/libuv
+- $(MKPATH) $(DESTDIR)$(PREFIX)/include/libtommath
+- $(CP) 3rdparty/libuv/include/*.h $(DESTDIR)$(PREFIX)/include/libuv
+ @install@
+
+ lib: @moar@
+diff --git a/build/setup.pm b/build/setup.pm
+index 324cc88..c87d79e 100755
+--- a/build/setup.pm
++++ b/build/setup.pm
+@@ -125,7 +125,7 @@ our %TC_POSIX = (
+ ccshared => '-fPIC',
+ ldshared => '-shared @ccshared@',
+ moarshared => '',
+- ldrpath => '-Wl,-rpath,@libdir@ -Wl,-rpath,@prefix@/share/perl6/site/lib',
++ ldrpath => '-Wl,-rpath,/@libdir@ -Wl,-rpath,@prefix@/share/perl6/site/lib',
+
+ arflags => 'rcs',
+ arout => '',
diff --git a/dev-lang/moarvm/metadata.xml b/dev-lang/moarvm/metadata.xml
new file mode 100644
index 0000000..3e0f367
--- /dev/null
+++ b/dev-lang/moarvm/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>tomboy64@sina.cn</email>
+ <name>Matthew Brewer</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>perl@gentoo.org</email>
+ <name>Gentoo Perl Project</name>
+ </maintainer>
+ <use>
+ <flag name="asan">Enable clang's Address Sanitizer functionality. Expect longer compile time.</flag>
+ <flag name="clang">Use clang compiler instead of GCC</flag>
+ <flag name="jit">Enable Just-In-Time-Compiler. Has no effect except on AMD64 and Darwin.</flag>
+ <flag name="optimize">Enable optimization via CFLAGS</flag>
+ <flag name="system-libs">Link against the system's shared libraries</flag>
+ <flag name="ubsan">Enable clang's Undefined Behavior Sanitizer functionality. Expect longer compile time.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">MoarVM/MoarVM</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lang/moarvm/moarvm-2016.04-r1.ebuild b/dev-lang/moarvm/moarvm-2016.04-r1.ebuild
new file mode 100644
index 0000000..30b7f13
--- /dev/null
+++ b/dev-lang/moarvm/moarvm-2016.04-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit flag-o-matic
+
+MY_PN="MoarVM"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+ S="${WORKDIR}/${P}"
+else
+ SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
+HOMEPAGE="http://moarvm.org"
+LICENSE="Artistic-2"
+SLOT="0"
+IUSE="asan clang debug doc +jit static-libs +system-libs optimize ubsan"
+
+RDEPEND="dev-libs/libatomic_ops
+ dev-libs/libtommath
+ dev-libs/libuv
+ jit? ( dev-lang/lua:0[deprecated]
+ dev-lua/LuaBitOp )
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ clang? ( >=sys-devel/clang-3.1 )
+ dev-lang/perl"
+
+PATCHES=( "${FILESDIR}/Configure-2016.04.patch" )
+DOCS=( CREDITS README.markdown )
+
+# Tests are conducted via nqp
+RESTRICT=test
+
+src_configure() {
+ use doc && DOCS+=( docs/* )
+ local myconfigargs=(
+ "--prefix=/usr"
+ "--libdir=$(get_libdir)"
+ "--compiler=$(usex clang clang gcc)"
+ "$(usex asan --asan)"
+ "$(usex debug --debug --no-debug)"
+ "$(usex jit --lua=/usr/bin/lua --no-jit)"
+ "$(usex optimize --optimize= --no-optimize)"
+ "$(usex static-libs --static)"
+ "$(usex system-libs --has-libtommath)"
+ "$(usex system-libs --has-libuv)"
+ "$(usex system-libs --has-libatomic_ops)"
+ "$(usex system-libs --has-libffi)"
+ "$(usex ubsan --ubsan)"
+ )
+ use optimize && filter-flags '-O*'
+
+ perl Configure.pl "${myconfigargs[@]}" || die
+}
diff --git a/dev-lang/moarvm/moarvm-2016.05.ebuild b/dev-lang/moarvm/moarvm-2016.05.ebuild
new file mode 100644
index 0000000..f6c45bd
--- /dev/null
+++ b/dev-lang/moarvm/moarvm-2016.05.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit flag-o-matic
+
+MY_PN="MoarVM"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+ S="${WORKDIR}/${P}"
+else
+ SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
+HOMEPAGE="http://moarvm.org"
+LICENSE="Artistic-2"
+SLOT="0"
+IUSE="asan clang debug doc +jit static-libs +system-libs optimize ubsan"
+
+RDEPEND="dev-libs/libatomic_ops
+ dev-libs/libtommath
+ dev-libs/libuv
+ jit? ( dev-lang/lua:0[deprecated]
+ dev-lua/LuaBitOp )
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ clang? ( >=sys-devel/clang-3.1 )
+ dev-lang/perl"
+DOCS=( CREDITS README.markdown )
+
+# Tests are conducted via nqp
+RESTRICT=test
+
+src_configure() {
+ use doc && DOCS+=( docs/* )
+ local myconfigargs=(
+ "--prefix=/usr"
+ "--libdir=$(get_libdir)"
+ "--compiler=$(usex clang clang gcc)"
+ "$(usex asan --asan)"
+ "$(usex debug --debug --no-debug)"
+ "$(usex jit --lua=/usr/bin/lua --no-jit)"
+ "$(usex optimize --optimize= --no-optimize)"
+ "$(usex static-libs --static)"
+ "$(usex system-libs --has-libtommath)"
+ "$(usex system-libs --has-libuv)"
+ "$(usex system-libs --has-libatomic_ops)"
+ "$(usex system-libs --has-libffi)"
+ "$(usex ubsan --ubsan)"
+ )
+ use optimize && filter-flags '-O*'
+
+ perl Configure.pl "${myconfigargs[@]}" || die
+}
diff --git a/dev-lang/moarvm/moarvm-9999.ebuild b/dev-lang/moarvm/moarvm-9999.ebuild
new file mode 100644
index 0000000..f6c45bd
--- /dev/null
+++ b/dev-lang/moarvm/moarvm-9999.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit flag-o-matic
+
+MY_PN="MoarVM"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+ S="${WORKDIR}/${P}"
+else
+ SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
+HOMEPAGE="http://moarvm.org"
+LICENSE="Artistic-2"
+SLOT="0"
+IUSE="asan clang debug doc +jit static-libs +system-libs optimize ubsan"
+
+RDEPEND="dev-libs/libatomic_ops
+ dev-libs/libtommath
+ dev-libs/libuv
+ jit? ( dev-lang/lua:0[deprecated]
+ dev-lua/LuaBitOp )
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ clang? ( >=sys-devel/clang-3.1 )
+ dev-lang/perl"
+DOCS=( CREDITS README.markdown )
+
+# Tests are conducted via nqp
+RESTRICT=test
+
+src_configure() {
+ use doc && DOCS+=( docs/* )
+ local myconfigargs=(
+ "--prefix=/usr"
+ "--libdir=$(get_libdir)"
+ "--compiler=$(usex clang clang gcc)"
+ "$(usex asan --asan)"
+ "$(usex debug --debug --no-debug)"
+ "$(usex jit --lua=/usr/bin/lua --no-jit)"
+ "$(usex optimize --optimize= --no-optimize)"
+ "$(usex static-libs --static)"
+ "$(usex system-libs --has-libtommath)"
+ "$(usex system-libs --has-libuv)"
+ "$(usex system-libs --has-libatomic_ops)"
+ "$(usex system-libs --has-libffi)"
+ "$(usex ubsan --ubsan)"
+ )
+ use optimize && filter-flags '-O*'
+
+ perl Configure.pl "${myconfigargs[@]}" || die
+}
diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest
index 19088f1..3bbe823 100644
--- a/dev-lang/nqp/Manifest
+++ b/dev-lang/nqp/Manifest
@@ -1 +1,2 @@
DIST nqp-2016.04.tar.gz 5156494 SHA256 9176422eb2a99db24ab520bc78686f3a2c008ba73bf8c7091a790985f5061019 SHA512 5dcb685a90b26fee3e8dac3ca24da11bd967d034b5328232d18d9db37e27645b57259cabf54ef8e10b3ac508b1aa784072f0a9542d30168d3017f86e610c3cee WHIRLPOOL 0711e1471740b0ed181f9e4504f810a084056e74650c0ffb1c6c17e2976b2c1facb6a7e73df5d991d9ffe43f055fe844f0756dbd816375708b4d499a0f7a9162
+DIST nqp-2016.05.tar.gz 5159647 SHA256 7fdd76322383632783b4352e8fab144c3d68acbfda5112c1f178d8909277f616 SHA512 c81d2f6ef13fad36ed863869c985049a5e1daa04e979449fbbd3b5b365ff58430711f6a7ed5ac10ff61fe6a78d4f960f76ade7445ecb82eb3100882449747a61 WHIRLPOOL 119237accc6723db4afa27cdbb1409e9d11a572bf24fbd83e8bed3c507193bf2199bb5a1e8a27052d922040892f5ce35ffd30640218bbc15167fff88e70941c7
diff --git a/dev-lang/nqp/metadata.xml b/dev-lang/nqp/metadata.xml
index dd228ef..7d0e9d2 100644
--- a/dev-lang/nqp/metadata.xml
+++ b/dev-lang/nqp/metadata.xml
@@ -16,7 +16,6 @@
<use>
<flag name="clang">Toggle usage of the clang compiler in conjunction with MoarVM</flag>
<flag name="moar">Build the MoarVM backend (experimental/broken)</flag>
- <flag name="system-libs">Use jars provided by the system instead of upstream</flag>
</use>
<upstream>
<remote-id type="github">perl6/nqp</remote-id>
diff --git a/dev-lang/nqp/nqp-2016.04-r3.ebuild b/dev-lang/nqp/nqp-2016.04-r3.ebuild
index 47c7906..3d3e1b3 100644
--- a/dev-lang/nqp/nqp-2016.04-r3.ebuild
+++ b/dev-lang/nqp/nqp-2016.04-r3.ebuild
@@ -2,9 +2,9 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=6
+EAPI=5
-inherit java-pkg-2
+inherit java-pkg-opt-2 multibuild
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
@@ -12,7 +12,8 @@ if [[ ${PV} == "9999" ]]; then
KEYWORDS=""
else
SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz"
- KEYWORDS=""
+ inherit vcs-snapshot
+ KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
@@ -20,80 +21,140 @@ HOMEPAGE="http://rakudo.org/"
LICENSE="Artistic-2"
SLOT="0"
-IUSE="doc clang java +moar +system-libs test"
+IUSE="doc clang java +moar test"
REQUIRED_USE="|| ( java moar )"
-RDEPEND="java? ( >=virtual/jre-1.7
- system-libs? (
- dev-java/asm:4
- dev-java/jline:0
- )
+CDEPEND="java? (
+ dev-java/asm:4
+ dev-java/jline:0
+ dev-java/jna:4
)
- moar? ( ~dev-lang/moarvm-${PV}[clang=] )
- dev-libs/libffi"
-DEPEND="${RDEPEND}
+ moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.7 )"
+DEPEND="${CDEPEND}
clang? ( sys-devel/clang )
java? ( >=virtual/jdk-1.7 )
dev-lang/perl"
PATCHES=( "${FILESDIR}/enable-external-jars.patch" )
-pkg_setup() {
- use java && java-pkg-2_pkg_setup
+pkg_pretend() {
+ if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
+ ewarn "NQP is known to fail compilation/installation with rakudo and/or NQP"
+ ewarn "already being installed. So if it fails, try uninstalling them before"
+ ewarn "reporting a bug."
+ fi
}
-src_prepare() {
- eapply "${PATCHES[@]}"
- eapply_user
- use java && java-pkg-2_src_prepare
+java_prepare() {
+ # Don't clean stage0 jars.
+ einfo "Cleaning upstream jars"
+ java-pkg_clean 3rdparty/
+
+ # Don't use jars we just deleted.
+ sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \
+ src/vm/jvm/runners/nqp-j || die
}
-src_unpack() {
- if [[ ${PV} == "9999" ]]; then
- git-r3_src_unpack
- else
- unpack ${A}
- mv "${WORKDIR}/perl6-nqp-"* "${WORKDIR}/${P}" || die
- fi
+src_prepare() {
+ MULTIBUILD_VARIANTS=()
+ use moar && MULTIBUILD_VARIANTS+=( moar )
+ use java && MULTIBUILD_VARIANTS+=( jvm )
+
+ multibuild_copy_sources
+
+ # This will pull in conditional java_prepare
+ default
}
-src_configure() {
- local backends
- use java && backends+="jvm,"
- use moar && backends+="moar"
+nqp_configure() {
+ pushd "${BUILD_DIR}" > /dev/null || die
local myconfargs=(
- "--backend=${backends}"
+ "--backend=${MULTIBUILD_VARIANT}"
"--prefix=/usr" )
- # 2016.04 doesn't like our jna-3.4.1 nor jna-4.1.0
- # keep testing against it
- if use system-libs; then
- if use java; then
- myconfargs+=(
- "--with-asm=$(echo $(java-pkg_getjars asm-4) | tr : '\n' | grep '/asm\.jar$')"
- "--with-asm-tree=$(echo $(java-pkg_getjars asm-4) | tr : '\n' | grep '/asm-tree\.jar$')"
- "--with-jline=$(echo $(java-pkg_getjars jline) | tr : '\n' | grep '/jline\.jar$')" )
- else
- einfo "USE=system-libs set, but this won't have any effect without USE=java."
- fi
+ perl Configure.pl "${myconfargs[@]}" || die
+ popd || die
+}
+
+nqp_compile() {
+ if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \
+ JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
+ emake -j1 \
+ -C "${BUILD_DIR}"
fi
+}
- perl Configure.pl "${myconfargs[@]}" || die
+nqp_test() {
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ test
+}
+
+nqp_install() {
+ # This is the actual reason we need multibuild.eclass.
+ # We need to distinguish the install procedure for MoarVM and JVM backends.
+ case "${MULTIBUILD_VARIANT}" in
+ moar)
+ emake \
+ DESTDIR="${ED}" \
+ -C "${BUILD_DIR}" \
+ install
+ ;;
+ jvm)
+ pushd "${BUILD_DIR}" > /dev/null || die
+ # Set JAVA_PKG_JARDEST early.
+ java-pkg_init_paths_
+
+ # Upstream sets the classpath to this location. Perhaps it's
+ # used to locate the additional libraries?
+ java-pkg_addcp "${JAVA_PKG_JARDEST}"
+
+ insinto "${JAVA_PKG_JARDEST}"
+ local jar
+
+ for jar in *.jar; do
+ if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
+ # jars for NQP itself.
+ java-pkg_dojar ${jar}
+ else
+ # jars used by NQP.
+ doins ${jar}
+ fi
+ done
+
+ # Upstream uses -Xbootclasspath/a, which is faster due to lack
+ # of verification, but gjl isn't flexible enough yet. :(
+ java-pkg_dolauncher ${PN}-j --main ${PN}
+ dosym ${PN}-j /usr/bin/${PN}
+ dobin tools/jvm/eval-client.pl
+ popd > /dev/null || die
+ ;;
+ *)
+ die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
+ ;;
+ esac
+}
+
+src_configure() {
+ multibuild_foreach_variant nqp_configure
}
src_compile() {
- emake -j1
+ multibuild_foreach_variant nqp_compile
}
src_test() {
- emake -j1 test
+ multibuild_foreach_variant nqp_test
}
src_install() {
- emake DESTDIR="${ED}" install
+ multibuild_foreach_variant nqp_install
dodoc CREDITS README.pod
-
- if use doc; then
- dodoc -r docs/*
- fi
+ use doc && dodoc -r docs/*
}
diff --git a/dev-lang/nqp/nqp-2016.04-r4.ebuild b/dev-lang/nqp/nqp-2016.04-r4.ebuild
deleted file mode 100644
index 02c414d..0000000
--- a/dev-lang/nqp/nqp-2016.04-r4.ebuild
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit java-pkg-opt-2
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
- inherit git-r3
- KEYWORDS=""
-else
- SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz"
- inherit vcs-snapshot
- KEYWORDS=""
-fi
-
-DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
-HOMEPAGE="http://rakudo.org/"
-
-LICENSE="Artistic-2"
-SLOT="0"
-IUSE="doc clang java +moar test"
-REQUIRED_USE="|| ( java moar )"
-
-CDEPEND="java? (
- dev-java/asm:4
- dev-java/jline:0
- dev-java/jna:4
- )
- moar? ( ~dev-lang/moarvm-${PV}[clang=] )
- dev-libs/libffi"
-RDEPEND="${CDEPEND}
- java? ( >=virtual/jre-1.7 )"
-DEPEND="${CDEPEND}
- clang? ( sys-devel/clang )
- java? ( >=virtual/jdk-1.7 )
- dev-lang/perl"
-PATCHES=( "${FILESDIR}/enable-external-jars.patch" )
-
-java_prepare() {
- # Don't clean stage0 jars.
- einfo "Cleaning upstream jars"
- java-pkg_clean 3rdparty/
-
- # Don't use jars we just deleted.
- sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \
- src/vm/jvm/runners/nqp-j || die
-}
-
-src_configure() {
- local backends
- use java && backends+="jvm,"
- use moar && backends+="moar"
-
- local myconfargs=(
- "--backend=${backends}"
- "--prefix=/usr" )
-
- perl Configure.pl "${myconfargs[@]}" || die
-
- if use java; then
- # Export this for the script we sed'd above.
- export THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4)
- fi
-}
-
-src_compile() {
- if use java; then
- emake -j1 \
- THIRDPARTY_JARS="${THIRDPARTY_JARS}" \
- JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
- else
- emake -j1
- fi
-}
-
-src_test() {
- emake -j1 test
-}
-
-src_install() {
- if use moar; then
- if use java; then
- # We need to re-run Configure.pl with only the MoarVM backend,
- # so we don't overwrite our custom java install.
- # This has to happen before the installation of nqp's MoarVM bits.
- # Also, those bits have to get installed before the JVM bits.
- perl Configure.pl --backend=moar --prefix=/usr || die
- fi
- emake DESTDIR="${ED}" install
- fi
- if use java; then
- # Set JAVA_PKG_JARDEST early.
- java-pkg_init_paths_
-
- # Upstream sets the classpath to this location. Perhaps it's
- # used to locate the additional libraries?
- java-pkg_addcp "${JAVA_PKG_JARDEST}"
-
- insinto "${JAVA_PKG_JARDEST}"
- local jar
-
- for jar in *.jar; do
- if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
- # jars for NQP itself.
- java-pkg_dojar ${jar}
- else
- # jars used by NQP.
- doins ${jar}
- fi
- done
-
- # Upstream uses -Xbootclasspath/a, which is faster due to lack
- # of verification, but gjl isn't flexible enough yet. :(
- java-pkg_dolauncher ${PN}-j --main ${PN}
- dosym ${PN}-j /usr/bin/${PN}
- dobin tools/jvm/eval-client.pl
- fi
-
- dodoc CREDITS README.pod
- use doc && dodoc -r docs/*
-}
diff --git a/dev-lang/nqp/nqp-2016.04-r5.ebuild b/dev-lang/nqp/nqp-2016.05.ebuild
index 4f0bf1f..c142ddf 100644
--- a/dev-lang/nqp/nqp-2016.04-r5.ebuild
+++ b/dev-lang/nqp/nqp-2016.05.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == "9999" ]]; then
else
SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz"
inherit vcs-snapshot
- KEYWORDS=""
+ KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
@@ -29,15 +29,21 @@ CDEPEND="java? (
dev-java/jline:0
dev-java/jna:4
)
- moar? ( ~dev-lang/moarvm-${PV}[clang=] )
- dev-libs/libffi"
+ moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
RDEPEND="${CDEPEND}
java? ( >=virtual/jre-1.7 )"
DEPEND="${CDEPEND}
clang? ( sys-devel/clang )
java? ( >=virtual/jdk-1.7 )
dev-lang/perl"
-PATCHES=( "${FILESDIR}/enable-external-jars.patch" )
+
+pkg_pretend() {
+ if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
+ ewarn "NQP is known to fail compilation/installation with rakudo and/or NQP"
+ ewarn "already being installed. So if it fails, try uninstalling them before"
+ ewarn "reporting a bug."
+ fi
+}
java_prepare() {
# Don't clean stage0 jars.
@@ -71,57 +77,66 @@ nqp_configure() {
}
nqp_compile() {
- pushd "${BUILD_DIR}" > /dev/null || die
if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
emake -j1 \
- THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4)
+ -C "${BUILD_DIR}" \
+ THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \
JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
- emake -j1
+ emake -j1 \
+ -C "${BUILD_DIR}"
fi
- popd || die
}
nqp_test() {
- pushd "${BUILD_DIR}" > /dev/null || die
- emake -j1 test
- popd || die
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ test
}
nqp_install() {
- pushd "${BUILD_DIR}" > /dev/null || die
# This is the actual reason we need multibuild.eclass.
# We need to distinguish the install procedure for MoarVM and JVM backends.
- if [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
- emake DESTDIR="${ED}" install
- elif [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
- # Set JAVA_PKG_JARDEST early.
- java-pkg_init_paths_
-
- # Upstream sets the classpath to this location. Perhaps it's
- # used to locate the additional libraries?
- java-pkg_addcp "${JAVA_PKG_JARDEST}"
-
- insinto "${JAVA_PKG_JARDEST}"
- local jar
-
- for jar in *.jar; do
- if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
- # jars for NQP itself.
- java-pkg_dojar ${jar}
- else
- # jars used by NQP.
- doins ${jar}
- fi
- done
-
- # Upstream uses -Xbootclasspath/a, which is faster due to lack
- # of verification, but gjl isn't flexible enough yet. :(
- java-pkg_dolauncher ${PN}-j --main ${PN}
- dosym ${PN}-j /usr/bin/${PN}
- dobin tools/jvm/eval-client.pl
- fi
- popd || die
+ case "${MULTIBUILD_VARIANT}" in
+ moar)
+ emake \
+ DESTDIR="${ED}" \
+ -C "${BUILD_DIR}" \
+ install
+ ;;
+ jvm)
+ pushd "${BUILD_DIR}" > /dev/null || die
+ # Set JAVA_PKG_JARDEST early.
+ java-pkg_init_paths_
+
+ # Upstream sets the classpath to this location. Perhaps it's
+ # used to locate the additional libraries?
+ java-pkg_addcp "${JAVA_PKG_JARDEST}"
+
+ insinto "${JAVA_PKG_JARDEST}"
+ local jar
+
+ for jar in *.jar; do
+ if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
+ # jars for NQP itself.
+ java-pkg_dojar ${jar}
+ else
+ # jars used by NQP.
+ doins ${jar}
+ fi
+ done
+
+ # Upstream uses -Xbootclasspath/a, which is faster due to lack
+ # of verification, but gjl isn't flexible enough yet. :(
+ java-pkg_dolauncher ${PN}-j --main ${PN}
+ dosym ${PN}-j /usr/bin/${PN}
+ dobin tools/jvm/eval-client.pl
+ popd > /dev/null || die
+ ;;
+ *)
+ die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
+ ;;
+ esac
}
src_configure() {
diff --git a/dev-lang/nqp/nqp-9999.ebuild b/dev-lang/nqp/nqp-9999.ebuild
new file mode 100644
index 0000000..c142ddf
--- /dev/null
+++ b/dev-lang/nqp/nqp-9999.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit java-pkg-opt-2 multibuild
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz"
+ inherit vcs-snapshot
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
+HOMEPAGE="http://rakudo.org/"
+
+LICENSE="Artistic-2"
+SLOT="0"
+IUSE="doc clang java +moar test"
+REQUIRED_USE="|| ( java moar )"
+
+CDEPEND="java? (
+ dev-java/asm:4
+ dev-java/jline:0
+ dev-java/jna:4
+ )
+ moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.7 )"
+DEPEND="${CDEPEND}
+ clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.7 )
+ dev-lang/perl"
+
+pkg_pretend() {
+ if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
+ ewarn "NQP is known to fail compilation/installation with rakudo and/or NQP"
+ ewarn "already being installed. So if it fails, try uninstalling them before"
+ ewarn "reporting a bug."
+ fi
+}
+
+java_prepare() {
+ # Don't clean stage0 jars.
+ einfo "Cleaning upstream jars"
+ java-pkg_clean 3rdparty/
+
+ # Don't use jars we just deleted.
+ sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \
+ src/vm/jvm/runners/nqp-j || die
+}
+
+src_prepare() {
+ MULTIBUILD_VARIANTS=()
+ use moar && MULTIBUILD_VARIANTS+=( moar )
+ use java && MULTIBUILD_VARIANTS+=( jvm )
+
+ multibuild_copy_sources
+
+ # This will pull in conditional java_prepare
+ default
+}
+
+nqp_configure() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+ local myconfargs=(
+ "--backend=${MULTIBUILD_VARIANT}"
+ "--prefix=/usr" )
+
+ perl Configure.pl "${myconfargs[@]}" || die
+ popd || die
+}
+
+nqp_compile() {
+ if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \
+ JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
+ emake -j1 \
+ -C "${BUILD_DIR}"
+ fi
+}
+
+nqp_test() {
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ test
+}
+
+nqp_install() {
+ # This is the actual reason we need multibuild.eclass.
+ # We need to distinguish the install procedure for MoarVM and JVM backends.
+ case "${MULTIBUILD_VARIANT}" in
+ moar)
+ emake \
+ DESTDIR="${ED}" \
+ -C "${BUILD_DIR}" \
+ install
+ ;;
+ jvm)
+ pushd "${BUILD_DIR}" > /dev/null || die
+ # Set JAVA_PKG_JARDEST early.
+ java-pkg_init_paths_
+
+ # Upstream sets the classpath to this location. Perhaps it's
+ # used to locate the additional libraries?
+ java-pkg_addcp "${JAVA_PKG_JARDEST}"
+
+ insinto "${JAVA_PKG_JARDEST}"
+ local jar
+
+ for jar in *.jar; do
+ if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
+ # jars for NQP itself.
+ java-pkg_dojar ${jar}
+ else
+ # jars used by NQP.
+ doins ${jar}
+ fi
+ done
+
+ # Upstream uses -Xbootclasspath/a, which is faster due to lack
+ # of verification, but gjl isn't flexible enough yet. :(
+ java-pkg_dolauncher ${PN}-j --main ${PN}
+ dosym ${PN}-j /usr/bin/${PN}
+ dobin tools/jvm/eval-client.pl
+ popd > /dev/null || die
+ ;;
+ *)
+ die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
+ ;;
+ esac
+}
+
+src_configure() {
+ multibuild_foreach_variant nqp_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant nqp_compile
+}
+
+src_test() {
+ multibuild_foreach_variant nqp_test
+}
+
+src_install() {
+ multibuild_foreach_variant nqp_install
+
+ dodoc CREDITS README.pod
+ use doc && dodoc -r docs/*
+}
diff --git a/dev-lang/rakudo/Manifest b/dev-lang/rakudo/Manifest
index 34951ea..eb9ab2e 100644
--- a/dev-lang/rakudo/Manifest
+++ b/dev-lang/rakudo/Manifest
@@ -1 +1 @@
-DIST rakudo-2016.04.tar.gz 2706659 SHA256 207d723c9b2d524daf6008a3ed026ea06773d937e76e0fe79b89bfb7dcd0d92b SHA512 08e718643cfa89edbb8995ab9f350f69053e41cff97b33530dd2eb202d2ab2116d219ef1385717b48f5883665c73a181b1b054c1300db302fba31c6081e97532 WHIRLPOOL d49791b696114f57b685221be5cfe1873a88507810819b2a9aace07da2c2d7535eeaecc6c830df3265ecd1ff352effa509cbb3f24cba7e8afc0dc1468553cce6
+DIST rakudo-2016.05.tar.gz 2786506 SHA256 f3b3236c22ff75427c87dea1fab1dc9a0b4ca3a97296e64a14c3f2695be7a28a SHA512 524a71fa72fc04ed8a04eebe319d68c051d45082ae4ce0894a34b2c08d5dd1f270fd380ffb9a486c1cbad7df20dd96180a11642dc20f2ef343a386ce9df42ac8 WHIRLPOOL 000c74d0c0c26517b2324a20e91d304fafbf4953e028683b84599cc0508e4d79c8324dd78c95fb456e46163b52bb5615e30ec034813df10c8762a3362ae77fae
diff --git a/dev-lang/rakudo/files/rakudo-jna-lib.patch b/dev-lang/rakudo/files/rakudo-2016.04-jna-lib.patch
index 3f4532f..3f4532f 100644
--- a/dev-lang/rakudo/files/rakudo-jna-lib.patch
+++ b/dev-lang/rakudo/files/rakudo-2016.04-jna-lib.patch
diff --git a/dev-lang/rakudo/rakudo-2016.04-r2.ebuild b/dev-lang/rakudo/rakudo-2016.04-r2.ebuild
index e60d437..478cb08 100644
--- a/dev-lang/rakudo/rakudo-2016.04-r2.ebuild
+++ b/dev-lang/rakudo/rakudo-2016.04-r2.ebuild
@@ -2,9 +2,9 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=6
+EAPI=5
-inherit java-pkg-2
+inherit java-pkg-opt-2
DESCRIPTION="A compiler for the Perl 6 programming language"
HOMEPAGE="http://rakudo.org"
@@ -15,69 +15,61 @@ if [[ ${PV} == "9999" ]]; then
KEYWORDS=""
else
SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz"
- KEYWORDS=""
+ KEYWORDS="~amd64 ~x86"
fi
LICENSE="Artistic-2"
SLOT="0"
# TODO: add USE="javascript" once that's usable in nqp
IUSE="clang java +moar test"
+REQUIRED_USE="|| ( java moar )"
-RDEPEND="~dev-lang/nqp-${PV}:=[java?,moar?,clang=]"
-DEPEND="${RDEPEND}
+CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]
+ >=dev-lang/nqp-2016.04-r3"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.7 )"
+DEPEND="${CDEPEND}
clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.7 )
>=dev-lang/perl-5.10"
-REQUIRED_USE="|| ( java moar )"
-PATCHES=( "${FILESDIR}/${PN}-2016.04-Makefile.in.patch" )
-
-pkg_pretend() {
- if has_version dev-lang/rakudo && use java; then
- die "Rakudo is known to fail compilation with the jvm backend if it's already installed."
- fi
-}
-
-pkg_setup() {
- use java && java-pkg-2_pkg_setup
-}
+PATCHES=(
+ "${FILESDIR}/${PN}-2016.04-Makefile.in.patch"
+ "${FILESDIR}/${P}-jna-lib.patch"
+)
src_prepare() {
- eapply "${PATCHES[@]}"
-
- # yup, this is ugly. but emake doesn't respect DESTDIR.
- for i in Moar JVM; do
- echo "DESTDIR = ${D}" > "${T}/Makefile-${i}.in" || die
- cat "${S}/tools/build/Makefile-${i}.in" >> "${T}/Makefile-${i}.in" || die
- mv "${T}/Makefile-${i}.in" "${S}/tools/build/Makefile-${i}.in" || die
- done
-
- eapply_user
- use java && java-pkg-2_src_prepare
+ epatch "${PATCHES[@]}"
+ epatch_user
}
src_configure() {
local backends
- use java && backends+="jvm,"
use moar && backends+="moar,"
- local myargs=( "--prefix=/usr"
+ use java && backends+="jvm"
+
+ local myargs=(
+ "--prefix=/usr"
"--sysroot=/"
"--sdkroot=/"
- "--make-install"
- "--sdkroot=/"
"--backends=${backends}"
)
- perl Configure.pl "${myargs[@]}"
+
+ perl Configure.pl "${myargs[@]}" || die
+
+ if use java; then
+ NQP=$(java-pkg_getjars --with-dependencies nqp)
+ fi
}
src_compile() {
- emake DESTDIR="${D}"
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}"
}
-src_test() {
- export RAKUDO_PRECOMP_PREFIX=$(mktemp -d)
- default
+src_install() {
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install
}
-src_install() {
- emake DESTDIR="${D}" install
+src_test() {
+ RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default
}
diff --git a/dev-lang/rakudo/rakudo-2016.04-r3.ebuild b/dev-lang/rakudo/rakudo-2016.05.ebuild
index cd55aa5..4f24e11 100644
--- a/dev-lang/rakudo/rakudo-2016.04-r3.ebuild
+++ b/dev-lang/rakudo/rakudo-2016.05.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=6
+EAPI=5
inherit java-pkg-opt-2
@@ -15,7 +15,7 @@ if [[ ${PV} == "9999" ]]; then
KEYWORDS=""
else
SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz"
- KEYWORDS=""
+ KEYWORDS="~amd64 ~x86"
fi
LICENSE="Artistic-2"
@@ -32,21 +32,25 @@ DEPEND="${CDEPEND}
java? ( >=virtual/jdk-1.7 )
>=dev-lang/perl-5.10"
-PATCHES=(
- "${FILESDIR}/${PN}-2016.04-Makefile.in.patch"
- "${FILESDIR}/${PN}-jna-lib.patch"
-)
+PATCHES=( "${FILESDIR}/${PN}-2016.04-jna-lib.patch" )
pkg_pretend() {
- if has_version dev-lang/rakudo && use java; then
- die "Rakudo is known to fail compilation with the jvm backend if it's already installed."
+ if has_version dev-lang/rakudo; then
+ ewarn "Rakudo is known to fail compilation/installation with Rakudo"
+ ewarn "already being installed. So if it fails, try uninstalling it before"
+ ewarn "reporting a bug."
fi
}
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ epatch_user
+}
+
src_configure() {
local backends
- use java && backends+="jvm,"
- use moar && backends+="moar"
+ use moar && backends+="moar,"
+ use java && backends+="jvm"
local myargs=(
"--prefix=/usr"
@@ -55,7 +59,7 @@ src_configure() {
"--backends=${backends}"
)
- perl Configure.pl "${myargs[@]}"
+ perl Configure.pl "${myargs[@]}" || die
if use java; then
NQP=$(java-pkg_getjars --with-dependencies nqp)
diff --git a/dev-lang/rakudo/rakudo-9999.ebuild b/dev-lang/rakudo/rakudo-9999.ebuild
new file mode 100644
index 0000000..4f24e11
--- /dev/null
+++ b/dev-lang/rakudo/rakudo-9999.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit java-pkg-opt-2
+
+DESCRIPTION="A compiler for the Perl 6 programming language"
+HOMEPAGE="http://rakudo.org"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/rakudo/${PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Artistic-2"
+SLOT="0"
+# TODO: add USE="javascript" once that's usable in nqp
+IUSE="clang java +moar test"
+REQUIRED_USE="|| ( java moar )"
+
+CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.7 )"
+DEPEND="${CDEPEND}
+ clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.7 )
+ >=dev-lang/perl-5.10"
+
+PATCHES=( "${FILESDIR}/${PN}-2016.04-jna-lib.patch" )
+
+pkg_pretend() {
+ if has_version dev-lang/rakudo; then
+ ewarn "Rakudo is known to fail compilation/installation with Rakudo"
+ ewarn "already being installed. So if it fails, try uninstalling it before"
+ ewarn "reporting a bug."
+ fi
+}
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ epatch_user
+}
+
+src_configure() {
+ local backends
+ use moar && backends+="moar,"
+ use java && backends+="jvm"
+
+ local myargs=(
+ "--prefix=/usr"
+ "--sysroot=/"
+ "--sdkroot=/"
+ "--backends=${backends}"
+ )
+
+ perl Configure.pl "${myargs[@]}" || die
+
+ if use java; then
+ NQP=$(java-pkg_getjars --with-dependencies nqp)
+ fi
+}
+
+src_compile() {
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install
+}
+
+src_test() {
+ RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default
+}
diff --git a/tools/chroot-here.sh b/tools/chroot-here.sh
index c7291a1..7c20805 100755
--- a/tools/chroot-here.sh
+++ b/tools/chroot-here.sh
@@ -147,7 +147,7 @@ MOUNT_PATHS=( usr/portage proc sys dev dev/pts dev/shm )
#if [[ -d "./${ARCH}-chroot" ]]
#then
- echo -n "Erase './'? [y/N] "
+ echo -n "Erase '${PWD}/*'? [y/N] "
read -n1 -r response
if [[ "${response}" == "y" ]]
then