Skip to content

Commit

Permalink
multimedia/phonon: Switch to upstream's fix for clang 16 build issues
Browse files Browse the repository at this point in the history
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
  • Loading branch information
rakuco committed Aug 5, 2023
1 parent 87725d6 commit 73b6e87
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 7 deletions.
9 changes: 2 additions & 7 deletions 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
Expand Down Expand Up @@ -32,10 +33,4 @@ PULSEAUDIO_USES= gnome
PULSEAUDIO_USE= GNOME=glib20
PULSEAUDIO_CMAKE_BOOL= WITH_PulseAudio

.include <bsd.port.pre.mk>

.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 160
CXXFLAGS+= -Wno-error=enum-constexpr-conversion
.endif

.include <bsd.port.post.mk>
.include <bsd.port.mk>
@@ -0,0 +1,36 @@
From 069d5a3eb81bcbc730e44c27a0d060a85cf9213d Mon Sep 17 00:00:00 2001
From: Dimitry Andric <dimitry@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.
---
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

0 comments on commit 73b6e87

Please sign in to comment.