base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / security / gnupg / 1.nix
blob390665fe44fd8e9937cd41e2e59d2c94aa1fe31a
1 { lib, stdenv, fetchurl, readline, bzip2 }:
3 stdenv.mkDerivation rec {
4   pname = "gnupg";
5   version = "1.4.23";
7   src = fetchurl {
8     url = "mirror://gnupg/gnupg/gnupg-${version}.tar.bz2";
9     sha256 = "1fkq4sqldvf6a25mm2qz95swv1qjg464736091w51djiwqbjyin9";
10   };
12   buildInputs = [ readline bzip2 ];
14   # Workaround build failure on -fno-common toolchains like upstream
15   # gcc-10. Otherwise build fails as:
16   #   ld: ../util/libutil.a(estream-printf.o):/build/gnupg-1.4.23/util/../include/memory.h:100: multiple definition of
17   #     `memory_debug_mode'; gpgsplit.o:/build/gnupg-1.4.23/tools/../include/memory.h:100: first defined here
18   env.NIX_CFLAGS_COMPILE = "-fcommon";
20   doCheck = true;
22   meta = with lib; {
23     homepage = "https://gnupg.org";
24     description = "Classic (1.4) release of the GNU Privacy Guard, a GPL OpenPGP implementation";
25     license = licenses.gpl3Plus;
26     longDescription = ''
27       The GNU Privacy Guard is the GNU project's complete and free
28       implementation of the OpenPGP standard as defined by RFC4880.  GnuPG
29       "classic" (1.4) is the old standalone version which is most suitable for
30       older or embedded platforms.  GnuPG allows to encrypt and sign your data
31       and communication, features a versatile key management system as well as
32       access modules for all kind of public key directories.  GnuPG, also known
33       as GPG, is a command line tool with features for easy integration with
34       other applications.  A wealth of frontend applications and libraries are
35       available.
36     '';
37     platforms = platforms.all;
38     mainProgram = "gpg";
39   };