gnupg: add withPcsc flag to disable PC/SC support

pcsclite pulls in a lot of dependencies, including spidermonkey, which is
nearly or completely impossible to build on 32-bit architectures. PC/SC support
is not commonly used, so provide a flag to allow users to disable it and
significantly reduce the closure size.
This commit is contained in:
Ben Wolsieffer 2022-09-12 18:22:33 -04:00
parent d9a1414346
commit d9a9dcca20

View File

@ -2,7 +2,8 @@
, libgpg-error, libiconv, npth, gettext, texinfo, buildPackages
, guiSupport ? stdenv.isDarwin, enableMinimal ? false
, adns, bzip2, gnutls, libusb1, openldap
, tpm2-tss, pcsclite, pinentry, readline, sqlite, zlib
, tpm2-tss, pinentry, readline, sqlite, zlib
, withPcsc ? !enableMinimal, pcsclite
}:
assert guiSupport -> enableMinimal == false;
@ -43,7 +44,7 @@ stdenv.mkDerivation rec {
];
postPatch = ''
sed -i 's,\(hkps\|https\)://keyserver.ubuntu.com,hkps://keys.openpgp.org,g' configure configure.ac doc/dirmngr.texi doc/gnupg.info-1
'' + lib.optionalString (stdenv.isLinux && (!enableMinimal)) ''
'' + lib.optionalString (stdenv.isLinux && withPcsc) ''
sed -i 's,"libpcsclite\.so[^"]*","${lib.getLib pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
'';