Index | Thread | Search

From:
Rafael Sadowski <rafael@sizeofvoid.org>
Subject:
UPDATE: multimedia/upplay, net/libupnp, net/libupnpp
To:
ports@openbsd.org
Cc:
Pascal Stumpf <pascal@stumpf.co>, George Koehler <gkoehler@cvs.openbsd.org>
Date:
Sun, 3 Aug 2025 09:15:43 +0200

Download raw body.

Thread
  • Rafael Sadowski:

    UPDATE: multimedia/upplay, net/libupnp, net/libupnpp

Here is a diff to update upplay, libupnpp, libupnp to the lastest
version. The motivation behind this is to get rid of qtwebkit.

upplay starts fine, but I don't have a CD device to test it properly.

Thanks gkoehler@ to help me to fix the meson libupnpp build.

Feedback, tests as well as OKs welcome.

Rafael

diff --git a/multimedia/upplay/Makefile b/multimedia/upplay/Makefile
index f6c02f4a6eb..87294fcd9f6 100644
--- a/multimedia/upplay/Makefile
+++ b/multimedia/upplay/Makefile
@@ -1,8 +1,8 @@
-COMMENT =		UPnP audio control point
-
-DISTNAME =		upplay-1.3.3
-REVISION =		2
 USE_NOBTCFI =		Yes
+USE_WXNEEDED =		Yes
+
+COMMENT =		UPnP audio control point
+DISTNAME =		upplay-1.9.7
 
 CATEGORIES =		multimedia net
 
@@ -10,29 +10,29 @@ HOMEPAGE =		https://www.lesbonscomptes.com/upplay/
 
 MAINTAINER =		Pascal Stumpf <pascal@stumpf.co>
 
+SITES =			https://www.lesbonscomptes.com/upplay/downloads/
+
 # GPLv3+
 PERMIT_PACKAGE =	Yes
 
-WANTLIB += ${COMPILER_LIBCXX} GL Qt5Core Qt5Gui Qt5Network Qt5WebKit
-WANTLIB += Qt5WebKitWidgets Qt5Widgets c jsoncpp m upnpp
+WANTLIB += ${COMPILER_LIBCXX} GL Qt6Core Qt6Gui Qt6Network Qt6OpenGL
+WANTLIB += Qt6Positioning Qt6PrintSupport Qt6Qml Qt6QmlMeta Qt6QmlModels
+WANTLIB += Qt6QmlWorkerScript Qt6Quick Qt6WebChannel Qt6WebEngineCore
+WANTLIB += Qt6WebEngineWidgets Qt6Widgets c jsoncpp m upnpp
 
-SITES =			https://www.lesbonscomptes.com/upplay/downloads/
-
-# C++11
-COMPILER =		base-clang ports-gcc
-
-USE_WXNEEDED =		Yes
 MODULES =		devel/qmake \
-			x11/qt5
+			x11/qt6
+
 RUN_DEPENDS =		devel/desktop-file-utils \
 			x11/gtk+4,-guic
+
 LIB_DEPENDS =		devel/jsoncpp \
-			net/libupnpp>=0.17.1 \
-			x11/qt5/qtwebkit
+			net/libupnpp \
+			x11/qt6/qtdeclarative \
+			x11/qt6/qtpositioning \
+			x11/qt6/qtwebchannel \
+			x11/qt6/qtwebengine
 
 NO_TEST =		Yes
 
-pre-configure:
-	${SUBST_CMD} ${WRKSRC}/upplay.pro
-
 .include <bsd.port.mk>
diff --git a/multimedia/upplay/distinfo b/multimedia/upplay/distinfo
index 3dcd5683cda..08ac5225114 100644
--- a/multimedia/upplay/distinfo
+++ b/multimedia/upplay/distinfo
@@ -1,2 +1,2 @@
-SHA256 (upplay-1.3.3.tar.gz) = 8JbxpSGhP7ujRmw1IsK2fo41hRlrPv+rClzWQves73I=
-SIZE (upplay-1.3.3.tar.gz) = 983311
+SHA256 (upplay-1.9.7.tar.gz) = jAuYaElLDmhFLc5Vl/syR/BY+Et8que9LVvE1WfhSqc=
+SIZE (upplay-1.9.7.tar.gz) = 520463
diff --git a/multimedia/upplay/patches/patch-upplay_pro b/multimedia/upplay/patches/patch-upplay_pro
deleted file mode 100644
index 3ca7d2754d9..00000000000
--- a/multimedia/upplay/patches/patch-upplay_pro
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: upplay.pro
---- upplay.pro.orig
-+++ upplay.pro
-@@ -174,7 +174,7 @@ unix {
-   }
-   message("Prefix is $$PREFIX")
-   DEFINES += PREFIX=\\\"$$PREFIX\\\" 
--  INCLUDEPATH += /usr/include/jsoncpp
-+  INCLUDEPATH += ${LOCALBASE}/include/json
-   
-  # Installation stuff
-   target.path = "$$PREFIX/bin"
diff --git a/multimedia/upplay/pkg/DESCR b/multimedia/upplay/pkg/DESCR
index a5f0e1a6106..1549bde0086 100644
--- a/multimedia/upplay/pkg/DESCR
+++ b/multimedia/upplay/pkg/DESCR
@@ -1,5 +1,4 @@
-upplay is a desktop UPnP audio Control Point for Linux/Unix and MS
-Windows.
+upplay is a desktop UPnP audio Control Point
 
 upplay does not play music, it controls a Media Renderer which may
 be running on the same host or anywhere else.
