diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/libgcrypt | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libgcrypt')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libgcrypt/1.5.nix | 35 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libgcrypt/default.nix | 57 |
2 files changed, 92 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libgcrypt/1.5.nix b/nixpkgs/pkgs/development/libraries/libgcrypt/1.5.nix new file mode 100644 index 000000000000..4139af2eac2a --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libgcrypt/1.5.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchurl, libgpgerror, enableCapabilities ? false, libcap }: + +assert enableCapabilities -> stdenv.isLinux; + +stdenv.mkDerivation rec { + name = "libgcrypt-1.5.6"; + + src = fetchurl { + url = "mirror://gnupg/libgcrypt/${name}.tar.bz2"; + sha256 = "0ydy7bgra5jbq9mxl5x031nif3m6y3balc6ndw2ngj11wnsjc61h"; + }; + + 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.dev}/include/gpg-error.h",g' $out/include/gcrypt.h + '' + stdenv.lib.optionalString enableCapabilities '' + sed -i 's,\(-lcap\),-L${libcap.lib}/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/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix b/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix new file mode 100644 index 000000000000..173dc1f722b4 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchurl, gettext, libgpgerror, enableCapabilities ? false, libcap +, buildPackages +}: + +assert enableCapabilities -> stdenv.isLinux; + +stdenv.mkDerivation rec { + name = "libgcrypt-${version}"; + version = "1.8.4"; + + src = fetchurl { + url = "mirror://gnupg/libgcrypt/${name}.tar.bz2"; + sha256 = "09r27ywj9zplq6n9qw3mn7zmvf6y2jdmwx5d1kg8yqkj0qx18f7n"; + }; + + outputs = [ "out" "dev" "info" ]; + outputBin = "dev"; + + # The CPU Jitter random number generator must not be compiled with + # optimizations and the optimize -O0 pragma only works for gcc. + # The build enables -O2 by default for everything else. + hardeningDisable = stdenv.lib.optional stdenv.cc.isClang "fortify"; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + buildInputs = [ libgpgerror ] + ++ stdenv.lib.optional stdenv.isDarwin gettext + ++ stdenv.lib.optional enableCapabilities libcap; + + configureFlags = [ "--with-libgpg-error-prefix=${libgpgerror.dev}" ]; + + # Make sure libraries are correct for .pc and .la files + # Also make sure includes are fixed for callers who don't use libgpgcrypt-config + postFixup = '' + sed -i 's,#include <gpg-error.h>,#include "${libgpgerror.dev}/include/gpg-error.h",g' "$dev/include/gcrypt.h" + '' + stdenv.lib.optionalString enableCapabilities '' + sed -i 's,\(-lcap\),-L${libcap.lib}/lib \1,' $out/lib/libgcrypt.la + ''; + + # TODO: figure out why this is even necessary and why the missing dylib only crashes + # random instead of every test + preCheck = stdenv.lib.optionalString stdenv.isDarwin '' + mkdir -p $out/lib + cp src/.libs/libgcrypt.20.dylib $out/lib + ''; + + doCheck = true; + + meta = with stdenv.lib; { + homepage = https://www.gnu.org/software/libgcrypt/; + description = "General-purpose cryptographic library"; + license = licenses.lgpl2Plus; + platforms = platforms.all; + maintainers = [ maintainers.wkennington maintainers.vrthra ]; + repositories.git = git://git.gnupg.org/libgcrypt.git; + }; +} |