include $(TOPDIR)/rules.mk
PKG_NAME:=miniupnpc
-PKG_VERSION:=2.1
-PKG_RELEASE:=1
+PKG_VERSION:=2.1.20190408
+PKG_RELEASE:=2
-PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=e19fb5e01ea5a707e2a8cb96f537fbd9f3a913d53d804a3265e3aeab3d2064c6
+PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
+PKG_HASH:=a0c46bcf6065d6351a8fa6a0a18dc57d10a16908dbb470908fd2e423511514ec
+
PKG_MAINTAINER:=Steven Barth <cyrus@openwrt.org>
+PKG_LICENSE:=BSD-3c
+PKG_LICENSE_FILES:=LICENSE
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/miniupnpc/Default
TITLE:=Lightweight UPnP
TITLE+= library
endef
-TARGET_CFLAGS += $(FPIC)
+CMAKE_OPTIONS += -DUPNPC_BUILD_TESTS=OFF
-MAKE_FLAGS += \
- OS="Linux" \
+TARGET_CFLAGS += $(FPIC)
+TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/miniupnpc
define Package/miniupnpc/install
$(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/upnpc $(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
- $(INSTALL_BIN) \
- $(PKG_INSTALL_DIR)/usr/lib/libminiupnpc.so.* \
- $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libminiupnpc.so.* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,miniupnpc))
--- /dev/null
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,12 +38,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)
+++ /dev/null
---- a/Makefile
-+++ b/Makefile
-@@ -186,8 +186,8 @@ installpythonmodule3: pythonmodule3
- MAKE=$(MAKE) python3 setup.py install
-
- validateminixml: minixmlvalid
-- @echo "minixml validation test"
-- ./minixmlvalid
-+ @echo "(skipping) minixml validation test"
-+# ./minixmlvalid
- touch $@
-
- validateminiwget: testminiwget minihttptestserver testminiwget.sh
--- /dev/null
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -66,6 +66,7 @@ set (MINIUPNPC_SOURCES
+ connecthostport.c
+ portlistingparse.c
+ receivedata.c
++ listdevices.c
+ connecthostport.h
+ igd_desc_parse.h
+ minisoap.h
+@@ -142,6 +143,10 @@ if (UPNPC_BUILD_SHARED)
+ add_executable (upnpc-shared upnpc.c)
+ target_link_libraries (upnpc-shared PRIVATE libminiupnpc-shared)
+ target_include_directories(upnpc-shared PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
++
++ add_executable (listdevices listdevices.c)
++ target_link_libraries (listdevices PRIVATE libminiupnpc-shared)
++ target_include_directories(listdevices PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+ endif ()
+ endif ()
+