1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-23 14:11:36 +00:00

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.
This commit is contained in:
Daiderd Jordan 2017-08-05 15:20:13 +02:00
parent eb7312ca7d
commit 07796ccb57
No known key found for this signature in database
GPG key ID: D02435D05B810C96

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, libgpgerror, enableCapabilities ? false, libcap }: { stdenv, fetchurl, libgpgerror, enableCapabilities ? false, libcap }:
assert enableCapabilities -> stdenv.isLinux; assert enableCapabilities -> stdenv.isLinux;
@ -14,9 +14,13 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" "info" ]; outputs = [ "out" "dev" "info" ];
outputBin = "dev"; outputBin = "dev";
buildInputs = # The CPU Jitter random number generator must not be compiled with
[ libgpgerror ] # optimizations and the optimize -O0 pragma only works for gcc.
++ lib.optional enableCapabilities libcap; # 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 # Make sure libraries are correct for .pc and .la files
# Also make sure includes are fixed for callers who don't use libgpgcrypt-config # Also make sure includes are fixed for callers who don't use libgpgcrypt-config