diff options
author | Emil Rangden <emil.rangden@chas.se> | 2015-06-03 16:50:53 +0200 |
---|---|---|
committer | Emil Rangden <emil.rangden@chas.se> | 2015-06-03 16:50:53 +0200 |
commit | 165cb05ea5f42866a5b38521a8266f10045d48b2 (patch) | |
tree | d3757e34072844a6831add78f027b25bdb67a76f | |
parent | 0645f5eab7b98e57cbbf51cab7fc77b4762b44b7 (diff) |
fix spotify by using older libgcrypt
-rw-r--r-- | pkgs/development/libraries/libgcrypt/1.5.nix | 50 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 3 |
2 files changed, 53 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libgcrypt/1.5.nix b/pkgs/development/libraries/libgcrypt/1.5.nix new file mode 100644 index 000000000000..ebafd0747d8c --- /dev/null +++ b/pkgs/development/libraries/libgcrypt/1.5.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchurl +, libgpgerror + +# Optional Dependencies +, libcap ? null +}: + +let + mkFlag = trueStr: falseStr: cond: name: val: + if cond == null then null else + "--${if cond != false then trueStr else falseStr}${name}${if val != null && cond != false then "=${val}" else ""}"; + mkWith = mkFlag "with-" "without-"; + + shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (x: x == stdenv.system) pkg.meta.platforms then pkg else null; + + optLibcap = shouldUsePkg libcap; +in +stdenv.mkDerivation rec { + name = "libgcrypt-1.5.4"; + + src = fetchurl { + url = "mirror://gnupg/libgcrypt/${name}.tar.bz2"; + sha256 = "0czvqxkzd5y872ipy6s010ifwdwv29sqbnqc4pf56sd486gqvy6m"; + }; + + buildInputs = [ libgpgerror optLibcap ]; + + configureFlags = [ + (mkWith (optLibcap != null) "capabilities" 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 + postInstall = '' + sed -i 's,#include <gpg-error.h>,#include "${libgpgerror}/include/gpg-error.h",g' $out/include/gcrypt.h + '' + stdenv.lib.optionalString (!stdenv.isDarwin && optLibcap != null) '' + sed -i 's,\(-lcap\),-L${optLibcap}/lib \1,' $out/lib/libgcrypt.la + ''; + + doCheck = true; + + meta = with stdenv.lib; { + homepage = https://www.gnu.org/software/libgcrypt/; + description = "General-pupose cryptographic library"; + license = licenses.lgpl2Plus; + platforms = platforms.all; + maintainers = with maintainers; [ wkennington ]; + repositories.git = git://git.gnupg.org/libgcrypt.git; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d642c4188c74..d22f7d15498a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6763,6 +6763,8 @@ let libcap = null; }; + libgcrypt_1_5 = lowPrio (callPackage ../development/libraries/libgcrypt/1.5.nix { }); + libgdiplus = callPackage ../development/libraries/libgdiplus { }; libgksu = callPackage ../development/libraries/libgksu { }; @@ -12384,6 +12386,7 @@ let spotify = callPackage ../applications/audio/spotify { inherit (gnome) GConf; + libgcrypt = libgcrypt_1_5; libpng = libpng12; }; |