Loading pkgs/development/interpreters/rakudo/default.nix +9 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-rCLlLxFexk2fzuuSMrJjbwhgU+HgJNX6Ect6uCsuJmo="; }; postPatch = '' substituteInPlace src/core.c/CompUnit/Repository/Installation.rakumod \ --subst-var out ''; patches = [ ./rakudo-plain-wrapper.patch ]; configureScript = "${lib.getExe perl} ./Configure.pl"; configureFlags = [ "--backends=moar" Loading pkgs/development/interpreters/rakudo/rakudo-plain-wrapper.patch 0 → 100644 +13 −0 Original line number Diff line number Diff line --- a/src/core.c/CompUnit/Repository/Installation.rakumod +++ b/src/core.c/CompUnit/Repository/Installation.rakumod @@ -848,6 +848,10 @@ my $val = $1.Str; given $op { when "plain" | "plat-sep" { + # use rakudo from our store path and avoid PATH lookups + if $val ~~ / ^ "rakudo" / { + return '"@out@/bin/' ~ sh-escape($val) ~ '"'; + } return '"' ~ sh-escape($val) ~ '"'; } when "cmd-args" { Loading
pkgs/development/interpreters/rakudo/default.nix +9 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-rCLlLxFexk2fzuuSMrJjbwhgU+HgJNX6Ect6uCsuJmo="; }; postPatch = '' substituteInPlace src/core.c/CompUnit/Repository/Installation.rakumod \ --subst-var out ''; patches = [ ./rakudo-plain-wrapper.patch ]; configureScript = "${lib.getExe perl} ./Configure.pl"; configureFlags = [ "--backends=moar" Loading
pkgs/development/interpreters/rakudo/rakudo-plain-wrapper.patch 0 → 100644 +13 −0 Original line number Diff line number Diff line --- a/src/core.c/CompUnit/Repository/Installation.rakumod +++ b/src/core.c/CompUnit/Repository/Installation.rakumod @@ -848,6 +848,10 @@ my $val = $1.Str; given $op { when "plain" | "plat-sep" { + # use rakudo from our store path and avoid PATH lookups + if $val ~~ / ^ "rakudo" / { + return '"@out@/bin/' ~ sh-escape($val) ~ '"'; + } return '"' ~ sh-escape($val) ~ '"'; } when "cmd-args" {