Thursday, February 29, 2024

Enable Qt6 in multimedia/phonon

Here is a diff that enable both qt5 and qt6 in one build and package.
I don't see any real problems for multimedia/phonon. It only adds
headers/libs for Qt6. multimedia/phonon-backend/vlc goes hand in hand
with phonon. Here, too, only one new plugin is added.

OK?

diff --git a/multimedia/phonon-backend/vlc/Makefile b/multimedia/phonon-backend/vlc/Makefile
index f60915aa37e..60a3a33677e 100644
--- a/multimedia/phonon-backend/vlc/Makefile
+++ b/multimedia/phonon-backend/vlc/Makefile
@@ -1,21 +1,22 @@
COMMENT = VLC-based Phonon backend
VERSION = 0.12.0
DISTNAME = phonon-backend-vlc-${VERSION}
+REVISION = 0

SITES = ${SITE_KDE:=stable/phonon/phonon-backend-vlc/${VERSION}/}
EXTRACT_SUFX = .tar.xz

-WANTLIB += ${COMPILER_LIBCXX} Qt5Core Qt5Gui Qt5Widgets m phonon4qt5
-WANTLIB += phonon4qt5experimental vlc vlccore
+WANTLIB += ${COMPILER_LIBCXX} GL Qt5Core Qt5Gui Qt5Widgets Qt6Core
+WANTLIB += Qt6Gui Qt6Widgets m phonon4qt5 phonon4qt5experimental
+WANTLIB += phonon4qt6 phonon4qt6experimental vlc vlccore

-MODULES = devel/kf5
+MODULES = x11/qt5 x11/qt6 devel/cmake

BUILD_DEPENDS = devel/gettext,-tools

-LIB_DEPENDS = x11/vlc
+LIB_DEPENDS = x11/vlc \
+ multimedia/phonon>=4.12.0p0

NO_TEST = Yes

