about summary refs log tree commit diff
path: root/pkgs/development/libraries/libargon2
diff options
context:
space:
mode:
authorVika <kisik21@fireburn.ru>2019-08-26 13:40:21 +0300
committerVika <kisik21@fireburn.ru>2019-08-28 19:35:19 +0300
commit06073ae7df9f0202c864a7d91ed9ac40b388fd4a (patch)
tree910057fc13f06e73b6eb54f409750d9c271f4a13 /pkgs/development/libraries/libargon2
parent3f6d0a981a56a55c47cdbdc5f44ddb0372d00909 (diff)
downloadnixlib-06073ae7df9f0202c864a7d91ed9ac40b388fd4a.tar
nixlib-06073ae7df9f0202c864a7d91ed9ac40b388fd4a.tar.gz
nixlib-06073ae7df9f0202c864a7d91ed9ac40b388fd4a.tar.bz2
nixlib-06073ae7df9f0202c864a7d91ed9ac40b388fd4a.tar.lz
nixlib-06073ae7df9f0202c864a7d91ed9ac40b388fd4a.tar.xz
nixlib-06073ae7df9f0202c864a7d91ed9ac40b388fd4a.tar.zst
nixlib-06073ae7df9f0202c864a7d91ed9ac40b388fd4a.zip
libargon2: fixed cross-compilation
Makefile had a hardcoded unprefixed ar. I wrote a patch (sending it
upstream) and added an optional make flag to override it in case we're
cross-compiling.

Unfortunately, this causes a rebuild of native packages.

This commit also fixes the pkg-config file to be generated correctly,
patch was provided by @worldofpeace.
Diffstat (limited to 'pkgs/development/libraries/libargon2')
-rw-r--r--pkgs/development/libraries/libargon2/default.nix27
1 files changed, 15 insertions, 12 deletions
diff --git a/pkgs/development/libraries/libargon2/default.nix b/pkgs/development/libraries/libargon2/default.nix
index c0dd406dd31f..9bf05a679cc0 100644
--- a/pkgs/development/libraries/libargon2/default.nix
+++ b/pkgs/development/libraries/libargon2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "libargon2";
@@ -11,18 +11,21 @@ stdenv.mkDerivation rec {
     sha256 = "0p4ry9dn0mi9js0byijxdyiwx74p1nr8zj7wjpd1fjgqva4sk23i";
   };
 
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/lib/pkgconfig
-    substitute libargon2.pc $out/lib/pkgconfig/libargon2.pc \
-      --replace @UPSTREAM_VER@ "${version}"                 \
-      --replace @HOST_MULTIARCH@ ""                         \
-      --replace 'prefix=/usr' "prefix=$out"
+  patches = [
+    # TODO: remove when https://github.com/P-H-C/phc-winner-argon2/pull/277 is merged + released
+    (fetchpatch {
+      url = "https://github.com/P-H-C/phc-winner-argon2/commit/cd1c1d8d204e4ec4557e358013567c097cb70562.patch";
+      sha256 = "0whqv8b6q9602n7vxpzbd8bk8wz22r1jz9x5lrm9z7ib3wz81c8a";
+    })
+  ];
 
-    make install PREFIX=$out LIBRARY_REL=lib
-    ln -s $out/lib/libargon2.so $out/lib/libargon2.so.0
-    runHook postInstall
-  '';
+  makeFlags = [
+    "AR=${stdenv.cc.targetPrefix}ar" # Fix cross-compilation
+    "PREFIX=${placeholder "out"}"
+    "ARGON2_VERSION=${version}"
+    "LIBRARY_REL=lib"
+    "PKGCONFIG_REL=lib"
+  ];
 
   meta = with stdenv.lib; {
     description = "A key derivation function that was selected as the winner of the Password Hashing Competition in July 2015";