Skip to content

Commit

Permalink
Merge pull request #95623 from lopsided98/perl-cross-shebang
Browse files Browse the repository at this point in the history
buildPerlPackage: fix patchShebangs when cross-compiling
  • Loading branch information
Ericson2314 authored Aug 24, 2020
2 parents 34f77c0 + d7e3e03 commit 6cbd695
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
16 changes: 8 additions & 8 deletions pkgs/development/interpreters/perl/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ let

# TODO: Add a "dev" output containing the header files.
outputs = [ "out" "man" "devdoc" ] ++
optional crossCompiling "dev";
optional crossCompiling "mini";
setOutputFlags = false;

disallowedReferences = [ stdenv.cc ];
Expand Down Expand Up @@ -144,13 +144,13 @@ let
--replace "$man" /no-such-path
'' + optionalString crossCompiling
''
mkdir -p $dev/lib/perl5/cross_perl/${version}
mkdir -p $mini/lib/perl5/cross_perl/${version}
for dir in cnf/{stub,cpan}; do
cp -r $dir/* $dev/lib/perl5/cross_perl/${version}
cp -r $dir/* $mini/lib/perl5/cross_perl/${version}
done
mkdir -p $dev/bin
install -m755 miniperl $dev/bin/perl
mkdir -p $mini/bin
install -m755 miniperl $mini/bin/perl
export runtimeArch="$(ls $out/lib/perl5/site_perl/${version})"
# wrapProgram should use a runtime-native SHELL by default, but
Expand All @@ -161,9 +161,9 @@ let
# miniperl can't load the native modules there. However, it can
# (and sometimes needs to) load and run some of the pure perl
# code there, so we add it anyway. When needed, stubs can be put
# into $dev/lib/perl5/cross_perl/${version}.
wrapProgram $dev/bin/perl --prefix PERL5LIB : \
"$dev/lib/perl5/cross_perl/${version}:$out/lib/perl5/${version}:$out/lib/perl5/${version}/$runtimeArch"
# into $mini/lib/perl5/cross_perl/${version}.
wrapProgram $mini/bin/perl --prefix PERL5LIB : \
"$mini/lib/perl5/cross_perl/${version}:$out/lib/perl5/${version}:$out/lib/perl5/${version}/$runtimeArch"
''; # */

meta = {
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/interpreters/perl/setup-hook-cross.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ addPerlLibPath () {
addToSearchPath PERL5LIB $1/lib/perl5/site_perl/@version@/@runtimeArch@
}

addEnvHooks "$targetOffset" addPerlLibPath
addEnvHooks "$hostOffset" addPerlLibPath
2 changes: 1 addition & 1 deletion pkgs/development/perl-modules/generic/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ toPerlModule(stdenv.mkDerivation (
version = lib.getVersion attrs; # TODO: phase-out `attrs.name`
builder = ./builder.sh;
buildInputs = buildInputs ++ [ perl ];
nativeBuildInputs = nativeBuildInputs ++ [ (perl.dev or perl) ];
nativeBuildInputs = nativeBuildInputs ++ [ (perl.mini or perl) ];
fullperl = buildPerl;
}
))

0 comments on commit 6cbd695

Please sign in to comment.