libgcrypt: Revert to old style

This commit is contained in:
Eelco Dolstra 2015-06-04 11:14:24 +02:00
parent c47e78bbec
commit 330d198be1
3 changed files with 20 additions and 59 deletions

View file

@ -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;

View file

@ -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;
};
}

View file

@ -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 { };