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