diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-01-18 12:07:00 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-01-18 12:10:34 +0000 |
commit | b0997077e77465b0773339b0bd643d424c771fa5 (patch) | |
tree | 7f1acd4891601da695f06b3576121dadd88b11f5 /pkgs/development/interpreters/perl | |
parent | f46ee73ba6851e458dedc78e3f0fe2c6eb099697 (diff) |
perl: don't use libxcrypt on FreeBSD
Tested by building pkgsCross.x86_64-freebsd.perl from x86_64-linux.
Diffstat (limited to 'pkgs/development/interpreters/perl')
-rw-r--r-- | pkgs/development/interpreters/perl/default.nix | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 4d95ebf2052bf..ce7947a842ca6 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -36,7 +36,16 @@ let optional crossCompiling "mini"; setOutputFlags = false; - propagatedBuildInputs = lib.optional enableCrypt libxcrypt; + # On FreeBSD, if Perl is built with threads support, having + # libxcrypt available will result in a build failure, because + # perl.h will get conflicting definitions of struct crypt_data + # from libc's unistd.h and libxcrypt's crypt.h. + # + # FreeBSD Ports has the same issue building the perl port if + # the libxcrypt port has been installed. + # + # Without libxcrypt, Perl will still find FreeBSD's crypt functions. + propagatedBuildInputs = lib.optional (enableCrypt && !stdenv.isFreeBSD) libxcrypt; disallowedReferences = [ stdenv.cc ]; |