aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Brewer <tomboy64@sina.cn>2016-05-18 19:43:55 +0200
committerMatthew Brewer <tomboy64@sina.cn>2016-05-18 19:44:55 +0200
commit93e8b224454bfdb38b22a8572eadafce6410e358 (patch)
tree7b30664fb2ccef0f27e035676a44ec20183b4717 /dev-lang/nqp
parentchroot-here.sh v1.0 (diff)
downloadtbc-93e8b224454bfdb38b22a8572eadafce6410e358.tar.gz
tbc-93e8b224454bfdb38b22a8572eadafce6410e358.tar.bz2
tbc-93e8b224454bfdb38b22a8572eadafce6410e358.zip
dev-lang/nqp: 2016.04 (experimental\!)
Diffstat (limited to 'dev-lang/nqp')
-rw-r--r--dev-lang/nqp/Manifest3
-rw-r--r--dev-lang/nqp/metadata.xml7
-rw-r--r--dev-lang/nqp/nqp-2016.01.ebuild64
-rw-r--r--dev-lang/nqp/nqp-2016.02.ebuild64
-rw-r--r--dev-lang/nqp/nqp-2016.03.ebuild64
-rw-r--r--dev-lang/nqp/nqp-2016.04-r2.ebuild114
-rw-r--r--dev-lang/nqp/nqp-2016.04.ebuild79
-rw-r--r--dev-lang/nqp/nqp-9999.ebuild22
8 files changed, 356 insertions, 61 deletions
diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest
index 19088f1..31cdb1c 100644
--- a/dev-lang/nqp/Manifest
+++ b/dev-lang/nqp/Manifest
@@ -1 +1,4 @@
+DIST nqp-2016.01.tar.gz 5117110 SHA256 87875120af7167093643f2a35869d66a61f735220a9348627ba89cf294387c8b SHA512 e79668f7f5f3679fe3b93f63e1151da1eab109ef4acc6f8ae3da3d9e5c3da814440dd43279978b1a13f30647d7c52bda5575b02f366bd928965b06b47c6d6d91 WHIRLPOOL d2369417707332d8bc045f6f93da81e1301ec2599f197664d80e6edeefc1bc7a2147ad3b7e893eef0fb6b96adf2f68f5ab44b948801e266e68d99552253abeda
+DIST nqp-2016.02.tar.gz 5121833 SHA256 051ddd4bab8f73a688836d896340320ff7043a6ecbd5c53be099249e75e33b8d SHA512 9a3233e351ebdf73ed27d3eade2052936d1a49ea95d32a8176e426e7126c720e4a3f69dedc4067925272293329b08ab397f6a7523b9e4129952847fbd86fcf0d WHIRLPOOL 1bad2dc420d59f07c3d9b8d9dcc78d51a772ed2672419fc53e427c68e24fce5645a0dcfd4a4e138e6333f9e909297b49fafe190e6dc763cca8e52dce20309ec5
+DIST nqp-2016.03.tar.gz 5126687 SHA256 50731983cfc0800015bf73a2174000f5631ad09b551ff190153fba00a448067f SHA512 707701e22752cb43b0694c8c57ec834cfee3d2a50c2b6ae3ee36af5881728c94ae1d03d07c624367edb6cf58bba18abd26dcc18656b0483f4f979db5dd26a07e WHIRLPOOL 364abefc3d7b005b89fd3a3180e66971dbc56851377b93e38d2a8b2ed546121ec730628e0f93947f77e8f12346d64e60b4af8ffa720dc0a05810fae846b262a4
DIST nqp-2016.04.tar.gz 5156494 SHA256 9176422eb2a99db24ab520bc78686f3a2c008ba73bf8c7091a790985f5061019 SHA512 5dcb685a90b26fee3e8dac3ca24da11bd967d034b5328232d18d9db37e27645b57259cabf54ef8e10b3ac508b1aa784072f0a9542d30168d3017f86e610c3cee WHIRLPOOL 0711e1471740b0ed181f9e4504f810a084056e74650c0ffb1c6c17e2976b2c1facb6a7e73df5d991d9ffe43f055fe844f0756dbd816375708b4d499a0f7a9162
diff --git a/dev-lang/nqp/metadata.xml b/dev-lang/nqp/metadata.xml
index 620f2ca..dd228ef 100644
--- a/dev-lang/nqp/metadata.xml
+++ b/dev-lang/nqp/metadata.xml
@@ -5,13 +5,18 @@
<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">Toggle usage of the clang compiler in conjunction with MoarVM</flag>
+ <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.01.ebuild b/dev-lang/nqp/nqp-2016.01.ebuild
new file mode 100644
index 0000000..39d021f
--- /dev/null
+++ b/dev-lang/nqp/nqp-2016.01.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# still not working
+RESTRICT="test"
+
+inherit eutils multilib versionator
+
+GITCRAP=b5ebdaa
+
+DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
+HOMEPAGE="http://rakudo.org/"
+SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="Artistic-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="doc java +moar"
+REQUIRED_USE="|| ( java moar )"
+
+RDEPEND="
+ java? ( >=virtual/jre-1.7 )
+ moar? ( ~dev-lang/moarvm-${PV} )
+ dev-libs/libffi"
+DEPEND="${RDEPEND}
+ java? ( >=virtual/jdk-1.7 )
+ dev-lang/perl"
+
+S=${WORKDIR}/perl6-nqp-${GITCRAP}
+
+src_configure() {
+ use java && myconf+="jvm,"
+ use moar && myconf+="moar,"
+ perl Configure.pl --backend=${myconf} --prefix=/usr || die
+ # dirty hack to make dyncall not fail
+ sed -i -e 's/-Werror=missing-prototypes//' Makefile || die
+ sed -i -e 's/-Werror=missing-declarations//' Makefile || die
+ sed -i -e 's/-Werror=strict-prototypes//' Makefile || die
+
+ # more dirty hack to allow building with newer gcc
+ sed -i -e 's/-Werror=implicit-function-declaration//' Makefile || die
+ sed -i -e 's/-Werror=nested-externs//' Makefile || die
+}
+
+src_compile() {
+ emake -j1 || die
+}
+
+src_test() {
+ emake -j1 test || die
+}
+
+src_install() {
+ emake DESTDIR="${ED}" install || die
+
+ dodoc CREDITS README.pod || die
+
+ if use doc; then
+ dodoc -r docs/* || die
+ fi
+}
diff --git a/dev-lang/nqp/nqp-2016.02.ebuild b/dev-lang/nqp/nqp-2016.02.ebuild
new file mode 100644
index 0000000..ab671df
--- /dev/null
+++ b/dev-lang/nqp/nqp-2016.02.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# still not working
+RESTRICT="test"
+
+inherit eutils multilib versionator
+
+GITCRAP=1d6b8cb
+
+DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
+HOMEPAGE="http://rakudo.org/"
+SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="Artistic-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="doc java +moar"
+REQUIRED_USE="|| ( java moar )"
+
+RDEPEND="
+ java? ( >=virtual/jre-1.7 )
+ moar? ( ~dev-lang/moarvm-${PV} )
+ dev-libs/libffi"
+DEPEND="${RDEPEND}
+ java? ( >=virtual/jdk-1.7 )
+ dev-lang/perl"
+
+S=${WORKDIR}/perl6-nqp-${GITCRAP}
+
+src_configure() {
+ use java && myconf+="jvm,"
+ use moar && myconf+="moar,"
+ perl Configure.pl --backend=${myconf} --prefix=/usr || die
+ # dirty hack to make dyncall not fail
+ sed -i -e 's/-Werror=missing-prototypes//' Makefile || die
+ sed -i -e 's/-Werror=missing-declarations//' Makefile || die
+ sed -i -e 's/-Werror=strict-prototypes//' Makefile || die
+
+ # more dirty hack to allow building with newer gcc
+ sed -i -e 's/-Werror=implicit-function-declaration//' Makefile || die
+ sed -i -e 's/-Werror=nested-externs//' Makefile || die
+}
+
+src_compile() {
+ emake -j1 || die
+}
+
+src_test() {
+ emake -j1 test || die
+}
+
+src_install() {
+ emake DESTDIR="${ED}" install || die
+
+ dodoc CREDITS README.pod || die
+
+ if use doc; then
+ dodoc -r docs/* || die
+ fi
+}
diff --git a/dev-lang/nqp/nqp-2016.03.ebuild b/dev-lang/nqp/nqp-2016.03.ebuild
new file mode 100644
index 0000000..63020f3
--- /dev/null
+++ b/dev-lang/nqp/nqp-2016.03.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# still not working
+RESTRICT="test"
+
+inherit eutils multilib versionator
+
+GITCRAP=d1e443f
+
+DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
+HOMEPAGE="http://rakudo.org/"
+SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="Artistic-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="doc java +moar"
+REQUIRED_USE="|| ( java moar )"
+
+RDEPEND="
+ java? ( >=virtual/jre-1.7 )
+ moar? ( ~dev-lang/moarvm-${PV} )
+ dev-libs/libffi"
+DEPEND="${RDEPEND}
+ java? ( >=virtual/jdk-1.7 )
+ dev-lang/perl"
+
+S=${WORKDIR}/perl6-nqp-${GITCRAP}
+
+src_configure() {
+ use java && myconf+="jvm,"
+ use moar && myconf+="moar,"
+ perl Configure.pl --backend=${myconf} --prefix=/usr || die
+ # dirty hack to make dyncall not fail
+ sed -i -e 's/-Werror=missing-prototypes//' Makefile || die
+ sed -i -e 's/-Werror=missing-declarations//' Makefile || die
+ sed -i -e 's/-Werror=strict-prototypes//' Makefile || die
+
+ # more dirty hack to allow building with newer gcc
+ sed -i -e 's/-Werror=implicit-function-declaration//' Makefile || die
+ sed -i -e 's/-Werror=nested-externs//' Makefile || die
+}
+
+src_compile() {
+ emake -j1 || die
+}
+
+src_test() {
+ emake -j1 test || die
+}
+
+src_install() {
+ emake DESTDIR="${ED}" install || die
+
+ dodoc CREDITS README.pod || die
+
+ if use doc; then
+ dodoc -r docs/* || die
+ fi
+}
diff --git a/dev-lang/nqp/nqp-2016.04-r2.ebuild b/dev-lang/nqp/nqp-2016.04-r2.ebuild
new file mode 100644
index 0000000..9575dfb
--- /dev/null
+++ b/dev-lang/nqp/nqp-2016.04-r2.ebuild
@@ -0,0 +1,114 @@
+# 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="~x86 ~amd64"
+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"
+
+java_prepare() {
+ # Don't clean stage0 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 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
+ else
+ emake DESTDIR="${ED}" install
+ fi
+
+ dodoc CREDITS README.pod
+ use doc && dodoc -r docs/*
+}
diff --git a/dev-lang/nqp/nqp-2016.04.ebuild b/dev-lang/nqp/nqp-2016.04.ebuild
index 4354072..4a45644 100644
--- a/dev-lang/nqp/nqp-2016.04.ebuild
+++ b/dev-lang/nqp/nqp-2016.04.ebuild
@@ -1,79 +1,56 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=6
+EAPI=5
-inherit java-pkg-2
+# still not working
+RESTRICT="test"
-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"
- KEYWORDS="~x86 ~amd64"
-fi
+inherit eutils multilib versionator
+
+GITCRAP=10d3ecc
DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
HOMEPAGE="http://rakudo.org/"
+SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz"
LICENSE="Artistic-2"
SLOT="0"
-IUSE="doc clang java +moar test"
+KEYWORDS="~x86 ~amd64"
+IUSE="doc java +moar"
REQUIRED_USE="|| ( java moar )"
-RDEPEND="java? ( >=virtual/jre-1.7:*
- dev-java/asm:4
- dev-java/jline:0 )
- moar? ( ~dev-lang/moarvm-${PV}[clang=] )
+RDEPEND="
+ java? ( >=virtual/jre-1.7 )
+ moar? ( ~dev-lang/moarvm-${PV} )
dev-libs/libffi"
DEPEND="${RDEPEND}
- clang? ( sys-devel/clang )
- java? ( >=virtual/jdk-1.7:* )
+ java? ( >=virtual/jdk-1.7 )
dev-lang/perl"
-PATCHES=( "${FILESDIR}/enable-external-jars.patch" )
-
-pkg_setup() {
- use java && java-pkg-2_pkg_setup
-}
-
-src_prepare() {
- eapply "${PATCHES[@]}"
- eapply_user
- use java && java-pkg-2_src_prepare
-}
-src_unpack() {
- if [[ ${PV} == "9999" ]]; then
- git-r3_src_unpack
- else
- unpack ${A}
- mv "${WORKDIR}/perl6-nqp-"* "${WORKDIR}/${P}" || die
- fi
-}
+S=${WORKDIR}/perl6-nqp-${GITCRAP}
src_configure() {
- # 2016.04 doesn't like our jna-3.4.1
- # keep testing against it
- local backends
- use java && backends+="jvm,"
- use moar && backends+="moar"
- local myconfargs=(
- "--backend=${backends}"
- "--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$')"
- "--prefix=/usr" )
- perl Configure.pl "${myconfargs[@]}" || die
+ use java && myconf+="jvm,"
+ use moar && myconf+="moar,"
+ perl Configure.pl --backend=${myconf} --prefix=/usr || die
+ # dirty hack to make dyncall not fail
+ sed -i -e 's/-Werror=missing-prototypes//' Makefile || die
+ sed -i -e 's/-Werror=missing-declarations//' Makefile || die
+ sed -i -e 's/-Werror=strict-prototypes//' Makefile || die
+
+ # more dirty hack to allow building with newer gcc
+ sed -i -e 's/-Werror=implicit-function-declaration//' Makefile || die
+ sed -i -e 's/-Werror=nested-externs//' Makefile || die
}
src_compile() {
- MAKEOPTS=-j1 emake
+ emake -j1 || die
}
src_test() {
- MAKEOPTS=-j1 emake test
+ emake -j1 test || die
}
src_install() {
diff --git a/dev-lang/nqp/nqp-9999.ebuild b/dev-lang/nqp/nqp-9999.ebuild
index 4354072..6351216 100644
--- a/dev-lang/nqp/nqp-9999.ebuild
+++ b/dev-lang/nqp/nqp-9999.ebuild
@@ -20,26 +20,27 @@ HOMEPAGE="http://rakudo.org/"
LICENSE="Artistic-2"
SLOT="0"
-IUSE="doc clang java +moar test"
+IUSE="doc clang java +moar +system-libs test"
REQUIRED_USE="|| ( java moar )"
RDEPEND="java? ( >=virtual/jre-1.7:*
- dev-java/asm:4
- dev-java/jline:0 )
+ system-libs? (
+ dev-java/asm:4
+ dev-java/jline:0
+ )
+ )
moar? ( ~dev-lang/moarvm-${PV}[clang=] )
dev-libs/libffi"
DEPEND="${RDEPEND}
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
}
src_prepare() {
- eapply "${PATCHES[@]}"
eapply_user
use java && java-pkg-2_src_prepare
}
@@ -54,17 +55,20 @@ src_unpack() {
}
src_configure() {
- # 2016.04 doesn't like our jna-3.4.1
- # keep testing against it
local backends
use java && backends+="jvm,"
use moar && backends+="moar"
local myconfargs=(
"--backend=${backends}"
+ "--prefix=/usr" )
+
+ # 2016.04 doesn't like our jna-3.4.1
+ # keep testing against it
+ use system-libs && 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$')"
- "--prefix=/usr" )
+ "--with-jline=$(echo $(java-pkg_getjars jline) | tr : '\n' | grep '/jline\.jar$')" )
+
perl Configure.pl "${myconfargs[@]}" || die
}