commit:     43b0c8016f8d5d8bbdc84a1b25dc03ccd86a74a4
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 29 05:14:30 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 29 05:14:42 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43b0c801

app-crypt/gpgme: add 1.23.2

Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-crypt/gpgme/Manifest            |   2 +
 app-crypt/gpgme/gpgme-1.23.2.ebuild | 228 ++++++++++++++++++++++++++++++++++++
 2 files changed, 230 insertions(+)

diff --git a/app-crypt/gpgme/Manifest b/app-crypt/gpgme/Manifest
index 3aa054a55951..5f6c77a3ebf9 100644
--- a/app-crypt/gpgme/Manifest
+++ b/app-crypt/gpgme/Manifest
@@ -2,3 +2,5 @@ DIST gpgme-1.22.0.tar.bz2 1717836 BLAKE2B 
6c03f4252391a114233fed284bf9eba03fa7b6
 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
+DIST gpgme-1.23.2.tar.bz2 1836904 BLAKE2B 
563e470e861c7cc64ecb3e8dd0a0ed8436bc0867105093abcec09f4d1e1dd95cbf64c8161cf8500b9842583b57f6583efff63e5111234e36fda1e6fbedce2f78
 SHA512 
6cfcd07e81a93de240582de5a46545420cee93d1f27fe20ea2c983780fdd3036b69fdba073cf549d68a20791e189bf4b3cdde14a43f912d2ab9ef3414c83ac75
+DIST gpgme-1.23.2.tar.bz2.sig 119 BLAKE2B 
ecce1862efbb3fa75f55c32232a1f26b3e429b017b833ea03bcbb5a650530b6efed6d43805f24a38244a111b6619374c38872c6534a12b726c1b5bbbabd93e7c
 SHA512 
5eab64749c3b13426b4208324c362f09acb8f678e94a4641c447c94f7d6694f392b32919428b6fe4d0a60d84cf658f0091c5fff7f0757924f044c17dd68d7ca4

diff --git a/app-crypt/gpgme/gpgme-1.23.2.ebuild 
b/app-crypt/gpgme/gpgme-1.23.2.ebuild
new file mode 100644
index 000000000000..3409080374e8
--- /dev/null
+++ b/app-crypt/gpgme/gpgme-1.23.2.ebuild
@@ -0,0 +1,228 @@
+# 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=/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 multibuild 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 qt6 test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+       qt5? ( cxx )
+       qt6? ( 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 )
+       qt6? ( dev-qt/qtbase:6 )
+"
+DEPEND="
+       ${RDEPEND}
+       test? (
+               qt5? ( dev-qt/qttest:5 )
+               qt6? ( dev-qt/qtbase:6[test] )
+       )
+"
+#doc? ( app-doc/doxygen[dot] )
+BDEPEND="
+       $(python_gen_cond_dep '
+               dev-python/setuptools[${PYTHON_USEDEP}]
+       ' python3_12)
+       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"
+
+       # Qt 5 and Qt 6 are mutually exclusive in the gpgme build. We don't have
+       # to do three builds (normal, qt5, qt6), and we can instead just
+       # do normal+qt5 or normal+qt6. For now, we pessimise qt6 by making it
+       # be a separate build, but in time, we can swap it so qt5 has to be
+       # the separate one so some build time gets saved in the common case.
+       MULTIBUILD_VARIANTS=(
+               base
+               $(usev qt6 qt6)
+       )
+
+       gpgme_create_builddir() {
+               mkdir -p "${BUILD_DIR}" || die
+       }
+
+       multibuild_foreach_variant gpgme_create_builddir
+}
+
+src_configure() {
+       multibuild_foreach_variant gpgme_src_configure
+}
+
+gpgme_src_configure() {
+       # bug #847955
+       append-lfs-flags
+
+       cd "${BUILD_DIR}" || die
+
+       local languages=()
+
+       case ${MULTIBUILD_VARIANT} in
+               base)
+                       languages=(
+                               $(usev common-lisp 'cl')
+                               $(usev cxx 'cpp')
+                               $(usev qt5 'qt5')
+                       )
+
+                       if use qt5; then
+                               #use doc ||
+                               export DOXYGEN=true
+                               export MOC="$(qt5_get_bindir)/moc"
+                       fi
+
+                       ;;
+               *)
+                       # Sanity check for refactoring, the non-base variant is 
only for Qt 6
+                       use qt6 || die "Non-base variant shouldn't be built 
without Qt 6! Please report at bugs.gentoo.org."
+
+                       languages=(
+                               cpp
+                               qt6
+                       )
+
+                       export MOC="$(qt6_get_libdir)/qt6/libexec/moc"
+
+                       ;;
+       esac
+
+       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_SOURCE="${S}" econf "${myeconfargs[@]}"
+
+       if [[ ${MULTIBUILD_VARIANT} == base ]] && 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
+}
+
+src_compile() {
+       multibuild_foreach_variant gpgme_src_compile
+}
+
+gpgme_src_compile() {
+       cd "${BUILD_DIR}" || die
+
+       emake
+
+       if [[ ${MULTIBUILD_VARIANT} == base ]] && 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
+}
+
+src_test() {
+       multibuild_foreach_variant gpgme_src_test
+}
+
+gpgme_src_test() {
+       cd "${BUILD_DIR}" || die
+
+       emake check
+
+       if [[ ${MULTIBUILD_VARIANT} == base ]] && 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"
+}
+
+src_install() {
+       einstalldocs
+       multibuild_foreach_variant gpgme_src_install
+}
+
+gpgme_src_install() {
+       cd "${BUILD_DIR}" || die
+
+       emake DESTDIR="${D}" install
+
+       if [[ ${MULTIBUILD_VARIANT} == base ]] && 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 -r /usr/include/gpgme.h /usr/include/gpgme/gpgme.h
+}

Reply via email to