miniupnpd: bump to 2.3.3
[feed/packages.git] / net / miniupnpd / Makefile
1 #
2 # Copyright (C) 2006-2014 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=miniupnpd
11 PKG_VERSION:=2.3.3
12 PKG_RELEASE:=1
13
14 PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_HASH:=6fd7019f936ff88c41e7c822f46f10b51bd72d665978f6586483de75b30c36bf
17
18 PKG_MAINTAINER:=
19 PKG_LICENSE:=BSD-3-Clause
20 PKG_LICENSE_FILES:=LICENSE
21 PKG_CPE_ID:=cpe:/a:miniupnp_project:miniupnpd
22
23 PKG_INSTALL:=1
24 PKG_BUILD_PARALLEL:=1
25
26 include $(INCLUDE_DIR)/package.mk
27 include $(INCLUDE_DIR)/version.mk
28
29 define Package/miniupnpd/Default
30 SECTION:=net
31 CATEGORY:=Network
32 DEPENDS:= \
33 +libcap-ng \
34 +libmnl \
35 +libuuid
36 PROVIDES:=miniupnpd
37 TITLE:=Lightweight UPnP IGD, NAT-PMP & PCP daemon
38 SUBMENU:=Firewall
39 URL:=https://miniupnp.tuxfamily.org/
40 endef
41
42 define Package/miniupnpd-iptables
43 $(call Package/miniupnpd/Default)
44 DEPENDS+= \
45 +IPV6:ip6tables \
46 +IPV6:libip6tc \
47 +iptables \
48 +libip4tc \
49 +libnetfilter-conntrack
50 TITLE+= (iptables)
51 VARIANT:=iptables
52 endef
53
54 define Package/miniupnpd-nftables
55 $(call Package/miniupnpd/Default)
56 DEPENDS+= \
57 +libnftnl
58 TITLE+= (nftables)
59 VARIANT:=nftables
60 DEFAULT_VARIANT:=1
61 CONFLICTS:=miniupnpd-iptables
62 endef
63
64 define Package/miniupnpd/conffiles/Default
65 /etc/config/upnpd
66 endef
67
68 Package/miniupnpd-iptables/conffiles = $(Package/miniupnpd/conffiles/Default)
69 Package/miniupnpd-nftables/conffiles = $(Package/miniupnpd/conffiles/Default)
70
71 define Build/Prepare
72 $(call Build/Prepare/Default)
73 echo "$(VERSION_NUMBER)" | tr '() ' '_' >$(PKG_BUILD_DIR)/os.openwrt
74 endef
75
76 CONFIGURE_ARGS = \
77 $(if $(CONFIG_IPV6),--ipv6) \
78 --igd2 \
79 --leasefile \
80 --portinuse \
81 --firewall=$(BUILD_VARIANT) \
82 --disable-fork
83
84 TARGET_CFLAGS += $(FPIC)
85 TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
86
87 ifeq ($(BUILD_VARIANT),iptables)
88 TARGET_CFLAGS += -flto
89 endif
90
91 define Package/miniupnpd/install/Default
92 $(INSTALL_DIR) $(1)/usr/sbin
93 $(INSTALL_DIR) $(1)/etc/init.d
94 $(INSTALL_DIR) $(1)/etc/config
95 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
96 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/miniupnpd $(1)/usr/sbin/miniupnpd
97 $(INSTALL_BIN) ./files/miniupnpd.init $(1)/etc/init.d/miniupnpd
98 $(INSTALL_CONF) ./files/upnpd.config $(1)/etc/config/upnpd
99 $(INSTALL_DATA) ./files/miniupnpd.hotplug $(1)/etc/hotplug.d/iface/50-miniupnpd
100 endef
101
102 define Package/miniupnpd-iptables/install
103 $(call Package/miniupnpd/install/Default,$1)
104 $(INSTALL_DIR) $(1)/etc/uci-defaults
105 $(INSTALL_DIR) $(1)/usr/share/miniupnpd
106 $(INSTALL_BIN) ./files/miniupnpd.defaults.iptables $(1)/etc/uci-defaults/99-miniupnpd
107 $(INSTALL_DATA) ./files/firewall3.include $(1)/usr/share/miniupnpd/firewall.include
108 endef
109
110 define Package/miniupnpd-nftables/install
111 $(call Package/miniupnpd/install/Default,$1)
112 $(INSTALL_DIR) $(1)/etc/uci-defaults
113 $(INSTALL_DIR) $(1)/usr/share/miniupnpd
114 $(INSTALL_BIN) ./files/miniupnpd.defaults.nftables $(1)/etc/uci-defaults/99-miniupnpd
115 $(INSTALL_DATA) ./files/firewall4.include $(1)/usr/share/miniupnpd/firewall.include
116 $(INSTALL_DIR) $(1)/usr/share/nftables.d
117 $(CP) ./files/nftables.d/* $(1)/usr/share/nftables.d/
118 endef
119
120 $(eval $(call BuildPackage,miniupnpd-iptables))
121 $(eval $(call BuildPackage,miniupnpd-nftables))