summary refs log tree commit diff
path: root/pkgs/development/libraries/libgcrypt/default.nix
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2018-02-24 22:51:22 -0500
committerShea Levy <shea@shealevy.com>2018-02-24 22:51:22 -0500
commit1c1a6dfd239f519fdc25a3178464befb70a3b5f1 (patch)
tree6066837496d408370981e9d4881067a53f147aa6 /pkgs/development/libraries/libgcrypt/default.nix
parentf4a0c577b931bce454b351fc4bb92d9baed5d8fb (diff)
downloadnixpkgs-1c1a6dfd239f519fdc25a3178464befb70a3b5f1.tar
nixpkgs-1c1a6dfd239f519fdc25a3178464befb70a3b5f1.tar.gz
nixpkgs-1c1a6dfd239f519fdc25a3178464befb70a3b5f1.tar.bz2
nixpkgs-1c1a6dfd239f519fdc25a3178464befb70a3b5f1.tar.lz
nixpkgs-1c1a6dfd239f519fdc25a3178464befb70a3b5f1.tar.xz
nixpkgs-1c1a6dfd239f519fdc25a3178464befb70a3b5f1.tar.zst
nixpkgs-1c1a6dfd239f519fdc25a3178464befb70a3b5f1.zip
libgcrypt: Fix cross-compilation
Diffstat (limited to 'pkgs/development/libraries/libgcrypt/default.nix')
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix13
1 files changed, 12 insertions, 1 deletions
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 45564d64861..a02aefb0a74 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, gettext, libgpgerror, enableCapabilities ? false, libcap }:
+{ stdenv, fetchurl, gettext, libgpgerror, enableCapabilities ? false, libcap
+, buildPackages
+}:
 
 assert enableCapabilities -> stdenv.isLinux;
 
@@ -19,10 +21,19 @@ stdenv.mkDerivation rec {
   # The build enables -O2 by default for everything else.
   hardeningDisable = stdenv.lib.optional stdenv.cc.isClang "fortify";
 
+  depsBuildBuild = stdenv.lib.optional stdenv.isCross buildPackages.stdenv.cc;
+
   buildInputs = [ libgpgerror ]
     ++ stdenv.lib.optional stdenv.isDarwin gettext
     ++ stdenv.lib.optional enableCapabilities libcap;
 
+  preConfigure = if stdenv.isCross then ''
+    # This is intentional: gpg-error-config is a shell script that will work during the build
+    mkdir -p "$NIX_BUILD_TOP"/bin
+    ln -s ${libgpgerror.dev}/bin/gpg-error-config "$NIX_BUILD_TOP/bin"
+    export PATH="$NIX_BUILD_TOP/bin:$PATH"
+  '' else null;
+
   # Make sure libraries are correct for .pc and .la files
   # Also make sure includes are fixed for callers who don't use libgpgcrypt-config
   postFixup = ''