diff --git a/multimedia/upplay/pkg/PLIST b/multimedia/upplay/pkg/PLIST
index bf0f2ed9197..b445501a0e5 100644
--- a/multimedia/upplay/pkg/PLIST
+++ b/multimedia/upplay/pkg/PLIST
@@ -4,93 +4,14 @@ share/icons/hicolor/48x48/apps/upplay.png
 share/pixmaps/
 share/pixmaps/upplay.png
 share/upplay/
-share/upplay/cdbrowser/
-share/upplay/cdbrowser/cdbrowser.css
-share/upplay/cdbrowser/containerscript.js
-share/upplay/cdbrowser/dark.css
-share/upplay/cdbrowser/standard.css
+share/upplay/cdbrowser.css
 share/upplay/common.qss
+share/upplay/containerscript.js
+share/upplay/dark.css
 share/upplay/dark.qss
-share/upplay/icons/
-share/upplay/icons/addtab.png
-share/upplay/icons/append.png
-share/upplay/icons/arrow_down.png
-share/upplay/icons/arrow_down_orange.png
-share/upplay/icons/arrow_left.png
-share/upplay/icons/arrow_left_orange.png
-share/upplay/icons/arrow_right.png
-share/upplay/icons/arrow_right_orange.png
-share/upplay/icons/arrow_up.png
-share/upplay/icons/arrow_up_orange.png
-share/upplay/icons/broom.png
-share/upplay/icons/bwd.png
-share/upplay/icons/cb_checked.png
-share/upplay/icons/cb_checked_disabled.png
-share/upplay/icons/close.png
-share/upplay/icons/cross.png
-share/upplay/icons/dark/
-share/upplay/icons/dark/addtab.png
-share/upplay/icons/dark/append.png
-share/upplay/icons/dark/arrow_down.png
-share/upplay/icons/dark/arrow_down_orange.png
-share/upplay/icons/dark/arrow_left.png
-share/upplay/icons/dark/arrow_left_orange.png
-share/upplay/icons/dark/arrow_right.png
-share/upplay/icons/dark/arrow_right_orange.png
-share/upplay/icons/dark/arrow_up.png
-share/upplay/icons/dark/arrow_up_orange.png
-share/upplay/icons/dark/broom.png
-share/upplay/icons/dark/bwd.png
-share/upplay/icons/dark/cb_checked.png
-share/upplay/icons/dark/cb_checked_disabled.png
-share/upplay/icons/dark/close.png
-share/upplay/icons/dark/cross.png
-share/upplay/icons/dark/delete.png
-share/upplay/icons/dark/dynamic.png
-share/upplay/icons/dark/fwd.png
-share/upplay/icons/dark/logo.png
-share/upplay/icons/dark/numbers.png
-share/upplay/icons/dark/pause.png
-share/upplay/icons/dark/play.png
-share/upplay/icons/dark/rb_checked.png
-share/upplay/icons/dark/rb_checked_disabled.png
-share/upplay/icons/dark/repAll.png
-share/upplay/icons/dark/scroll_hor_bg.png
-share/upplay/icons/dark/scroll_ver_bg.png
-share/upplay/icons/dark/shuffle.png
-share/upplay/icons/dark/slider_hor_bg.png
-share/upplay/icons/dark/slider_ver_bg.png
-share/upplay/icons/dark/stop.png
-share/upplay/icons/dark/upplay.png
-share/upplay/icons/dark/vol_1.png
-share/upplay/icons/dark/vol_2.png
-share/upplay/icons/dark/vol_3.png
-share/upplay/icons/dark/vol_mute.png
-share/upplay/icons/dark/volume-slider-inside.png
-share/upplay/icons/dark/volume-slider-outside.png
-share/upplay/icons/delete.png
-share/upplay/icons/dynamic.png
-share/upplay/icons/fwd.png
-share/upplay/icons/logo.png
-share/upplay/icons/numbers.png
-share/upplay/icons/pause.png
-share/upplay/icons/play.png
-share/upplay/icons/rb_checked.png
-share/upplay/icons/rb_checked_disabled.png
-share/upplay/icons/repAll.png
-share/upplay/icons/scroll_hor_bg.png
-share/upplay/icons/scroll_ver_bg.png
-share/upplay/icons/shuffle.png
-share/upplay/icons/slider_hor_bg.png
-share/upplay/icons/slider_ver_bg.png
-share/upplay/icons/stop.png
-share/upplay/icons/upplay.png
-share/upplay/icons/vol_1.png
-share/upplay/icons/vol_2.png
-share/upplay/icons/vol_3.png
-share/upplay/icons/vol_mute.png
-share/upplay/icons/volume-slider-inside.png
-share/upplay/icons/volume-slider-outside.png
+share/upplay/metadata.conf
+share/upplay/qwebchannel.js
+share/upplay/standard.css
 share/upplay/standard.qss
 @tag gtk-update-icon-cache %D/share/icons/hicolor
 @tag update-desktop-database
