From 73b6e876a9d3bb44fb7560c5efd99f9fe5f334b7 Mon Sep 17 00:00:00 2001 From: Raphael Kubo da Costa Date: Sat, 5 Aug 2023 17:01:50 +0200 Subject: [PATCH] multimedia/phonon: Switch to upstream's fix for clang 16 build issues Instead of passing a compiler flag to work around a clang 16 build issue, adopt the fix that dim@ landed upstream that fixes the code in question. PR: 272029 Approved by: kde (arrowd) Differential Revision: https://reviews.freebsd.org/D41307 --- multimedia/phonon/Makefile | 9 ++--- ...5a3eb81bcbc730e44c27a0d060a85cf9213d.patch | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+), 7 deletions(-) create mode 100644 multimedia/phonon/files/patch-069d5a3eb81bcbc730e44c27a0d060a85cf9213d.patch diff --git a/multimedia/phonon/Makefile b/multimedia/phonon/Makefile index d055f723c397a..6c7421ffbb64e 100644 --- a/multimedia/phonon/Makefile +++ b/multimedia/phonon/Makefile @@ -1,5 +1,6 @@ PORTNAME= phonon DISTVERSION= 4.11.1 +PORTREVISION= 1 CATEGORIES= multimedia kde MASTER_SITES= KDE/stable/${PORTNAME}/${DISTVERSION} DIST_SUBDIR= KDE/phonon @@ -32,10 +33,4 @@ PULSEAUDIO_USES= gnome PULSEAUDIO_USE= GNOME=glib20 PULSEAUDIO_CMAKE_BOOL= WITH_PulseAudio -.include - -.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 160 -CXXFLAGS+= -Wno-error=enum-constexpr-conversion -.endif - -.include +.include diff --git a/multimedia/phonon/files/patch-069d5a3eb81bcbc730e44c27a0d060a85cf9213d.patch b/multimedia/phonon/files/patch-069d5a3eb81bcbc730e44c27a0d060a85cf9213d.patch new file mode 100644 index 0000000000000..59cb1412f32c7 --- /dev/null +++ b/multimedia/phonon/files/patch-069d5a3eb81bcbc730e44c27a0d060a85cf9213d.patch @@ -0,0 +1,36 @@ +From 069d5a3eb81bcbc730e44c27a0d060a85cf9213d Mon Sep 17 00:00:00 2001 +From: Dimitry Andric +Date: Sun, 16 Jul 2023 15:17:39 +0200 +Subject: [PATCH] Future-proof build fix for clang > 16 + +Clang is intending to remove the `-Wno-enum-constexpr-conversion` flag +in the future, because it can invoke undefined behavior. + +To avoid the "integer value NNNN is outside the valid range of values +[0, 7] for the enumeration type 'ObjectDescriptionType'" warnings, +explicitly specify that the `ObjectDescriptionType` enum uses `unsigned` +as the underlying type. + +This also allows to remove the CMake patch that added the +`-Wno-enum-constexpr-conversion` flag. +--- + phonon/experimental/CMakeLists.txt | 4 ---- + phonon/objectdescription.h | 2 +- + 2 files changed, 1 insertion(+), 5 deletions(-) + +diff --git a/phonon/objectdescription.h b/phonon/objectdescription.h +index 97fec2e79..6ce92de54 100644 +--- phonon/objectdescription.h ++++ phonon/objectdescription.h +@@ -43,7 +43,7 @@ namespace Phonon + * + * \ingroup Backend + */ +- enum ObjectDescriptionType ++ enum ObjectDescriptionType : unsigned + { + /** + * Audio output devices. This can be soundcards (with different drivers), soundservers or +-- +GitLab +