-CONFIGURE_ARGS = -DPHONON_BUILD_QT6=OFF
-
.include <bsd.port.mk>
diff --git a/multimedia/phonon-backend/vlc/pkg/PLIST b/multimedia/phonon-backend/vlc/pkg/PLIST
index da59ef5fccd..4ac1ce9269f 100644
--- a/multimedia/phonon-backend/vlc/pkg/PLIST
+++ b/multimedia/phonon-backend/vlc/pkg/PLIST
@@ -1,59 +1,171 @@
@conflict phonon-vlc-<=0.10.3
@conflict phonon-qt5-vlc-<0.11
@pkgpath multimedia/phonon-backend/vlc,qt5
-lib/qt5/plugins/phonon4qt5_backend/
-@so lib/qt5/plugins/phonon4qt5_backend/phonon_vlc_qt5.so
+lib/plugins/
+lib/plugins/phonon4qt5_backend/
+@so lib/plugins/phonon4qt5_backend/phonon_vlc_qt5.so
+lib/plugins/phonon4qt6_backend/
+@so lib/plugins/phonon4qt6_backend/phonon_vlc_qt6.so
+share/locale/
+share/locale/az/
+share/locale/az/LC_MESSAGES/
share/locale/az/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/bg/
+share/locale/bg/LC_MESSAGES/
share/locale/bg/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/bs/
+share/locale/bs/LC_MESSAGES/
share/locale/bs/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/ca/
+share/locale/ca/LC_MESSAGES/
share/locale/ca/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/ca@valencia/
+share/locale/ca@valencia/LC_MESSAGES/
share/locale/ca@valencia/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/cs/
+share/locale/cs/LC_MESSAGES/
share/locale/cs/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/da/
+share/locale/da/LC_MESSAGES/
share/locale/da/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/de/
+share/locale/de/LC_MESSAGES/
share/locale/de/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/el/
+share/locale/el/LC_MESSAGES/
share/locale/el/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/en_GB/
+share/locale/en_GB/LC_MESSAGES/
share/locale/en_GB/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/eo/
+share/locale/eo/LC_MESSAGES/
share/locale/eo/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/es/
+share/locale/es/LC_MESSAGES/
share/locale/es/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/et/
+share/locale/et/LC_MESSAGES/
share/locale/et/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/eu/
+share/locale/eu/LC_MESSAGES/
share/locale/eu/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/fi/
+share/locale/fi/LC_MESSAGES/
share/locale/fi/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/fr/
+share/locale/fr/LC_MESSAGES/
share/locale/fr/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/ga/
+share/locale/ga/LC_MESSAGES/
share/locale/ga/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/gl/
+share/locale/gl/LC_MESSAGES/
share/locale/gl/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/hi/
+share/locale/hi/LC_MESSAGES/
share/locale/hi/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/hu/
+share/locale/hu/LC_MESSAGES/
share/locale/hu/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/ia/
+share/locale/ia/LC_MESSAGES/
share/locale/ia/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/id/
+share/locale/id/LC_MESSAGES/
share/locale/id/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/is/
+share/locale/is/LC_MESSAGES/
share/locale/is/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/it/
+share/locale/it/LC_MESSAGES/
share/locale/it/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/ja/
+share/locale/ja/LC_MESSAGES/
share/locale/ja/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/ka/
+share/locale/ka/LC_MESSAGES/
share/locale/ka/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/kk/
+share/locale/kk/LC_MESSAGES/
share/locale/kk/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/ko/
+share/locale/ko/LC_MESSAGES/
share/locale/ko/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/lt/
+share/locale/lt/LC_MESSAGES/
share/locale/lt/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/mr/
+share/locale/mr/LC_MESSAGES/
share/locale/mr/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/nb/
+share/locale/nb/LC_MESSAGES/
share/locale/nb/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/nds/
+share/locale/nds/LC_MESSAGES/
share/locale/nds/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/nl/
+share/locale/nl/LC_MESSAGES/
share/locale/nl/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/nn/
+share/locale/nn/LC_MESSAGES/
share/locale/nn/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/pa/
+share/locale/pa/LC_MESSAGES/
share/locale/pa/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/pl/
+share/locale/pl/LC_MESSAGES/
share/locale/pl/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/pt/
+share/locale/pt/LC_MESSAGES/
share/locale/pt/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/pt_BR/
+share/locale/pt_BR/LC_MESSAGES/
share/locale/pt_BR/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/ro/
+share/locale/ro/LC_MESSAGES/
share/locale/ro/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/ru/
+share/locale/ru/LC_MESSAGES/
share/locale/ru/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/sk/
+share/locale/sk/LC_MESSAGES/
share/locale/sk/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/sl/
+share/locale/sl/LC_MESSAGES/
share/locale/sl/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/sr/
+share/locale/sr/LC_MESSAGES/
share/locale/sr/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/sr@ijekavian/
+share/locale/sr@ijekavian/LC_MESSAGES/
share/locale/sr@ijekavian/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/sr@ijekavianlatin/
+share/locale/sr@ijekavianlatin/LC_MESSAGES/
share/locale/sr@ijekavianlatin/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/sr@latin/
+share/locale/sr@latin/LC_MESSAGES/
share/locale/sr@latin/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/sv/
+share/locale/sv/LC_MESSAGES/
share/locale/sv/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/tg/
+share/locale/tg/LC_MESSAGES/
share/locale/tg/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/tr/
+share/locale/tr/LC_MESSAGES/
share/locale/tr/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/ug/
+share/locale/ug/LC_MESSAGES/
share/locale/ug/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/uk/
+share/locale/uk/LC_MESSAGES/
share/locale/uk/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/vi/
+share/locale/vi/LC_MESSAGES/
share/locale/vi/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/zh_CN/
+share/locale/zh_CN/LC_MESSAGES/
share/locale/zh_CN/LC_MESSAGES/phonon_vlc_qt.qm
+share/locale/zh_TW/
+share/locale/zh_TW/LC_MESSAGES/
share/locale/zh_TW/LC_MESSAGES/phonon_vlc_qt.qm
diff --git a/multimedia/phonon/Makefile b/multimedia/phonon/Makefile
index 24d1057f778..023f9b1c8c3 100644
--- a/multimedia/phonon/Makefile
+++ b/multimedia/phonon/Makefile
@@ -4,11 +4,18 @@ CATEGORIES = multimedia devel

VERSION = 4.12.0
DISTNAME = phonon-${VERSION}
+REVISION = 0