diff --git a/net/libupnp/Makefile b/net/libupnp/Makefile
index e1bca1c1e05..e40235fd71c 100755
--- a/net/libupnp/Makefile
+++ b/net/libupnp/Makefile
@@ -1,30 +1,25 @@
 COMMENT=	Universal Plug and Play SDK
 
-DISTNAME=	libupnp-1.8.7
-EXTRACT_SUFX=	.tar.bz2
+V =		1.14.24
+DISTNAME=	libupnp-${V}
 
 CATEGORIES=	net devel
 
 SHARED_LIBS +=  ixml                 1.0      # 10.2
 SHARED_LIBS +=  upnp                 3.0      # 14.2
 
-# also https://github.com/pupnp/pupnp
-HOMEPAGE=	https://pupnp.sourceforge.io/
+HOMEPAGE=	https://pupnp.github.io/pupnp/
+
+SITES=		https://github.com/pupnp/pupnp/releases/download/release-${V}/
+EXTRACT_SUFX=	.tar.bz2
 
 # BSD
 PERMIT_PACKAGE=	Yes
 
-WANTLIB += pthread
+WANTLIB += c pthread
 
-SITES=		${SITE_SOURCEFORGE:=pupnp/}
+MODULES =	devel/cmake
 
-SEPARATE_BUILD=	Yes
 DEBUG_PACKAGES=	${BUILD_PACKAGES}
 
-CONFIGURE_STYLE= gnu
-# HAVE_COMPAT does not do anything
-CONFIGURE_ENV=	ac_cv_cflags_gcc_option__Os=no \
-		ac_cv_lib_compat_ftime=no
-CONFIGURE_ARGS=	--enable-reuseaddr
-
 .include <bsd.port.mk>
