ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/net/miniupnpc/Makefile b/external/subpack/net/miniupnpc/Makefile
new file mode 100644
index 0000000..d7f8bf9
--- /dev/null
+++ b/external/subpack/net/miniupnpc/Makefile
@@ -0,0 +1,73 @@
+#
+# Copyright (C) 2010-2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=miniupnpc
+PKG_VERSION:=2.2.1
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
+PKG_HASH:=3a3167e57727bf1d2a7b4861f7c7b57a663f58b9cf68227762ed2fc64e8ea11f
+
+PKG_MAINTAINER:=
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
+PKG_CPE_ID:=cpe:/a:miniupnp_project:miniupnp
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/miniupnpc/Default
+ TITLE:=Lightweight UPnP
+ URL:=https://miniupnp.tuxfamily.org
+endef
+
+define Package/miniupnpc
+ $(call Package/miniupnpc/Default)
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=Firewall
+ TITLE+= client
+ DEPENDS:=+libminiupnpc
+endef
+
+define Package/libminiupnpc
+ $(call Package/miniupnpc/Default)
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE+= library
+endef
+
+CMAKE_OPTIONS += -DUPNPC_BUILD_TESTS=OFF
+
+TARGET_CFLAGS += $(FPIC)
+TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/include
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/miniupnpc/ $(1)/usr/include/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.{a,so*} $(1)/usr/lib/
+endef
+
+define Package/miniupnpc/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/upnpc-shared $(1)/usr/bin/upnpc
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/listdevices $(1)/usr/bin/
+endef
+
+define Package/libminiupnpc/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libminiupnpc.so.* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,miniupnpc))
+$(eval $(call BuildPackage,libminiupnpc))
diff --git a/external/subpack/net/miniupnpc/patches/100-no-fPIC.patch b/external/subpack/net/miniupnpc/patches/100-no-fPIC.patch
new file mode 100644
index 0000000..f0b73b4
--- /dev/null
+++ b/external/subpack/net/miniupnpc/patches/100-no-fPIC.patch
@@ -0,0 +1,15 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,12 +41,6 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ target_compile_definitions(miniupnpc-private INTERFACE _DARWIN_C_SOURCE)
+ endif ()
+
+-# Set compiler specific build flags
+-if (CMAKE_COMPILER_IS_GNUCC AND NOT CMAKE_SYSTEM_NAME STREQUAL "AmigaOS")
+- set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+- target_compile_options(miniupnpc-private INTERFACE -Wall)
+-endif ()
+-
+ # Suppress noise warnings
+ if (MSVC)
+ target_compile_definitions(miniupnpc-private INTERFACE _CRT_SECURE_NO_WARNINGS)
diff --git a/external/subpack/net/miniupnpc/patches/200-miniupnpc_desc.patch b/external/subpack/net/miniupnpc/patches/200-miniupnpc_desc.patch
new file mode 100644
index 0000000..61501e1
--- /dev/null
+++ b/external/subpack/net/miniupnpc/patches/200-miniupnpc_desc.patch
@@ -0,0 +1,11 @@
+--- a/upnpcommands.c
++++ b/upnpcommands.c
+@@ -371,7 +371,7 @@ UPNP_AddPortMapping(const char * control
+ AddPortMappingArgs[5].elt = "NewEnabled";
+ AddPortMappingArgs[5].val = "1";
+ AddPortMappingArgs[6].elt = "NewPortMappingDescription";
+- AddPortMappingArgs[6].val = desc?desc:"libminiupnpc";
++ AddPortMappingArgs[6].val = desc?desc:"miniupnpc";
+ AddPortMappingArgs[7].elt = "NewLeaseDuration";
+ AddPortMappingArgs[7].val = leaseDuration?leaseDuration:"0";
+ buffer = simpleUPnPcommand(-1, controlURL, servicetype,