From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 84E93138335 for ; Wed, 7 Aug 2019 11:43:00 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C4AFFE086A; Wed, 7 Aug 2019 11:42:58 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A0AC1E086A for ; Wed, 7 Aug 2019 11:42:58 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 83782349452 for ; Wed, 7 Aug 2019 11:42:57 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 064BB759 for ; Wed, 7 Aug 2019 11:42:54 +0000 (UTC) From: "Kent Fredric" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Kent Fredric" Message-ID: <1565178116.30840c063708e23f1bb2ea71ed1585f550e207a8.kentnl@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/nqp/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-lang/nqp/Manifest dev-lang/nqp/nqp-2019.07.1.ebuild X-VCS-Directories: dev-lang/nqp/ X-VCS-Committer: kentnl X-VCS-Committer-Name: Kent Fredric X-VCS-Revision: 30840c063708e23f1bb2ea71ed1585f550e207a8 X-VCS-Branch: master Date: Wed, 7 Aug 2019 11:42:54 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: e9aa7f04-df0a-427f-b8ca-fa89f9445a69 X-Archives-Hash: 9e1732fbc7f2a6ff493d28ca3b0f997c commit: 30840c063708e23f1bb2ea71ed1585f550e207a8 Author: Kent Fredric gentoo org> AuthorDate: Wed Aug 7 11:28:25 2019 +0000 Commit: Kent Fredric gentoo org> CommitDate: Wed Aug 7 11:41:56 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=30840c06 dev-lang/nqp: Bump to version 2019.07.1 Note: USE="java" is currently unsupportable, and will be shortly followed with a package.use.mask entry, as it requires JDK9 to work, and JDK9+ support is somewhat taking a pre-climate-change glacial pace. Package-Manager: Portage-2.3.66, Repoman-2.3.16 Signed-off-by: Kent Fredric gentoo.org> dev-lang/nqp/Manifest | 1 + dev-lang/nqp/nqp-2019.07.1.ebuild | 159 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 160 insertions(+) diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest index f1853d3d9c5..4dc7c3161e2 100644 --- a/dev-lang/nqp/Manifest +++ b/dev-lang/nqp/Manifest @@ -3,3 +3,4 @@ DIST nqp-2018.08.official.tar.gz 3770932 BLAKE2B 2425c28a8192fe0d992650fe3d9c79e DIST nqp-2018.09.official.tar.gz 3798897 BLAKE2B d9ac40be8f864a7c9a35cd21dde188396b15465568d7642dbd5dddc3468edc09b6e2f7997fb08a189e160cd5ec004cb4efdcee9262e23b6bb32650eb17d93c14 SHA512 5a673430c2dce5d51f90fd8da18636d1abfd5e841f8530a51020beaffd83635a77090e52968bcbcdee361681a436834490bd2f5c383b21972cf40a9d88b28020 DIST nqp-2018.12.official.tar.gz 3930041 BLAKE2B 35876f63461aadc634e8ad3fd1a46aff4ead788ebf0d741eb1ff6a82e9227fd5edbcd1f733c184083f73073f2ac1a8dab094f2f8fe177183663697dc13da3065 SHA512 56b7821fc0164c8e8fcf58a16aa96c75347aa078cb3bf7f8f6c41df26338e51e2ddb6984049908de83126861c7406c4504e073e7203409c3f37b129661b8c2f8 DIST nqp-2019.03.official.tar.gz 3951058 BLAKE2B 237b8cc0105396fc96349a0dd34502ab45fb7d02089dd2ef5aad2554610b4090adf11679271869e5ae06abfa509210959ae8762fbee30dfe6190d6a74ce32591 SHA512 248768c1b1c0f5e5bd19183404e2a1aa28ab488b05db0b1ed0f0bcceca8b9830885762e763ea38cdd2b54d975d2663e1defe236907096aabc5b668818d293533 +DIST nqp-2019.07.1.tar.gz 3937612 BLAKE2B 71f5ddadaa70d7eeadc122ef50f90c13bf7e3a1a4262069ee8564f739e99dfb780359e1155a28f61f90dd1cc419379e366d7274c9567a4319bd841005c3a51a9 SHA512 90c9cfbc3de165ba8c0b4653a849a6faafef9e3862743c3675277c25bc4578522a97a663a4ed7529831fa0b617c7412fcfe67b3e3ff1fc5994f6c42cdf7a4bc5 diff --git a/dev-lang/nqp/nqp-2019.07.1.ebuild b/dev-lang/nqp/nqp-2019.07.1.ebuild new file mode 100644 index 00000000000..120648d125d --- /dev/null +++ b/dev-lang/nqp/nqp-2019.07.1.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +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}/releases/download/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler" +HOMEPAGE="https://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.8 )" +DEPEND="${CDEPEND}" +BDEPEND="${CDEPEND} + clang? ( sys-devel/clang ) + java? ( >=virtual/jdk-1.8 ) + 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=${EPREFIX%/}/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/* +}