Merge pull request #56019 from illegalprime/fix/perlPackages.TermReadKey-cross
perlPackages.TermReadKey: add workarounds for cross compilation
This commit is contained in:
commit
573a6930a0
@ -1,4 +1,4 @@
|
|||||||
{ lib, stdenv, perl }:
|
{ lib, stdenv, perl, buildPackages }:
|
||||||
|
|
||||||
{ nativeBuildInputs ? [], name, ... } @ attrs:
|
{ nativeBuildInputs ? [], name, ... } @ attrs:
|
||||||
|
|
||||||
@ -37,6 +37,6 @@ stdenv.mkDerivation (
|
|||||||
name = "perl${perl.version}-${name}";
|
name = "perl${perl.version}-${name}";
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
nativeBuildInputs = nativeBuildInputs ++ [ (perl.dev or perl) ];
|
nativeBuildInputs = nativeBuildInputs ++ [ (perl.dev or perl) ];
|
||||||
inherit perl;
|
perl = buildPackages.perl;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -5,7 +5,8 @@
|
|||||||
for each package in a separate file: the call to the function would
|
for each package in a separate file: the call to the function would
|
||||||
be almost as much code as the function itself. */
|
be almost as much code as the function itself. */
|
||||||
|
|
||||||
{config, pkgs, fetchurl, fetchFromGitHub, stdenv, gnused, perl, overrides}:
|
{config, pkgs, fetchurl, fetchFromGitHub, stdenv, gnused, perl, overrides,
|
||||||
|
buildPackages}:
|
||||||
|
|
||||||
# cpan2nix assumes that perl-packages.nix will be used only with perl 5.28.1 or above
|
# cpan2nix assumes that perl-packages.nix will be used only with perl 5.28.1 or above
|
||||||
assert stdenv.lib.versionAtLeast perl.version "5.28.1";
|
assert stdenv.lib.versionAtLeast perl.version "5.28.1";
|
||||||
@ -14634,6 +14635,22 @@ let
|
|||||||
url = "mirror://cpan/authors/id/J/JS/JSTOWE/${name}.tar.gz";
|
url = "mirror://cpan/authors/id/J/JS/JSTOWE/${name}.tar.gz";
|
||||||
sha256 = "143jlibah1g14bym7sj3gphvqkpj1w4vn7sqc4vc62jpviw5hr2s";
|
sha256 = "143jlibah1g14bym7sj3gphvqkpj1w4vn7sqc4vc62jpviw5hr2s";
|
||||||
};
|
};
|
||||||
|
cross = stdenv.hostPlatform != stdenv.buildPlatform;
|
||||||
|
|
||||||
|
# use native libraries from the host when running build commands
|
||||||
|
postConfigure = if cross then let
|
||||||
|
host_perl = buildPackages.perl;
|
||||||
|
host_self = buildPackages.perlPackages.TermReadKey;
|
||||||
|
perl_lib = "${host_perl}/lib/perl5/${host_perl.version}";
|
||||||
|
self_lib = "${host_self}/lib/perl5/site_perl/${host_perl.version}";
|
||||||
|
in ''
|
||||||
|
sed -ie 's|"-I$(INST_ARCHLIB)"|"-I${perl_lib}" "-I${self_lib}"|g' Makefile
|
||||||
|
'' else null;
|
||||||
|
|
||||||
|
# TermReadKey uses itself in the build process
|
||||||
|
nativeBuildInputs = if cross then [
|
||||||
|
buildPackages.perlPackages.TermReadKey
|
||||||
|
] else [];
|
||||||
};
|
};
|
||||||
|
|
||||||
TermReadLineGnu = buildPerlPackage rec {
|
TermReadLineGnu = buildPerlPackage rec {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user