You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
789 B
39 lines
789 B
{ stdenv |
|
, lib |
|
, makeWrapper |
|
, rakudo |
|
}: |
|
|
|
{ pname |
|
, version |
|
, src |
|
, buildInputs ? [] |
|
, nativeBuildInputs ? [] |
|
, rakuPackages ? [] |
|
}: |
|
|
|
let |
|
pname' = "raku-${rakudo.version}-${pname}"; |
|
rakuPath = lib.concatMapStrings (p: "{p}/lib/perl6/site_perl/${p.pname}-${p.version},") rakuPackages; |
|
in |
|
stdenv.mkDerivation { |
|
pname = pname'; |
|
inherit src version; |
|
|
|
nativeBuildInputs = [ makeWrapper ] ++ nativeBuildInputs; |
|
buildInputs = [ rakudo ] ++ buildInputs; |
|
|
|
dontBuild = true; |
|
doCheck = true; |
|
|
|
installPhase = '' |
|
mkdir -p $out/lib/perl6/site_perl/ |
|
cp -r bin/ $out/bin |
|
|
|
for bin in $out/bin/*; do |
|
wrapProgram $bin --set RAKUDOLIB ${rakuPath}$out/lib/perl6/site_perl/${pname}-${version} |
|
done |
|
|
|
cp -r lib/ $out/lib/perl6/site_perl/${pname}-${version} |
|
''; |
|
}
|
|
|