summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/rakudo/Manifest1
-rw-r--r--dev-lang/rakudo/rakudo-2024.04.ebuild72
2 files changed, 73 insertions, 0 deletions
diff --git a/dev-lang/rakudo/Manifest b/dev-lang/rakudo/Manifest
index c5b710ef7cd2..36abc2202c4b 100644
--- a/dev-lang/rakudo/Manifest
+++ b/dev-lang/rakudo/Manifest
@@ -1,2 +1,3 @@
DIST rakudo-2023.12.tar.gz 6865345 BLAKE2B 0c2404b25d5316de7ef2bf332411898fc12f154c815434ae2f8202951eba8dfbe23c278bbbaf082dcb5e4782aa0348bec10cad97ffbe2b8d55e64a987d5fe69c SHA512 fa78ea3f5eea9947eae7ab3c130956acade849fbde1b926fefdb34f0a2a74cd0a4a8b62a088a41cf207ef80d06b2e5d42048a1a2071d10d68c3e388c57d5e78e
DIST rakudo-2024.02.tar.gz 6879828 BLAKE2B aa361c9e21c34cc5c737390ab6b1b8828afaa6aafaa604dbde273d68084cd0cebaf9c8bd796a394844f05b7bafc4f5d2db8a80a7bc1be8baab52b7a7f858bfa2 SHA512 b9bfdcbaf7daa80e6dfe1fb96e68482d2b110cca03067ef4e3e12270897ef0d53710d90fda97254c4cc012b3cdc4ec0c5d4a25facc5a0224a7579b96f9cd7aa3
+DIST rakudo-2024.04.tar.gz 6908669 BLAKE2B 681a13e0fcefd8a0187f99a4bd92f72833a74870933497f6cb8de0b2ab3ddf07ee4c492760c53cd623f6d7afd3593194748882400ea94e703363c58fc4ea3d2c SHA512 98b4dd35456df1774a320dbd53ffecc72323d91c260ce1264b2056624e8cdf8a47cfcd89b775411f8bf3fb1f1b4725e2b75c7724c5891a4d366e5ba3f2a11cd4
diff --git a/dev-lang/rakudo/rakudo-2024.04.ebuild b/dev-lang/rakudo/rakudo-2024.04.ebuild
new file mode 100644
index 000000000000..2af8fe10b2b6
--- /dev/null
+++ b/dev-lang/rakudo/rakudo-2024.04.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-pkg-opt-2
+
+DESCRIPTION="A compiler for the Raku programming language"
+HOMEPAGE="https://rakudo.org"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/rakudo/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://rakudo.org/dl/${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"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="|| ( java moar )"
+
+CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.9 )"
+DEPEND="${CDEPEND}
+ clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.9 )
+ >=dev-lang/perl-5.10"
+
+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 unmerging dev-lang/rakudo,"
+ ewarn "then do a new installation."
+ ewarn "(see Bug #584394)"
+ fi
+}
+
+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 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
+}