repo/gentoo:master commit in: app-crypt/gnupg/
"Sam James" <[email protected]>
| Newsgroups | gmane.linux.gentoo.cvs |
|---|---|
| Message-ID | <1786666446.6f33a772199fe94fad2f18e603d041fe68fbaee8.sam@gentoo> |
commit: 6f33a772199fe94fad2f18e603d041fe68fbaee8
Author: Brett A C Sheffield <bacs <AT> librecast <DOT> net>
AuthorDate: Sat Aug 1 16:17:54 2026 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 14 00:14:06 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f33a772
app-crypt/gnupg: drop 2.4.9, 2.5.17-r2, 2.5.18, 2.5.19, 2.5.20
Dropping vulnerable 2.5.x versions as well as EOL 2.4.x. Release notes
state that "as always with GnuPG, new versions are fully compatible with
previous versions", so there's no need to keep 2.4.x for compatibility.
Bug: https://bugs.gentoo.org/974896
Signed-off-by: Brett A C Sheffield <bacs <AT> librecast.net>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/1602
Signed-off-by: Sam James <sam <AT> gentoo.org>
app-crypt/gnupg/Manifest | 8 --
app-crypt/gnupg/gnupg-2.4.9.ebuild | 218 --------------------------------
app-crypt/gnupg/gnupg-2.5.17-r2.ebuild | 221 ---------------------------------
app-crypt/gnupg/gnupg-2.5.18.ebuild | 219 --------------------------------
app-crypt/gnupg/gnupg-2.5.19.ebuild | 218 --------------------------------
app-crypt/gnupg/gnupg-2.5.20.ebuild | 221 ---------------------------------
6 files changed, 1105 deletions(-)
diff --git a/app-crypt/gnupg/Manifest b/app-crypt/gnupg/Manifest
index 99a7f747f13f..d87e487bb0d2 100644
--- a/app-crypt/gnupg/Manifest
+++ b/app-crypt/gnupg/Manifest
@@ -1,11 +1,3 @@
-DIST gnupg-2.4.9.tar.bz2 8086407 BLAKE2B 5bbd278c570d3e389ab26dd37e1adac6c1b19f9bd369ebf30d75f48d0ab901c6f5fe4e4713b763f57b9e74efab654186ebff1a968348b0b9f70c82618b4b3b62 SHA512 4638016b390a0024fa0cbe14181c43a81991e4275043855397ef099b927985d175d32452fc15b06485623b9292662dd6da464b2e5def8b77b2e4e48a072ab521
-DIST gnupg-2.4.9.tar.bz2.sig 147 BLAKE2B fbf956c0659d9e2a5df9ceb6911ebea8591fd1b647d81e0f324b688271493519d7d25025d9d8d7906e706f57031429c8d8a3ba79c8ab7e300631137ebb38eedf SHA512 03328ba7de3faab1aab025784ef16cc04dd34d2cc09db2c513b7e38836b8036e04d2bb3c71aa64769b5a40a7a877373ee2d11b6e2bf8b67938216277dcd18a6f
-DIST gnupg-2.5.17.tar.bz2 8308629 BLAKE2B e52c4cf6219a8ce877511c2cfb2e32abf9fafc66c280ddd5f37b7dc6abffaeb60a5ebe925332fd00735a81bb8bb9ebeff79d04d112bd52ec00c2e8692cea6eb0 SHA512 8c1fe6afb04034ed1579080cf8d384f5b331ac1bc277f77c8e9103d29971c944fcb4c072586d2c045630ef34483b355a1b35f1785dded6f8d8da1e4760bef308
-DIST gnupg-2.5.17.tar.bz2.sig 119 BLAKE2B b404b6cdff76187c410a7751708e1cbb0ad173658b8c0dde9726063b16c6e9d5c673cb6ae86142e00ca48790dc314968625ec6aa2364ba4a48a3cf0c03e9b06f SHA512 385de45addf2c857ebf054bcc85d03d4fc0ccd70149138baac5cfcefccd7c0b0e48219dd9da757f36b1c6411816dcb43213920442796da03fb38ee59709877a4
-DIST gnupg-2.5.18.tar.bz2 8307830 BLAKE2B 5d591f609a580c5e9a023c83707ad4baf3794595ff08eaa571c619bf5469fe32ca787cd39be3d0572cb8021e1dc66135d9523009e92c9c3b862ccd53a7060b12 SHA512 34542728ef09d23d63af21cfbc943e4a81a1c367b2bf4b892afe7428b06eaa3d105e34f5dcec1758e91ec9bac1c13fdd72418d946cd8580e34c07b57a07139a2
-DIST gnupg-2.5.18.tar.bz2.sig 266 BLAKE2B d7d9de7cf9dd3468e1cc1b03b766b81136cd90149046fe5990c449e055b3228b24c2e51f0d7c2113b3b0dfffd25d9b11df5b0f36e9964a5626795a3499cae784 SHA512 a9d79e92e61ae4e39c13d5659dc07de8f10d042e14faa88f97776ecb77cc65480ae4a687aa74d6c3cc8c102636ac69be7f10fb61ee1da678d6c92b5eefaffa36
-DIST gnupg-2.5.19.tar.bz2 8322515 BLAKE2B 2497ecc9345d7b38d3fd9e5685a1ba047713e95e27c78a5c1bfd9848dd5719506763127625a3550babd0b1e66430a0390a8687ad75b1f57929866fae01ecbad4 SHA512 3f20cd4cbf6cd57e458b3e5e60f9d3d06ae71ae26681257f313ba0fe3a04245560149b5b39220a7ec8fb1f94b67e47a021c72b72c55f2c3f511e32e463df87fa
-DIST gnupg-2.5.19.tar.bz2.sig 119 BLAKE2B 0236943996ae324553f7554efac400e8f540be14b42bebe17c6338d0d3e045cdf62fe8533f4a84c1053a29ee475cd69e40045797857db1d213527134e616d642 SHA512 679163b60d0dd91741b1f6ea39203f919ba19b44784709ae6ea95f546f1c2a2b0e5e59b5cac9b3150b66aba0d5be82648244a2aa80bf7b0f2dba3756b164b68a
DIST gnupg-2.5.20.tar.bz2 8327674 BLAKE2B 5a2890203cf4ac52d86897ffb104896c5cbc8ab6f088336f423cb539ae0d917e6df0dcb99b8d51d2d6cdc4068e5570e63982e78c14631a332b4fa87ba0ae16bb SHA512 73e5f3020271069421c220871caffcb6ec05c52a8e12d8dcbd214ce2b14a2b22ce0030d9e1fedf25c60ec1077a33630b0a6bd1cc1043fbbaf7083b998113f90f
DIST gnupg-2.5.20.tar.bz2.sig 119 BLAKE2B fc54197b59aad9cb26cfcef062a25f882cf26e5cf8ca0c9d3672d4501cbe453b3334225291b3d4fbc4a49c7bb52102963a5386e9b59b4ec10a0385fe8be004b6 SHA512 0a54e9df9f1d6aa6d2f5fb841a3ae36d7530d3ab34bc7635892f58020e73e950a420120430206860e5eb4a7dc7b668f03e31eb42e381b25c4bca07f3e5f2f95b
DIST gnupg-2.5.21.tar.bz2 8351785 BLAKE2B 3d00cb6e7779358886a8bb8710f5e00e43dfed6e4f495c8ae93b653ac7a688f4c622e721f64a657fd48ed2135c378d456e88828a1e0f5745ccf701cfd0b77d47 SHA512 dcc4e976e56411c0dd7309c0cb7e790b409709af55bb93883d257890abe72b17442d6c8fd682fef0e019d70e46a6a5cf860f1ae355a99024ed2aea230de8c0ea
diff --git a/app-crypt/gnupg/gnupg-2.4.9.ebuild b/app-crypt/gnupg/gnupg-2.4.9.ebuild
deleted file mode 100644
index 51958f020874..000000000000
--- a/app-crypt/gnupg/gnupg-2.4.9.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Maintainers should:
-# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
-# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
-# (find the one for the current release then subscribe to it +
-# any subsequent ones linked within so you're covered for a while.)
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
-# in-source builds are not supported: https://dev.gnupg.org/T6313#166339
-inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
-HOMEPAGE="https://gnupg.org/"
-SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
-SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="+alternatives bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( tofu )"
-
-# Existence of executables is checked during configuration.
-# Note: On each bump, update dep bounds on each version from configure.ac!
-DEPEND="
- >=dev-libs/libassuan-2.5.0:=
- >=dev-libs/libgcrypt-1.9.1:=
- >=dev-libs/libgpg-error-1.48
- >=dev-libs/libksba-1.6.3
- >=dev-libs/npth-1.2
- virtual/zlib:=
- bzip2? ( app-arch/bzip2 )
- ldap? ( net-nds/openldap:= )
- readline? ( sys-libs/readline:0= )
- smartcard? ( usb? ( virtual/libusb:1 ) )
- tofu? ( >=dev-db/sqlite-3.27 )
- tpm? ( >=app-crypt/tpm2-tss-2.4.0:= )
- ssl? ( >=net-libs/gnutls-3.2:0= )
-"
-RDEPEND="
- ${DEPEND}
- nls? ( virtual/libintl )
- selinux? ( sec-policy/selinux-gpg )
- wks-server? ( virtual/mta )
-"
-PDEPEND="
- app-crypt/pinentry
- alternatives? (
- app-alternatives/gpg[-freepg(-)]
- )
-"
-BDEPEND="
- virtual/pkgconfig
- doc? ( sys-apps/texinfo )
- nls? ( sys-devel/gettext )
- verify-sig? ( sec-keys/openpgp-keys-gnupg )
-"
-
-DOCS=(
- ChangeLog NEWS README THANKS TODO VERSION
- doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch
-)
-
-src_prepare() {
- default
-
- GNUPG_SYSTEMD_UNITS=(
- dirmngr.service
- dirmngr.socket
- gpg-agent-browser.socket
- gpg-agent-extra.socket
- gpg-agent.service
- gpg-agent.socket
- gpg-agent-ssh.socket
- )
-
- cp "${GNUPG_SYSTEMD_UNITS[@]/#/${FILESDIR}/}" "${T}" || die
-
- # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
- # idea borrowed from libdbus, see
- # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
- #
- # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
- # which in turn requires discovery in Autoconf, something that upstream deeply resents.
- sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
- -i "${T}"/gpg-agent-ssh.socket || die
-}
-
-my_src_configure() {
- # Upstream don't support LTO, bug #854222.
- filter-lto
-
- local myconf=(
- $(use_enable bzip2)
- $(use_enable nls)
- $(use_enable smartcard scdaemon)
- $(use_enable ssl gnutls)
- $(use_enable test all-tests)
- $(use_enable test tests)
- $(use_enable tofu)
- $(use_enable tofu keyboxd)
- $(use_enable tofu sqlite)
- $(usex tpm '--with-tss=intel' '--disable-tpm2d')
- $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
- $(use_enable wks-server wks-tools)
- $(use_with ldap)
- $(use_with readline)
-
- # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
- # As of GnuPG 2.3, the mailprog substitution is used for the binary called
- # by wks-client & wks-server; and if it's autodetected but not not exist at
- # build time, then then 'gpg-wks-client --send' functionality will not
- # work. This has an unwanted side-effect in stage3 builds: there was a
- # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
- # the build where the install guide previously make the user chose the
- # logger & mta early in the install.
- --with-mailprog=/usr/libexec/sendmail
-
- --disable-ntbtls
- --enable-gpgsm
- --enable-large-secmem
-
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
-
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
-
- if use prefix && use usb; then
- # bug #649598
- append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0"
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # https://dev.gnupg.org/T7368
- append-cppflags -D_XOPEN_SOURCE=500
- fi
-
- # bug #663142
- if use user-socket; then
- myconf+=( --enable-run-gnupg-user-socket )
- fi
-
- # glib fails and picks up clang's internal stdint.h causing weird errors
- tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h
-
- econf "${myconf[@]}"
-}
-
-my_src_compile() {
- default
-
- use doc && emake -C doc html
-}
-
-my_src_test() {
- export TESTFLAGS="--parallel=$(get_makeopts_jobs)"
-
- default
-}
-
-my_src_install() {
- emake DESTDIR="${D}" install
-
- use tools && dobin tools/{gpgconf,gpgsplit,gpg-check-pattern} tools/make-dns-cert
-
- if use alternatives; then
- # rename for app-alternatives/gpg
- mv "${ED}"/usr/bin/gpg{,-reference} || die
- mv "${ED}"/usr/bin/gpgv{,-reference} || die
- mv "${ED}"/usr/share/man/man1/gpg{,-reference}.1 || die
- mv "${ED}"/usr/share/man/man1/gpgv{,-reference}.1 || die
- else
- dosym gpg /usr/bin/gpg2
- dosym gpgv /usr/bin/gpgv2
- echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
- echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
- fi
-
- dodir /etc/env.d
- echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die
-
- use doc && dodoc doc/gnupg.html/*
-}
-
-my_src_install_all() {
- einstalldocs
-
- use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot}
- use doc && dodoc doc/*.png
-
- # Dropped upstream in https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=eae28f1bd4a5632e8f8e85b7248d1c4d4a10a5ed.
- dodoc "${FILESDIR}"/README-systemd
- systemd_douserunit "${GNUPG_SYSTEMD_UNITS[@]/#/${T}/}"
-}
-
-pkg_postinst() {
- # If /usr/bin/gpg and /usr/bin/gpgv do not exist, provide them.
- if [[ ! -e ${EROOT}/usr/bin/gpg ]]; then
- ln -sf -- gpg-reference "${EROOT}"/usr/bin/gpg || die
- fi
-
- if [[ ! -e ${EROOT}/usr/bin/gpgv ]]; then
- ln -sf -- gpgv-reference "${EROOT}"/usr/bin/gpgv || die
- fi
-}
diff --git a/app-crypt/gnupg/gnupg-2.5.17-r2.ebuild b/app-crypt/gnupg/gnupg-2.5.17-r2.ebuild
deleted file mode 100644
index c985d9e41e80..000000000000
--- a/app-crypt/gnupg/gnupg-2.5.17-r2.ebuild
+++ /dev/null
@@ -1,221 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Maintainers should:
-# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
-# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
-# (find the one for the current release then subscribe to it +
-# any subsequent ones linked within so you're covered for a while.)
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
-# in-source builds are not supported: https://dev.gnupg.org/T6313#166339
-inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
-HOMEPAGE="https://gnupg.org/"
-SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
-SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="+alternatives bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( tofu )"
-
-# Existence of executables is checked during configuration.
-# Note: On each bump, update dep bounds on each version from configure.ac!
-DEPEND="
- >=dev-libs/libassuan-3.0.0-r1:=
- >=dev-libs/libgcrypt-1.11.0:=
- >=dev-libs/libgpg-error-1.56
- >=dev-libs/libksba-1.6.3
- >=dev-libs/npth-1.2
- virtual/zlib:=
- bzip2? ( app-arch/bzip2 )
- ldap? ( net-nds/openldap:= )
- readline? ( sys-libs/readline:0= )
- smartcard? ( usb? ( virtual/libusb:1 ) )
- tofu? ( >=dev-db/sqlite-3.27 )
- tpm? ( >=app-crypt/tpm2-tss-2.4.0:= )
- ssl? ( >=net-libs/gnutls-3.2:0= )
-"
-RDEPEND="
- ${DEPEND}
- nls? ( virtual/libintl )
- selinux? ( sec-policy/selinux-gpg )
- wks-server? ( virtual/mta )
-"
-PDEPEND="
- app-crypt/pinentry
- alternatives? (
- app-alternatives/gpg[-freepg(-)]
- )
-"
-BDEPEND="
- virtual/pkgconfig
- doc? ( sys-apps/texinfo )
- nls? ( sys-devel/gettext )
- verify-sig? ( sec-keys/openpgp-keys-gnupg )
-"
-
-DOCS=(
- ChangeLog NEWS README THANKS TODO VERSION
- doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch
- "${FILESDIR}"/0001-Fix-stub-functions-to-avoid-LTO-linking-bugs.patch
- "${FILESDIR}"/0002-Fix-stub-functions-to-avoid-LTO-linking-bugs-followup.patch
- "${FILESDIR}"/0003-agent-Fix-the-regression-in-pkdecrypt-with-TPM-RSA.patch
-)
-
-src_prepare() {
- default
-
- GNUPG_SYSTEMD_UNITS=(
- dirmngr.service
- dirmngr.socket
- gpg-agent-browser.socket
- gpg-agent-extra.socket
- gpg-agent.service
- gpg-agent.socket
- gpg-agent-ssh.socket
- )
-
- cp "${GNUPG_SYSTEMD_UNITS[@]/#/${FILESDIR}/}" "${T}" || die
-
- # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
- # idea borrowed from libdbus, see
- # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
- #
- # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
- # which in turn requires discovery in Autoconf, something that upstream deeply resents.
- sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
- -i "${T}"/gpg-agent-ssh.socket || die
-
- # Since 2.5.3, --supervised is called --deprecated-supervised. See
- # https://dev.gnupg.org/rGa019a0fcd8dfb9d1eae5bc991fdd54b7cf55641e
- sed -i "s/--supervised/--deprecated-supervised/g" "${T}"/*.service || die
-}
-
-my_src_configure() {
- local myconf=(
- $(use_enable bzip2)
- $(use_enable nls)
- $(use_enable smartcard scdaemon)
- $(use_enable ssl gnutls)
- $(use_enable test all-tests)
- $(use_enable test tests)
- $(use_enable tofu)
- $(use_enable tofu keyboxd)
- $(use_enable tofu sqlite)
- $(usex tpm '--with-tss=intel' '--disable-tpm2d')
- $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
- $(use_enable wks-server wks-tools)
- $(use_with ldap)
- $(use_with readline)
-
- # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
- # As of GnuPG 2.3, the mailprog substitution is used for the binary called
- # by wks-client & wks-server; and if it's autodetected but not not exist at
- # build time, then then 'gpg-wks-client --send' functionality will not
- # work. This has an unwanted side-effect in stage3 builds: there was a
- # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
- # the build where the install guide previously make the user chose the
- # logger & mta early in the install.
- --with-mailprog=/usr/libexec/sendmail
-
- --disable-ntbtls
- --enable-gpgsm
- --enable-large-secmem
-
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
-
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
-
- if use prefix && use usb; then
- # bug #649598
- append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0"
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # these somehow are treated as fatal, but Solaris has different
- # types for getpeername with socket_t
- append-flags -Wno-incompatible-pointer-types
- append-flags -Wno-unused-label
- fi
-
- # bug #663142
- if use user-socket; then
- myconf+=( --enable-run-gnupg-user-socket )
- fi
-
- # glib fails and picks up clang's internal stdint.h causing weird errors
- tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h
-
- econf "${myconf[@]}"
-}
-
-my_src_compile() {
- default
-
- use doc && emake -C doc html
-}
-
-my_src_test() {
- export TESTFLAGS="--parallel=$(get_makeopts_jobs)"
-
- default
-}
-
-my_src_install() {
- emake DESTDIR="${D}" install
-
- use tools && dobin tools/{gpgconf,gpgsplit,gpg-check-pattern} tools/make-dns-cert
-
- if use alternatives; then
- # rename for app-alternatives/gpg
- mv "${ED}"/usr/bin/gpg{,-reference} || die
- mv "${ED}"/usr/bin/gpgv{,-reference} || die
- mv "${ED}"/usr/share/man/man1/gpg{,-reference}.1 || die
- mv "${ED}"/usr/share/man/man1/gpgv{,-reference}.1 || die
- else
- dosym gpg /usr/bin/gpg2
- dosym gpgv /usr/bin/gpgv2
- echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
- echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
- fi
-
- use doc && dodoc doc/gnupg.html/*
-}
-
-my_src_install_all() {
- einstalldocs
-
- use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot}
- use doc && dodoc doc/*.png
-
- # Dropped upstream in https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=eae28f1bd4a5632e8f8e85b7248d1c4d4a10a5ed.
- dodoc "${FILESDIR}"/README-systemd
- systemd_douserunit "${GNUPG_SYSTEMD_UNITS[@]/#/${T}/}"
-}
-
-pkg_postinst() {
- # If /usr/bin/gpg and /usr/bin/gpgv do not exist, provide them.
- if [[ ! -e ${EROOT}/usr/bin/gpg ]]; then
- ln -sf -- gpg-reference "${EROOT}"/usr/bin/gpg || die
- fi
-
- if [[ ! -e ${EROOT}/usr/bin/gpgv ]]; then
- ln -sf -- gpgv-reference "${EROOT}"/usr/bin/gpgv || die
- fi
-}
diff --git a/app-crypt/gnupg/gnupg-2.5.18.ebuild b/app-crypt/gnupg/gnupg-2.5.18.ebuild
deleted file mode 100644
index 000c17b2422c..000000000000
--- a/app-crypt/gnupg/gnupg-2.5.18.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Maintainers should:
-# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
-# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
-# (find the one for the current release then subscribe to it +
-# any subsequent ones linked within so you're covered for a while.)
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
-# in-source builds are not supported: https://dev.gnupg.org/T6313#166339
-inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
-HOMEPAGE="https://gnupg.org/"
-SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
-SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="+alternatives bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( tofu )"
-
-# Existence of executables is checked during configuration.
-# Note: On each bump, update dep bounds on each version from configure.ac!
-DEPEND="
- >=dev-libs/libassuan-3.0.0-r1:=
- >=dev-libs/libgcrypt-1.11.0:=
- >=dev-libs/libgpg-error-1.56
- >=dev-libs/libksba-1.6.3
- >=dev-libs/npth-1.2
- virtual/zlib:=
- bzip2? ( app-arch/bzip2 )
- ldap? ( net-nds/openldap:= )
- readline? ( sys-libs/readline:0= )
- smartcard? ( usb? ( virtual/libusb:1 ) )
- tofu? ( >=dev-db/sqlite-3.27 )
- tpm? ( >=app-crypt/tpm2-tss-2.4.0:= )
- ssl? ( >=net-libs/gnutls-3.2:0= )
-"
-RDEPEND="
- ${DEPEND}
- nls? ( virtual/libintl )
- selinux? ( sec-policy/selinux-gpg )
- wks-server? ( virtual/mta )
-"
-PDEPEND="
- app-crypt/pinentry
- alternatives? (
- app-alternatives/gpg[-freepg(-)]
- )
-"
-BDEPEND="
- virtual/pkgconfig
- doc? ( sys-apps/texinfo )
- nls? ( sys-devel/gettext )
- verify-sig? ( sec-keys/openpgp-keys-gnupg )
-"
-
-DOCS=(
- ChangeLog NEWS README THANKS TODO VERSION
- doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch
- "${FILESDIR}"/0002-Fix-stub-functions-to-avoid-LTO-linking-bugs-followup.patch
-)
-
-src_prepare() {
- default
-
- GNUPG_SYSTEMD_UNITS=(
- dirmngr.service
- dirmngr.socket
- gpg-agent-browser.socket
- gpg-agent-extra.socket
- gpg-agent.service
- gpg-agent.socket
- gpg-agent-ssh.socket
- )
-
- cp "${GNUPG_SYSTEMD_UNITS[@]/#/${FILESDIR}/}" "${T}" || die
-
- # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
- # idea borrowed from libdbus, see
- # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
- #
- # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
- # which in turn requires discovery in Autoconf, something that upstream deeply resents.
- sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
- -i "${T}"/gpg-agent-ssh.socket || die
-
- # Since 2.5.3, --supervised is called --deprecated-supervised. See
- # https://dev.gnupg.org/rGa019a0fcd8dfb9d1eae5bc991fdd54b7cf55641e
- sed -i "s/--supervised/--deprecated-supervised/g" "${T}"/*.service || die
-}
-
-my_src_configure() {
- local myconf=(
- $(use_enable bzip2)
- $(use_enable nls)
- $(use_enable smartcard scdaemon)
- $(use_enable ssl gnutls)
- $(use_enable test all-tests)
- $(use_enable test tests)
- $(use_enable tofu)
- $(use_enable tofu keyboxd)
- $(use_enable tofu sqlite)
- $(usex tpm '--with-tss=intel' '--disable-tpm2d')
- $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
- $(use_enable wks-server wks-tools)
- $(use_with ldap)
- $(use_with readline)
-
- # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
- # As of GnuPG 2.3, the mailprog substitution is used for the binary called
- # by wks-client & wks-server; and if it's autodetected but not not exist at
- # build time, then then 'gpg-wks-client --send' functionality will not
- # work. This has an unwanted side-effect in stage3 builds: there was a
- # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
- # the build where the install guide previously make the user chose the
- # logger & mta early in the install.
- --with-mailprog=/usr/libexec/sendmail
-
- --disable-ntbtls
- --enable-gpgsm
- --enable-large-secmem
-
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
-
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
-
- if use prefix && use usb; then
- # bug #649598
- append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0"
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # these somehow are treated as fatal, but Solaris has different
- # types for getpeername with socket_t
- append-flags -Wno-incompatible-pointer-types
- append-flags -Wno-unused-label
- fi
-
- # bug #663142
- if use user-socket; then
- myconf+=( --enable-run-gnupg-user-socket )
- fi
-
- # glib fails and picks up clang's internal stdint.h causing weird errors
- tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h
-
- econf "${myconf[@]}"
-}
-
-my_src_compile() {
- default
-
- use doc && emake -C doc html
-}
-
-my_src_test() {
- export TESTFLAGS="--parallel=$(get_makeopts_jobs)"
-
- default
-}
-
-my_src_install() {
- emake DESTDIR="${D}" install
-
- use tools && dobin tools/{gpgconf,gpgsplit,gpg-check-pattern} tools/make-dns-cert
-
- if use alternatives; then
- # rename for app-alternatives/gpg
- mv "${ED}"/usr/bin/gpg{,-reference} || die
- mv "${ED}"/usr/bin/gpgv{,-reference} || die
- mv "${ED}"/usr/share/man/man1/gpg{,-reference}.1 || die
- mv "${ED}"/usr/share/man/man1/gpgv{,-reference}.1 || die
- else
- dosym gpg /usr/bin/gpg2
- dosym gpgv /usr/bin/gpgv2
- echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
- echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
- fi
-
- use doc && dodoc doc/gnupg.html/*
-}
-
-my_src_install_all() {
- einstalldocs
-
- use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot}
- use doc && dodoc doc/*.png
-
- # Dropped upstream in https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=eae28f1bd4a5632e8f8e85b7248d1c4d4a10a5ed.
- dodoc "${FILESDIR}"/README-systemd
- systemd_douserunit "${GNUPG_SYSTEMD_UNITS[@]/#/${T}/}"
-}
-
-pkg_postinst() {
- # If /usr/bin/gpg and /usr/bin/gpgv do not exist, provide them.
- if [[ ! -e ${EROOT}/usr/bin/gpg ]]; then
- ln -sf -- gpg-reference "${EROOT}"/usr/bin/gpg || die
- fi
-
- if [[ ! -e ${EROOT}/usr/bin/gpgv ]]; then
- ln -sf -- gpgv-reference "${EROOT}"/usr/bin/gpgv || die
- fi
-}
diff --git a/app-crypt/gnupg/gnupg-2.5.19.ebuild b/app-crypt/gnupg/gnupg-2.5.19.ebuild
deleted file mode 100644
index c4d71e4158eb..000000000000
--- a/app-crypt/gnupg/gnupg-2.5.19.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Maintainers should:
-# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
-# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
-# (find the one for the current release then subscribe to it +
-# any subsequent ones linked within so you're covered for a while.)
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
-# in-source builds are not supported: https://dev.gnupg.org/T6313#166339
-inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
-HOMEPAGE="https://gnupg.org/"
-SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
-SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="+alternatives bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( tofu )"
-
-# Existence of executables is checked during configuration
-DEPEND="
- >=dev-libs/libassuan-3.0.0-r1:=
- >=dev-libs/libgcrypt-1.11.0:=
- >=dev-libs/libgpg-error-1.56
- >=dev-libs/libksba-1.6.3
- >=dev-libs/npth-1.2
- virtual/zlib:=
- bzip2? ( app-arch/bzip2 )
- ldap? ( net-nds/openldap:= )
- readline? ( sys-libs/readline:0= )
- smartcard? ( usb? ( virtual/libusb:1 ) )
- tofu? ( >=dev-db/sqlite-3.27 )
- tpm? ( >=app-crypt/tpm2-tss-2.4.0:= )
- ssl? ( >=net-libs/gnutls-3.2:0= )
-"
-RDEPEND="
- ${DEPEND}
- nls? ( virtual/libintl )
- selinux? ( sec-policy/selinux-gpg )
- wks-server? ( virtual/mta )
-"
-PDEPEND="
- app-crypt/pinentry
- alternatives? (
- app-alternatives/gpg[-freepg(-)]
- )
-"
-BDEPEND="
- virtual/pkgconfig
- doc? ( sys-apps/texinfo )
- nls? ( sys-devel/gettext )
- verify-sig? ( sec-keys/openpgp-keys-gnupg )
-"
-
-DOCS=(
- ChangeLog NEWS README THANKS TODO VERSION
- doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch
- "${FILESDIR}"/0002-Fix-stub-functions-to-avoid-LTO-linking-bugs-followup.patch
-)
-
-src_prepare() {
- default
-
- GNUPG_SYSTEMD_UNITS=(
- dirmngr.service
- dirmngr.socket
- gpg-agent-browser.socket
- gpg-agent-extra.socket
- gpg-agent.service
- gpg-agent.socket
- gpg-agent-ssh.socket
- )
-
- cp "${GNUPG_SYSTEMD_UNITS[@]/#/${FILESDIR}/}" "${T}" || die
-
- # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
- # idea borrowed from libdbus, see
- # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
- #
- # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
- # which in turn requires discovery in Autoconf, something that upstream deeply resents.
- sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
- -i "${T}"/gpg-agent-ssh.socket || die
-
- # Since 2.5.3, --supervised is called --deprecated-supervised. See
- # https://dev.gnupg.org/rGa019a0fcd8dfb9d1eae5bc991fdd54b7cf55641e
- sed -i "s/--supervised/--deprecated-supervised/g" "${T}"/*.service || die
-}
-
-my_src_configure() {
- local myconf=(
- $(use_enable bzip2)
- $(use_enable nls)
- $(use_enable smartcard scdaemon)
- $(use_enable ssl gnutls)
- $(use_enable test all-tests)
- $(use_enable test tests)
- $(use_enable tofu)
- $(use_enable tofu keyboxd)
- $(use_enable tofu sqlite)
- $(usex tpm '--with-tss=intel' '--disable-tpm2d')
- $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
- $(use_enable wks-server wks-tools)
- $(use_with ldap)
- $(use_with readline)
-
- # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
- # As of GnuPG 2.3, the mailprog substitution is used for the binary called
- # by wks-client & wks-server; and if it's autodetected but not not exist at
- # build time, then then 'gpg-wks-client --send' functionality will not
- # work. This has an unwanted side-effect in stage3 builds: there was a
- # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
- # the build where the install guide previously make the user chose the
- # logger & mta early in the install.
- --with-mailprog=/usr/libexec/sendmail
-
- --disable-ntbtls
- --enable-gpgsm
- --enable-large-secmem
-
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
-
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
-
- if use prefix && use usb; then
- # bug #649598
- append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0"
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # these somehow are treated as fatal, but Solaris has different
- # types for getpeername with socket_t
- append-flags -Wno-incompatible-pointer-types
- append-flags -Wno-unused-label
- fi
-
- # bug #663142
- if use user-socket; then
- myconf+=( --enable-run-gnupg-user-socket )
- fi
-
- # glib fails and picks up clang's internal stdint.h causing weird errors
- tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h
-
- econf "${myconf[@]}"
-}
-
-my_src_compile() {
- default
-
- use doc && emake -C doc html
-}
-
-my_src_test() {
- export TESTFLAGS="--parallel=$(get_makeopts_jobs)"
-
- default
-}
-
-my_src_install() {
- emake DESTDIR="${D}" install
-
- use tools && dobin tools/{gpgconf,gpgsplit,gpg-check-pattern} tools/make-dns-cert
-
- if use alternatives; then
- # rename for app-alternatives/gpg
- mv "${ED}"/usr/bin/gpg{,-reference} || die
- mv "${ED}"/usr/bin/gpgv{,-reference} || die
- mv "${ED}"/usr/share/man/man1/gpg{,-reference}.1 || die
- mv "${ED}"/usr/share/man/man1/gpgv{,-reference}.1 || die
- else
- dosym gpg /usr/bin/gpg2
- dosym gpgv /usr/bin/gpgv2
- echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
- echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
- fi
-
- use doc && dodoc doc/gnupg.html/*
-}
-
-my_src_install_all() {
- einstalldocs
-
- use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot}
- use doc && dodoc doc/*.png
-
- # Dropped upstream in https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=eae28f1bd4a5632e8f8e85b7248d1c4d4a10a5ed.
- dodoc "${FILESDIR}"/README-systemd
- systemd_douserunit "${GNUPG_SYSTEMD_UNITS[@]/#/${T}/}"
-}
-
-pkg_postinst() {
- # If /usr/bin/gpg and /usr/bin/gpgv do not exist, provide them.
- if [[ ! -e ${EROOT}/usr/bin/gpg ]]; then
- ln -sf -- gpg-reference "${EROOT}"/usr/bin/gpg || die
- fi
-
- if [[ ! -e ${EROOT}/usr/bin/gpgv ]]; then
- ln -sf -- gpgv-reference "${EROOT}"/usr/bin/gpgv || die
- fi
-}
diff --git a/app-crypt/gnupg/gnupg-2.5.20.ebuild b/app-crypt/gnupg/gnupg-2.5.20.ebuild
deleted file mode 100644
index 93b1f9b8cd24..000000000000
--- a/app-crypt/gnupg/gnupg-2.5.20.ebuild
+++ /dev/null
@@ -1,221 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Maintainers should:
-# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
-# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
-# (find the one for the current release then subscribe to it +
-# any subsequent ones linked within so you're covered for a while.)
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
-# in-source builds are not supported: https://dev.gnupg.org/T6313#166339
-inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
-HOMEPAGE="https://gnupg.org/"
-SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
-SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="+alternatives bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( tofu )"
-
-# Existence of executables is checked during configuration
-DEPEND="
- >=dev-libs/libassuan-3.0.0-r1:=
- >=dev-libs/libgcrypt-1.11.0:=
- >=dev-libs/libgpg-error-1.56
- >=dev-libs/libksba-1.6.3
- >=dev-libs/npth-1.2
- virtual/zlib:=
- bzip2? ( app-arch/bzip2 )
- ldap? ( net-nds/openldap:= )
- readline? ( sys-libs/readline:0= )
- smartcard? ( usb? ( virtual/libusb:1 ) )
- tofu? ( >=dev-db/sqlite-3.27 )
- tpm? ( >=app-crypt/tpm2-tss-2.4.0:= )
- ssl? ( >=net-libs/gnutls-3.2:0= )
-"
-RDEPEND="
- ${DEPEND}
- nls? ( virtual/libintl )
- selinux? ( sec-policy/selinux-gpg )
- wks-server? ( virtual/mta )
-"
-PDEPEND="
- app-crypt/pinentry
- alternatives? (
- app-alternatives/gpg[-freepg(-)]
- )
-"
-BDEPEND="
- virtual/pkgconfig
- doc? ( sys-apps/texinfo )
- nls? ( sys-devel/gettext )
- verify-sig? ( sec-keys/openpgp-keys-gnupg )
-"
-
-DOCS=(
- ChangeLog NEWS README THANKS TODO VERSION
- doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch
- "${FILESDIR}"/0002-Fix-stub-functions-to-avoid-LTO-linking-bugs-followup.patch
-)
-
-src_prepare() {
- default
-
- GNUPG_SYSTEMD_UNITS=(
- dirmngr.service
- dirmngr.socket
- gpg-agent-browser.socket
- gpg-agent-extra.socket
- gpg-agent.service
- gpg-agent.socket
- gpg-agent-ssh.socket
- )
-
- cp "${GNUPG_SYSTEMD_UNITS[@]/#/${FILESDIR}/}" "${T}" || die
-
- # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
- # idea borrowed from libdbus, see
- # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
- #
- # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
- # which in turn requires discovery in Autoconf, something that upstream deeply resents.
- sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
- -i "${T}"/gpg-agent-ssh.socket || die
-
- # Since 2.5.3, --supervised is called --deprecated-supervised. See
- # https://dev.gnupg.org/rGa019a0fcd8dfb9d1eae5bc991fdd54b7cf55641e
- sed -i "s/--supervised/--deprecated-supervised/g" "${T}"/*.service || die
-}
-
-my_src_configure() {
- local myconf=(
- # --enable-selinux controls ENABLE_SELINUX_HACKS which
- # prohibits import of secret keys, so doesn't seem desirable
- # to have that forced on with USE=selinux.
- $(use_enable bzip2)
- $(use_enable nls)
- $(use_enable smartcard scdaemon)
- $(use_enable ssl gnutls)
- $(use_enable test all-tests)
- $(use_enable test tests)
- $(use_enable tofu)
- $(use_enable tofu keyboxd)
- $(use_enable tofu sqlite)
- $(usex tpm '--with-tss=intel' '--disable-tpm2d')
- $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
- $(use_enable wks-server wks-tools)
- $(use_with ldap)
- $(use_with readline)
-
- # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
- # As of GnuPG 2.3, the mailprog substitution is used for the binary called
- # by wks-client & wks-server; and if it's autodetected but not not exist at
- # build time, then then 'gpg-wks-client --send' functionality will not
- # work. This has an unwanted side-effect in stage3 builds: there was a
- # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
- # the build where the install guide previously make the user chose the
- # logger & mta early in the install.
- --with-mailprog=/usr/libexec/sendmail
-
- --disable-ntbtls
- --enable-gpgsm
- --enable-large-secmem
-
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
-
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
-
- if use prefix && use usb; then
- # bug #649598
- append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0"
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # these somehow are treated as fatal, but Solaris has different
- # types for getpeername with socket_t
- append-flags -Wno-incompatible-pointer-types
- append-flags -Wno-unused-label
- fi
-
- # bug #663142
- if use user-socket; then
- myconf+=( --enable-run-gnupg-user-socket )
- fi
-
- # glib fails and picks up clang's internal stdint.h causing weird errors
- tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h
-
- econf "${myconf[@]}"
-}
-
-my_src_compile() {
- default
-
- use doc && emake -C doc html
-}
-
-my_src_test() {
- export TESTFLAGS="--parallel=$(get_makeopts_jobs)"
-
- default
-}
-
-my_src_install() {
- emake DESTDIR="${D}" install
-
- use tools && dobin tools/{gpgconf,gpgsplit,gpg-check-pattern} tools/make-dns-cert
-
- if use alternatives; then
- # rename for app-alternatives/gpg
- mv "${ED}"/usr/bin/gpg{,-reference} || die
- mv "${ED}"/usr/bin/gpgv{,-reference} || die
- mv "${ED}"/usr/share/man/man1/gpg{,-reference}.1 || die
- mv "${ED}"/usr/share/man/man1/gpgv{,-reference}.1 || die
- else
- dosym gpg /usr/bin/gpg2
- dosym gpgv /usr/bin/gpgv2
- echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
- echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
- fi
-
- use doc && dodoc doc/gnupg.html/*
-}
-
-my_src_install_all() {
- einstalldocs
-
- use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot}
- use doc && dodoc doc/*.png
-
- # Dropped upstream in https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=eae28f1bd4a5632e8f8e85b7248d1c4d4a10a5ed.
- dodoc "${FILESDIR}"/README-systemd
- systemd_douserunit "${GNUPG_SYSTEMD_UNITS[@]/#/${T}/}"
-}
-
-pkg_postinst() {
- # If /usr/bin/gpg and /usr/bin/gpgv do not exist, provide them.
- if [[ ! -e ${EROOT}/usr/bin/gpg ]]; then
- ln -sf -- gpg-reference "${EROOT}"/usr/bin/gpg || die
- fi
-
- if [[ ! -e ${EROOT}/usr/bin/gpgv ]]; then
- ln -sf -- gpgv-reference "${EROOT}"/usr/bin/gpgv || die
- fi
-}