mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-10 06:26:57 +02:00
app-crypt/gpgme: Sync with Gentoo
It's from Gentoo commit 0e727a3a16bc2abfd39386f10821d3e5ce89c45a.
This commit is contained in:
parent
bc634da15c
commit
2054e7cc1e
@ -0,0 +1,40 @@
|
||||
From ecd0c86d62351d267bdc9566286c532a394c711b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <dev@ingo-kloecker.de>
|
||||
Date: Mon, 2 Sep 2024 15:33:25 +0200
|
||||
Subject: [PATCH] build,python: Fix build with setuptools 72.2.0+
|
||||
|
||||
* lang/python/setup.py.in (BuildExtFirstHack.run): Extend members of the
|
||||
extension instead of lists that were passed to the extension.
|
||||
--
|
||||
|
||||
setuptools 72.2.0 integrated changes in distutils which included
|
||||
"Support for Pathlike objects in data files and extensions". With this
|
||||
change the extensions now take a copy of the sources list passed to the
|
||||
constructor instead of keeping a reference to the passed list. Hence,
|
||||
modifying the sources list that was passed to the extension didn't
|
||||
change the sources list of the extension anymore. This is fixed by
|
||||
modifying the sources list of the extension directly. For consistency
|
||||
we do the same for the swig_opts list.
|
||||
|
||||
GnuPG-bug-id: 7281
|
||||
---
|
||||
lang/python/setup.py.in | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in
|
||||
index 7b64ba7b..d6f537e0 100755
|
||||
--- a/lang/python/setup.py.in
|
||||
+++ b/lang/python/setup.py.in
|
||||
@@ -217,9 +217,9 @@ class BuildExtFirstHack(build):
|
||||
def run(self):
|
||||
self._generate()
|
||||
|
||||
- swig_sources.extend((self._in_build_base('gpgme.i'),
|
||||
- self._in_build_base('helpers.c')))
|
||||
- swig_opts.extend([
|
||||
+ swige.sources.extend((self._in_build_base('gpgme.i'),
|
||||
+ self._in_build_base('helpers.c')))
|
||||
+ swige.swig_opts.extend([
|
||||
'-I' + self.build_base, '-outdir',
|
||||
os.path.join(self.build_lib, 'gpg')
|
||||
])
|
@ -33,7 +33,7 @@ LICENSE="GPL-2 LGPL-2.1"
|
||||
# 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"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~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="
|
||||
@ -69,6 +69,8 @@ BDEPEND="
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.18.0-tests-start-stop-agent-use-command-v.patch
|
||||
"${FILESDIR}"/${PN}-1.23.1-tests-gnupg-no-tofu.patch
|
||||
# backport fix for setuptools 72.2 breakage
|
||||
"${FILESDIR}"/ecd0c86d62351d267bdc9566286c532a394c711b.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
232
sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.23.2-r2.ebuild
vendored
Normal file
232
sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.23.2-r2.ebuild
vendored
Normal file
@ -0,0 +1,232 @@
|
||||
# Copyright 1999-2024 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
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
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 ~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 )
|
||||
)
|
||||
"
|
||||
#doc? ( app-text/doxygen[dot] )
|
||||
BDEPEND="
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
${DISTUTILS_DEPS}
|
||||
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
|
||||
# backport fix for setuptools 72.2 breakage
|
||||
"${FILESDIR}"/ecd0c86d62351d267bdc9566286c532a394c711b.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)
|
||||
GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
|
||||
)
|
||||
|
||||
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
|
||||
}
|
Loading…
Reference in New Issue
Block a user