From 3624ac24587b17d96d64446cd8dbbcf2158ab916 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Mon, 26 Sep 2022 22:04:58 +0200 Subject: [PATCH] perl: fix build with libxcrypt --- pkgs/development/interpreters/perl/default.nix | 6 +++++- pkgs/stdenv/linux/default.nix | 2 +- pkgs/top-level/all-packages.nix | 6 +++++- 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 { };