Tue Dec 19 12:36:37 2023 UTC (179d)
x11/qt5-qtmultimedia: fix backend choices (esp. deactivate openal)

This enables and disables audio backends explicitly via QMAKE_ARGS and
includes a patch from FreeBSD that adds the missing knob vor openal.


(thor)
diff -r1.96 -r1.97 pkgsrc/x11/qt5-qtmultimedia/Makefile
diff -r1.32 -r1.33 pkgsrc/x11/qt5-qtmultimedia/distinfo
diff -r1.8 -r1.9 pkgsrc/x11/qt5-qtmultimedia/options.mk
diff -r0 -r1.1 pkgsrc/x11/qt5-qtmultimedia/patches/patch-src_multimedia_configure.json

cvs diff -r1.96 -r1.97 pkgsrc/x11/qt5-qtmultimedia/Makefile (expand / switch to unified diff)

--- pkgsrc/x11/qt5-qtmultimedia/Makefile 2023/11/12 13:24:25 1.96
+++ pkgsrc/x11/qt5-qtmultimedia/Makefile 2023/12/19 12:36:37 1.97
@@ -1,26 +1,27 @@ @@ -1,26 +1,27 @@
1# $NetBSD: Makefile,v 1.96 2023/11/12 13:24:25 wiz Exp $ 1# $NetBSD: Makefile,v 1.97 2023/12/19 12:36:37 thor Exp $
2 2
3DISTNAME= qtmultimedia-everywhere-opensource-src-${QTVERSION} 3DISTNAME= qtmultimedia-everywhere-opensource-src-${QTVERSION}
4PKGNAME= qt5-qtmultimedia-${QTVERSION} 4PKGNAME= qt5-qtmultimedia-${QTVERSION}
5PKGREVISION= 3 5PKGREVISION= 4
6COMMENT= Qt5 module for multimedia 6COMMENT= Qt5 module for multimedia
7 7
8BUILD_TARGET= sub-src 8BUILD_TARGET= sub-src
9MAKE_ENV+= QTDIR=${QTDIR} 9MAKE_ENV+= QTDIR=${QTDIR}
10INSTALL_ENV+= INSTALL_ROOT=${DESTDIR} 10INSTALL_ENV+= INSTALL_ROOT=${DESTDIR}
11INSTALLATION_DIRS+= lib/pkgconfig 11INSTALLATION_DIRS+= lib/pkgconfig
12 12
13.include "../../x11/qt5-qtbase/Makefile.common" 13.include "../../x11/qt5-qtbase/Makefile.common"
14 14
15# Needs gnu+11 for alloca. 15# Needs gnu+11 for alloca.
16BUILDLINK_TRANSFORM+= rm:-std=c++1z 16BUILDLINK_TRANSFORM+= rm:-std=c++1z
17 17
18post-install: 18post-install:
19.for i in Qt5Multimedia.pc Qt5MultimediaWidgets.pc 19.for i in Qt5Multimedia.pc Qt5MultimediaWidgets.pc
20 cd ${DESTDIR}${PREFIX}/lib/pkgconfig && \ 20 cd ${DESTDIR}${PREFIX}/lib/pkgconfig && \
21 ${LN} -f -s ${QTPREFIX}/lib/pkgconfig/${i} ${i} 21 ${LN} -f -s ${QTPREFIX}/lib/pkgconfig/${i} ${i}
22.endfor 22.endfor
23 23
 24QMAKE_ARGS+= --
24.include "options.mk" 25.include "options.mk"
25.include "../../x11/qt5-qtdeclarative/buildlink3.mk" 26.include "../../x11/qt5-qtdeclarative/buildlink3.mk"
26.include "../../mk/bsd.pkg.mk" 27.include "../../mk/bsd.pkg.mk"

cvs diff -r1.32 -r1.33 pkgsrc/x11/qt5-qtmultimedia/distinfo (expand / switch to unified diff)

