summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/miniupnpd/Manifest1
-rw-r--r--net-misc/miniupnpd/miniupnpd-2.1.20190630.ebuild88
2 files changed, 89 insertions, 0 deletions
diff --git a/net-misc/miniupnpd/Manifest b/net-misc/miniupnpd/Manifest
index d75a1d6b4cd4..c76f8b96c1b1 100644
--- a/net-misc/miniupnpd/Manifest
+++ b/net-misc/miniupnpd/Manifest
@@ -1,2 +1,3 @@
DIST miniupnpd-2.1.20190502.tar.gz 236052 BLAKE2B 9f2f81769d72fad2191969e0e80b4d2e70619d5674fe6b4ef9f4306e09ac4737577a2146bc04ec9960df092252abe3c9a57e32d5d893a763b85863d1c4892045 SHA512 6423cef89b5af62b6b6a120a3cd13a0e7755d609b33de8f1671f7f9160fb1b5e68b0ebd3f8b7b5758cf05a1c58b416cde253e37bc5ba0bb423c14b5fb44599f1
DIST miniupnpd-2.1.20190625.tar.gz 240120 BLAKE2B c6cf6b549a1c0c4a411d9487a3dae348d8a37767b9590d29ea763177d876ceb6f521bb7662452e2dff813354fc52f862bcc830079b3ff8af8185de6ee2771e8f SHA512 3b9a14f24c7e753cc71b84622bfbbc0db4a5b5e0fd602ef1129b89b1c729e754c51f5c29b4bf8d1cc37a16f77b33f04cf3f3540afe1ac529105cb91f45fa92c8
+DIST miniupnpd-2.1.20190630.tar.gz 240466 BLAKE2B fe4d4e59a7dad32bef9ed9b4c58b52e378ec9b26ea2439e84284630a7ef7269c6cd53cabdc632ff274cae88aea2552a8808af2ea349138f8b8ed667baf9e87ee SHA512 cd6006e5487652a258f7320e1e28fea7b0790528cc014071109a1abd0f6c249237cf8d0620987c14ee0ce1cca14f4bb4abd439b1d422e0e49a398cd485eaf970
diff --git a/net-misc/miniupnpd/miniupnpd-2.1.20190630.ebuild b/net-misc/miniupnpd/miniupnpd-2.1.20190630.ebuild
new file mode 100644
index 000000000000..07c804f35640
--- /dev/null
+++ b/net-misc/miniupnpd/miniupnpd-2.1.20190630.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="MiniUPnP IGD Daemon"
+HOMEPAGE="http://miniupnp.free.fr/"
+SRC_URI="http://miniupnp.free.fr/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~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}
+ sys-apps/lsb-release"
+
+src_prepare() {
+ default
+
+ # Prevent overriding CFLAGS.
+ sed -i -e '/^CFLAGS =/d' Makefile.linux_nft || die
+
+ mv "Makefile.linux$(usex nftables _nft '')" Makefile || die
+
+ # Prevent gzipping manpage.
+ sed -i -e '/gzip/d' Makefile || die
+}
+
+src_configure() {
+ local -a opts
+ opts=(
+ --vendorcfg
+ $(usex igd2 '--igd2' '')
+ $(usex ipv6 '--ipv6' '')
+ $(usex leasefile '--leasefile' '')
+ $(usex portinuse '--portinuse' '')
+ $(usex pcp-peer '--pcp-peer' '')
+ $(usex strict '--strict' '')
+ )
+
+ emake CONFIG_OPTIONS="${opts[*]}" config.h
+}
+
+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_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"
+}