summaryrefslogtreecommitdiffstats
path: root/libraries/miniupnpc
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/miniupnpc')
-rw-r--r--libraries/miniupnpc/README3
-rw-r--r--libraries/miniupnpc/miniupnpc-cmake.patch66
-rw-r--r--libraries/miniupnpc/miniupnpc.SlackBuild49
-rw-r--r--libraries/miniupnpc/miniupnpc.info12
-rw-r--r--libraries/miniupnpc/slack-desc2
-rw-r--r--libraries/miniupnpc/slackware-version.patch16
6 files changed, 109 insertions, 39 deletions
diff --git a/libraries/miniupnpc/README b/libraries/miniupnpc/README
index 4a8edc6181..7d1ff06c3d 100644
--- a/libraries/miniupnpc/README
+++ b/libraries/miniupnpc/README
@@ -1,6 +1,3 @@
MiniUPnPc, the client library, enabling applications to access the
services provided by an UPnP "Internet Gateway Device" present on
the network. In UPnP terminology, it is a UPnP Control Point.
-
-Note: To install python 3 bindings set PYTHON3=yes.
- # PYTHON3=yes ./miniupnpc.SlackBuild
diff --git a/libraries/miniupnpc/miniupnpc-cmake.patch b/libraries/miniupnpc/miniupnpc-cmake.patch
new file mode 100644
index 0000000000..2000af165a
--- /dev/null
+++ b/libraries/miniupnpc/miniupnpc-cmake.patch
@@ -0,0 +1,66 @@
+diff -Naur miniupnpc-2.2.3.old/CMakeLists.txt miniupnpc-2.2.3/CMakeLists.txt
+--- miniupnpc-2.2.3.old/CMakeLists.txt 2022-01-28 14:14:29.114014705 +0100
++++ miniupnpc-2.2.3/CMakeLists.txt 2022-01-28 14:19:49.875995027 +0100
+@@ -219,24 +219,30 @@
+ # set (UPNPC_INSTALL_TARGETS ${UPNPC_INSTALL_TARGETS} testminixml minixmlvalid testupnpreplyparse testigddescparse testminiwget)
+ endif ()
+
++configure_file(miniupnpc.pc.in miniupnpc.pc @ONLY)
++
+ if (NOT UPNPC_NO_INSTALL)
+ install (FILES
+- miniupnpc.h
+- miniwget.h
+- upnpcommands.h
+- igd_desc_parse.h
+- upnpreplyparse.h
+- upnperrors.h
+- upnpdev.h
+- miniupnpctypes.h
+- portlistingparse.h
+- miniupnpc_declspec.h
++ include/miniupnpc.h
++ include/miniwget.h
++ include/upnpcommands.h
++ include/igd_desc_parse.h
++ include/upnpreplyparse.h
++ include/upnperrors.h
++ include/upnpdev.h
++ include/miniupnpctypes.h
++ include/portlistingparse.h
++ include/miniupnpc_declspec.h
+ DESTINATION include/miniupnpc
+ )
+
+ install(FILES miniupnpc-config.cmake
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/miniupnpc
+ )
++
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/miniupnpc.pc
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
++ )
+ endif()
+
+ # vim: ts=2:sw=2:expandtab
+diff -Naur miniupnpc-2.2.3.old/miniupnpc.pc.in miniupnpc-2.2.3/miniupnpc.pc.in
+--- miniupnpc-2.2.3.old/miniupnpc.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ miniupnpc-2.2.3/miniupnpc.pc.in 2022-01-28 14:16:38.206423709 +0100
+@@ -0,0 +1,18 @@
++# this template is filled-in by CMake `configure_file(... @ONLY)`
++# the `@....@` are filled in by CMake configure_file(),
++# from variables set in your CMakeLists.txt or by CMake itself
++#
++# Good tutoral for understanding .pc files:
++# https://people.freedesktop.org/~dbn/pkg-config-guide.html
++
++prefix="@CMAKE_INSTALL_PREFIX@"
++exec_prefix="${prefix}"
++libdir="${prefix}/lib"
++includedir="${prefix}/include"
++
++Name: @PROJECT_NAME@
++Description: @CMAKE_PROJECT_DESCRIPTION@
++URL: @CMAKE_PROJECT_HOMEPAGE_URL@
++Version: @PROJECT_VERSION@
++Libs: -L"${libdir}" -lminiupnpc
++Cflags: -I"${includedir}"
diff --git a/libraries/miniupnpc/miniupnpc.SlackBuild b/libraries/miniupnpc/miniupnpc.SlackBuild
index 5b41b208b1..63c3f371e5 100644
--- a/libraries/miniupnpc/miniupnpc.SlackBuild
+++ b/libraries/miniupnpc/miniupnpc.SlackBuild
@@ -2,6 +2,7 @@
# Slackware build script for miniupnpc
+# Copyright 2023 Steven Voges <Oregon, USA>
# Copyright 2012-2018 Larry Hajali <larryhaja[at]gmail[dot]com>
# All rights reserved.
#
@@ -25,7 +26,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=miniupnpc
-VERSION=${VERSION:-2.1}
+VERSION=${VERSION:-2.2.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -38,9 +39,6 @@ if [ -z "$ARCH" ]; then
esac
fi
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@@ -81,33 +79,42 @@ find -L . \
# Slackware specific info.
patch -p1 < $CWD/slackware-version.patch
-sed -i 's|share/man|man|' Makefile
-sed -i "s|lib${PRGNAM}\.a|lib${PRGNAM}\.so|" setup.py
-# Upstream Cmake causes build problems. We're going to use the makefile instead.
-CFLAGS="$SLKCFLAGS" LIBDIR="lib${LIBDIRSUFFIX}" make
-make install DESTDIR=$PKG LIBDIR="lib${LIBDIRSUFFIX}"
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_DOCDIR=doc \
+ -DCMAKE_INSTALL_INFODIR=info \
+ -DCMAKE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
+ -DCMAKE_INSTALL_MANDIR=man \
+ -DNO_GETADDRINFO=FALSE \
+ -DUPNPC_BUILD_SAMPLE=TRUE \
+ -DUPNPC_BUILD_SHARED=TRUE \
+ -DUPNPC_BUILD_STATIC=FALSE \
+ -DUPNPC_BUILD_TESTS=TRUE \
+ -DUPNPC_NO_INSTALL=FALSE \
+ -DCMAKE_BUILD_TYPE=Release ..
+ make
+ make install DESTDIR=$PKG
+cd ..
CFLAGS="$SLKCFLAGS" \
-python setup.py install --root=$PKG
+python3 setup.py build
+python3 setup.py install --root=$PKG
-# For python 3.x support.
-if [ "${PYTHON3:-no}" == "yes" ]; then
- CFLAGS="$SLKCFLAGS" \
- python3 setup.py build
- python3 setup.py install --root=$PKG
-fi
-
-# Remove static library.
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/lib${PRGNAM}.a
+chmod 755 $PKG/usr/bin/external-ip.sh
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-find $PKG/usr/man -type f -exec chmod 0644 '{}' \;
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a Changelog.txt LICENSE README $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a Changelog.txt LICENSE README VERSION \
+ $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/libraries/miniupnpc/miniupnpc.info b/libraries/miniupnpc/miniupnpc.info
index 6078f47471..0cad2228c8 100644
--- a/libraries/miniupnpc/miniupnpc.info
+++ b/libraries/miniupnpc/miniupnpc.info
@@ -1,10 +1,10 @@
PRGNAM="miniupnpc"
-VERSION="2.1"
-HOMEPAGE="http://miniupnp.free.fr/"
-DOWNLOAD="http://miniupnp.free.fr/files/miniupnpc-2.1.tar.gz"
-MD5SUM="80143183f743d402459095711b1ce793"
+VERSION="2.2.5"
+HOMEPAGE="http://miniupnp.free.fr"
+DOWNLOAD="http://miniupnp.free.fr/files/miniupnpc-2.2.5.tar.gz"
+MD5SUM="9df22ce1bde980c2b9d084f2406ac596"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Larry Hajali"
-EMAIL="larryhaja[at]gmail[dot]com"
+MAINTAINER="Steven Voges"
+EMAIL="svoges.sbo@gmail.com"
diff --git a/libraries/miniupnpc/slack-desc b/libraries/miniupnpc/slack-desc
index c9e425ea4e..55e894694d 100644
--- a/libraries/miniupnpc/slack-desc
+++ b/libraries/miniupnpc/slack-desc
@@ -12,7 +12,7 @@ miniupnpc: MiniUPnPc, the client library, enabling applications to access the
miniupnpc: services provided by an UPnP "Internet Gateway Device" present on the
miniupnpc: network. In UPnP terminology, it is a UPnP Control Point.
miniupnpc:
-miniupnpc: Homepage: http://miniupnp.free.fr/
+miniupnpc: Homepage: http://miniupnp.free.fr
miniupnpc:
miniupnpc:
miniupnpc:
diff --git a/libraries/miniupnpc/slackware-version.patch b/libraries/miniupnpc/slackware-version.patch
index 36dc146d82..fb759bf092 100644
--- a/libraries/miniupnpc/slackware-version.patch
+++ b/libraries/miniupnpc/slackware-version.patch
@@ -1,15 +1,16 @@
-diff -Naur miniupnpc-1.6.orig/updateminiupnpcstrings.sh miniupnpc-1.6/updateminiupnpcstrings.sh
---- miniupnpc-1.6.orig/updateminiupnpcstrings.sh 2011-01-27 17:50:40.000000000 +0000
-+++ miniupnpc-1.6/updateminiupnpcstrings.sh 2011-12-04 20:55:22.313144966 +0000
-@@ -14,19 +14,11 @@
- OS_NAME=Debian
+--- a/updateminiupnpcstrings.sh 2023-08-23 17:42:05.225106104 -0700
++++ b/updateminiupnpcstrings.sh 2023-08-23 17:50:42.605604311 -0700
+@@ -26,21 +26,10 @@
OS_VERSION=`cat /etc/debian_version`
fi
+
-# use lsb_release (Linux Standard Base) when available
-LSB_RELEASE=`which lsb_release`
-if [ 0 -eq $? -a -x "${LSB_RELEASE}" ]; then
-- OS_NAME=`${LSB_RELEASE} -i -s`
-- OS_VERSION=`${LSB_RELEASE} -r -s`
+- # On NixOS, lsb_release returns strings such as "NixOS" (with quotes),
+- # so we need to stript them with the following xargs trick:
+- OS_NAME=`${LSB_RELEASE} -i -s | xargs echo`
+- OS_VERSION=`${LSB_RELEASE} -r -s | xargs echo`
- case $OS_NAME in
- Debian)
- #OS_VERSION=`${LSB_RELEASE} -c -s`
@@ -18,7 +19,6 @@ diff -Naur miniupnpc-1.6.orig/updateminiupnpcstrings.sh miniupnpc-1.6/updatemini
- #OS_VERSION=`${LSB_RELEASE} -c -s`
- ;;
- esac
-+
+# Slackware specific stuff.
+if [ -f /etc/slackware-version ]; then
+ OS_NAME=`cat /etc/slackware-version | cut -d' ' -f1`