--- pkgsrc/x11/qt5-qtmultimedia/distinfo 2023/10/07 20:00:34 1.32
+++ pkgsrc/x11/qt5-qtmultimedia/distinfo 2023/12/19 12:36:37 1.33
@@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
1$NetBSD: distinfo,v 1.32 2023/10/07 20:00:34 adam Exp $ 1$NetBSD: distinfo,v 1.33 2023/12/19 12:36:37 thor Exp $
2 2
3BLAKE2s (qtmultimedia-everywhere-opensource-src-5.15.11.tar.xz) = ba6b7edeebdec20e0fcf39f422f569c1fca6b76d74332b8f72df8c5232c6f58c 3BLAKE2s (qtmultimedia-everywhere-opensource-src-5.15.11.tar.xz) = ba6b7edeebdec20e0fcf39f422f569c1fca6b76d74332b8f72df8c5232c6f58c
4SHA512 (qtmultimedia-everywhere-opensource-src-5.15.11.tar.xz) = 1d72f79fe83cc955037ec6c5348058369697889a9a40b9fbaee9f3ad0cb74fe5f97062e026254e3512f0861e67cca8a36eaa19c1b3ffbea32d6b3cde2163b484 4SHA512 (qtmultimedia-everywhere-opensource-src-5.15.11.tar.xz) = 1d72f79fe83cc955037ec6c5348058369697889a9a40b9fbaee9f3ad0cb74fe5f97062e026254e3512f0861e67cca8a36eaa19c1b3ffbea32d6b3cde2163b484
5Size (qtmultimedia-everywhere-opensource-src-5.15.11.tar.xz) = 3849160 bytes 5Size (qtmultimedia-everywhere-opensource-src-5.15.11.tar.xz) = 3849160 bytes
 6SHA1 (patch-src_multimedia_configure.json) = d53c1bf2712e9a32b383beff0025c4ab0b5b6232

cvs diff -r1.8 -r1.9 pkgsrc/x11/qt5-qtmultimedia/options.mk (expand / switch to unified diff)

