mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-16 06:29:17 +03:00
libgcrypt: Massive cleanup and make 1.6 the default
This commit is contained in:
parent
5e3fe3916a
commit
a71f78acf7
5 changed files with 50 additions and 111 deletions
|
@ -1,44 +0,0 @@
|
||||||
{ fetchurl, stdenv, libgpgerror, transfig, ghostscript, texinfo }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "libgcrypt-1.6.3";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
|
|
||||||
sha256 = "0pq2nwfqgggrsh8rk84659d80vfnlkbphwqjwahccd5fjdxr3d21";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ transfig ghostscript texinfo ];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ libgpgerror ];
|
|
||||||
|
|
||||||
preBuild = ''
|
|
||||||
(cd doc; make stamp-vti)
|
|
||||||
'';
|
|
||||||
|
|
||||||
doCheck = true;
|
|
||||||
|
|
||||||
crossAttrs = let
|
|
||||||
isCross64 = stdenv.cross.config == "x86_64-w64-mingw32";
|
|
||||||
in stdenv.lib.optionalAttrs isCross64 {
|
|
||||||
configureFlags = [ "--disable-asm" "--disable-padlock-support" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "General-pupose cryptographic library";
|
|
||||||
|
|
||||||
longDescription = ''
|
|
||||||
GNU Libgcrypt is a general purpose cryptographic library based on
|
|
||||||
the code from GnuPG. It provides functions for all
|
|
||||||
cryptographic building blocks: symmetric ciphers, hash
|
|
||||||
algorithms, MACs, public key algorithms, large integer
|
|
||||||
functions, random numbers and a lot of supporting functions.
|
|
||||||
'';
|
|
||||||
|
|
||||||
license = stdenv.lib.licenses.lgpl2Plus;
|
|
||||||
|
|
||||||
homepage = https://www.gnu.org/software/libgcrypt/;
|
|
||||||
repositories.git = git://git.gnupg.org/libgcrypt.git;
|
|
||||||
platforms = stdenv.lib.platforms.all;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,44 +1,55 @@
|
||||||
{ fetchurl, stdenv, libgpgerror }:
|
{ stdenv, fetchurl
|
||||||
|
, libgpgerror
|
||||||
|
|
||||||
stdenv.mkDerivation (rec {
|
# Optional Dependencies
|
||||||
name = "libgcrypt-1.5.4";
|
, libcap ? null, pth ? 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 ""}";
|
||||||
|
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";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
|
url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
|
||||||
sha256 = "d5f88d9f41a46953dc250cdb8575129b37ee2208401b7fa338c897f667c7fb33";
|
sha256 = "0pq2nwfqgggrsh8rk84659d80vfnlkbphwqjwahccd5fjdxr3d21";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ libgpgerror ];
|
buildInputs = [ libgpgerror optLibcap optPth ];
|
||||||
|
|
||||||
configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-asm";
|
configureFlags = [
|
||||||
|
(mkWith (optLibcap != null) "capabilities" null)
|
||||||
|
(mkEnable (optPth != null) "random-daemon" null)
|
||||||
|
];
|
||||||
|
|
||||||
doCheck = stdenv.system != "i686-linux"; # "basic" test fails after stdenv+glibc-2.18
|
# Make sure libraries are correct for .pc and .la files
|
||||||
|
# Also make sure includes are fixed for callers who don't use libgpgcrypt-config
|
||||||
# For some reason the tests don't find `libgpg-error.so'.
|
postInstall = ''
|
||||||
checkPhase = ''
|
sed -i 's,#include <gpg-error.h>,#include "${libgpgerror}/include/gpg-error.h",g' $out/include/gcrypt.h
|
||||||
LD_LIBRARY_PATH="${libgpgerror}/lib:$LD_LIBRARY_PATH" \
|
'' + stdenv.lib.optionalString (optLibcap != null) ''
|
||||||
make check
|
sed -i 's,\(-lcap\),-L${optLibcap}/lib \1,' $out/lib/libgcrypt.la
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [ ./no-build-timestamp.patch ];
|
doCheck = true;
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://www.gnu.org/software/libgcrypt/;
|
||||||
description = "General-pupose cryptographic library";
|
description = "General-pupose cryptographic library";
|
||||||
|
license = licenses.lgpl2Plus;
|
||||||
longDescription = ''
|
platforms = platforms.all;
|
||||||
GNU Libgcrypt is a general purpose cryptographic library based on
|
maintainers = with maintainers; [ wkennington ];
|
||||||
the code from GnuPG. It provides functions for all
|
repositories.git = git://git.gnupg.org/libgcrypt.git;
|
||||||
cryptographic building blocks: symmetric ciphers, hash
|
|
||||||
algorithms, MACs, public key algorithms, large integer
|
|
||||||
functions, random numbers and a lot of supporting functions.
|
|
||||||
'';
|
|
||||||
|
|
||||||
license = stdenv.lib.licenses.lgpl2Plus;
|
|
||||||
|
|
||||||
homepage = http://gnupg.org/;
|
|
||||||
platforms = stdenv.lib.platforms.all;
|
|
||||||
};
|
};
|
||||||
} # old "as" problem, see #616 and http://gnupg.10057.n7.nabble.com/Fail-to-build-on-freebsd-7-3-td30245.html
|
}
|
||||||
// stdenv.lib.optionalAttrs (stdenv.isFreeBSD && stdenv.isi686)
|
|
||||||
{ configureFlags = [ "--disable-aesni-support" ]; }
|
|
||||||
)
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff -ur libgcrypt-1.5.3.orig/configure libgcrypt-1.5.3/configure
|
|
||||||
--- libgcrypt-1.5.3.orig/configure 2013-07-25 11:22:47.000000000 +0200
|
|
||||||
+++ libgcrypt-1.5.3/configure 2014-04-09 00:17:58.659147199 +0200
|
|
||||||
@@ -16520,6 +16520,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
BUILD_TIMESTAMP=`date -u +%Y-%m-%dT%H:%M+0000 2>/dev/null || date`
|
|
||||||
+BUILD_TIMESTAMP=1970-01-01T00:01+0000
|
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
|
||||||
Only in libgcrypt-1.5.3: out
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv, fetchcvs, autoconf, automake, libtool, flex, bison, pkgconfig
|
{ stdenv, fetchcvs, autoconf, automake, libtool, flex, bison, pkgconfig
|
||||||
, zlib, bzip2, lzma, libgcrypt_1_6
|
, zlib, bzip2, lzma, libgcrypt
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = map mkStatic (o.buildInputs or []);
|
buildInputs = map mkStatic (o.buildInputs or []);
|
||||||
propagatedBuildInputs = map mkStatic (o.propagatedBuildInputs or []);
|
propagatedBuildInputs = map mkStatic (o.propagatedBuildInputs or []);
|
||||||
});
|
});
|
||||||
in map mkStatic [ zlib bzip2 lzma libgcrypt_1_6 ];
|
in map mkStatic [ zlib bzip2 lzma libgcrypt ];
|
||||||
|
|
||||||
configureFlags = "--disable-shared";
|
configureFlags = "--disable-shared";
|
||||||
|
|
||||||
|
|
|
@ -827,7 +827,6 @@ let
|
||||||
syslogng_incubator = callPackage ../tools/system/syslog-ng-incubator { };
|
syslogng_incubator = callPackage ../tools/system/syslog-ng-incubator { };
|
||||||
|
|
||||||
rsyslog = callPackage ../tools/system/rsyslog {
|
rsyslog = callPackage ../tools/system/rsyslog {
|
||||||
libgcrypt = libgcrypt_1_6;
|
|
||||||
czmq = null; # Currently Broken
|
czmq = null; # Currently Broken
|
||||||
hadoop = null; # Currently Broken
|
hadoop = null; # Currently Broken
|
||||||
};
|
};
|
||||||
|
@ -1512,13 +1511,9 @@ let
|
||||||
# use config.packageOverrides if you prefer original gnupg1
|
# use config.packageOverrides if you prefer original gnupg1
|
||||||
gnupg1 = gnupg1compat;
|
gnupg1 = gnupg1compat;
|
||||||
|
|
||||||
gnupg20 = callPackage ../tools/security/gnupg/20.nix {
|
gnupg20 = callPackage ../tools/security/gnupg/20.nix { };
|
||||||
libgcrypt = libgcrypt_1_6;
|
|
||||||
};
|
|
||||||
|
|
||||||
gnupg21 = callPackage ../tools/security/gnupg/21.nix {
|
gnupg21 = callPackage ../tools/security/gnupg/21.nix { };
|
||||||
libgcrypt = libgcrypt_1_6;
|
|
||||||
};
|
|
||||||
|
|
||||||
gnupg = gnupg20;
|
gnupg = gnupg20;
|
||||||
|
|
||||||
|
@ -6602,8 +6597,6 @@ let
|
||||||
|
|
||||||
libgcrypt = callPackage ../development/libraries/libgcrypt { };
|
libgcrypt = callPackage ../development/libraries/libgcrypt { };
|
||||||
|
|
||||||
libgcrypt_1_6 = lowPrio (callPackage ../development/libraries/libgcrypt/1.6.nix { });
|
|
||||||
|
|
||||||
libgdiplus = callPackage ../development/libraries/libgdiplus { };
|
libgdiplus = callPackage ../development/libraries/libgdiplus { };
|
||||||
|
|
||||||
libgksu = callPackage ../development/libraries/libgksu { };
|
libgksu = callPackage ../development/libraries/libgksu { };
|
||||||
|
@ -6848,9 +6841,7 @@ let
|
||||||
|
|
||||||
libosmpbf = callPackage ../development/libraries/libosmpbf {};
|
libosmpbf = callPackage ../development/libraries/libosmpbf {};
|
||||||
|
|
||||||
libotr = callPackage ../development/libraries/libotr {
|
libotr = callPackage ../development/libraries/libotr { };
|
||||||
libgcrypt = libgcrypt_1_6;
|
|
||||||
};
|
|
||||||
|
|
||||||
libotr_3_2 = callPackage ../development/libraries/libotr/3.2.nix { };
|
libotr_3_2 = callPackage ../development/libraries/libotr/3.2.nix { };
|
||||||
|
|
||||||
|
@ -8762,7 +8753,6 @@ let
|
||||||
python = python2;
|
python = python2;
|
||||||
pythonPackages = python2Packages;
|
pythonPackages = python2Packages;
|
||||||
kerberos = heimdal;
|
kerberos = heimdal;
|
||||||
libgcrypt = libgcrypt_1_6;
|
|
||||||
gnutls = gnutls33;
|
gnutls = gnutls33;
|
||||||
cups = if stdenv.isDarwin then null else cups;
|
cups = if stdenv.isDarwin then null else cups;
|
||||||
pam = if stdenv.isDarwin then null else pam;
|
pam = if stdenv.isDarwin then null else pam;
|
||||||
|
@ -9014,9 +9004,7 @@ let
|
||||||
|
|
||||||
criu = callPackage ../os-specific/linux/criu { };
|
criu = callPackage ../os-specific/linux/criu { };
|
||||||
|
|
||||||
cryptsetup = callPackage ../os-specific/linux/cryptsetup {
|
cryptsetup = callPackage ../os-specific/linux/cryptsetup { };
|
||||||
libgcrypt = libgcrypt_1_6;
|
|
||||||
};
|
|
||||||
|
|
||||||
cramfsswap = callPackage ../os-specific/linux/cramfsswap { };
|
cramfsswap = callPackage ../os-specific/linux/cramfsswap { };
|
||||||
|
|
||||||
|
@ -11042,13 +11030,9 @@ let
|
||||||
inherit (gnome3) goffice gnome_icon_theme;
|
inherit (gnome3) goffice gnome_icon_theme;
|
||||||
};
|
};
|
||||||
|
|
||||||
gnunet = callPackage ../applications/networking/p2p/gnunet {
|
gnunet = callPackage ../applications/networking/p2p/gnunet { };
|
||||||
libgcrypt = libgcrypt_1_6;
|
|
||||||
};
|
|
||||||
|
|
||||||
gnunet_svn = lowPrio (callPackage ../applications/networking/p2p/gnunet/svn.nix {
|
gnunet_svn = lowPrio (callPackage ../applications/networking/p2p/gnunet/svn.nix { });
|
||||||
libgcrypt = libgcrypt_1_6;
|
|
||||||
});
|
|
||||||
|
|
||||||
gocr = callPackage ../applications/graphics/gocr { };
|
gocr = callPackage ../applications/graphics/gocr { };
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue