diff options
author | Daiderd Jordan <daiderd@gmail.com> | 2017-08-05 15:20:13 +0200 |
---|---|---|
committer | Daiderd Jordan <daiderd@gmail.com> | 2017-08-05 15:20:13 +0200 |
commit | 07796ccb578e44b8545133bb7dc2a73537d94c59 (patch) | |
tree | d8b5c1d7a9d1df11559ce62d95d311f9713a00a8 /pkgs/development/libraries | |
parent | eb7312ca7d00cd4d8d424b8f79e1c37c1b4991bf (diff) | |
download | nixlib-07796ccb578e44b8545133bb7dc2a73537d94c59.tar nixlib-07796ccb578e44b8545133bb7dc2a73537d94c59.tar.gz nixlib-07796ccb578e44b8545133bb7dc2a73537d94c59.tar.bz2 nixlib-07796ccb578e44b8545133bb7dc2a73537d94c59.tar.lz nixlib-07796ccb578e44b8545133bb7dc2a73537d94c59.tar.xz nixlib-07796ccb578e44b8545133bb7dc2a73537d94c59.tar.zst nixlib-07796ccb578e44b8545133bb7dc2a73537d94c59.zip |
libgcrypt: fix clang build
Fixes #27906 Because #pragma GCC optimize ("O0") doesn't work for clang and NIX_CFLAGS_COMPILE bypasses the fixup done by the makefiles everything gets compiled with -O2. The build still uses optimisation for everything else.
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r-- | pkgs/development/libraries/libgcrypt/default.nix | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index ed742bee8741..5bcb8c5fe98a 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, libgpgerror, enableCapabilities ? false, libcap }: +{ stdenv, fetchurl, libgpgerror, enableCapabilities ? false, libcap }: assert enableCapabilities -> stdenv.isLinux; @@ -14,9 +14,13 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" "info" ]; outputBin = "dev"; - buildInputs = - [ libgpgerror ] - ++ lib.optional enableCapabilities libcap; + # The CPU Jitter random number generator must not be compiled with + # optimizations and the optimize -O0 pragma only works for gcc. + # The build enables -O2 by default for everything else. + hardeningDisable = stdenv.lib.optional stdenv.cc.isClang "fortify"; + + buildInputs = [ libgpgerror ] + ++ stdenv.lib.optional enableCapabilities libcap; # Make sure libraries are correct for .pc and .la files # Also make sure includes are fixed for callers who don't use libgpgcrypt-config |