From 06073ae7df9f0202c864a7d91ed9ac40b388fd4a Mon Sep 17 00:00:00 2001 From: Vika Date: Mon, 26 Aug 2019 13:40:21 +0300 Subject: [PATCH] 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. --- .../libraries/libargon2/default.nix | 27 ++++++++++--------- 1 file 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";