diff options
Diffstat (limited to 'app-crypt/gnupg')
-rw-r--r-- | app-crypt/gnupg/Manifest | 2 | ||||
-rw-r--r-- | app-crypt/gnupg/files/gnupg-2.2.4-dirmngr-Handle-failures-related-to-missing-IPv6.patch | 31 | ||||
-rw-r--r-- | app-crypt/gnupg/gnupg-2.2.4-r2.ebuild | 130 |
3 files changed, 163 insertions, 0 deletions
diff --git a/app-crypt/gnupg/Manifest b/app-crypt/gnupg/Manifest index 2fff53f1a758..a6eeea2b5611 100644 --- a/app-crypt/gnupg/Manifest +++ b/app-crypt/gnupg/Manifest @@ -2,6 +2,7 @@ AUX gnupg-2.1.20-gpg-Fix-typo.patch 843 BLAKE2B 6e7c56d54ef0b0a1e14030a7636bd35d AUX gnupg-2.1.20-gpg-Properly-account-for-ring-trust-packets.patch 2987 BLAKE2B eff568f4988b147a9d1aba77965222fcbfc2e9c3efef8eed9ce58f1c7058214ece62046435c90227d8fce1829f3131387f59598676d1359320f61b441018eb85 SHA512 2cf3147638c69f49b4d792a01321b5892f882fc67a1aee8f51f9b35761e6961e9c46d9abc92b0e5250a85b7145e69ba9583b3ce2323943587feb52a029e95deb AUX gnupg-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch 1048 BLAKE2B 36f37b74da309100191f4d8f9c27d08a1b00d2d30fbaf169dbb74ebbe42293357a4fb62332e286fe5725dcfdc30645a602dc2a51c51924b06215b68fd5235658 SHA512 fd12827150e96cd7979ea9611d64ed4ab9e6c61cfecdd697b8fb4d162f20985b734c2bfc365a921809b9029e86a85a9b36c10ec472b3dd49c25ea18f5aef56ce AUX gnupg-2.2.1-fix-gnupg-wait.patch 2881 BLAKE2B 054c3de81a2ae70c7dea439cd66b9d5642510920af9ba48e4dab28c3457dad95f7ffd3ddb106dd4a5dacebfbedf225e88ad57934ee03a6b80da00ac03f7f944d SHA512 3622c1667c3f0b0acb28fd3ac440af76c0f2757e1d654fbd85344a1193a088db087861f7410e249ece5c99fd7afd7d7a24c43f58e88f5c21949195714be4cbf6 +AUX gnupg-2.2.4-dirmngr-Handle-failures-related-to-missing-IPv6.patch 1342 BLAKE2B d494d544e9bbfd4115b58cc0117171d7792b44158e48032ddfdbacaff38cc5aebae4e1f1d46fa814ea40504441c8288937a5cfa7d475246cd301061176969e7c SHA512 171ae5092b9cab26446a2c4fe12137f5f1e92ba1d3c542a52900c14c488d902dfad84594473063f7eacb65ff7cefadb88239534498245f79f16ce8c58005f99c DIST gnupg-1.4.21.tar.bz2 3689305 BLAKE2B 0c26c9c3aeae2bf2eafa858bc3bd15cc2702bce12a8a90938565322c34e2eeb8e5432932f5c9344a76aa4528b66051141536c062d9923a79d12a0767421bb017 SHA512 619e0fbc10310c7e55d129027e2945791fe91a0884b1d6f53acb4b2e380d1c6e71d1a516a59876182c5c70a4227d44a74ceda018c343b5291fa9a5d6de77c984 DIST gnupg-2.1.15.tar.bz2 5723689 BLAKE2B 48889c0a5445b5b76b027debd6a4711930694e7440b76c06a7da1db5e7989eeae791e4c7a29e60a9d0b862c167374016d908aaa54165a44268f072075cdd9690 SHA512 69c943e853e1a37e8b17b3bc34e1503f14bc8f189fa9f3ac6644bcc98ccce6eaef64da20ff9dd1c8de3a7789ea577167984ccf3ac286cac50752e6f7c2f42ab1 DIST gnupg-2.1.20.tar.bz2 6456128 BLAKE2B 009a8b8163701f5f5e269caea315a81f4c90c32ec19d501e9fd180bdd3a21454956549b433eb81e98c7a22c4c551eed666d9f3e59ea8e55ed2545ddf49334151 SHA512 14a9890bc64e143f87cff121dd298d490d78dbd34e36883e0f25763ff9064e5706a7632893d7c5d0e8e9b8cf9cdb0d378b4ce1715348729f0fc080455b61eca9 @@ -16,5 +17,6 @@ EBUILD gnupg-2.2.0.ebuild 3121 BLAKE2B abb9424fbbd74ed5d0e3a71f48af85e9d569601ec EBUILD gnupg-2.2.1.ebuild 3224 BLAKE2B 3e5c1fa5fdd5fbca8a5b554b09e2221ba612185415e009ebbf2e999369dfa4697139674ccf94b9be52bc2c8024b56a4a846f1803a940755a1650765325a10d17 SHA512 ebe3107c7444f4f821760d854da5376a9953b7e6781673cc55b3704ce9accf5306277140648a047f9fe705c7e5ef7922e45c0fceb8508d80edd63b6dab08b579 EBUILD gnupg-2.2.3.ebuild 3209 BLAKE2B 44f319cfee71a4c4c38deb496f361e022e2b729b2d075e3d2c03f4276f69b5b8e42bffd90eed5a8b0cccc468bf2512cd6c6b593e6b74cf2ac9867c8f05b0b447 SHA512 4800b7469ad42721294d08c05aa32914a9f0b6d8313efc10a44d5d6b4f9e62d8ee4eb083162808aad5b9829ddc041ea4cac53a60f7b7614451fba41a69c39a28 EBUILD gnupg-2.2.4-r1.ebuild 3206 BLAKE2B 084fd1814201be6c963a2adc262e4a8c137950cd07a15d9e021d149de752894b3db1096ccf59f04f97fe7ab1764471b6063e103e8f28bb0fc68a2d3ea04f1612 SHA512 b3112ebc907b92caa56f7786a15589701fcbcceb1de8f8ea78d22921a293d84454902f8ca11250c63b5f833936cc46d3d31d5878df712586c032b1297980c603 +EBUILD gnupg-2.2.4-r2.ebuild 3277 BLAKE2B 9823777c197f629c7776b7e61c7d239bc7b174444be69b35ee4c707f8cb61cd9c1ef491bfe863a5a37c1c0b284183d705e952a7b3c1030f4b1aae13ccea76470 SHA512 ed62cccfc4b81acea0f9b9a18c7d652c05a1ae5d4740350df50443a3004605a3d399fd58120636c84b896069d2709b1fb8a56b9f7acf29f22b70404f4a971eba EBUILD gnupg-2.2.4.ebuild 3203 BLAKE2B 42bf0180668dc428b4d6529d23f38c82ff31bf9ad41c8be1f157718f25e96203d16a9e6e6f2764bc8865fa78001ca862a3ca81b1bffd1cc569a6e706e45f6487 SHA512 13fbcc6aff14cde19508f631c9912e5b5648cda50c8a8ddf4b9fe3a84495344470747f8d57a238f3323c651290eaed6935b958f7fadf408a257fea4b4a011ffc MISC metadata.xml 1198 BLAKE2B 745e725cf4c88e72dae88f6c2030ec755a79c449c68caaf0fbd1af6f996791500ae9490127cc50cc165180f754de1c71216e89fb899329c0b108810a866612cf SHA512 cd4ad4996e1c641bf8b6815a72f90427fa3c20864fe440157068ebb38300228e907ccf34fca2fd9ba821eeadee741c0cf8d8b09ce60c965f340e64c4fae3c069 diff --git a/app-crypt/gnupg/files/gnupg-2.2.4-dirmngr-Handle-failures-related-to-missing-IPv6.patch b/app-crypt/gnupg/files/gnupg-2.2.4-dirmngr-Handle-failures-related-to-missing-IPv6.patch new file mode 100644 index 000000000000..53843900b9f3 --- /dev/null +++ b/app-crypt/gnupg/files/gnupg-2.2.4-dirmngr-Handle-failures-related-to-missing-IPv6.patch @@ -0,0 +1,31 @@ +From b7f48a0095a5b010b94f8192f4adc1adf8697567 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Wed, 31 Jan 2018 16:57:19 +0100 +Subject: [PATCH] dirmngr: Handle failures related to missing IPv6 gracefully + +Handle the two possible connect failures related to missing IPv6 support +gracefully by marking the host dead and retrying with another one. +If IPv6 is disabled via procfs, connect() will return EADDRNOTAVAIL. +If IPv6 is not compiled into the kernel, it will return EAFNOSUPPORT. +This makes it possible to use dual-stack hkp servers on hosts not having +IPv6 without random connection failures. +--- + dirmngr/ks-engine-hkp.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/dirmngr/ks-engine-hkp.c b/dirmngr/ks-engine-hkp.c +index 4a0b08f4f..a9bb93666 100644 +--- a/dirmngr/ks-engine-hkp.c ++++ b/dirmngr/ks-engine-hkp.c +@@ -1353,6 +1353,8 @@ handle_send_request_error (ctrl_t ctrl, gpg_error_t err, const char *request, + case GPG_ERR_UNKNOWN_HOST: + case GPG_ERR_NETWORK: + case GPG_ERR_EIO: /* Sometimes used by estream cookie functions. */ ++ case GPG_ERR_EADDRNOTAVAIL: /* e.g. when IPv6 is disabled */ ++ case GPG_ERR_EAFNOSUPPORT: /* e.g. when IPv6 is not compiled in */ + if (mark_host_dead (request) && *tries_left) + retry = 1; + break; +-- +2.16.1 + diff --git a/app-crypt/gnupg/gnupg-2.2.4-r2.ebuild b/app-crypt/gnupg/gnupg-2.2.4-r2.ebuild new file mode 100644 index 000000000000..94a73507e7e8 --- /dev/null +++ b/app-crypt/gnupg/gnupg-2.2.4-r2.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit systemd toolchain-funcs + +MY_P="${P/_/-}" + +DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation" +HOMEPAGE="http://www.gnupg.org/" +SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl tofu tools usb wks-server" + +COMMON_DEPEND_LIBS=" + >=dev-libs/npth-1.2 + >=dev-libs/libassuan-2.5.0 + >=dev-libs/libgcrypt-1.7.3 + >=dev-libs/libgpg-error-1.24 + >=dev-libs/libksba-1.3.4 + >=net-misc/curl-7.10 + ssl? ( >=net-libs/gnutls-3.0:0= ) + sys-libs/zlib + ldap? ( net-nds/openldap ) + bzip2? ( app-arch/bzip2 ) + readline? ( sys-libs/readline:0= ) + smartcard? ( usb? ( virtual/libusb:0 ) ) + tofu? ( >=dev-db/sqlite-3.7 ) + " +COMMON_DEPEND_BINS="app-crypt/pinentry + !app-crypt/dirmngr" + +# Existence of executables is checked during configuration. +DEPEND="${COMMON_DEPEND_LIBS} + ${COMMON_DEPEND_BINS} + nls? ( sys-devel/gettext ) + doc? ( sys-apps/texinfo )" + +RDEPEND="${COMMON_DEPEND_LIBS} + ${COMMON_DEPEND_BINS} + selinux? ( sec-policy/selinux-gpg ) + nls? ( virtual/libintl )" + +S="${WORKDIR}/${MY_P}" + +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}/${P}-dirmngr-Handle-failures-related-to-missing-IPv6.patch" +) + +src_configure() { + local myconf=() + + if use smartcard; then + myconf+=( + --enable-scdaemon + $(use_enable usb ccid-driver) + ) + else + myconf+=( --disable-scdaemon ) + fi + + if use elibc_SunOS || use elibc_AIX; then + myconf+=( --disable-symcryptrun ) + else + myconf+=( --enable-symcryptrun ) + fi + + # glib fails and picks up clang's internal stdint.h causing weird errors + [[ ${CC} == *clang ]] && \ + export gl_cv_absolute_stdint_h=/usr/include/stdint.h + + econf \ + "${myconf[@]}" \ + $(use_enable bzip2) \ + $(use_enable ssl gnutls) \ + $(use_enable nls) \ + $(use_enable tofu) \ + $(use_enable wks-server wks-tools) \ + $(use_with ldap) \ + $(use_with readline) \ + --enable-gpg \ + --enable-gpgsm \ + --enable-large-secmem \ + --enable-all-tests \ + CC_FOR_BUILD="$(tc-getBUILD_CC)" +} + +src_compile() { + default + + use doc && emake -C doc html +} + +src_test() { + #Bug: 638574 + use tofu && export TESTFLAGS=--parallel + default +} + +src_install() { + default + + use tools && + dobin \ + tools/{convert-from-106,gpg-check-pattern} \ + tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys} \ + tools/make-dns-cert + + 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 + + dodir /etc/env.d + echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die + + use doc && dodoc doc/gnupg.html/* doc/*.png + + systemd_douserunit doc/examples/systemd-user/*.{service,socket} +} |