summaryrefslogtreecommitdiff
path: root/net-firewall
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-11-24 03:02:55 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-11-24 03:02:55 +0000
commit530a5a826feeb71085fb8a01927f4d775a0b131b (patch)
treeb7669c45ea3f2a3a37b2437817a370226bb1c819 /net-firewall
parent71dd9d29cdaf7cc0ecdb9ea37d128726a941c630 (diff)
gentoo auto-resync : 24:11:2024 - 03:02:54
Diffstat (limited to 'net-firewall')
-rw-r--r--net-firewall/Manifest.gzbin4218 -> 4217 bytes
-rw-r--r--net-firewall/firewalld/Manifest8
-rw-r--r--net-firewall/firewalld/firewalld-2.1.1-r5.ebuild228
-rw-r--r--net-firewall/firewalld/firewalld-2.2.1-r1.ebuild2
-rw-r--r--net-firewall/firewalld/firewalld-2.2.3.ebuild2
-rw-r--r--net-firewall/firewalld/metadata.xml4
-rw-r--r--net-firewall/xtables-addons/Manifest4
-rw-r--r--net-firewall/xtables-addons/metadata.xml1
-rw-r--r--net-firewall/xtables-addons/xtables-addons-3.27.ebuild107
9 files changed, 116 insertions, 240 deletions
diff --git a/net-firewall/Manifest.gz b/net-firewall/Manifest.gz
index 2a768beb6f03..31951d72e4ee 100644
--- a/net-firewall/Manifest.gz
+++ b/net-firewall/Manifest.gz
Binary files differ
diff --git a/net-firewall/firewalld/Manifest b/net-firewall/firewalld/Manifest
index dcf7dcc8b393..6c12899cf622 100644
--- a/net-firewall/firewalld/Manifest
+++ b/net-firewall/firewalld/Manifest
@@ -1,10 +1,8 @@
AUX firewalld-2.2.1-systemd-service.patch 752 BLAKE2B 2e728ebda2372f755d3c2bddb6ffd9716c22b5a162f7f26b5a4ff2486ca40b56d1c1928c3f98d0d0d703c877a6060584eb431948006af80d98de0178de93f5ea SHA512 2a3c44af1922aad414ef58752c1b49ad02f3ad833716002e66a7d54af5f1ad74883e0c71ae7d7c44a8eab980b7afa423f8daeccb105f2b2ba859b12f4e0bbe09
AUX firewalld-systemd-service.patch 769 BLAKE2B fbd8392b6f542413ae2896f8830faa0d0ccab11af3e41d427e3497b862ee7245b45a04c217aa84ea976b21661f2ce5311c7f1602d90c72bf9365fd815596bd9b SHA512 de85e40625581d55a476f9502d0172cfd45e01cd78e4b9afebc14a603e0a73deace625899a333f6fe37e55b1b0a606f515daf75b5460ebad63318042bba8541e
AUX firewalld.init 250 BLAKE2B 1c0f690e24313037b801902aa772a9d1cb6889a05f142bc3d84602002ef053cd059b5193983f9fe6d89065a070a566a6a9ba8212a092435953ebed80ea7c7b40 SHA512 457cda01449f38563e98e1db937fe1c50745eab91797f52687e3ab9f5d94dd42d129740ae6669e99666a3f096d631dd3a44e66010b638b31b9c6ba798362403e
-DIST firewalld-2.1.1.tar.bz2 1315222 BLAKE2B 064abfae1f2f1c5a63bbbbbec3357aa6e63936818fa2020ca882d1b834736b3735a32b0ab318e6de78b6f785cb4da0ee4e299956c922d9dbf6e7bd442e9bb2d6 SHA512 383e5ea3d451a28241e5a76f8d0efeeb8319663bdc5f680b68c5156ddb5145fac766a9ee9521c4af27b1df82861ca6f68ee81c0588b1dd6c4f6d4e4f5ca8fee1
DIST firewalld-2.2.1.tar.bz2 1295501 BLAKE2B fc7bb401895bc39c34ec585468bdcc1b3c3f8eeb35c786c0cf7d886f456c99840107db73e8f611a7d7ab1db1408c6dc349a3d5eee2fbd1e624fe06dd8a558d91 SHA512 08117be01a25a8e263cf419d7b01a98c80b53108af68f6cfc1d900692e6124c37b9dd6feaf4bc3c6e3f27958a9ee45b9795c7f5a9250eb644b6e903f97672c8a
DIST firewalld-2.2.3.tar.bz2 1310686 BLAKE2B dba517166e1588195ac76123503a2526ffa6c7bd884953ba7ec2806f9ef3a93a879936e48e0d5b638c6e3e888b558757989f8035106cc103eab92d72d8a077be SHA512 e1b1d5fc372359ecbbc074be15e8a9dc4e39836545d5a1364f05deb07eb6e43505eb37589a7b0fb5f3115e3ed3fbc58efe447e2d5b0dcc716a66903c63df824b
-EBUILD firewalld-2.1.1-r5.ebuild 5356 BLAKE2B 3d2ca4ce68b4c40b081c30780af9c32df51c9f857315c2b11bfdef56d67e5708d9569e0405d689499248dee395a83583e4a758879e42f5207b955ba08956738c SHA512 80266f187abd46119dbe2edcbc7b6c7f85e92cb5547652610a23bca833121d73859bf98a0b4f1dbaec5d313eff9680f3efce6e52b139050d05d05b7f303c17b7
-EBUILD firewalld-2.2.1-r1.ebuild 4854 BLAKE2B ff6b6d0d3ff7c93831d36244de4935c2f42ae7db0b437f3fd769d473afe41aeec39e996495195cbb1319acea094cbadf442faa08408cc70662453cdcf5e8cf74 SHA512 ffa4b80719aeff75650b8289e9f55825fbc86dbffc92584fb3654166534ff7a862f089ad475f6cb6ee007b0c75f0ca54a7de4ca8e6f6133b111b9a691a77f5ff
-EBUILD firewalld-2.2.3.ebuild 4859 BLAKE2B 68325a973970db419f10f545df43dcdf4c731ce1ce00951321fafa7e50ebc7b4cbfbdad668389992247adb5fe33b50728c8b69416f3256b061555640133663a2 SHA512 50dcf983e8bd07822d84ba66bc6af7ffcd7ca50ab81507a8ca589de1f73af7fef37fcedc5c42c2a7ec1f555d317164d52ac57a49f911bd917473d0f87cc03c3b
-MISC metadata.xml 671 BLAKE2B 69c4bda7cc74a243aa1738bed90d16a3bc2c2085f6c0718becc7797a68da63035ef4d4f5e59c0583987d54032c163df6052d012fb7ca49026ca7259088793d33 SHA512 dd2d482251a4e33cb12ba324e1a21b4758f82de83c0cf83d5fa6259444c272360b47c5666e596103eba4703183fc9864a6bbb07a254aba67146b89d9870e9bbe
+EBUILD firewalld-2.2.1-r1.ebuild 4854 BLAKE2B 1ce274efbf722e86881ebbcba6326f902dd23a5e68a6c06f812dfb7f10ec524f77ada040c3f79278e3a789a5cc12fedc9f6a56b2ea8dbeb5cf8fb41b8782dcb2 SHA512 563473518957a4c2f7a086e0feb99643b62dc3430c181e5c728ff000a65ed467cd81e3ba2af29535c628d7d5b0183d7992daaed5557904594e66966a37e68cb7
+EBUILD firewalld-2.2.3.ebuild 4859 BLAKE2B 3e50abfd4b27ade63f532a6a7c97c2ab05ff046acf3b38522eb312f75ef87252692770afd1e4cebf5595a0556676bb5b1c5fc9f3ac277c3f757d2b6e122c3a20 SHA512 cb2da39014af9446267f6ce4512bf06f15a094fc64806801e00a62a7a272f0aec7a2c4e0125a6c1c6bf6927fa1da5f406e75fb3d26ab04abfbd7a9c593e0c2de
+MISC metadata.xml 456 BLAKE2B c6f76298485f64148175d8b21cb20bd4e167e1715bf4fead93e9178d38697ad18d1676f846ef1d0093f98481288c05f5bebc546c8c456b03f797a98911ac3ad4 SHA512 eac1607e81621619f29d322af5ad39f00648e0c8929ef8be7e0db9e4a01c131d2daa45c9d65744523622bc954631e6d71dfac9ec34178a59fd0afcac0b14d8d6
diff --git a/net-firewall/firewalld/firewalld-2.1.1-r5.ebuild b/net-firewall/firewalld/firewalld-2.1.1-r5.ebuild
deleted file mode 100644
index e1ff652b6c61..000000000000
--- a/net-firewall/firewalld/firewalld-2.1.1-r5.ebuild
+++ /dev/null
@@ -1,228 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit bash-completion-r1 gnome2-utils linux-info optfeature
-inherit plocale python-single-r1 systemd xdg-utils
-
-DESCRIPTION="Firewall daemon with D-Bus interface providing a dynamic firewall"
-HOMEPAGE="https://firewalld.org/"
-SRC_URI="https://github.com/firewalld/firewalld/releases/download/v${PV}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-IUSE="gui +nftables +iptables selinux test"
-# Tests are too unreliable in sandbox environment
-RESTRICT="!test? ( test ) test"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- || ( >=sys-apps/openrc-0.11.5 sys-apps/openrc-navi sys-apps/systemd )
- $(python_gen_cond_dep '
- dev-python/dbus-python[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- gui? (
- x11-libs/gtk+:3
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- nftables? ( >=net-firewall/nftables-0.9.4[python,json] )
- ')
- iptables? (
- net-firewall/iptables[ipv6(+)]
- net-firewall/ebtables
- net-firewall/ipset
- nftables? ( net-firewall/nftables[xtables(+)] )
- )
- selinux? ( sec-policy/selinux-firewalld )
-"
-DEPEND="
- ${RDEPEND}
- dev-libs/glib:2
-"
-BDEPEND="
- app-text/docbook-xml-dtd
- >=dev-util/intltool-0.35
- sys-devel/gettext
-"
-
-# Testsuite's Makefile.am calls missing(!)
-# ... but this seems to be consistent with the autoconf docs?
-# Needs more investigation: https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/autom4te-Invocation.html
-QA_AM_MAINTAINER_MODE=".*--run autom4te --language=autotest.*"
-
-PLOCALES="ar as ast bg bn_IN ca cs da de el en_GB en_US es et eu fa fi fr gl gu hi hr hu ia id it ja ka kn ko lt ml mr nl or pa pl pt pt_BR ro ru si sk sl sq sr sr@latin sv ta te tr uk zh_CN zh_TW"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-systemd-service.patch
-)
-
-pkg_setup() {
- # See bug #830132 for the huge list
- # We can probably narrow it down a bit but it's rather fragile
- local CONFIG_CHECK="~NF_CONNTRACK ~NETFILTER_XT_MATCH_CONNTRACK
- ~NETFILTER
- ~NETFILTER_ADVANCED
- ~NETFILTER_INGRESS
- ~NF_NAT_MASQUERADE
- ~NF_NAT_REDIRECT
- ~NF_TABLES_INET
- ~NF_TABLES_IPV4
- ~NF_TABLES_IPV6
- ~NF_CONNTRACK
- ~NF_CONNTRACK_BROADCAST
- ~NF_CONNTRACK_NETBIOS_NS
- ~NF_CONNTRACK_TFTP
- ~NF_CT_NETLINK
- ~NF_CT_NETLINK_HELPER
- ~NF_DEFRAG_IPV4
- ~NF_DEFRAG_IPV6
- ~NF_NAT
- ~NF_NAT_TFTP
- ~NF_REJECT_IPV4
- ~NF_REJECT_IPV6
- ~NF_SOCKET_IPV4
- ~NF_SOCKET_IPV6
- ~NF_TABLES
- ~NF_TPROXY_IPV4
- ~NF_TPROXY_IPV6
- ~IP_NF_FILTER
- ~IP_NF_IPTABLES
- ~IP_NF_MANGLE
- ~IP_NF_NAT
- ~IP_NF_RAW
- ~IP_NF_SECURITY
- ~IP_NF_TARGET_MASQUERADE
- ~IP_NF_TARGET_REJECT
- ~IP6_NF_FILTER
- ~IP6_NF_IPTABLES
- ~IP6_NF_MANGLE
- ~IP6_NF_NAT
- ~IP6_NF_RAW
- ~IP6_NF_SECURITY
- ~IP6_NF_TARGET_MASQUERADE
- ~IP6_NF_TARGET_REJECT
- ~IP_SET
- ~NETFILTER_CONNCOUNT
- ~NETFILTER_NETLINK
- ~NETFILTER_NETLINK_OSF
- ~NETFILTER_NETLINK_QUEUE
- ~NETFILTER_SYNPROXY
- ~NETFILTER_XTABLES
- ~NETFILTER_XT_CONNMARK
- ~NETFILTER_XT_MATCH_CONNTRACK
- ~NETFILTER_XT_MATCH_MULTIPORT
- ~NETFILTER_XT_MATCH_STATE
- ~NETFILTER_XT_NAT
- ~NETFILTER_XT_TARGET_MASQUERADE
- ~NFT_COMPAT
- ~NFT_CT
- ~NFT_FIB
- ~NFT_FIB_INET
- ~NFT_FIB_IPV4
- ~NFT_FIB_IPV6
- ~NFT_HASH
- ~NFT_LIMIT
- ~NFT_LOG
- ~NFT_MASQ
- ~NFT_NAT
- ~NFT_QUEUE
- ~NFT_QUOTA
- ~NFT_REDIR
- ~NFT_REJECT
- ~NFT_REJECT_INET
- ~NFT_REJECT_IPV4
- ~NFT_REJECT_IPV6
- ~NFT_SOCKET
- ~NFT_SYNPROXY
- ~NFT_TPROXY
- ~NFT_TUNNEL
- ~NFT_XFRM"
-
- # kernel >= 4.19 has unified a NF_CONNTRACK module, bug #692944
- if kernel_is -lt 4 19; then
- CONFIG_CHECK+=" ~NF_CONNTRACK_IPV4 ~NF_CONNTRACK_IPV6"
- fi
-
- # bug #831259
- if kernel_is -le 5 4 ; then
- CONFIG_CHECK+=" ~NF_TABLES_SET"
- fi
-
- # bug #853055
- if kernel_is -lt 5 18 ; then
- CONFIG_CHECK+=" ~NFT_COUNTER"
- fi
-
- # bug #926685
- if kernel_is -le 6 1 ; then
- CONFIG_CHECK+=" ~NFT_OBJREF"
- fi
-
- linux-info_pkg_setup
-}
-
-src_prepare() {
- default
-
- plocale_find_changes "po" "" ".po" || die
- plocale_get_locales | sed -e 's/ /\n/g' > po/LINGUAS
-}
-
-src_configure() {
- python_setup
-
- local myeconfargs=(
- --enable-systemd
- $(use_with iptables iptables "${EPREFIX}/sbin/iptables")
- $(use_with iptables iptables_restore "${EPREFIX}/sbin/iptables-restore")
- $(use_with iptables ip6tables "${EPREFIX}/sbin/ip6tables")
- $(use_with iptables ip6tables_restore "${EPREFIX}/sbin/ip6tables-restore")
- $(use_with iptables ebtables "${EPREFIX}/sbin/ebtables")
- $(use_with iptables ebtables_restore "${EPREFIX}/sbin/ebtables-restore")
- $(use_with iptables ipset "${EPREFIX}/usr/sbin/ipset")
- --with-systemd-unitdir="$(systemd_get_systemunitdir)"
- --with-bashcompletiondir="$(get_bashcompdir)"
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- python_optimize
-
- # Get rid of junk
- rm -rf "${D}/etc/sysconfig/" || die
-
- # For non-gui installs we need to remove GUI bits
- if ! use gui; then
- rm -rf "${D}/etc/xdg/autostart" || die
- rm -f "${D}/usr/bin/firewall-applet" || die
- rm -f "${D}/usr/bin/firewall-config" || die
- rm -rf "${D}/usr/share/applications" || die
- rm -rf "${D}/usr/share/icons" || die
- fi
-
- newinitd "${FILESDIR}"/firewalld.init firewalld
-}
-
-pkg_preinst() {
- gnome2_schemas_savelist
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- gnome2_schemas_update
-
- # bug #833569
- optfeature "changing zones with NetworkManager" gnome-extra/nm-applet
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- gnome2_schemas_update
-}
diff --git a/net-firewall/firewalld/firewalld-2.2.1-r1.ebuild b/net-firewall/firewalld/firewalld-2.2.1-r1.ebuild
index 4a115f5bf943..5b38b6e28baa 100644
--- a/net-firewall/firewalld/firewalld-2.2.1-r1.ebuild
+++ b/net-firewall/firewalld/firewalld-2.2.1-r1.ebuild
@@ -28,7 +28,7 @@ RDEPEND="
>=net-firewall/nftables-0.9.4[python,json,${PYTHON_USEDEP}]
gui? (
x11-libs/gtk+:3
- dev-python/PyQt6[gui,widgets,${PYTHON_USEDEP}]
+ dev-python/pyqt6[gui,widgets,${PYTHON_USEDEP}]
)
')
net-firewall/nftables[xtables(+)]
diff --git a/net-firewall/firewalld/firewalld-2.2.3.ebuild b/net-firewall/firewalld/firewalld-2.2.3.ebuild
index d08a06d0215c..5ed05ae33d83 100644
--- a/net-firewall/firewalld/firewalld-2.2.3.ebuild
+++ b/net-firewall/firewalld/firewalld-2.2.3.ebuild
@@ -28,7 +28,7 @@ RDEPEND="
>=net-firewall/nftables-0.9.4[python,json,${PYTHON_USEDEP}]
gui? (
x11-libs/gtk+:3
- dev-python/PyQt6[gui,widgets,${PYTHON_USEDEP}]
+ dev-python/pyqt6[gui,widgets,${PYTHON_USEDEP}]
)
')
net-firewall/nftables[xtables(+)]
diff --git a/net-firewall/firewalld/metadata.xml b/net-firewall/firewalld/metadata.xml
index 79917d81993e..d9b61b18aba8 100644
--- a/net-firewall/firewalld/metadata.xml
+++ b/net-firewall/firewalld/metadata.xml
@@ -9,10 +9,6 @@
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
- <use>
- <flag name="nftables">Add support for <pkg>net-firewall/nftables</pkg> as firewall backend</flag>
- <flag name="iptables">Add support for <pkg>net-firewall/iptables</pkg> as firewall backend</flag>
- </use>
<upstream>
<remote-id type="github">firewalld/firewalld</remote-id>
</upstream>
diff --git a/net-firewall/xtables-addons/Manifest b/net-firewall/xtables-addons/Manifest
index c77bdf7f8a43..44e5447f9da8 100644
--- a/net-firewall/xtables-addons/Manifest
+++ b/net-firewall/xtables-addons/Manifest
@@ -1,3 +1,5 @@
DIST xtables-addons-3.24.tar.xz 335724 BLAKE2B c086616c0366346bd87813ae0fc561bdb8f892eecea19ef88c65afef5318ac6f75fec658e0c6595de5c620c965b2bd7f10e45ff3ec55ffb9ddf8e85643190e7e SHA512 08c3b87617e0124aef99a3953fc5e03e8d98be50ce70771e352509ec64263d5256f744489f10f39879630d9dc8d28f3c91173b4739c95bbd8d5ad56e33138eb4
+DIST xtables-addons-3.27.tar.xz 340360 BLAKE2B 5b82069e21464bc293d76c6cd298e6beafdda57bc07582be64d7ff9a5511741bd1acd9a54a7b1caa08631d108a17b51dc7e7c2926003e6a893b1df0f6b360b62 SHA512 1938342914c24621743d0460e4057ffa6d3b6d01f3d0ca5feaa3852675f18c309f57fcb73725972d4aa87b7da92667efffa16e203f4cd1362cb8bb03a116636a
EBUILD xtables-addons-3.24-r1.ebuild 2736 BLAKE2B 6c9276ebebccd0553c4f580fdc0ef8727ae9f419f4f3d573633893c9abc2f8911c69f51da103101420532fbf31672968139b13a6922655441627f98020ef334d SHA512 c3899f153fdef7e207f0329f0bf59a2dabbec33dcdc079361e46df5d42e53db9e43eba98c57f7514a148a64018812e9453c4ab1ce456029b9ed32a88b4dc9093
-MISC metadata.xml 698 BLAKE2B 64bcff2bb22f8b71b1acd94386eb10067dfd7be07d829f6e7e75a77da09b5999b8a53da6b9a1aca727dc7d32518fd11cd447ad19aeaec97f1eddfd9107b3d8e9 SHA512 99851425f9be6f3aa906d8d1d908a64a1354bc5b9d0ff771a016cc6b2c31ceb107a01ead4287db7cbaf20bb4661b372ee5454881b00ca5c01ef3b4b81073f9e3
+EBUILD xtables-addons-3.27.ebuild 2743 BLAKE2B 0de5ade43d460b156ef5bbb65ffbcc149464988c7935bea06adda8aaad391cc8c364882eb85a3a1b060f78fe36109be35ffc6e0b81ce37741d765b61783441fc SHA512 a3374b9e2fbe61281fbd31d0ec4b1ab35d2a4563485446af5a205b1c75622c0bf5cb9438fef1d0c91ad74ebb683bf62d505f2483d9619cb268dc7e4aca2e2a56
+MISC metadata.xml 762 BLAKE2B e5a118cab049379de2eba56e19f8135d160aa692be7a88ebb229d39283b0465c5a2d7f6fa918dac76b7474c201f3b78114190dfd9b19c9ea4f72e0c0e5dcebc0 SHA512 461fd8f79b5cc47d276809ff3344d4895c2eea51f1fc13eeab30df86f1b39603ff77c451f76fcc131d9134afae57461e8b0d4c78bcc20562de62da96891c067b
diff --git a/net-firewall/xtables-addons/metadata.xml b/net-firewall/xtables-addons/metadata.xml
index 22c9b77bb8cd..461cf8e0f052 100644
--- a/net-firewall/xtables-addons/metadata.xml
+++ b/net-firewall/xtables-addons/metadata.xml
@@ -13,5 +13,6 @@
</longdescription>
<upstream>
<remote-id type="sourceforge">xtables-addons</remote-id>
+ <remote-id type="codeberg">jengelh/xtables-addons</remote-id>
</upstream>
</pkgmetadata>
diff --git a/net-firewall/xtables-addons/xtables-addons-3.27.ebuild b/net-firewall/xtables-addons/xtables-addons-3.27.ebuild
new file mode 100644
index 000000000000..dd7a313409cf
--- /dev/null
+++ b/net-firewall/xtables-addons/xtables-addons-3.27.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MODULES_OPTIONAL_IUSE="+modules"
+inherit flag-o-matic linux-mod-r1
+
+XTABLES_MODULES=(
+ account chaos delude dhcpmac dnetmap echo ipmark logmark
+ proto sysrq tarpit asn condition fuzzy geoip gradm iface
+ ipp2p ipv4options length2 lscan pknock psd quota2
+)
+
+MODULES_KERNEL_MIN=4.15
+
+DESCRIPTION="iptables extensions not yet accepted in the main kernel"
+HOMEPAGE="
+ https://inai.de/projects/xtables-addons/
+ https://codeberg.org/jengelh/xtables-addons/
+"
+SRC_URI="https://inai.de/files/xtables-addons/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="${XTABLES_MODULES[*]/#/xtables_addons_}"
+
+XTABLES_SCRIPTS_DEPEND="
+ app-arch/unzip
+ dev-perl/Net-CIDR-Lite
+ dev-perl/Text-CSV_XS
+ virtual/perl-Getopt-Long
+"
+DEPEND="net-firewall/iptables:="
+RDEPEND="
+ ${DEPEND}
+ xtables_addons_asn? ( ${XTABLES_SCRIPTS_DEPEND} )
+ xtables_addons_geoip? ( ${XTABLES_SCRIPTS_DEPEND} )
+"
+
+pkg_setup() {
+ local CONFIG_CHECK="NF_CONNTRACK NF_CONNTRACK_MARK"
+
+ if use xtables_addons_pknock; then
+ CONFIG_CHECK+=" ~CONNECTOR"
+ local ERROR_CONNECTOR="CONFIG_CONNECTOR: is not set but is needed to receive userspace
+ notifications from pknock through netlink/connector"
+ fi
+
+ linux-mod-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ local mod modules
+ mapfile -t modules < <(sed -En 's/^build_(.+)=.*/\L\1/p' mconfig || die)
+ [[ ${modules[*]} == "${XTABLES_MODULES[*]}" ]] ||
+ die "XTABLES_MODULES needs to be updated to: '${modules[*]}'"
+
+ for mod in "${modules[@]}"; do
+ use xtables_addons_${mod} || sed -i "/^build_${mod}=/Id" mconfig || die
+ done
+}
+
+src_configure() {
+ # Uses CFLAGS for tools, and it may mismatch with the kernel's CC
+ # FIXME?: ideally would want to build tools with normal CC
+ use modules && CC=${KERNEL_CC} strip-unsupported-flags
+
+ local econfargs=(
+ # TODO?: should move to ${EPREFIX}/usr + use default libexecdir by now
+ # (matching documentation), but could be a disruptive change for users
+ # with xt_asn/geoip_* paths they may have hardcoded in scripts
+ --prefix="${EPREFIX:-/}"
+ --libexecdir="${EPREFIX}"/$(get_libdir)
+ $(usex modules --with-kbuild="${KV_OUT_DIR}" --without-kbuild)
+ )
+
+ econf "${econfargs[@]}"
+}
+
+src_compile() {
+ use modules || MODULES_MAKEARGS=()
+
+ emake "${MODULES_MAKEARGS[@]}"
+}
+
+src_install() {
+ MODULES_MAKEARGS+=(
+ DESTDIR="${D}"
+ INSTALL_MOD_DIR=xtables_addons
+ )
+
+ emake "${MODULES_MAKEARGS[@]}" install
+ modules_post_process
+
+ dodoc -r README.rst doc/.
+
+ use xtables_addons_asn ||
+ find "${ED}" -type f -name '*_asn*' -delete || die
+ use xtables_addons_geoip ||
+ find "${ED}" -type f -name '*_geoip*' -delete || die
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}