From 36834a04957af8ce830e7994eb00080bcc5a2f90 Mon Sep 17 00:00:00 2001 From: volth Date: Thu, 11 Oct 2018 22:45:44 +0000 Subject: [PATCH 1/4] perlPackages.LWP: fix cross-compilation --- pkgs/top-level/perl-packages.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ff7d672da36..0034db8864c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8854,6 +8854,10 @@ let sha256 = "dda2578d7b32152c4afce834761a61d117de286c705a9f7972c7ac6032ca5953"; }; propagatedBuildInputs = [ FileListing HTMLParser HTTPCookies HTTPDaemon HTTPNegotiate NetHTTP TryTiny WWWRobotRules ]; + # support cross-compilation by avoiding using `has_module` which does not work in miniperl (it requires B native module) + postPatch = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + substituteInPlace Makefile.PL --replace 'if has_module' 'if 0; #' + ''; meta = with stdenv.lib; { description = "The World-Wide Web library for Perl"; license = with licenses; [ artistic1 gpl1Plus ]; From 201d3ef704ba93476902e7b1acb789a92dab3c59 Mon Sep 17 00:00:00 2001 From: volth Date: Thu, 11 Oct 2018 22:46:55 +0000 Subject: [PATCH 2/4] perlPackages.XMLParser: fix cross-compilation --- pkgs/top-level/perl-packages.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0034db8864c..0e5dde02a1d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -17600,9 +17600,11 @@ let url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz; sha256 = "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s"; }; - patchPhase = if stdenv.isCygwin then '' + patchPhase = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + substituteInPlace Expat/Makefile.PL --replace 'use English;' '#' + '' + stdenv.lib.optionalString stdenv.isCygwin '' sed -i"" -e "s@my \$compiler = File::Spec->catfile(\$path, \$cc\[0\]) \. \$Config{_exe};@my \$compiler = File::Spec->catfile(\$path, \$cc\[0\]) \. (\$^O eq 'cygwin' ? \"\" : \$Config{_exe});@" inc/Devel/CheckLib.pm - '' else null; + ''; makeMakerFlags = "EXPATLIBPATH=${pkgs.expat.out}/lib EXPATINCPATH=${pkgs.expat.dev}/include"; propagatedBuildInputs = [ LWP ]; }; From 16d064cc961d4e85dc701b0de97dbd2e0fcd38d6 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 12 Oct 2018 09:43:29 +0000 Subject: [PATCH 3/4] perlPackages.JSON: apply cross-compilation patch only when needed --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0e5dde02a1d..abf24391802 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8011,7 +8011,7 @@ let sha256 = "0nlgdzy40q26z8qhwngsd461glyai8dpwaccyhiljmrkaqwdjxz2"; }; # Do not abort cross-compilation on failure to load native JSON module into host perl - preConfigure = '' + preConfigure = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' substituteInPlace Makefile.PL --replace "exit 0;" "" ''; buildInputs = [ TestPod ]; From 70858e21a1720992b619e1e78a262da8dd690e43 Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 12 Oct 2018 00:56:23 +0000 Subject: [PATCH 4/4] perlPackages.NetDBus: fix cross-compilation --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index abf24391802..e5f8186ea37 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -11111,7 +11111,7 @@ let url = "mirror://cpan/authors/id/D/DA/DANBERR/${name}.tar.gz"; sha256 = "8391696db9e96c374b72984c0bad9c7d1c9f3b4efe68f9ddf429a77548e0e269"; }; - nativeBuildInputs = [ pkgs.pkgconfig ]; + nativeBuildInputs = [ pkgs.buildPackages.pkgconfig ]; buildInputs = [ pkgs.dbus TestPod TestPodCoverage ]; propagatedBuildInputs = [ XMLTwig ]; meta = {