summary refs log tree commit diff
path: root/pkgs/development/libraries/libgcrypt
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-06-04 11:14:24 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-06-04 14:54:54 +0200
commit330d198be1b06c482f46545830e65bbeab3a35d1 (patch)
tree48e72cea8dbdcc98f08e5716c98bc5238adfde69 /pkgs/development/libraries/libgcrypt
parentc47e78bbeccd9b535140ca0a1157b48ca3def2d2 (diff)
downloadnixpkgs-330d198be1b06c482f46545830e65bbeab3a35d1.tar
nixpkgs-330d198be1b06c482f46545830e65bbeab3a35d1.tar.gz
nixpkgs-330d198be1b06c482f46545830e65bbeab3a35d1.tar.bz2
nixpkgs-330d198be1b06c482f46545830e65bbeab3a35d1.tar.lz
nixpkgs-330d198be1b06c482f46545830e65bbeab3a35d1.tar.xz
nixpkgs-330d198be1b06c482f46545830e65bbeab3a35d1.tar.zst
nixpkgs-330d198be1b06c482f46545830e65bbeab3a35d1.zip
libgcrypt: Revert to old style
Diffstat (limited to 'pkgs/development/libraries/libgcrypt')
-rw-r--r--pkgs/development/libraries/libgcrypt/1.5.nix29
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix42
2 files changed, 18 insertions, 53 deletions
diff --git a/pkgs/development/libraries/libgcrypt/1.5.nix b/pkgs/development/libraries/libgcrypt/1.5.nix
index ebafd0747d8..990e73d0a63 100644
--- a/pkgs/development/libraries/libgcrypt/1.5.nix
+++ b/pkgs/development/libraries/libgcrypt/1.5.nix
@@ -1,20 +1,7 @@
-{ stdenv, fetchurl
-, libgpgerror
+{ lib, stdenv, fetchurl, libgpgerror, enableCapabilities ? false, libcap }:
 
-# Optional Dependencies
-, libcap ? null
-}:
+assert enableCapabilities -> stdenv.isLinux;
 
-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";
 
@@ -23,18 +10,16 @@ stdenv.mkDerivation rec {
     sha256 = "0czvqxkzd5y872ipy6s010ifwdwv29sqbnqc4pf56sd486gqvy6m";
   };
 
-  buildInputs = [ libgpgerror optLibcap ];
-
-  configureFlags = [
-    (mkWith   (optLibcap != null) "capabilities"  null)
-  ];
+  buildInputs =
+    [ libgpgerror ]
+    ++ lib.optional enableCapabilities libcap;
 
   # 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
+  '' + stdenv.lib.optionalString enableCapabilities ''
+    sed -i 's,\(-lcap\),-L${libcap}/lib \1,' $out/lib/libgcrypt.la
   '';
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 7d327a499bc..b01caeb5dd3 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -1,24 +1,7 @@
-{ stdenv, fetchurl
-, libgpgerror
+{ lib, stdenv, fetchurl, libgpgerror, enableCapabilities ? false, libcap }:
 
-# Optional Dependencies
-, libcap ? null, pth ? null
-}:
+assert enableCapabilities -> stdenv.isLinux;
 
-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 ""}";
-  mkEnable = mkFlag "enable-" "disable-";
-  mkWith = mkFlag "with-" "without-";
-  mkOther = mkFlag "" "" true;
-
-  shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (x: x == stdenv.system) pkg.meta.platforms then pkg else null;
-
-  optLibcap = shouldUsePkg libcap;
-  #optPth = shouldUsePkg pth;
-  optPth = null; # Broken as of 1.6.3
-in
 stdenv.mkDerivation rec {
   name = "libgcrypt-1.6.3";
 
@@ -27,29 +10,26 @@ stdenv.mkDerivation rec {
     sha256 = "0pq2nwfqgggrsh8rk84659d80vfnlkbphwqjwahccd5fjdxr3d21";
   };
 
-  buildInputs = [ libgpgerror optLibcap optPth ];
-
-  configureFlags = [
-    (mkWith   (optLibcap != null) "capabilities"  null)
-    (mkEnable (optPth != null)    "random-daemon" null)
-  ];
+  buildInputs =
+    [ libgpgerror ]
+    ++ lib.optional enableCapabilities libcap;
 
   # 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
+  '' + stdenv.lib.optionalString enableCapabilities ''
+    sed -i 's,\(-lcap\),-L${libcap}/lib \1,' $out/lib/libgcrypt.la
   '';
 
   doCheck = true;
 
-  meta = with stdenv.lib; {
+  meta = {
     homepage = https://www.gnu.org/software/libgcrypt/;
     description = "General-pupose cryptographic library";
-    license = licenses.lgpl2Plus;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ wkennington ];
+    license = lib.licenses.lgpl2Plus;
+    platforms = lib.platforms.all;
+    maintainers = [ lib.maintainers.wkennington ];
     repositories.git = git://git.gnupg.org/libgcrypt.git;
   };
 }