commit:     6d5b60ff3245104e71b1cc8c055105454824bf13
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 15 13:11:45 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 13:11:51 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6d5b60ff

net-libs/libnftnl: fix build w/ Clang and FORTIFY_SOURCE=2

Thanks-to: Nicholas Vinson <nvinson234 <AT> gmail.com>
Closes: https://bugs.gentoo.org/807766
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-libs/libnftnl/Manifest                 |  1 +
 net-libs/libnftnl/libnftnl-1.2.2-r1.ebuild | 87 ++++++++++++++++++++++++++++++
 2 files changed, 88 insertions(+)

diff --git a/net-libs/libnftnl/Manifest b/net-libs/libnftnl/Manifest
index 1925a175ba13..d62e47a87de7 100644
--- a/net-libs/libnftnl/Manifest
+++ b/net-libs/libnftnl/Manifest
@@ -1,4 +1,5 @@
 DIST libnftnl-1.2.1.tar.bz2 395299 BLAKE2B 
9f525eb540ed959075199aab4b4217bdcf0f67d6744e58d7eab9f7a50aca2d22c6d65419b15c98d24772ef020c3ed2662eba7a0812a5919a840cee5aa589b056
 SHA512 
cabe6896210c451d7917d1abde5e73a65594d53f011486f75dd7be5b4804c49d10f0e508675e091e1faf0363b82670b3f3a167a85db91d52742dc69445888b6a
 DIST libnftnl-1.2.1.tar.bz2.sig 566 BLAKE2B 
dd37a52dc185ef2e8af8f0fe32037a03bf8f50101d566be1d40217ea092ec1a9af08281b22193bb274a1ad462c081980ccc8da35c76d910cf0d613ecb0235449
 SHA512 
dc589d7fcd7d4b0e5e7d50b02967f265ef11b2de69018c8eb264251eb5fab4b4fabb147b8b934f29cdbf66e7bee3f030ef9f02b5872bd76c4cf3523f7e38b94b
+DIST libnftnl-1.2.2-clang-fortify-source.patch.xz 2704 BLAKE2B 
107c90a2875e7477a5e8b7af8ff4c2139d2117e41a4ca9a7656b5f15c430668572c18a43e9b14a5af36c60818289e00bc082cad5d601b4c489335ca7161e5871
 SHA512 
c024607cb138748adcd28a511b858bbf51f2f09e13afa48d3090ba5ecd7bff1c1e87fcf38330eb24ae52c79d1a8bfce91f75be5dc81cfec6f0bc5334dd2f7456
 DIST libnftnl-1.2.2.tar.bz2 394955 BLAKE2B 
69c3338e295dd158faad812ec05db8b8ab12c5626d0f33db14ee830a14d73dc5c3cd764a563cbb4fdeaa2657c99487a99fb0cc4f324a2832d5de21d922acd451
 SHA512 
657d48aa263043b80daa39eb8e2647c84c03b3e3a4a30b85bec1d8e4a0976075a71ad233bb384f4460d5f6662f285c12947feb8c1a6c9a534a2c9cf7ba04eee3
 DIST libnftnl-1.2.2.tar.bz2.sig 566 BLAKE2B 
ffdb35811e57f55ba30dfdd3e6656166b5f515348f99ee11c771b7460fd1b26b1e598146afdf76f4765e865ae76472d7071eabb30604cf78964e2fcbd6a39508
 SHA512 
dc4263e744a79f2b7e4ea619e740d66d6013e62aab655f040150552a6f069794ac59b8cc87a9f630dd42f087ef60523ecf08dc89cd1194637d988f85f67aaf43

diff --git a/net-libs/libnftnl/libnftnl-1.2.2-r1.ebuild 
b/net-libs/libnftnl/libnftnl-1.2.2-r1.ebuild
new file mode 100644
index 000000000000..1515dc6be1b4
--- /dev/null
+++ b/net-libs/libnftnl/libnftnl-1.2.2-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/netfilter.org.asc
+inherit linux-info usr-ldscript verify-sig
+
+DESCRIPTION="Netlink API to the in-kernel nf_tables subsystem"
+HOMEPAGE="https://netfilter.org/projects/nftables/";
+
+if [[ ${PV} =~ ^[9]{4,}$ ]]; then
+       inherit autotools git-r3
+       EGIT_REPO_URI="https://git.netfilter.org/${PN}";
+else
+       SRC_URI="
+               https://netfilter.org/projects/${PN}/files/${P}.tar.bz2
+               
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-clang-fortify-source.patch.xz
+               verify-sig? ( 
https://netfilter.org/projects/${PN}/files/${P}.tar.bz2.sig )
+       "
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+
+       BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-netfilter )"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/11" # libnftnl.so version
+IUSE="examples static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       >=net-libs/libmnl-1.0.4:=
+"
+BDEPEND+="
+       virtual/pkgconfig
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+       "${WORKDIR}"/${P}-clang-fortify-source.patch
+)
+
+pkg_setup() {
+       if kernel_is ge 3 13; then
+               CONFIG_CHECK="~NF_TABLES"
+               linux-info_pkg_setup
+       else
+               eerror "This package requires kernel version 3.13 or newer to 
work properly."
+       fi
+}
+
+src_unpack() {
+       # Drop this phase definition once fortify source patch is in next 
release
+       if use verify-sig ; then
+               verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.sig}
+       fi
+
+       default
+}
+
+src_prepare() {
+       default
+
+       [[ ${PV} =~ ^[9]{4,}$ ]] && eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=(
+               $(use_enable static-libs static)
+       )
+
+       econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+
+       gen_usr_ldscript -a nftnl
+
+       find "${ED}" -type f -name '*.la' -delete || die
+
+       if use examples; then
+               find examples/ -name 'Makefile*' -delete || die "Could not rm 
examples"
+               dodoc -r examples
+               docompress -x /usr/share/doc/${PF}/examples
+       fi
+}

Reply via email to