aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/rakudo/Manifest3
-rw-r--r--dev-lang/rakudo/files/rakudo-2016.04-Makefile.in.patch17
-rw-r--r--dev-lang/rakudo/files/rakudo-jna-lib.patch21
-rw-r--r--dev-lang/rakudo/metadata.xml28
-rw-r--r--dev-lang/rakudo/rakudo-2016.01.1.ebuild36
-rw-r--r--dev-lang/rakudo/rakudo-2016.02.ebuild36
-rw-r--r--dev-lang/rakudo/rakudo-2016.03.ebuild36
-rw-r--r--dev-lang/rakudo/rakudo-2016.04-r1.ebuild85
-rw-r--r--dev-lang/rakudo/rakudo-2016.04.ebuild58
-rw-r--r--dev-lang/rakudo/rakudo-9999.ebuild9
10 files changed, 258 insertions, 71 deletions
diff --git a/dev-lang/rakudo/Manifest b/dev-lang/rakudo/Manifest
index 34951ea..0738835 100644
--- a/dev-lang/rakudo/Manifest
+++ b/dev-lang/rakudo/Manifest
@@ -1 +1,4 @@
+DIST rakudo-2016.01.1.tar.gz 2687265 SHA256 897d01bcb27c209bd51918bb5be6adc6e6ea9dbc2c6b65414f9ac081aa8c5d7b SHA512 31228d49577f5d25b306a987650af0ae11bb2fa80fcaeee421dbe88dc9812edd5a399999f8727dee11d74177b7b9bca0290e26c4240c7baed35fabb4c912f85f WHIRLPOOL 52b2d7d1a0461883b1d07bbb492994f7eb8930a8726565d9a4788883e16510fc052dc066bf8443e09042548d76a3f3ca1cb17be8baa23b16f5742eb52f33c39b
+DIST rakudo-2016.02.tar.gz 2691766 SHA256 8ccfbf24f49bf4f5aa0304ffa69abbd90b97dc59f2c65e2384c6b609e3d3f00a SHA512 9fa891a84e882626050772231dee15ad20f1c2d84b5b9ff985964efbff45f18e0a1940dad2cc1fbb8b91f69d9f7f2a3034998819e8ddbf0c380684b326d299ca WHIRLPOOL 2a55ec29df905ec79fee842f84394ac8733d1b116fc90c29a06e8953a77b15bfc193d974a804f99d41ee0b9fce87d4b07ff6e367f03243d08d03f20340fe766e
+DIST rakudo-2016.03.tar.gz 2702229 SHA256 d77b58acb09f34c99af94f32db92698df88cda7015c7630ddb1392adbf703471 SHA512 53619288655edf72f986cb5fe7b72cd70ed88a6b18421d46d5d70a8932ca22eb1067be5ddf98264e576f7d81a84d9bbaca2ac5ac3241e582d2f4672589ba7ab1 WHIRLPOOL 43696dda25214aa9e30be7c1c3323dee8ea0f1c50a5754ca2a08d421b4c59cac5001fa4a63d8086ce0cb97801eb098d4e854ca4b801eaf7d277099bf6d86b655
DIST rakudo-2016.04.tar.gz 2706659 SHA256 207d723c9b2d524daf6008a3ed026ea06773d937e76e0fe79b89bfb7dcd0d92b SHA512 08e718643cfa89edbb8995ab9f350f69053e41cff97b33530dd2eb202d2ab2116d219ef1385717b48f5883665c73a181b1b054c1300db302fba31c6081e97532 WHIRLPOOL d49791b696114f57b685221be5cfe1873a88507810819b2a9aace07da2c2d7535eeaecc6c830df3265ecd1ff352effa509cbb3f24cba7e8afc0dc1468553cce6
diff --git a/dev-lang/rakudo/files/rakudo-2016.04-Makefile.in.patch b/dev-lang/rakudo/files/rakudo-2016.04-Makefile.in.patch
new file mode 100644
index 0000000..adafa0d
--- /dev/null
+++ b/dev-lang/rakudo/files/rakudo-2016.04-Makefile.in.patch
@@ -0,0 +1,17 @@
+diff -Naur a/tools/build/Makefile-Moar.in b/tools/build/Makefile-Moar.in
+--- a/tools/build/Makefile-Moar.in 2016-02-02 14:27:13.000000000 +0100
++++ b/tools/build/Makefile-Moar.in 2016-04-22 15:01:35.338534944 +0200
+@@ -87,11 +87,11 @@
+ $(M_CC) @moar::ccswitch@ @moar::ccshared@ $(M_CFLAGS) -I$(PREFIX)/include/libatomic_ops \
+ -I$(PREFIX)/include/dyncall -I$(PREFIX)/include/moar \
+ -I$(PREFIX)/include/sha1 -I$(PREFIX)/include/tinymt -I$(PREFIX)/include/libtommath \
+- -I$(PREFIX)/include/libuv -I$(PREFIX)/include @moar::ccout@$(M_PERL6_OPS_OBJ) $(M_PERL6_OPS_SRC)
++ -I$(PREFIX)/include/libuv -I$(PREFIX)/include @moar::cincludes@ @moar::ccout@$(M_PERL6_OPS_OBJ) $(M_PERL6_OPS_SRC)
+ $(M_CC) @moar::ccswitch@ @moar::ccshared@ $(M_CFLAGS) -I$(PREFIX)/include/libatomic_ops \
+ -I$(PREFIX)/include/dyncall -I$(PREFIX)/include/moar \
+ -I$(PREFIX)/include/sha1 -I$(PREFIX)/include/tinymt -I$(PREFIX)/include/libtommath \
+- -I$(PREFIX)/include/libuv -I$(PREFIX)/include @moar::ccout@$(M_PERL6_CONT_OBJ) $(M_PERL6_CONT_SRC)
++ -I$(PREFIX)/include/libuv -I$(PREFIX)/include @moar::cincludes@ @moar::ccout@$(M_PERL6_CONT_OBJ) $(M_PERL6_CONT_SRC)
+ $(M_LD) @moar::ldswitch@ -L@moar::libdir@ @moar::ldshared@ $(M_LDFLAGS) @moar::ldout@$(M_PERL6_OPS_DLL) $(M_PERL6_OPS_OBJ) $(M_PERL6_CONT_OBJ) -lmoar @moarimplib@
+
+ $(PERL6_ML_MOAR): src/Perl6/ModuleLoader.nqp src/vm/moar/ModuleLoaderVMConfig.nqp
diff --git a/dev-lang/rakudo/files/rakudo-jna-lib.patch b/dev-lang/rakudo/files/rakudo-jna-lib.patch
new file mode 100644
index 0000000..3f4532f
--- /dev/null
+++ b/dev-lang/rakudo/files/rakudo-jna-lib.patch
@@ -0,0 +1,21 @@
+Upstream uses -Xbootclasspath, which prevents us from using
+LD_LIBRARY_PATH, thefore we need to set jna.boot.library.path.
+See http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4285197.
+
+Chewi
+2016/05/15
+
+diff -Naur rakudo-2016.04.orig/tools/build/create-jvm-runner.pl rakudo-2016.04/tools/build/create-jvm-runner.pl
+--- rakudo-2016.04.orig/tools/build/create-jvm-runner.pl 2015-12-25 19:23:19.000000000 +0000
++++ rakudo-2016.04/tools/build/create-jvm-runner.pl 2016-05-15 11:30:37.488085661 +0100
+@@ -60,7 +60,10 @@
+ }
+
+ my $classpath = join($cpsep, ($jardir, $libdir, $nqplibdir));
++my $jna_lib = `java-config --query LIBRARY_PATH --package jna-4`;
++chomp $jna_lib;
+ my $jopts = '-noverify -Xms100m -Xbootclasspath/a:' . $perl6jars
++ . ' -Djna.boot.library.path=' . $jna_lib
+ . ' -cp ' . ($^O eq 'MSWin32' ? '"%CLASSPATH%";' : '$CLASSPATH:') . $classpath
+ . ' -Dperl6.prefix=' . $prefix
+ . ' -Djna.library.path=' . $sharedir
diff --git a/dev-lang/rakudo/metadata.xml b/dev-lang/rakudo/metadata.xml
index eb9eaa1..4d1883d 100644
--- a/dev-lang/rakudo/metadata.xml
+++ b/dev-lang/rakudo/metadata.xml
@@ -1,16 +1,20 @@
<?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="project">
- <email>perl@gentoo.org</email>
- <name>Gentoo Perl Project</name>
- </maintainer>
- <use>
- <flag name="clang">Use Clang to compile the MoarVM backend</flag>
- <flag name="moar">Use the MoarVM as backend</flag>
- </use>
+ <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="clang">Use Clang to compile the MoarVM backend</flag>
+ <flag name="moar">Use the MoarVM as backend</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-lang/rakudo/rakudo-2016.01.1.ebuild b/dev-lang/rakudo/rakudo-2016.01.1.ebuild
new file mode 100644
index 0000000..8c17dfb
--- /dev/null
+++ b/dev-lang/rakudo/rakudo-2016.01.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+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
+else
+ SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz"
+fi
+
+LICENSE="Artistic-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# TODO: add USE="javascript" once that's usable in nqp
+IUSE="test"
+
+RDEPEND="=dev-lang/nqp-2016.01:=[moar]"
+DEPEND="${RDEPEND}
+ >=dev-lang/perl-5.10"
+
+#PATCHES=(${FILESDIR}/${PV})
+
+src_configure() {
+ perl Configure.pl --prefix=/usr --sysroot=/usr --backends=moar
+}
+
+src_test() {
+ export RAKUDO_PRECOMP_PREFIX=$(mktemp -d)
+ default
+}
diff --git a/dev-lang/rakudo/rakudo-2016.02.ebuild b/dev-lang/rakudo/rakudo-2016.02.ebuild
new file mode 100644
index 0000000..623e8f4
--- /dev/null
+++ b/dev-lang/rakudo/rakudo-2016.02.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+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
+else
+ SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz"
+fi
+
+LICENSE="Artistic-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# TODO: add USE="javascript" once that's usable in nqp
+IUSE="test"
+
+RDEPEND="=dev-lang/nqp-${PV}:=[moar]"
+DEPEND="${RDEPEND}
+ >=dev-lang/perl-5.10"
+
+#PATCHES=(${FILESDIR}/${PV})
+
+src_configure() {
+ perl Configure.pl --prefix=/usr --sysroot=/usr --backends=moar
+}
+
+src_test() {
+ export RAKUDO_PRECOMP_PREFIX=$(mktemp -d)
+ default
+}
diff --git a/dev-lang/rakudo/rakudo-2016.03.ebuild b/dev-lang/rakudo/rakudo-2016.03.ebuild
new file mode 100644
index 0000000..623e8f4
--- /dev/null
+++ b/dev-lang/rakudo/rakudo-2016.03.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+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
+else
+ SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz"
+fi
+
+LICENSE="Artistic-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# TODO: add USE="javascript" once that's usable in nqp
+IUSE="test"
+
+RDEPEND="=dev-lang/nqp-${PV}:=[moar]"
+DEPEND="${RDEPEND}
+ >=dev-lang/perl-5.10"
+
+#PATCHES=(${FILESDIR}/${PV})
+
+src_configure() {
+ perl Configure.pl --prefix=/usr --sysroot=/usr --backends=moar
+}
+
+src_test() {
+ export RAKUDO_PRECOMP_PREFIX=$(mktemp -d)
+ default
+}
diff --git a/dev-lang/rakudo/rakudo-2016.04-r1.ebuild b/dev-lang/rakudo/rakudo-2016.04-r1.ebuild
new file mode 100644
index 0000000..7421cad
--- /dev/null
+++ b/dev-lang/rakudo/rakudo-2016.04-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+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-Makefile.in.patch"
+ "${FILESDIR}/${PN}-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
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ local backends
+ use java && backends+="jvm,"
+ use moar && backends+="moar,"
+
+ local myargs=(
+ "--prefix=/usr"
+ "--sysroot=/"
+ "--sdkroot=/"
+ "--backends=${backends}"
+ )
+
+ perl Configure.pl "${myargs[@]}"
+
+ 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/dev-lang/rakudo/rakudo-2016.04.ebuild b/dev-lang/rakudo/rakudo-2016.04.ebuild
index 9df4c8b..4903a0a 100644
--- a/dev-lang/rakudo/rakudo-2016.04.ebuild
+++ b/dev-lang/rakudo/rakudo-2016.04.ebuild
@@ -4,81 +4,31 @@
EAPI=6
-inherit java-pkg-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"
+KEYWORDS="~amd64 ~x86"
# TODO: add USE="javascript" once that's usable in nqp
-IUSE="clang java moar test"
+IUSE="test"
-RDEPEND="=dev-lang/nqp-${PV}:=[java=,moar=,clang=]"
+RDEPEND="=dev-lang/nqp-${PV}:=[moar]"
DEPEND="${RDEPEND}
- clang? ( sys-devel/clang )
>=dev-lang/perl-5.10"
-REQUIRED_USE="|| ( java moar )"
-PATCHES=( "${FILESDIR}/${PN}-2016.03-Makefile.in.patch" )
-
-pkg_pretend() {
- if has_version dev-lang/rakudo; then
- ewarn "Rakudo is known to fail compilation if it's already"
- ewarn "installed. So if it fails, you know what to do."
- fi
-}
-
-pkg_setup() {
- use java && java-pkg-2_pkg_setup
-}
-
-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
-}
-
src_configure() {
- local backends
- use java && backends+="jvm,"
- use moar && backends+="moar,"
- local myargs=( "--prefix=/usr"
- "--sysroot=/"
- "--sdkroot=/"
- "--make-install"
- "--sdkroot=/"
- "--backends=${backends}"
- )
- perl Configure.pl "${myargs[@]}"
-}
-
-src_compile() {
- emake DESTDIR="${D}"
+ perl Configure.pl --prefix=/usr --sysroot=/usr --backends=moar
}
src_test() {
export RAKUDO_PRECOMP_PREFIX=$(mktemp -d)
default
}
-
-src_install() {
- emake DESTDIR="${D}" install
-}
diff --git a/dev-lang/rakudo/rakudo-9999.ebuild b/dev-lang/rakudo/rakudo-9999.ebuild
index 9df4c8b..c6696c6 100644
--- a/dev-lang/rakudo/rakudo-9999.ebuild
+++ b/dev-lang/rakudo/rakudo-9999.ebuild
@@ -23,18 +23,17 @@ SLOT="0"
# TODO: add USE="javascript" once that's usable in nqp
IUSE="clang java moar test"
-RDEPEND="=dev-lang/nqp-${PV}:=[java=,moar=,clang=]"
+RDEPEND="~dev-lang/nqp-${PV}:=[java=,moar=,clang=]"
DEPEND="${RDEPEND}
clang? ( sys-devel/clang )
>=dev-lang/perl-5.10"
REQUIRED_USE="|| ( java moar )"
-PATCHES=( "${FILESDIR}/${PN}-2016.03-Makefile.in.patch" )
+PATCHES=( "${FILESDIR}/${PN}-2016.04-Makefile.in.patch" )
pkg_pretend() {
- if has_version dev-lang/rakudo; then
- ewarn "Rakudo is known to fail compilation if it's already"
- ewarn "installed. So if it fails, you know what to do."
+ 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
}