diff options
Diffstat (limited to 'net-misc/miniupnpd/miniupnpd-2.3.2.ebuild')
-rw-r--r-- | net-misc/miniupnpd/miniupnpd-2.3.2.ebuild | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/net-misc/miniupnpd/miniupnpd-2.3.2.ebuild b/net-misc/miniupnpd/miniupnpd-2.3.2.ebuild new file mode 100644 index 000000000000..0bed1072de26 --- /dev/null +++ b/net-misc/miniupnpd/miniupnpd-2.3.2.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs verify-sig + +DESCRIPTION="MiniUPnP IGD Daemon" +HOMEPAGE=" + http://miniupnp.free.fr/ + https://miniupnp.tuxfamily.org/ + https://github.com/miniupnp/miniupnp/ +" +SRC_URI=" + https://miniupnp.tuxfamily.org/files/${P}.tar.gz + verify-sig? ( + https://miniupnp.tuxfamily.org/files/${P}.tar.gz.sig + ) +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE="+leasefile igd2 ipv6 nftables pcp-peer portinuse strict" + +RDEPEND=" + dev-libs/gmp:0= + sys-apps/util-linux:= + dev-libs/openssl:0= + !nftables? ( + >=net-firewall/iptables-1.4.6:0=[ipv6(+)?] + net-libs/libnfnetlink:= + net-libs/libmnl:= + ) + nftables? ( + net-firewall/nftables + net-libs/libnftnl:= + net-libs/libmnl:= + ) +" +DEPEND=" + ${RDEPEND} + elibc_musl? ( sys-libs/queue-standalone ) +" +BDEPEND=" + sys-apps/lsb-release + verify-sig? ( sec-keys/openpgp-keys-miniupnp ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/miniupnp.asc + +src_prepare() { + default + + # fails without a default route + sed -i -e 's:EXTIF=.*:EXTIF=lo:' testgetifaddr.sh || die +} + +src_configure() { + local opts=( + --vendorcfg + $(usex igd2 '--igd2' '') + $(usex ipv6 '--ipv6' '') + $(usex leasefile '--leasefile' '') + $(usex portinuse '--portinuse' '') + $(usex pcp-peer '--pcp-peer' '') + $(usex strict '--strict' '') + --firewall=$(usex nftables nftables iptables) + ) + + # custom script + ./configure "${opts[@]}" || die + # prevent gzipping manpage + sed -i -e '/gzip/d' Makefile || die +} + +src_compile() { + # By default, it builds a bunch of unittests that are missing wrapper + # scripts in the tarball + emake CC="$(tc-getCC)" STRIP=true miniupnpd +} + +src_test() { + emake CC="$(tc-getCC)" check +} + +src_install() { + emake PREFIX="${ED}" STRIP=true install + + local confd_seds=() + if use nftables; then + confd_seds+=( -e 's/^iptables_scripts=/#&/' ) + else + confd_seds+=( -e 's/^nftables_scripts=/#&/' ) + fi + if ! use ipv6 || use nftables; then + confd_seds+=( -e 's/^ip6tables_scripts=/#&/' ) + fi + + newinitd "${FILESDIR}"/${PN}-init.d-r2 ${PN} + newconfd - ${PN} < <(sed "${confd_seds[@]}" \ + "${FILESDIR}"/${PN}-conf.d-r2 || die) +} + +pkg_postinst() { + elog "Please correct the external interface in the top of the two" + elog "scripts in /etc/miniupnpd and edit the config file in there too" +} |