summaryrefslogtreecommitdiffstats
path: root/pkgs
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2022-09-26 22:04:58 +0200
committerMartin Weinelt <hexa@darmstadt.ccc.de>2022-10-09 18:07:54 +0200
commit3624ac24587b17d96d64446cd8dbbcf2158ab916 (patch)
treef1625a932e1b13f4c14757d54acbe824748f60d7 /pkgs
parente36bd3c473bf86f0ec18faee2f5aa310316ec7cd (diff)
perl: fix build with libxcrypt
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/interpreters/perl/default.nix6
-rw-r--r--pkgs/stdenv/linux/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix6
3 files changed, 11 insertions, 3 deletions
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 01122fd4cde6..4d95ebf2052b 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -1,10 +1,12 @@
{ config, lib, stdenv, fetchurl, fetchFromGitHub, pkgs, buildPackages
, callPackage
, enableThreading ? true, coreutils, makeWrapper
-, enableCrypt ? true
+, enableCrypt ? true, libxcrypt ? null
, zlib
}:
+assert (enableCrypt -> (libxcrypt != null));
+
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
@@ -34,6 +36,8 @@ let
optional crossCompiling "mini";
setOutputFlags = false;
+ propagatedBuildInputs = lib.optional enableCrypt libxcrypt;
+
disallowedReferences = [ stdenv.cc ];
patches =
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 03856d5c0711..dbaff342fb1a 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -221,7 +221,7 @@ in
# This is not an issue for the final stdenv, because this perl
# won't be included in the final stdenv and won't be exported to
# top-level pkgs as an override either.
- perl = super.perl.override { enableThreading = false; };
+ perl = super.perl.override { enableThreading = false; enableCrypt = false; };
};
})
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4e8b8c54f3a0..0b8a1145c78e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -20710,7 +20710,11 @@ with pkgs;
libx86 = callPackage ../development/libraries/libx86 {};
libxcrypt = callPackage ../development/libraries/libxcrypt {
- perl = perl.override { enableCrypt = false; };
+ fetchurl = stdenv.fetchurlBoot;
+ perl = perl.override {
+ enableCrypt = false;
+ fetchurl = stdenv.fetchurlBoot;
+ };
};
libxdg_basedir = callPackage ../development/libraries/libxdg-basedir { };