# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: rakudo # @MAINTAINER: # crocket <748856+crocket@users.noreply.github.com> # @BLURB: An eclass for raku modules EXPORT_FUNCTIONS src_install DEPEND="dev-lang/rakudo:=" RDEPEND="dev-lang/rakudo:=" # @FUNCTION: rakudo_get_repo # @USAGE: # @RETURN: path to raku's site repository rakudo_get_repo() { func="CompUnit::RepositoryRegistry.repository-for-name" site_repo=$(raku -e "say $func('$1')") echo ${site_repo#inst#} } # @FUNCTION: rakudo_bin_symlink # @USAGE: # @DESCRIPTION: Make a symlink to site-repository/bin/$2 in /usr/bin rakudo_bin_symlink() { repo=$(rakudo_get_repo $1) dosym "$repo/bin/$2" "/usr/bin/$2" } # @FUNCTION: rakudo_install # @USAGE: # @DESCRIPTION: Install rakudo module onto repository-name rakudo_install() { repo=$(rakudo_get_repo $1) env RAKUDO_RERESOLVE_DEPENDENCIES=0 \ raku-install-dist --to="${D}$repo" --for=$1 } rakudo_src_install() { rakudo_install site }