miniupnpc: switch to cmake and add updater

This commit is contained in:
Tony Theodore 2015-12-01 14:56:41 +11:00
parent 7696a567bf
commit eb20723302
1 changed files with 13 additions and 28 deletions

View File

@ -4,7 +4,7 @@
PKG := miniupnpc
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.9
$(PKG)_CHECKSUM := 643001d52e322c52a7c9fdc8f31a7920f4619fc0
$(PKG)_CHECKSUM := 2923e453e880bb949e3d4da9f83dd3cb6f08946d35de0b864d0339cf70934464
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := http://miniupnp.free.fr/files/$($(PKG)_FILE)
@ -12,34 +12,19 @@ $(PKG)_URL_2 := http://miniupnp.tuxfamily.org/files/$($(PKG)_FILE)
$(PKG)_DEPS := gcc
define $(PKG)_UPDATE
echo 'TODO: write update script for $(PKG).' >&2;
echo $($(PKG)_VERSION)
$(WGET) -q -O- 'https://api.github.com/repos/miniupnp/miniupnp/git/refs/tags/' | \
$(SED) -n 's#.*"ref": "refs/tags/miniupnpc_\([^"]*\).*#\1#p' | \
$(SED) 's,_,.,g' | \
$(SORT) -V | \
tail -1
endef
# We can build the whole package, but only make libminiupnpc.a. Rest makes little sense.
define $(PKG)_BUILD
cd '$(1)' && $(SH) ./updateminiupnpcstrings.sh
$(MAKE) -C '$(1)' -f Makefile.mingw -j '$(JOBS)' \
CC='$(TARGET)-gcc' \
AR='$(TARGET)-ar' \
RANLIB='$(TARGET)-ranlib' \
DLLWRAP='$(TARGET)-dllwrap' \
init libminiupnpc.a miniupnpc.dll
$(INSTALL) -d '$(PREFIX)/$(TARGET)/lib'
$(INSTALL) -m644 '$(1)/libminiupnpc.a' '$(PREFIX)/$(TARGET)/lib/'
$(INSTALL) -m644 '$(1)/miniupnpc.lib' '$(PREFIX)/$(TARGET)/lib/'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/bin'
$(INSTALL) -m755 '$(1)/miniupnpc.dll' '$(PREFIX)/$(TARGET)/bin/'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/include'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/include/miniupnpc'
$(INSTALL) -m644 '$(1)/bsdqueue.h' '$(PREFIX)/$(TARGET)/include/'
$(INSTALL) -m644 '$(1)/declspec.h' '$(PREFIX)/$(TARGET)/include/miniupnpc/'
$(INSTALL) -m644 '$(1)/igd_desc_parse.h' '$(PREFIX)/$(TARGET)/include/miniupnpc/'
$(INSTALL) -m644 '$(1)/miniupnpc.h' '$(PREFIX)/$(TARGET)/include/miniupnpc/'
$(INSTALL) -m644 '$(1)/miniupnpctypes.h' '$(PREFIX)/$(TARGET)/include/miniupnpc/'
$(INSTALL) -m644 '$(1)/miniwget.h' '$(PREFIX)/$(TARGET)/include/miniupnpc/'
$(INSTALL) -m644 '$(1)/portlistingparse.h' '$(PREFIX)/$(TARGET)/include/miniupnpc/'
$(INSTALL) -m644 '$(1)/upnpcommands.h' '$(PREFIX)/$(TARGET)/include/miniupnpc/'
$(INSTALL) -m644 '$(1)/upnperrors.h' '$(PREFIX)/$(TARGET)/include/miniupnpc/'
$(INSTALL) -m644 '$(1)/upnpreplyparse.h' '$(PREFIX)/$(TARGET)/include/miniupnpc/'
mkdir '$(1).build'
cd '$(1).build' && '$(TARGET)-cmake' '$(1)' \
-DUPNPC_BUILD_STATIC=$(CMAKE_STATIC_BOOL) \
-DUPNPC_BUILD_SHARED=$(CMAKE_SHARED_BOOL) \
-DUPNPC_BUILD_TESTS=OFF
$(MAKE) -C '$(1).build' -j '$(JOBS)'
$(MAKE) -C '$(1).build' -j 1 install
endef