diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/Manifest index e405158403..5d986c8464 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/Manifest @@ -1,3 +1,3 @@ -DIST libseccomp-2.5.1.tar.gz 638811 BLAKE2B 683ae7536c0cba36f4d30640b42361171fc34b7cb04985ea56e64369df29c440361a0205385b14580cc0e481e0f9ffd0b0e8ebd4ac98817ed59298db6b274c35 SHA512 2be80a6323f9282dbeae8791724e5778b32e2382b2a3d1b0f77366371ec4072ea28128204f675cce101c091c0420d12c497e1a9ccbb7dc5bcbf61bfd777160af -DIST libseccomp-2.5.2.tar.gz 640305 BLAKE2B b61214cb9a9a793d1f04ae1de3f62c578cfaec54fcc355947b4c71efb75072bf60497db8c8a0fd34a46764952349027df3f025ddbd276d58be93209170950e89 SHA512 b2a95152cb274d6b35753596fd825406dae20c4a48b2f4076f835f977ecf324de38a3fe02e789dc20b49ecf6b4eb67f03e7733e92d40f5e20f25874307f1c2ac -DIST libseccomp-2.5.3.tar.gz 637572 BLAKE2B cedf04b3a926f9fe5202e6169ddac6b983e755009c14fc1d645157b9c0bcdf65d4085f8ea7abad90f3a0c13ae4d66b5d8306e725168490863aad15976de1eae7 SHA512 00170fe2360f0c0b33293dccfcc33e98fabb99619f34ecefbcc92bfdaa249ba91e7433226545b842b71542a3b224b6e980ea2ae656c4addf07e84a0def1870a0 +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/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/files/libseccomp-2.6.0-python-shared.patch b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/files/libseccomp-2.6.0-python-shared.patch new file mode 100644 index 0000000000..34b12db221 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/files/libseccomp-2.6.0-python-shared.patch @@ -0,0 +1,25 @@ +From 594fecb16833c693ac0cff8f857aec0edd097077 Mon Sep 17 00:00:00 2001 +Message-Id: <594fecb16833c693ac0cff8f857aec0edd097077.1666701554.git.mprivozn@redhat.com> +From: Michal Privoznik +Date: Tue, 25 Oct 2022 14:39:07 +0200 +Subject: [PATCH] Link python module against shared library + +--- + src/python/setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/python/setup.py b/src/python/setup.py +index 46f9a73..85deb03 100755 +--- a/src/python/setup.py ++++ b/src/python/setup.py +@@ -40,6 +40,6 @@ setup( + ext_modules = cythonize([ + Extension("seccomp", ["seccomp.pyx"], + # unable to handle libtool libraries directly +- extra_objects=["../.libs/libseccomp.a"]), ++ extra_objects=["../.libs/libseccomp.so"]), + ]) + ) +-- +2.37.4 + diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.1.ebuild deleted file mode 100644 index bf83271b3f..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.1.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..9} ) -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" - KEYWORDS="-* amd64 arm arm64 hppa ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux" -fi - -LICENSE="LGPL-2.1" -SLOT="0" -IUSE="python static-libs" - -REQUIRED_USE=" - python? ( - static-libs - ${PYTHON_REQUIRED_USE} - )" - -DEPEND="python? ( ${PYTHON_DEPS} )" -RDEPEND="${DEPEND}" -BDEPEND="${DEPEND} - dev-util/gperf - python? ( dev-python/cython[${PYTHON_USEDEP}] ) -" -# 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. #551248 -DEPEND="${DEPEND} >=sys-kernel/linux-headers-4.3" - -src_prepare() { - default - if [[ "${PV}" == *9999 ]] ; then - sed -i -e "s/0.0.0/${PRERELEASE}/" configure.ac - eautoreconf - fi -} - -multilib_src_configure() { - local myeconfargs=( - $(use_enable static-libs static) - --disable-python - ) - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - emake - - if multilib_is_native_abi && use python ; then - cd "${S}/src/python" || die - sed -i -e "s/=.*VERSION_RELEASE.*,/=\"${PRERELEASE}\",/" \ - -e "/extra_objects/s,\.\.,${OLDPWD}/src," \ - setup.py || die - local -x CPPFLAGS="-I${OLDPWD}/include -I../../include" - distutils-r1_src_compile - fi -} - -multilib_src_install() { - emake DESTDIR="${D}" install - - if multilib_is_native_abi && use python ; then - cd "${S}/src/python" || die - distutils-r1_src_install - fi -} - -multilib_src_install_all() { - find "${ED}" -type f -name "${PN}.la" -delete || die - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.2.ebuild deleted file mode 100644 index eea16fa2bb..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.2.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..9} ) -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" - KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux" -fi - -LICENSE="LGPL-2.1" -SLOT="0" -IUSE="python static-libs" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -DEPEND="python? ( ${PYTHON_DEPS} )" -RDEPEND="${DEPEND}" -BDEPEND="${DEPEND} - dev-util/gperf - python? ( dev-python/cython[${PYTHON_USEDEP}] ) -" -# 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. #551248 -DEPEND="${DEPEND} >=sys-kernel/linux-headers-4.3" - -src_prepare() { - local PATCHES=( - "${FILESDIR}/libseccomp-python-shared.patch" - ) - default - if [[ "${PV}" == *9999 ]] ; then - sed -i -e "s/0.0.0/${PRERELEASE}/" configure.ac - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.4-r1.ebuild similarity index 58% rename from sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.1-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.4-r1.ebuild index 3838d8dfc8..bd94a086c7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.4-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{8..9} ) +PYTHON_COMPAT=( python3_{8..10} ) DISTUTILS_OPTIONAL=1 inherit distutils-r1 multilib-minimal @@ -16,33 +16,50 @@ if [[ ${PV} == *9999 ]] ; then PRERELEASE="2.6.0" inherit autotools git-r3 else - SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="-* amd64 arm arm64 hppa ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux" + 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="python static-libs" +IUSE="experimental-loong python static-libs test" +RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -DEPEND="python? ( ${PYTHON_DEPS} )" +# 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}] ) -" -# 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. #551248 -DEPEND="${DEPEND} >=sys-kernel/linux-headers-4.3" + python? ( dev-python/cython[${PYTHON_USEDEP}] )" + +PATCHES=( + "${FILESDIR}"/libseccomp-python-shared.patch + "${FILESDIR}"/libseccomp-2.5.3-skip-valgrind.patch +) src_prepare() { - local PATCHES=( - "${FILESDIR}/libseccomp-python-shared.patch" - ) + if use experimental-loong; then + PATCHES+=( "${WORKDIR}/${P}-loongarch64-20220622.patch" ) + fi + default - if [[ "${PV}" == *9999 ]] ; then - sed -i -e "s/0.0.0/${PRERELEASE}/" configure.ac + + 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 } @@ -52,12 +69,14 @@ multilib_src_configure() { $(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 @@ -69,9 +88,10 @@ multilib_src_compile() { 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 + 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 } @@ -86,5 +106,6 @@ multilib_src_install() { multilib_src_install_all() { find "${ED}" -type f -name "${PN}.la" -delete || die + einstalldocs } diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.4.ebuild similarity index 63% rename from sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.3.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.4.ebuild index 847d2ce335..b47ea79882 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.5.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -16,36 +16,47 @@ if [[ ${PV} == *9999 ]] ; then PRERELEASE="2.6.0" inherit autotools git-r3 else - SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux" + SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz + experimental-loong? ( https://dev.gentoo.org/~xen0n/distfiles/${P}-loongarch64-20220425.patch.xz )" + KEYWORDS="-* amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux" fi LICENSE="LGPL-2.1" SLOT="0" -IUSE="python static-libs test" +IUSE="experimental-loong python static-libs test" RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -DEPEND="python? ( ${PYTHON_DEPS} )" +# 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}] ) -" -# 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. #551248 -DEPEND="${DEPEND} >=sys-kernel/linux-headers-4.3" + python? ( dev-python/cython[${PYTHON_USEDEP}] )" + +PATCHES=( + "${FILESDIR}"/libseccomp-python-shared.patch + "${FILESDIR}"/libseccomp-2.5.3-skip-valgrind.patch +) src_prepare() { - local PATCHES=( - "${FILESDIR}/libseccomp-python-shared.patch" - "${FILESDIR}/libseccomp-2.5.3-skip-valgrind.patch" - ) + if use experimental-loong; then + PATCHES+=( "${WORKDIR}/${P}-loongarch64-20220425.patch" ) + fi default - if [[ "${PV}" == *9999 ]] ; then + 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 @@ -76,8 +87,8 @@ multilib_src_compile() { 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 + 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-9999.ebuild index 847d2ce335..e97b661f1b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -27,25 +27,24 @@ RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -DEPEND="python? ( ${PYTHON_DEPS} )" +# 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}] ) -" -# 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. #551248 -DEPEND="${DEPEND} >=sys-kernel/linux-headers-4.3" + python? ( dev-python/cython[${PYTHON_USEDEP}] )" + +PATCHES=( + "${FILESDIR}"/libseccomp-2.6.0-python-shared.patch + "${FILESDIR}"/libseccomp-2.5.3-skip-valgrind.patch +) src_prepare() { - local PATCHES=( - "${FILESDIR}/libseccomp-python-shared.patch" - "${FILESDIR}/libseccomp-2.5.3-skip-valgrind.patch" - ) - default - if [[ "${PV}" == *9999 ]] ; then + if [[ ${PV} == *9999 ]] ; then sed -i -e "s/0.0.0/${PRERELEASE}/" configure.ac || die eautoreconf @@ -76,8 +75,8 @@ multilib_src_compile() { 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 + 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/metadata.xml index dd20dd0473..75b652d432 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/metadata.xml @@ -5,6 +5,9 @@ base-system@gentoo.org Gentoo Base System + + Add experimental LoongArch patchset + seccomp/libseccomp libseccomp