forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- removed patch (was included upstream)
- Loading branch information
Showing
2 changed files
with
161 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
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 | ||
DIST nqp-2016.05.tar.gz 5159647 SHA256 7fdd76322383632783b4352e8fab144c3d68acbfda5112c1f178d8909277f616 SHA512 c81d2f6ef13fad36ed863869c985049a5e1daa04e979449fbbd3b5b365ff58430711f6a7ed5ac10ff61fe6a78d4f960f76ade7445ecb82eb3100882449747a61 WHIRLPOOL 119237accc6723db4afa27cdbb1409e9d11a572bf24fbd83e8bed3c507193bf2199bb5a1e8a27052d922040892f5ce35ffd30640218bbc15167fff88e70941c7 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
# 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 both" | ||
ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation." | ||
ewarn "(see Bug #584394)" | ||
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/* | ||
} |