summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmil Rangden <emil.rangden@chas.se>2015-06-03 16:50:53 +0200
committerEmil Rangden <emil.rangden@chas.se>2015-06-03 16:50:53 +0200
commit165cb05ea5f42866a5b38521a8266f10045d48b2 (patch)
treed3757e34072844a6831add78f027b25bdb67a76f
parent0645f5eab7b98e57cbbf51cab7fc77b4762b44b7 (diff)
fix spotify by using older libgcrypt
-rw-r--r--pkgs/development/libraries/libgcrypt/1.5.nix50
-rw-r--r--pkgs/top-level/all-packages.nix3
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;
};