From: Rafael Sadowski Subject: UPDATE: multimedia/upplay, net/libupnp, net/libupnpp To: ports@openbsd.org Cc: Pascal Stumpf , George Koehler Date: Sun, 3 Aug 2025 09:15:43 +0200 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 +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 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 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 # 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 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