diff --git a/net/libupnp/distinfo b/net/libupnp/distinfo
index ee88548469f..b1094c11ab2 100644
--- a/net/libupnp/distinfo
+++ b/net/libupnp/distinfo
@@ -1,2 +1,2 @@
-SHA256 (libupnp-1.8.7.tar.bz2) = 44xpsrZzIuZ81TaA25sCx8H3IKR6PNYm/YnVfS3Kk7g=
-SIZE (libupnp-1.8.7.tar.bz2) = 679613
+SHA256 (libupnp-1.14.24.tar.bz2) = jf3gX2PpFkTpB9z7cwWVWtBktM9uUQPLN6fFfFDR3RE=
+SIZE (libupnp-1.14.24.tar.bz2) = 690138
diff --git a/net/libupnp/patches/patch-upnp_src_inc_config_h b/net/libupnp/patches/patch-upnp_src_inc_config_h
deleted file mode 100644
index 83c365570f1..00000000000
--- a/net/libupnp/patches/patch-upnp_src_inc_config_h
+++ /dev/null
@@ -1,13 +0,0 @@
-http://lifewithushare.blogspot.fr/2008/01/simultaneous-streaming-to-multiple.html
-
---- upnp/src/inc/config.h.orig	Fri Nov  2 15:18:39 2012
-+++ upnp/src/inc/config.h	Fri Nov  2 15:18:54 2012
-@@ -90,7 +90,7 @@
-  *
-  * @{
-  */
--#define MIN_THREADS 2 
-+#define MIN_THREADS 6
- /* @} */
- 
- 
diff --git a/net/libupnp/pkg/PLIST b/net/libupnp/pkg/PLIST
index 480ae80f719..aae28890e56 100644
--- a/net/libupnp/pkg/PLIST
+++ b/net/libupnp/pkg/PLIST
@@ -1,37 +1,49 @@
+@bin bin/tv_combo
+@bin bin/tv_ctrlpt
+@bin bin/tv_device
 include/upnp/
-include/upnp/ActionComplete.h
-include/upnp/ActionRequest.h
 include/upnp/Callback.h
-include/upnp/Discovery.h
-include/upnp/Event.h
-include/upnp/EventSubscribe.h
-include/upnp/ExtraHeaders.h
-include/upnp/FileInfo.h
-include/upnp/StateVarComplete.h
-include/upnp/StateVarRequest.h
-include/upnp/SubscriptionRequest.h
-include/upnp/TemplateInclude.h
-include/upnp/TemplateSource.h
-include/upnp/TemplateUndef.h
+include/upnp/UpnpActionComplete.h
+include/upnp/UpnpActionRequest.h
+include/upnp/UpnpDiscovery.h
+include/upnp/UpnpEvent.h
+include/upnp/UpnpEventSubscribe.h
+include/upnp/UpnpExtraHeaders.h
+include/upnp/UpnpFileInfo.h
 include/upnp/UpnpGlobal.h
 include/upnp/UpnpInet.h
 include/upnp/UpnpIntTypes.h
+include/upnp/UpnpStateVarComplete.h
+include/upnp/UpnpStateVarRequest.h
 include/upnp/UpnpStdInt.h
 include/upnp/UpnpString.h
+include/upnp/UpnpSubscriptionRequest.h
 include/upnp/UpnpUniStd.h
-include/upnp/ithread.h
 include/upnp/ixml.h
 include/upnp/ixmldebug.h
 include/upnp/list.h
-include/upnp/poison.h
 include/upnp/upnp.h
 include/upnp/upnpconfig.h
-include/upnp/upnpdebug.h
 include/upnp/upnptools.h
+lib/cmake/
+lib/cmake/IXML/
+lib/cmake/IXML/IXML${MODCMAKE_BUILD_SUFFIX}
+lib/cmake/IXML/IXML.cmake
+lib/cmake/IXML/IXMLConfig.cmake
+lib/cmake/IXML/IXMLConfigVersion.cmake
+lib/cmake/UPNP/
+lib/cmake/UPNP/UPNP${MODCMAKE_BUILD_SUFFIX}
+lib/cmake/UPNP/UPNP.cmake
+lib/cmake/UPNP/UPNPConfig.cmake
+lib/cmake/UPNP/UPNPConfigVersion.cmake
 @static-lib lib/libixml.a
-lib/libixml.la
 @lib lib/libixml.so.${LIBixml_VERSION}
 @static-lib lib/libupnp.a
-lib/libupnp.la
 @lib lib/libupnp.so.${LIBupnp_VERSION}
 lib/pkgconfig/libupnp.pc
+share/upnp/
+share/upnp/tvcombodesc.xml
+share/upnp/tvcontrolSCPD.xml
+share/upnp/tvdevicedesc.xml
+share/upnp/tvdevicepres.html
+share/upnp/tvpictureSCPD.xml
diff --git a/net/libupnpp/Makefile b/net/libupnpp/Makefile
index a14b42ede1d..2d651fb6dae 100644
--- a/net/libupnpp/Makefile
+++ b/net/libupnpp/Makefile
@@ -1,9 +1,8 @@
 COMMENT =		UPnP client library
 
-DISTNAME =		libupnpp-0.17.1
-REVISION =		0
+DISTNAME =		libupnpp-1.0.3
 
-SHARED_LIBS +=		upnpp                     1.0 # 8.1.0
+SHARED_LIBS +=	upnpp                     2.0 # 8.1.0
 
 CATEGORIES =		net
 
@@ -14,18 +13,16 @@ MAINTAINER =		Pascal Stumpf <pascal@stumpf.co>
 # LGPLv2.1+
 PERMIT_PACKAGE =	Yes
 
-WANTLIB += ${COMPILER_LIBCXX} crypto curl expat ixml m nghttp2
-WANTLIB += ssl upnp z
-WANTLIB += nghttp3 ngtcp2 ngtcp2_crypto_quictls
+WANTLIB += ${COMPILER_LIBCXX} curl expat m npupnp
 
 SITES =			https://www.lesbonscomptes.com/upmpdcli/downloads/
 
+MODULES =		devel/meson
+
 # C++11
 COMPILER =		base-clang ports-gcc
-LIB_DEPENDS =		net/curl \
-			net/libupnp
 
-SEPARATE_BUILD =	Yes
-CONFIGURE_STYLE =	gnu
+LIB_DEPENDS =		net/curl \
+			net/libnpupnp
 
 .include <bsd.port.mk>
diff --git a/net/libupnpp/distinfo b/net/libupnpp/distinfo
index d528b6dae38..41f89d28d96 100644
--- a/net/libupnpp/distinfo
+++ b/net/libupnpp/distinfo
@@ -1,2 +1,2 @@
-SHA256 (libupnpp-0.17.1.tar.gz) = kEA7VVg+kyqaBJBaAb9FIBalauy+reXJ4UVKX7tvAbA=
-SIZE (libupnpp-0.17.1.tar.gz) = 475912
+SHA256 (libupnpp-1.0.3.tar.gz) = 07IBYZqEg3J53Ebut8yqp5YNQ3LbEbQ88rFDtdm9Mi4=
+SIZE (libupnpp-1.0.3.tar.gz) = 129301
diff --git a/net/libupnpp/patches/patch-configure b/net/libupnpp/patches/patch-configure
deleted file mode 100644
index 15483662ff1..00000000000
--- a/net/libupnpp/patches/patch-configure
+++ /dev/null
@@ -1,11 +0,0 @@
-Index: configure
---- configure.orig
-+++ configure
-@@ -2488,6 +2488,7 @@ build_mac=no
- # Detect the target system
- case "${host_os}" in
-     linux*|uclinux*) build_linux=yes;;
-+    openbsd*) ;;
-     darwin*) build_mac=yes;;
-     *) as_fn_error $? "\"OS $host_os is not supported\"" "$LINENO" 5;;
- esac
diff --git a/net/libupnpp/patches/patch-meson_build b/net/libupnpp/patches/patch-meson_build
new file mode 100644
index 00000000000..92e3af151dd
--- /dev/null
+++ b/net/libupnpp/patches/patch-meson_build
@@ -0,0 +1,25 @@
+Index: meson.build
+--- meson.build.orig
++++ meson.build
+@@ -106,10 +106,10 @@ cfile = configure_file(
+ 
+ 
+ libupnpp = library(
+-  'libupnpp',
++  'upnpp',
+   libupnpp_sources,
+   gnu_symbol_visibility: 'hidden',
+-  name_prefix: '',
++  name_prefix: 'lib',
+   version: meson.project_version(),
+   soversion: host_machine.system() == 'windows' ? '' : libupnpp_soversion,
+   include_directories: libupnpp_incdir,
+@@ -122,6 +122,8 @@ pkg = import('pkgconfig')
+ pkg.generate(
+   libupnpp,
+   description: 'Another SDK for UPnP Devices',
++  filebase: 'libupnpp',
++  name: 'libupnpp',
+ )
+ 
+ install_headers(
diff --git a/net/libupnpp/pkg/PLIST b/net/libupnpp/pkg/PLIST
index fcb3ef47cd7..fbeb023c9b1 100644
--- a/net/libupnpp/pkg/PLIST
+++ b/net/libupnpp/pkg/PLIST
@@ -1,11 +1,10 @@
 include/libupnpp/
 include/libupnpp/base64.hxx
-include/libupnpp/conf_post.h
-include/libupnpp/config.h
 include/libupnpp/control/
 include/libupnpp/control/avtransport.hxx
 include/libupnpp/control/cdircontent.hxx
 include/libupnpp/control/cdirectory.hxx
+include/libupnpp/control/conman.hxx
 include/libupnpp/control/description.hxx
 include/libupnpp/control/device.hxx
 include/libupnpp/control/discovery.hxx
@@ -25,14 +24,15 @@ include/libupnpp/control/service.hxx
 include/libupnpp/control/typedservice.hxx
 include/libupnpp/device/
 include/libupnpp/device/device.hxx
+include/libupnpp/device/service.hxx
 include/libupnpp/device/vdir.hxx
 include/libupnpp/log.h
 include/libupnpp/log.hxx
 include/libupnpp/soaphelp.hxx
 include/libupnpp/upnpavutils.hxx
+include/libupnpp/upnperrcodes.hxx
+include/libupnpp/upnppexports.hxx
 include/libupnpp/upnpplib.hxx
 include/libupnpp/upnpputils.hxx
-lib/libupnpp.a
-lib/libupnpp.la
 @lib lib/libupnpp.so.${LIBupnpp_VERSION}
 lib/pkgconfig/libupnpp.pc