commit:     c17f12094f895eab94115d8556bafe3df64d0c1b
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 20 14:10:43 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 20 14:36:51 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c17f1209

media-libs/phonon: Fix build with clang-16

Closes: https://bugs.gentoo.org/894346
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../phonon/files/phonon-4.11.1-clang-16.patch      | 38 ++++++++++++++++++++++
 media-libs/phonon/phonon-4.11.1-r2.ebuild          |  4 ++-
 2 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/media-libs/phonon/files/phonon-4.11.1-clang-16.patch 
b/media-libs/phonon/files/phonon-4.11.1-clang-16.patch
new file mode 100644
index 000000000000..a3fe704bba0d
--- /dev/null
+++ b/media-libs/phonon/files/phonon-4.11.1-clang-16.patch
@@ -0,0 +1,38 @@
+From 069d5a3eb81bcbc730e44c27a0d060a85cf9213d Mon Sep 17 00:00:00 2001
+From: Dimitry Andric <dimi...@andric.com>
+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.
+
+* asturm 2023-08-20: Drop adding of -Wno-enum-constexpr-conversion in
+  commit f685bdfdf30deeea2d1db01c1edf0c60cbda652e in the first place.
+
+---
+ phonon/objectdescription.h         | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/phonon/objectdescription.h b/phonon/objectdescription.h
+index 97fec2e79..6ce92de54 100644
+--- a/phonon/objectdescription.h
++++ b/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

diff --git a/media-libs/phonon/phonon-4.11.1-r2.ebuild 
b/media-libs/phonon/phonon-4.11.1-r2.ebuild
index da2281950bf6..0fd2db131a67 100644
--- a/media-libs/phonon/phonon-4.11.1-r2.ebuild
+++ b/media-libs/phonon/phonon-4.11.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -36,6 +36,8 @@ PDEPEND="
        vlc? ( >=media-libs/phonon-vlc-0.9.60 )
 "
 
+PATCHES=( "${FILESDIR}/${P}-clang-16.patch" ) # bug 894346
+
 src_configure() {
        local mycmakeargs=(
                -DPHONON_BUILD_DESIGNER_PLUGIN=$(usex designer)

Reply via email to