--- pkgsrc/x11/qt5-qtmultimedia/options.mk 2021/07/16 13:33:02 1.8
+++ pkgsrc/x11/qt5-qtmultimedia/options.mk 2023/12/19 12:36:37 1.9
@@ -1,58 +1,58 @@ @@ -1,58 +1,58 @@
1# $NetBSD: options.mk,v 1.8 2021/07/16 13:33:02 nia Exp $ 1# $NetBSD: options.mk,v 1.9 2023/12/19 12:36:37 thor Exp $
2 2
3PKG_OPTIONS_VAR= PKG_OPTIONS.qt5-qtmultimedia 3PKG_OPTIONS_VAR= PKG_OPTIONS.qt5-qtmultimedia
4PKG_SUPPORTED_OPTIONS= alsa gstreamer openal pulseaudio 4PKG_SUPPORTED_OPTIONS= alsa gstreamer openal pulseaudio
5PKG_SUGGESTED_OPTIONS.Linux= alsa 5PKG_SUGGESTED_OPTIONS.Linux= alsa
6 6
7.include "../../mk/bsd.fast.prefs.mk" 7.include "../../mk/bsd.fast.prefs.mk"
8 8
9.if ${OPSYS} != "Darwin" 9.if ${OPSYS} != "Darwin"
10PKG_SUGGESTED_OPTIONS+= gstreamer openal 10PKG_SUGGESTED_OPTIONS+= gstreamer openal
11PKG_SUGGESTED_OPTIONS+= pulseaudio 11PKG_SUGGESTED_OPTIONS+= pulseaudio
12.else 12.else
13PLIST.openal= yes 13PLIST.openal= yes
14.endif 14.endif
15 15
16.include "../../mk/bsd.options.mk" 16.include "../../mk/bsd.options.mk"
17 17
18PLIST_VARS+= alsa 18PLIST_VARS+= alsa
19.if !empty(PKG_OPTIONS:Malsa) 19.if !empty(PKG_OPTIONS:Malsa)
20PLIST.alsa= yes 20PLIST.alsa= yes
21MAKE_ENV+= QT_CONFIG+=alsa 21QMAKE_ARGS+= -alsa
22.include "../../audio/alsa-lib/buildlink3.mk" 22.include "../../audio/alsa-lib/buildlink3.mk"
23.else 23.else
24MAKE_ENV+= QT_CONFIG+=-alsa 24QMAKE_ARGS+= -no-alsa
25.endif 25.endif
26 26
27PLIST_VARS+= gst 27PLIST_VARS+= gst
28.if !empty(PKG_OPTIONS:Mgstreamer) 28.if !empty(PKG_OPTIONS:Mgstreamer)
29PLIST.gst= yes 29PLIST.gst= yes
30MAKE_ENV+= QT_CONFIG+=gstreamer-1.0 30QMAKE_ARGS+= -gstreamer 1.0
31.include "../../multimedia/gst-plugins1-base/buildlink3.mk" 31.include "../../multimedia/gst-plugins1-base/buildlink3.mk"
32.else 32.else
33MAKE_ENV+= QT_CONFIG+=-gstreamer-1.0 33QMAKE_ARGS+= -no-gstreamer
34.endif 34.endif
35 35
36PLIST_VARS+= openal 36PLIST_VARS+= openal
37.if !empty(PKG_OPTIONS:Mopenal) 37.if !empty(PKG_OPTIONS:Mopenal)
38PLIST.openal= yes 38PLIST.openal= yes
39MAKE_ENV+= QT_CONFIG+=openal 39QMAKE_ARGS+= -openal
40.include "../../audio/openal-soft/buildlink3.mk" 40.include "../../audio/openal-soft/buildlink3.mk"
41.else 41.else
42MAKE_ENV+= QT_CONFIG+=-openal 42QMAKE_ARGS+= -no-openal
43.endif 43.endif
44 44
45PLIST_VARS+= pulse 45PLIST_VARS+= pulse
46.if !empty(PKG_OPTIONS:Mpulseaudio) 46.if !empty(PKG_OPTIONS:Mpulseaudio)
47PLIST.pulse= yes 47PLIST.pulse= yes
48MAKE_ENV+= LFLAGS=${COMPILER_RPATH_FLAG}${PREFIX}/lib/pulseaudio 48MAKE_ENV+= LFLAGS=${COMPILER_RPATH_FLAG}${PREFIX}/lib/pulseaudio
49MAKE_ENV+= QT_CONFIG+=pulseaudio 49QMAKE_ARGS+= -pulseaudio
50.include "../../audio/pulseaudio/buildlink3.mk" 50.include "../../audio/pulseaudio/buildlink3.mk"
51.else 51.else
52MAKE_ENV+= QT_CONFIG+=-pulseaudio 52QMAKE_ARGS+= -no-pulseaudio
53.endif 53.endif
54 54
55PLIST_VARS+= audioengine 55PLIST_VARS+= audioengine
56.if ${OPSYS} == "QNX" || ${OPSYS} == "Darwin" || empty(PKG_OPTIONS:Mgstreamer) 56.if ${OPSYS} == "QNX" || ${OPSYS} == "Darwin" || empty(PKG_OPTIONS:Mgstreamer)
57PLIST.audioengine= yes 57PLIST.audioengine= yes
58.endif 58.endif

File Added: pkgsrc/x11/qt5-qtmultimedia/patches/patch-src_multimedia_configure.json
$NetBSD: patch-src_multimedia_configure.json,v 1.1 2023/12/19 12:36:37 thor Exp $

Add configure knob for openal. Taken from FreeBSD ports.
Did they push that oversight upstream?

--- src/multimedia/configure.json.orig	2020-10-27 08:02:12.000000000 +0000
+++ src/multimedia/configure.json
@@ -13,6 +13,7 @@
             "directshow": { "type": "boolean" },
             "wmf": { "type": "boolean" },
             "gstreamer": { "type": "optionalString", "values": [ "no", "yes", "0.10", "1.0" ] },
+            "openal": "boolean",
             "pulseaudio": "boolean"
         }
     },