# 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 pkg_setup DEPEND="dev-lang/rakudo:=" RDEPEND="dev-lang/rakudo:=" # @FUNCTION: rakudo_set_repo # @USAGE: # @DESCRIPTION: Set $rakudo_repo to a repository like site and vendor and core. # Set $rakudo_repo_path to path to $rakudo_repo. rakudo_set_repo() { func="CompUnit::RepositoryRegistry.repository-for-name" repo=$(raku -e "say $func('$1')") rakudo_repo=$1 rakudo_repo_path=${repo#inst#} } # @ECLASS-VARIABLE: rakudo_repo # @DESCRIPTION: Name of repository used by rakudo.eclass # @INTERNAL rakudo_repo= # @ECLASS-VARIABLE: rakudo_repo_path # @DESCRIPTION: Path to raku repository used by rakudo.eclass # @INTERNAL rakudo_repo_path= # @FUNCTION: rakudo_bin_symlink # @USAGE: # @DESCRIPTION: Make a symlink to $rakudo_repo/bin/executable in /usr/bin rakudo_bin_symlink() { dosym "$rakudo_repo_path/bin/$1" "/usr/bin/$1" } rakudo_pkg_setup() { rakudo_set_repo site } rakudo_src_install() { env RAKUDO_RERESOLVE_DEPENDENCIES=0 \ raku-install-dist --to="${D}$rakudo_repo_path" --for=$rakudo_repo }