# XXX major should be tweaked on any update, to unbreak
# IMPORTED_LINK_INTERFACE_LIBRARIES CMake feature.
-SHARED_LIBS += phonon4qt5 4.0
-SHARED_LIBS += phonon4qt5experimental 4.0
+SHARED_LIBS += phonon4qt5 4.0
+SHARED_LIBS += phonon4qt5experimental 4.0
+
+SHARED_LIBS += phonon4qt6 0.0 # 0.0
+SHARED_LIBS += phonon4qt6experimental 0.0 # 0.0
+
+WANTLIB += ${COMPILER_LIBCXX} GL Qt5Core Qt5Gui Qt5Widgets Qt6Core
+WANTLIB += Qt6Core5Compat Qt6Gui Qt6Widgets c m pulse pulse-mainloop-glib

HOMEPAGE = https://community.kde.org/Phonon

@@ -17,25 +24,21 @@ MAINTAINER = Rafael Sadowski <rsadowski@openbsd.org>
# LGPL v2.1
PERMIT_PACKAGE = Yes

-WANTLIB += ${COMPILER_LIBCXX} Qt5Core Qt5Gui Qt5Widgets c m pulse
-WANTLIB += pulse-mainloop-glib

CXXFLAGS_base-clang = -Wno-error=enum-constexpr-conversion

SITES = ${SITE_KDE:=stable/phonon/${VERSION}/}
+EXTRACT_SUFX = .tar.xz

-MODULES = devel/kf5
-
-LIB_DEPENDS = audio/pulseaudio
-
-BUILD_DEPENDS = x11/qt5/qtdeclarative
+MODULES = x11/qt5 x11/qt6 devel/cmake

-RUN_DEPENDS = x11/qt5/qtdeclarative
+LIB_DEPENDS = audio/pulseaudio \
+ x11/qt6/qt5compat

# Clashes with the one provided by Qt itself.
CONFIGURE_ARGS += -DPHONON_BUILD_DESIGNER_PLUGIN=OFF
+BUILD_DEPENDS = x11/qt5/qtdeclarative \
+ x11/qt6/qtdeclarative

-# Qt5 only port
-CONFIGURE_ARGS += -DPHONON_BUILD_QT6=OFF

