Gentoo Archives: gentoo-commits

From: WANG Xuerui <xen0n@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/libseccomp/
Date: Fri, 24 Jun 2022 05:12:47
Message-Id: 1656047531.e659616ebf96eeb60ec91a039ccf0c9de9e80908.xen0n@gentoo
1 commit: e659616ebf96eeb60ec91a039ccf0c9de9e80908
2 Author: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jun 22 15:36:27 2022 +0000
4 Commit: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
5 CommitDate: Fri Jun 24 05:12:11 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e659616e
7
8 sys-libs/libseccomp: revbump for loong patch 20220622
9
10 The previous revision of the loong patch still had fstat and newfstatat
11 declared as present on loong, while the upstreamed loong kernel ABI has
12 removed support for them. This caused build failures for sys-apps/file
13 and perhaps others, so bump to latest iteration of the upstream PR [1].
14 (As for quality of the patch, the PR is likely to be accepted as-is.)
15
16 The patch is again generated by diffing `make dist` output against the
17 official 2.5.4 tarball, due to the package being a base-system one.
18
19 This is ~loong-only, because the only thing that got bumped was the
20 loong patchset.
21
22 [1]: https://github.com/seccomp/libseccomp/pull/356
23
24 Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>
25
26 sys-libs/libseccomp/Manifest | 1 +
27 sys-libs/libseccomp/libseccomp-2.5.4-r1.ebuild | 111 +++++++++++++++++++++++++
28 2 files changed, 112 insertions(+)
29
30 diff --git a/sys-libs/libseccomp/Manifest b/sys-libs/libseccomp/Manifest
31 index dc573ded9453..5d986c8464d9 100644
32 --- a/sys-libs/libseccomp/Manifest
33 +++ b/sys-libs/libseccomp/Manifest
34 @@ -1,2 +1,3 @@
35 DIST libseccomp-2.5.4-loongarch64-20220425.patch.xz 132768 BLAKE2B f3ab165b028b5f8b4c16574936b915595807ebeb49ef7365d6051f3dfafa7da46ef2a9de458e0a268298cb340152abe1f3c0c293446462a06696bc9ce92d2f72 SHA512 94f23c7a2cc2ea8acb01fef00ef184295c276b14b2b3ba0c65687fd72081df8478f3f04c51b0b391ba44529c4f914e6edbb4132af935e3be55902f641d478780
36 +DIST libseccomp-2.5.4-loongarch64-20220622.patch.xz 67668 BLAKE2B faf1b5653a4d454626e310cdfd7def1fb8b768b88d3f792a28170d969a834be7ced8bb7b511a11e0e44691d626046e4c387c08f3fbacdedd6689813f65c129aa SHA512 9aba715c6f120f8df249158f73bc64097243f911d5864294048dc3976580e9ca96cc538c890918a375c3b35369fdbf2383424b6f3d41822c834228ff188680fa
37 DIST libseccomp-2.5.4.tar.gz 637228 BLAKE2B 38b134cb578f9355667546f92950ebcf8c53ccaf98db568db9aadfa9629c054136849e03d4bf9f09f73998fe66a5e8a9038573d19740b2bddf5518a8a0119229 SHA512 92650bd7d1d48b383f402a536b97a017fd0f6ad1234daf4b938d01c92e8d134a01d2f2dd45fd9e2d025d7556bd1386ec360402145a87f20580c85949d62cea0e
38
39 diff --git a/sys-libs/libseccomp/libseccomp-2.5.4-r1.ebuild b/sys-libs/libseccomp/libseccomp-2.5.4-r1.ebuild
40 new file mode 100644
41 index 000000000000..bd94a086c76d
42 --- /dev/null
43 +++ b/sys-libs/libseccomp/libseccomp-2.5.4-r1.ebuild
44 @@ -0,0 +1,111 @@
45 +# Copyright 1999-2022 Gentoo Authors
46 +# Distributed under the terms of the GNU General Public License v2
47 +
48 +EAPI=7
49 +
50 +PYTHON_COMPAT=( python3_{8..10} )
51 +DISTUTILS_OPTIONAL=1
52 +
53 +inherit distutils-r1 multilib-minimal
54 +
55 +DESCRIPTION="high level interface to Linux seccomp filter"
56 +HOMEPAGE="https://github.com/seccomp/libseccomp"
57 +
58 +if [[ ${PV} == *9999 ]] ; then
59 + EGIT_REPO_URI="https://github.com/seccomp/libseccomp.git"
60 + PRERELEASE="2.6.0"
61 + inherit autotools git-r3
62 +else
63 + SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz
64 + experimental-loong? ( https://dev.gentoo.org/~xen0n/distfiles/${P}-loongarch64-20220622.patch.xz )"
65 + #KEYWORDS="-* amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux"
66 + KEYWORDS="-* ~loong"
67 +fi
68 +
69 +LICENSE="LGPL-2.1"
70 +SLOT="0"
71 +IUSE="experimental-loong python static-libs test"
72 +RESTRICT="!test? ( test )"
73 +
74 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
75 +
76 +# We need newer kernel headers; we don't keep strict control of the exact
77 +# version here, just be safe and pull in the latest stable ones. bug #551248
78 +DEPEND=">=sys-kernel/linux-headers-5.15
79 + python? ( ${PYTHON_DEPS} )"
80 +RDEPEND="${DEPEND}"
81 +BDEPEND="${DEPEND}
82 + dev-util/gperf
83 + python? ( dev-python/cython[${PYTHON_USEDEP}] )"
84 +
85 +PATCHES=(
86 + "${FILESDIR}"/libseccomp-python-shared.patch
87 + "${FILESDIR}"/libseccomp-2.5.3-skip-valgrind.patch
88 +)
89 +
90 +src_prepare() {
91 + if use experimental-loong; then
92 + PATCHES+=( "${WORKDIR}/${P}-loongarch64-20220622.patch" )
93 + fi
94 +
95 + default
96 +
97 + if use experimental-loong; then
98 + # touch generated files to avoid activating maintainer mode
99 + # remove when loong-fix-build.patch is no longer necessary
100 + touch ./aclocal.m4 ./configure ./configure.h.in || die
101 + find . -name Makefile.in -exec touch {} + || die
102 + fi
103 +
104 + if [[ ${PV} == *9999 ]] ; then
105 + sed -i -e "s/0.0.0/${PRERELEASE}/" configure.ac || die
106 +
107 + eautoreconf
108 + fi
109 +}
110 +
111 +multilib_src_configure() {
112 + local myeconfargs=(
113 + $(use_enable static-libs static)
114 + --disable-python
115 + )
116 +
117 + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
118 +}
119 +
120 +do_python() {
121 + # setup.py reads VERSION_RELEASE from the environment
122 + local -x VERSION_RELEASE=${PRERELEASE-${PV}}
123 +
124 + pushd "${BUILD_DIR}/src/python" >/dev/null || die
125 + "$@"
126 + popd >/dev/null || die
127 +}
128 +
129 +multilib_src_compile() {
130 + emake
131 +
132 + if multilib_is_native_abi && use python ; then
133 + # setup.py expects libseccomp.so to live in "../.libs"
134 + # Copy the python files to the right place for this.
135 + rm -r "${BUILD_DIR}"/src/python || die
136 + cp -r "${S}"/src/python "${BUILD_DIR}"/src/python || die
137 + local -x CPPFLAGS="-I\"${BUILD_DIR}/include\" -I\"${S}/include\" ${CPPFLAGS}"
138 +
139 + do_python distutils-r1_src_compile
140 + fi
141 +}
142 +
143 +multilib_src_install() {
144 + emake DESTDIR="${D}" install
145 +
146 + if multilib_is_native_abi && use python ; then
147 + do_python distutils-r1_src_install
148 + fi
149 +}
150 +
151 +multilib_src_install_all() {
152 + find "${ED}" -type f -name "${PN}.la" -delete || die
153 +
154 + einstalldocs
155 +}