commit:     ba35b96b501f53471cc61bdc9d518b1f48d17ef7
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 18 16:26:54 2020 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Thu Jun 18 16:29:21 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba35b96b

media-gfx/darktable: prevent CMake from overriding march and mtune

Closes: https://bugs.gentoo.org/692786
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 media-gfx/darktable/darktable-3.0.2-r1.ebuild      |  1 +
 ...darktable-3.0.2_cmake-march-autodetection.patch | 26 ++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/media-gfx/darktable/darktable-3.0.2-r1.ebuild 
b/media-gfx/darktable/darktable-3.0.2-r1.ebuild
index 0fe3792386c..23865b736e6 100644
--- a/media-gfx/darktable/darktable-3.0.2-r1.ebuild
+++ b/media-gfx/darktable/darktable-3.0.2-r1.ebuild
@@ -70,6 +70,7 @@ RDEPEND="${COMMON_DEPEND}
 
 PATCHES=(
        "${FILESDIR}"/"${PN}"-find-opencl-header.patch
+       "${FILESDIR}"/${PN}-3.0.2_cmake-march-autodetection.patch
        "${FILESDIR}"/${PN}-3.0.2_cmake-opencl-kernel-loop.patch
        "${FILESDIR}"/${PN}-3.0.2_jsonschema-automagic.patch
 )

diff --git 
a/media-gfx/darktable/files/darktable-3.0.2_cmake-march-autodetection.patch 
b/media-gfx/darktable/files/darktable-3.0.2_cmake-march-autodetection.patch
new file mode 100644
index 00000000000..8ad4f0e9329
--- /dev/null
+++ b/media-gfx/darktable/files/darktable-3.0.2_cmake-march-autodetection.patch
@@ -0,0 +1,26 @@
+Darktable and RawSpeed upstream support two build modes: if 
BINARY_PACKAGE_BUILD==1
+they pass -mtune=generic to the compiler, otherwise they use -march=native.
+In either case, these options override externally set CFLAGS.
+
+Disable this behaviour so that the users' settings provided to the ebuild by 
Portage
+are respected.
+
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -521,7 +521,7 @@
+     set(DT_REQ_INSTRUCTIONS "-msse2")
+   endif()
+ 
+-  include(march-mtune)
++  set(MARCH "")
+ 
+   #if(NOT BUILD_SSE2_CODEPATHS)
+   #  set(MARCH "${MARCH} -mno-sse2 -D__DISABLE_SSE2__ -U__SSE2__ 
-D__DISABLE_SSE__ -U__SSE__")
+--- a/src/external/rawspeed/cmake/compiler-flags.cmake
++++ b/src/external/rawspeed/cmake/compiler-flags.cmake
+@@ -1,5 +1,4 @@
+ include(CheckCXXCompilerFlag)
+-include(CpuMarch)
+ include(CheckCXXCompilerFlagAndEnableIt)
+ 
+ # yes, need to keep both the CMAKE_CXX_FLAGS and CMAKE_CXX_STANDARD.

Reply via email to