.include <bsd.port.mk>
diff --git a/multimedia/phonon/pkg/PLIST b/multimedia/phonon/pkg/PLIST
index cc2ea3f18e9..b4da250c943 100644
--- a/multimedia/phonon/pkg/PLIST
+++ b/multimedia/phonon/pkg/PLIST
@@ -167,6 +167,124 @@ include/phonon4qt5/phonon/videowidgetinterface.h
include/phonon4qt5/phonon/volumefadereffect.h
include/phonon4qt5/phonon/volumefaderinterface.h
include/phonon4qt5/phonon/volumeslider.h
+include/phonon4qt6/
+include/phonon4qt6/phonon/
+include/phonon4qt6/phonon/AbstractAudioOutput
+include/phonon4qt6/phonon/AbstractMediaStream
+include/phonon4qt6/phonon/AbstractVideoOutput
+include/phonon4qt6/phonon/AddonInterface
+include/phonon4qt6/phonon/AudioCaptureDevice
+include/phonon4qt6/phonon/AudioCaptureDeviceModel
+include/phonon4qt6/phonon/AudioChannelDescription
+include/phonon4qt6/phonon/AudioChannelDescriptionModel
+include/phonon4qt6/phonon/AudioDataOutput
+include/phonon4qt6/phonon/AudioOutput
+include/phonon4qt6/phonon/AudioOutputDevice
+include/phonon4qt6/phonon/AudioOutputDeviceModel
+include/phonon4qt6/phonon/AudioOutputInterface
+include/phonon4qt6/phonon/AudioOutputInterface40
+include/phonon4qt6/phonon/AudioOutputInterface42
+include/phonon4qt6/phonon/AvCapture
+include/phonon4qt6/phonon/BackendCapabilities
+include/phonon4qt6/phonon/BackendInterface
+include/phonon4qt6/phonon/Effect
+include/phonon4qt6/phonon/EffectDescription
+include/phonon4qt6/phonon/EffectDescriptionModel
+include/phonon4qt6/phonon/EffectInterface
+include/phonon4qt6/phonon/EffectParameter
+include/phonon4qt6/phonon/EffectWidget
+include/phonon4qt6/phonon/Global
+include/phonon4qt6/phonon/GlobalDescriptionContainer
+include/phonon4qt6/phonon/MediaController
+include/phonon4qt6/phonon/MediaNode
+include/phonon4qt6/phonon/MediaObject
+include/phonon4qt6/phonon/MediaObjectInterface
+include/phonon4qt6/phonon/MediaSource
+include/phonon4qt6/phonon/Mrl
+include/phonon4qt6/phonon/ObjectDescription
+include/phonon4qt6/phonon/ObjectDescriptionData
+include/phonon4qt6/phonon/ObjectDescriptionModel
+include/phonon4qt6/phonon/ObjectDescriptionModelData
+include/phonon4qt6/phonon/Path
+include/phonon4qt6/phonon/PlatformPlugin
+include/phonon4qt6/phonon/SeekSlider
+include/phonon4qt6/phonon/StreamInterface
+include/phonon4qt6/phonon/SubtitleDescription
+include/phonon4qt6/phonon/SubtitleDescriptionModel
+include/phonon4qt6/phonon/VideoCaptureDevice
+include/phonon4qt6/phonon/VideoCaptureDeviceModel
+include/phonon4qt6/phonon/VideoPlayer
+include/phonon4qt6/phonon/VideoWidget
+include/phonon4qt6/phonon/VideoWidgetInterface
+include/phonon4qt6/phonon/VideoWidgetInterface44
+include/phonon4qt6/phonon/VideoWidgetInterfaceLatest
+include/phonon4qt6/phonon/VolumeFaderEffect
+include/phonon4qt6/phonon/VolumeFaderInterface
+include/phonon4qt6/phonon/VolumeSlider
+include/phonon4qt6/phonon/abstractaudiooutput.h
+include/phonon4qt6/phonon/abstractmediastream.h
+include/phonon4qt6/phonon/abstractvideooutput.h
+include/phonon4qt6/phonon/addoninterface.h
+include/phonon4qt6/phonon/audiodataoutput.h
+include/phonon4qt6/phonon/audiodataoutputinterface.h
+include/phonon4qt6/phonon/audiooutput.h
+include/phonon4qt6/phonon/audiooutputinterface.h
+include/phonon4qt6/phonon/backendcapabilities.h
+include/phonon4qt6/phonon/backendinterface.h
+include/phonon4qt6/phonon/effect.h
+include/phonon4qt6/phonon/effectinterface.h
+include/phonon4qt6/phonon/effectparameter.h
+include/phonon4qt6/phonon/effectwidget.h
+include/phonon4qt6/phonon/experimental/
+include/phonon4qt6/phonon/experimental/abstractaudiodataoutput.h
+include/phonon4qt6/phonon/experimental/abstractvideodataoutput.h
+include/phonon4qt6/phonon/experimental/audiodataoutput.h
+include/phonon4qt6/phonon/experimental/audiodataoutputinterface.h
+include/phonon4qt6/phonon/experimental/audioformat.h
+include/phonon4qt6/phonon/experimental/avcapture.h
+include/phonon4qt6/phonon/experimental/avcaptureinterface.h
+include/phonon4qt6/phonon/experimental/backendcapabilities.h
+include/phonon4qt6/phonon/experimental/backendinterface.h
+include/phonon4qt6/phonon/experimental/export.h
+include/phonon4qt6/phonon/experimental/globalconfig.h
+include/phonon4qt6/phonon/experimental/mediasource.h
+include/phonon4qt6/phonon/experimental/objectdescription.h
+include/phonon4qt6/phonon/experimental/packet.h
+include/phonon4qt6/phonon/experimental/packetpool.h
+include/phonon4qt6/phonon/experimental/phononnamespace.h
+include/phonon4qt6/phonon/experimental/snapshotinterface.h
+include/phonon4qt6/phonon/experimental/videodataoutput.h
+include/phonon4qt6/phonon/experimental/videodataoutput2.h
+include/phonon4qt6/phonon/experimental/videodataoutputinterface.h
+include/phonon4qt6/phonon/experimental/videoframe.h
+include/phonon4qt6/phonon/experimental/videoframe2.h
+include/phonon4qt6/phonon/experimental/videowidget.h
+include/phonon4qt6/phonon/experimental/visualization.h
+include/phonon4qt6/phonon/globalconfig.h
+include/phonon4qt6/phonon/globaldescriptioncontainer.h
+include/phonon4qt6/phonon/mediacontroller.h
+include/phonon4qt6/phonon/medianode.h
+include/phonon4qt6/phonon/mediaobject.h
+include/phonon4qt6/phonon/mediaobjectinterface.h
+include/phonon4qt6/phonon/mediasource.h
+include/phonon4qt6/phonon/mrl.h
+include/phonon4qt6/phonon/objectdescription.h
+include/phonon4qt6/phonon/objectdescriptionmodel.h
+include/phonon4qt6/phonon/path.h
+include/phonon4qt6/phonon/phonon_export.h
+include/phonon4qt6/phonon/phonon_version.h
+include/phonon4qt6/phonon/phonondefs.h
+include/phonon4qt6/phonon/phononnamespace.h
+include/phonon4qt6/phonon/platformplugin.h
+include/phonon4qt6/phonon/pulsesupport.h
+include/phonon4qt6/phonon/seekslider.h
+include/phonon4qt6/phonon/streaminterface.h
+include/phonon4qt6/phonon/videoplayer.h
+include/phonon4qt6/phonon/videowidget.h
+include/phonon4qt6/phonon/videowidgetinterface.h
+include/phonon4qt6/phonon/volumefadereffect.h
+include/phonon4qt6/phonon/volumefaderinterface.h
+include/phonon4qt6/phonon/volumeslider.h
lib/cmake/phonon4qt5/
lib/cmake/phonon4qt5/Phonon4Qt5Config.cmake
lib/cmake/phonon4qt5/Phonon4Qt5ConfigVersion.cmake
@@ -176,12 +294,24 @@ lib/cmake/phonon4qt5/PhononExperimentalTargets${MODCMAKE_BUILD_SUFFIX}
lib/cmake/phonon4qt5/PhononExperimentalTargets.cmake
lib/cmake/phonon4qt5/PhononTargets${MODCMAKE_BUILD_SUFFIX}
lib/cmake/phonon4qt5/PhononTargets.cmake
+lib/cmake/phonon4qt6/
+lib/cmake/phonon4qt6/Phonon4Qt6Config.cmake
+lib/cmake/phonon4qt6/Phonon4Qt6ConfigVersion.cmake
+lib/cmake/phonon4qt6/Phonon4Qt6ExperimentalConfig.cmake
+lib/cmake/phonon4qt6/Phonon4Qt6ExperimentalConfigVersion.cmake
+lib/cmake/phonon4qt6/PhononExperimentalTargets${MODCMAKE_BUILD_SUFFIX}
+lib/cmake/phonon4qt6/PhononExperimentalTargets.cmake
+lib/cmake/phonon4qt6/PhononTargets${MODCMAKE_BUILD_SUFFIX}
+lib/cmake/phonon4qt6/PhononTargets.cmake
@lib lib/libphonon4qt5.so.${LIBphonon4qt5_VERSION}
@lib lib/libphonon4qt5experimental.so.${LIBphonon4qt5experimental_VERSION}
+@lib lib/libphonon4qt6.so.${LIBphonon4qt6_VERSION}
+@lib lib/libphonon4qt6experimental.so.${LIBphonon4qt6experimental_VERSION}
lib/pkgconfig/phonon4qt5.pc
-share/kf5/
-share/kf5/mkspecs/
-share/kf5/mkspecs/qt_phonon4qt5.pri
+lib/pkgconfig/phonon4qt6.pc
+mkspecs/
+mkspecs/modules/
+mkspecs/modules/qt_phonon4qt5.pri
share/locale/ar/LC_MESSAGES/libphonon_qt.qm
share/locale/ar/LC_MESSAGES/phononsettings_qt.qm
share/locale/az/LC_MESSAGES/libphonon_qt.qm
@@ -225,6 +355,8 @@ share/locale/fi/LC_MESSAGES/libphonon_qt.qm
share/locale/fi/LC_MESSAGES/phononsettings_qt.qm
share/locale/fr/LC_MESSAGES/libphonon_qt.qm
share/locale/fr/LC_MESSAGES/phononsettings_qt.qm
+share/locale/fy/
+share/locale/fy/LC_MESSAGES/
share/locale/fy/LC_MESSAGES/phononsettings_qt.qm
share/locale/ga/LC_MESSAGES/libphonon_qt.qm
share/locale/ga/LC_MESSAGES/phononsettings_qt.qm

No comments:

Post a Comment