commit:     4da043aa794888f08ab2ebfda77a95182f96ed38
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 14 18:31:01 2022 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Fri Jan 14 18:31:01 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4da043aa

net-irc/quassel: fix CXXFLAGS de-duplication

Closes: https://bugs.gentoo.org/830738
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 .../quassel/files/quassel-0.14.0-cxxflags.patch    | 32 ++++++++++++++++++++++
 net-irc/quassel/quassel-0.14.0.ebuild              |  4 +++
 2 files changed, 36 insertions(+)

diff --git a/net-irc/quassel/files/quassel-0.14.0-cxxflags.patch 
b/net-irc/quassel/files/quassel-0.14.0-cxxflags.patch
new file mode 100644
index 000000000000..119261f789af
--- /dev/null
+++ b/net-irc/quassel/files/quassel-0.14.0-cxxflags.patch
@@ -0,0 +1,32 @@
+From b1eff3d32b2a18c52a8f30632746956a17089204 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <flop...@gentoo.org>
+Date: Sat, 8 Jan 2022 13:26:05 -0500
+Subject: [PATCH] cmake: avoid de-duplication of user's CXXFLAGS
+
+Use the "SHELL:" prefix behavior introduced in cmake 3.12 to avoid the
+option de-duplication behavior of add_compile_options().
+
+Bug: https://bugs.gentoo.org/830738
+---
+ cmake/QuasselMacros.cmake | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/QuasselMacros.cmake b/cmake/QuasselMacros.cmake
+index 3f9f09269..9ba0003a8 100644
+--- a/cmake/QuasselMacros.cmake
++++ b/cmake/QuasselMacros.cmake
+@@ -410,8 +410,12 @@ endfunction()
+ function(process_cmake_cxx_flags)
+     string(TOUPPER ${CMAKE_BUILD_TYPE} upper_build_type)
+     set(cxx_flags "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${upper_build_type}}")
+-    separate_arguments(sep_cxx_flags UNIX_COMMAND ${cxx_flags})
+-    add_compile_options(${sep_cxx_flags})
++    if(CMAKE_VERSION VERSION_LESS 3.12)
++        separate_arguments(sep_cxx_flags UNIX_COMMAND ${cxx_flags})
++        add_compile_options(${sep_cxx_flags})
++    else()
++        add_compile_options("SHELL:${cxx_flags}")
++    endif()
+     set(CMAKE_CXX_FLAGS "" PARENT_SCOPE)
+     set(CMAKE_CXX_FLAGS_${upper_build_type} "" PARENT_SCOPE)
+ endfunction()

diff --git a/net-irc/quassel/quassel-0.14.0.ebuild 
b/net-irc/quassel/quassel-0.14.0.ebuild
index 4508c79fbeb9..ad984f995d66 100644
--- a/net-irc/quassel/quassel-0.14.0.ebuild
+++ b/net-irc/quassel/quassel-0.14.0.ebuild
@@ -87,6 +87,10 @@ REQUIRED_USE="|| ( X server monolithic )
        spell? ( || ( X monolithic ) )
        syslog? ( || ( server monolithic ) )"
 
+PATCHES=(
+       "${FILESDIR}/quassel-0.14.0-cxxflags.patch"
+)
+
 src_configure() {
        local mycmakeargs=(
                -DBUILD_TESTING=$(usex test)

Reply via email to