summary refs log tree commit diff
path: root/pkgs
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
parentc47e78bbeccd9b535140ca0a1157b48ca3def2d2 (diff)
downloadnixlib-330d198be1b06c482f46545830e65bbeab3a35d1.tar
nixlib-330d198be1b06c482f46545830e65bbeab3a35d1.tar.gz
nixlib-330d198be1b06c482f46545830e65bbeab3a35d1.tar.bz2
nixlib-330d198be1b06c482f46545830e65bbeab3a35d1.tar.lz
nixlib-330d198be1b06c482f46545830e65bbeab3a35d1.tar.xz
nixlib-330d198be1b06c482f46545830e65bbeab3a35d1.tar.zst
nixlib-330d198be1b06c482f46545830e65bbeab3a35d1.zip
libgcrypt: Revert to old style
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/libgcrypt/1.5.nix29
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix42
-rw-r--r--pkgs/top-level/all-packages.nix8
3 files changed, 20 insertions, 59 deletions
diff --git a/pkgs/development/libraries/libgcrypt/1.5.nix b/pkgs/development/libraries/libgcrypt/1.5.nix
index ebafd0747d8c..990e73d0a63e 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 7d327a499bcc..b01caeb5dd35 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;
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b06895ecb058..f39a2836a1c5 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6787,13 +6787,9 @@ let
 
   libftdi1 = callPackage ../development/libraries/libftdi/1.x.nix { };
 
-  libgcrypt = callPackage ../development/libraries/libgcrypt {
-    # Breaks packages that expect to have elevated privileges
-    # Ex. Lightdm, cryptsetup
-    libcap = null;
-  };
+  libgcrypt = callPackage ../development/libraries/libgcrypt { };
 
-  libgcrypt_1_5 = lowPrio (callPackage ../development/libraries/libgcrypt/1.5.nix { });
+  libgcrypt_1_5 = callPackage ../development/libraries/libgcrypt/1.5.nix { };
 
   libgdiplus = callPackage ../development/libraries/libgdiplus { };