diff options
author | Sam James <sam@gentoo.org> | 2023-10-28 04:18:55 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-10-28 05:52:38 +0100 |
commit | 4ca5bff1b724f71d86ab56599f9e07c828f8d96b (patch) | |
tree | e20b88d9f57a6a4544c38b33e2478457aea87119 /app-crypt/gpgme | |
parent | dev-python/sphinx-celery: trim patch context (diff) | |
download | gentoo-4ca5bff1b724f71d86ab56599f9e07c828f8d96b.tar.gz gentoo-4ca5bff1b724f71d86ab56599f9e07c828f8d96b.tar.bz2 gentoo-4ca5bff1b724f71d86ab56599f9e07c828f8d96b.zip |
app-crypt/gpgme: add 1.23.1
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-crypt/gpgme')
-rw-r--r-- | app-crypt/gpgme/Manifest | 2 | ||||
-rw-r--r-- | app-crypt/gpgme/files/gpgme-1.23.1-tests-gnupg-no-tofu.patch | 26 | ||||
-rw-r--r-- | app-crypt/gpgme/gpgme-1.23.1.ebuild | 166 |
3 files changed, 194 insertions, 0 deletions
diff --git a/app-crypt/gpgme/Manifest b/app-crypt/gpgme/Manifest index b69c1bf3f85e..d94b7cafdf4f 100644 --- a/app-crypt/gpgme/Manifest +++ b/app-crypt/gpgme/Manifest @@ -2,3 +2,5 @@ DIST gpgme-1.21.0.tar.bz2 1830113 BLAKE2B 77000567fde5b78bf46352b25c81e7223506c0 DIST gpgme-1.21.0.tar.bz2.sig 119 BLAKE2B ac19a5694e139be36ee9c6e28501d4a695166cfbc8f1561de7c7741a274f35cb0a67f779b5fc1ff58b5a11eeaa5e575c06233be65d01c40504efe16a759740ea SHA512 8a471333fd0fc6da50990c3aed67900a6b183cde0fcc449d37435289d8f309c68555c741281c06af9740ac088ae0b4747263da1dfd23d90b050185706948b227 DIST gpgme-1.22.0.tar.bz2 1717836 BLAKE2B 6c03f4252391a114233fed284bf9eba03fa7b67328b506c01554fbd4239e0f3ede0bc79d82e9f21718084ca17945d628707d4451ac765a8f36d282e7e2d75f8e SHA512 17053053fa885f01416433e43072ac716b5d5db0c3edf45b2d6e90e6384d127626e6ae3ce421abba8f449f5ca7e8963f3d62f3565d295847170bc998d1ec1a70 DIST gpgme-1.22.0.tar.bz2.sig 119 BLAKE2B fde8892743e7658004d73d89dcb3899fd003ad9222fa47ec0beb29c507917936cd34ade58609cb44c8ed2d2dc0c8e4aba6ac73ed4789d2a375f79055d23c2349 SHA512 20468946e8247dd12991b25a599ee815b2627931fd3886c41b310eea51f058a51cd1584de2292241a225144bf9a1f18b70bb495cb34304879fc294fc95b220ea +DIST gpgme-1.23.1.tar.bz2 1716825 BLAKE2B 5810bafb2bbea0a44078fdd587fdeae5a2705dac381d6873dd1cdff017a0be7213125846201cdfef510a5802fdc6d86fd2216b17c380ef5f9e30add5edeaa70c SHA512 a82d5de29a38e5cee4042b3891d0a2c265001832e8578ba17b26c48c6d2a4d5919ac9655b4bfb5235dc8c7cea8d3254054da270d287133b9161e7c6ef93b2d58 +DIST gpgme-1.23.1.tar.bz2.sig 119 BLAKE2B bc31079a0632aee4f84347114f3705d8e5068282000057cd8f332b541ee9f0d82eda246ed9b0fb156bb5fbb887156df8ba28518b184ce71b4c66c80e02efc154 SHA512 c3546bc69f8f083d6ebf146336860af263810224a7e9a42c233bfa1210eb0f6f82c26bf134d261ca823eef170549c2642ea2d689610446df91805c5d3c02528f diff --git a/app-crypt/gpgme/files/gpgme-1.23.1-tests-gnupg-no-tofu.patch b/app-crypt/gpgme/files/gpgme-1.23.1-tests-gnupg-no-tofu.patch new file mode 100644 index 000000000000..831f68c8ea18 --- /dev/null +++ b/app-crypt/gpgme/files/gpgme-1.23.1-tests-gnupg-no-tofu.patch @@ -0,0 +1,26 @@ +https://dev.gnupg.org/T6778 +--- a/lang/python/tests/support.py ++++ b/lang/python/tests/support.py +@@ -46,13 +46,15 @@ def is_gpg_version(version): + + + def have_tofu_support(ctx, some_uid): +- keys = list( +- ctx.keylist( +- some_uid, +- mode=(gpg.constants.keylist.mode.LOCAL | +- gpg.constants.keylist.mode.WITH_TOFU))) +- return len(keys) > 0 +- ++ try: ++ keys = list( ++ ctx.keylist( ++ some_uid, ++ mode=(gpg.constants.keylist.mode.LOCAL | ++ gpg.constants.keylist.mode.WITH_TOFU))) ++ return len(keys) > 0 ++ except gpg.errors.GPGMEError: ++ return False + + # Skip the Python tests for GnuPG < 2.1.12. Prior versions do not + # understand the command line flags that we assume exist. C.f. issue diff --git a/app-crypt/gpgme/gpgme-1.23.1.ebuild b/app-crypt/gpgme/gpgme-1.23.1.ebuild new file mode 100644 index 000000000000..62c999847385 --- /dev/null +++ b/app-crypt/gpgme/gpgme-1.23.1.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2023 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.) + +DISTUTILS_EXT=1 +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..12} ) +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/gnupg.asc + +# in-source builds are not supported: +# * https://dev.gnupg.org/T6313#166339 +# * https://dev.gnupg.org/T6673#174545 +inherit distutils-r1 libtool flag-o-matic out-of-source qmake-utils toolchain-funcs verify-sig + +DESCRIPTION="GnuPG Made Easy is a library for making GnuPG easier to use" +HOMEPAGE="https://www.gnupg.org/related_software/gpgme" +SRC_URI=" + mirror://gnupg/gpgme/${P}.tar.bz2 + verify-sig? ( mirror://gnupg/gpgme/${P}.tar.bz2.sig ) +" + +LICENSE="GPL-2 LGPL-2.1" +# Please check ABI on each bump, even if SONAMEs didn't change: bug #833355 +# Use e.g. app-portage/iwdevtools integration with dev-libs/libabigail's abidiff. +# Subslot: SONAME of each: <libgpgme.libgpgmepp.libqgpgme.FUDGE> +# Bump FUDGE if a release is made which breaks ABI without changing SONAME. +# (Reset to 0 if FUDGE != 0 if libgpgme/libgpgmepp/libqpggme change.) +SLOT="1/11.6.15.2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="common-lisp static-libs +cxx python qt5 test" +RESTRICT="!test? ( test )" +REQUIRED_USE="qt5? ( cxx ) python? ( ${PYTHON_REQUIRED_USE} )" + +# - On each bump, update dep bounds on each version from configure.ac! +RDEPEND=" + >=app-crypt/gnupg-2 + >=dev-libs/libassuan-2.5.3:= + >=dev-libs/libgpg-error-1.46-r1:= + python? ( ${PYTHON_DEPS} ) + qt5? ( dev-qt/qtcore:5 ) +" +DEPEND=" + ${RDEPEND} + test? ( + qt5? ( dev-qt/qttest:5 ) + ) +" +#doc? ( app-doc/doxygen[dot] ) +BDEPEND=" + python? ( dev-lang/swig ) + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.18.0-tests-start-stop-agent-use-command-v.patch + "${FILESDIR}"/${PN}-1.23.1-tests-gnupg-no-tofu.patch +) + +src_prepare() { + default + + elibtoolize + + # bug #697456 + addpredict /run/user/$(id -u)/gnupg + + local MAX_WORKDIR=66 + if use test && [[ "${#WORKDIR}" -gt "${MAX_WORKDIR}" ]]; then + eerror "Unable to run tests as WORKDIR='${WORKDIR}' is longer than ${MAX_WORKDIR} which causes failure!" + die "Could not run tests as requested with too-long WORKDIR." + fi + + # Make best effort to allow longer PORTAGE_TMPDIR + # as usock limitation fails build/tests + ln -s "${P}" "${WORKDIR}/b" || die + S="${WORKDIR}/b" +} + +my_src_configure() { + local languages=() + + # bug #847955 + append-lfs-flags + + if use common-lisp ; then + languages+=( "cl" ) + fi + + if use cxx ; then + languages+=( "cpp" ) + fi + + # TODO: qt6? but qt5 and qt5 are mutually exclusive :( + if use qt5; then + languages+=( "qt5" ) + + #use doc || + export DOXYGEN=true + export MOC="$(qt5_get_bindir)/moc" + fi + + local myeconfargs=( + $(use test || echo "--disable-gpgconf-test --disable-gpg-test --disable-gpgsm-test --disable-g13-test") + --enable-languages="${languages[*]}" + $(use_enable static-libs static) + ) + + econf "${myeconfargs[@]}" + + if use python ; then + emake -C lang/python prepare + + pushd lang/python > /dev/null || die + top_builddir="../.." srcdir="${S}/lang/python" CPP="$(tc-getCPP)" distutils-r1_src_configure + popd > /dev/null || die + fi +} + +my_src_compile() { + default + + if use python ; then + pushd lang/python > /dev/null || die + top_builddir="../.." srcdir="${S}/lang/python" CPP="$(tc-getCPP)" distutils-r1_src_compile + popd > /dev/null || die + fi +} + +my_src_test() { + default + + if use python ; then + distutils-r1_src_test + fi +} + +python_test() { + emake -C lang/python/tests check \ + PYTHON=${EPYTHON} \ + PYTHONS=${EPYTHON} \ + TESTFLAGS="--python-libdir=${BUILD_DIR}/lib" +} + +my_src_install() { + default + + if use python ; then + pushd lang/python > /dev/null || die + top_builddir="../.." srcdir="${S}/lang/python" CPP="$(tc-getCPP)" distutils-r1_src_install + popd > /dev/null || die + fi + + find "${ED}" -type f -name '*.la' -delete || die + + # Backward compatibility for gentoo + # (in the past, we had slots) + dodir /usr/include/gpgme + dosym ../gpgme.h /usr/include/gpgme/gpgme.h +} |