mirror of
https://github.com/gentoo-mirror/guru.git
synced 2025-04-19 07:49:00 -04:00
rakudo.eclass requires install-dist.raku installed by a modified version of dev-lang/rakudo. Gentoo overlay's dev-lang/rakudo doesn't install install-dist.raku. rakudo.eclass is minimal and elegant. dev-raku/* packages depend on rakudo.eclass. Signed-off-by: amano.kenji <amano.kenji@proton.me>
56 lines
1.4 KiB
Bash
56 lines
1.4 KiB
Bash
# Copyright 2023 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
# @ECLASS: rakudo.eclass
|
|
# @MAINTAINER:
|
|
# amano.kenji <amano.kenji@proton.me>
|
|
# @BLURB: An eclass for raku modules
|
|
|
|
EXPORT_FUNCTIONS src_compile src_install src_test
|
|
|
|
# @ECLASS_VARIABLE: rakudo_test_deps
|
|
# @DESCRIPTION:
|
|
# Packages that shouldn't run tests with dev-raku/App-Prove6
|
|
# @INTERNAL
|
|
declare -A rakudo_test_deps
|
|
rakudo_test_deps[dev-raku/App-Prove6]=1
|
|
rakudo_test_deps[dev-raku/Getopt-Long]=1
|
|
rakudo_test_deps[dev-raku/TAP]=1
|
|
|
|
if [ ${rakudo_test_deps[${CATEGORY}/${PN}]} ]; then
|
|
BDEPEND="dev-lang/rakudo:="
|
|
else
|
|
BDEPEND="dev-lang/rakudo:=
|
|
test? ( dev-raku/App-Prove6 )"
|
|
IUSE="test"
|
|
RESTRICT="!test? ( test )"
|
|
fi
|
|
RDEPEND="dev-lang/rakudo:="
|
|
|
|
# @FUNCTION: rakudo_symlink_bin
|
|
# @USAGE: <executable-in-/usr/share/perl6/vendor/bin>
|
|
# @DESCRIPTION:
|
|
# Make a symlink to /usr/share/perl6/vendor/bin/executable in /usr/bin
|
|
rakudo_symlink_bin() {
|
|
dosym "/usr/share/perl6/vendor/bin/$1" "/usr/bin/$1" || die
|
|
}
|
|
|
|
rakudo_src_compile() {
|
|
env RAKUDO_RERESOLVE_DEPENDENCIES=0 \
|
|
/usr/share/perl6/core/tools/install-dist.raku --only-build --from=. \
|
|
|| die
|
|
}
|
|
|
|
rakudo_src_install() {
|
|
einstalldocs
|
|
env RAKUDO_RERESOLVE_DEPENDENCIES=0 \
|
|
/usr/share/perl6/core/tools/install-dist.raku \
|
|
--to="${D}/usr/share/perl6/vendor" --for=vendor --from=. --build=False \
|
|
|| die
|
|
}
|
|
|
|
rakudo_src_test() {
|
|
[ ${rakudo_test_deps[${CATEGORY}/${PN}]} ] && return
|
|
prove6 --lib t/ || die
|
|
}
|