summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWANG Xuerui <xen0n@gentoo.org>2022-06-22 23:36:27 +0800
committerWANG Xuerui <xen0n@gentoo.org>2022-06-24 13:12:11 +0800
commite659616ebf96eeb60ec91a039ccf0c9de9e80908 (patch)
tree9798a95afa4f19d9a1e88e529ddbe0994d4c1df8
parentsys-kernel/linux-headers: add 5.19_rc1 (diff)
downloadgentoo-e659616ebf96eeb60ec91a039ccf0c9de9e80908.tar.gz
gentoo-e659616ebf96eeb60ec91a039ccf0c9de9e80908.tar.bz2
gentoo-e659616ebf96eeb60ec91a039ccf0c9de9e80908.zip
sys-libs/libseccomp: revbump for loong patch 20220622
The previous revision of the loong patch still had fstat and newfstatat declared as present on loong, while the upstreamed loong kernel ABI has removed support for them. This caused build failures for sys-apps/file and perhaps others, so bump to latest iteration of the upstream PR [1]. (As for quality of the patch, the PR is likely to be accepted as-is.) The patch is again generated by diffing `make dist` output against the official 2.5.4 tarball, due to the package being a base-system one. This is ~loong-only, because the only thing that got bumped was the loong patchset. [1]: https://github.com/seccomp/libseccomp/pull/356 Signed-off-by: WANG Xuerui <xen0n@gentoo.org>
-rw-r--r--sys-libs/libseccomp/Manifest1
-rw-r--r--sys-libs/libseccomp/libseccomp-2.5.4-r1.ebuild111
2 files changed, 112 insertions, 0 deletions
diff --git a/sys-libs/libseccomp/Manifest b/sys-libs/libseccomp/Manifest
index dc573ded9453..5d986c8464d9 100644
--- a/sys-libs/libseccomp/Manifest
+++ b/sys-libs/libseccomp/Manifest
@@ -1,2 +1,3 @@
DIST libseccomp-2.5.4-loongarch64-20220425.patch.xz 132768 BLAKE2B f3ab165b028b5f8b4c16574936b915595807ebeb49ef7365d6051f3dfafa7da46ef2a9de458e0a268298cb340152abe1f3c0c293446462a06696bc9ce92d2f72 SHA512 94f23c7a2cc2ea8acb01fef00ef184295c276b14b2b3ba0c65687fd72081df8478f3f04c51b0b391ba44529c4f914e6edbb4132af935e3be55902f641d478780
+DIST libseccomp-2.5.4-loongarch64-20220622.patch.xz 67668 BLAKE2B faf1b5653a4d454626e310cdfd7def1fb8b768b88d3f792a28170d969a834be7ced8bb7b511a11e0e44691d626046e4c387c08f3fbacdedd6689813f65c129aa SHA512 9aba715c6f120f8df249158f73bc64097243f911d5864294048dc3976580e9ca96cc538c890918a375c3b35369fdbf2383424b6f3d41822c834228ff188680fa
DIST libseccomp-2.5.4.tar.gz 637228 BLAKE2B 38b134cb578f9355667546f92950ebcf8c53ccaf98db568db9aadfa9629c054136849e03d4bf9f09f73998fe66a5e8a9038573d19740b2bddf5518a8a0119229 SHA512 92650bd7d1d48b383f402a536b97a017fd0f6ad1234daf4b938d01c92e8d134a01d2f2dd45fd9e2d025d7556bd1386ec360402145a87f20580c85949d62cea0e
diff --git a/sys-libs/libseccomp/libseccomp-2.5.4-r1.ebuild b/sys-libs/libseccomp/libseccomp-2.5.4-r1.ebuild
new file mode 100644
index 000000000000..bd94a086c76d
--- /dev/null
+++ b/sys-libs/libseccomp/libseccomp-2.5.4-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+DISTUTILS_OPTIONAL=1
+
+inherit distutils-r1 multilib-minimal
+
+DESCRIPTION="high level interface to Linux seccomp filter"
+HOMEPAGE="https://github.com/seccomp/libseccomp"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/seccomp/libseccomp.git"
+ PRERELEASE="2.6.0"
+ inherit autotools git-r3
+else
+ SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz
+ experimental-loong? ( https://dev.gentoo.org/~xen0n/distfiles/${P}-loongarch64-20220622.patch.xz )"
+ #KEYWORDS="-* amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="-* ~loong"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="experimental-loong python static-libs test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# We need newer kernel headers; we don't keep strict control of the exact
+# version here, just be safe and pull in the latest stable ones. bug #551248
+DEPEND=">=sys-kernel/linux-headers-5.15
+ python? ( ${PYTHON_DEPS} )"
+RDEPEND="${DEPEND}"
+BDEPEND="${DEPEND}
+ dev-util/gperf
+ python? ( dev-python/cython[${PYTHON_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}"/libseccomp-python-shared.patch
+ "${FILESDIR}"/libseccomp-2.5.3-skip-valgrind.patch
+)
+
+src_prepare() {
+ if use experimental-loong; then
+ PATCHES+=( "${WORKDIR}/${P}-loongarch64-20220622.patch" )
+ fi
+
+ default
+
+ if use experimental-loong; then
+ # touch generated files to avoid activating maintainer mode
+ # remove when loong-fix-build.patch is no longer necessary
+ touch ./aclocal.m4 ./configure ./configure.h.in || die
+ find . -name Makefile.in -exec touch {} + || die
+ fi
+
+ if [[ ${PV} == *9999 ]] ; then
+ sed -i -e "s/0.0.0/${PRERELEASE}/" configure.ac || die
+
+ eautoreconf
+ fi
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ --disable-python
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+do_python() {
+ # setup.py reads VERSION_RELEASE from the environment
+ local -x VERSION_RELEASE=${PRERELEASE-${PV}}
+
+ pushd "${BUILD_DIR}/src/python" >/dev/null || die
+ "$@"
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi && use python ; then
+ # setup.py expects libseccomp.so to live in "../.libs"
+ # Copy the python files to the right place for this.
+ rm -r "${BUILD_DIR}"/src/python || die
+ cp -r "${S}"/src/python "${BUILD_DIR}"/src/python || die
+ local -x CPPFLAGS="-I\"${BUILD_DIR}/include\" -I\"${S}/include\" ${CPPFLAGS}"
+
+ do_python distutils-r1_src_compile
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python ; then
+ do_python distutils-r1_src_install
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "${PN}.la" -delete || die
+
+ einstalldocs
+}