commit:     3b2025ac27d01c123701173faec2bd429fd7fb57
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 22 10:53:24 2023 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Sun Oct 22 11:03:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b2025ac

media-gfx/darktable: fix musl build error

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

 media-gfx/darktable/darktable-4.4.2.ebuild                    |  1 +
 .../files/darktable-4.4.2_fix-has-attribute-musl.patch        | 11 +++++++++++
 2 files changed, 12 insertions(+)

diff --git a/media-gfx/darktable/darktable-4.4.2.ebuild 
b/media-gfx/darktable/darktable-4.4.2.ebuild
index c9b9baea653e..fae521dd6702 100644
--- a/media-gfx/darktable/darktable-4.4.2.ebuild
+++ b/media-gfx/darktable/darktable-4.4.2.ebuild
@@ -98,6 +98,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch
        "${FILESDIR}"/${PN}-3.4.1_libxcf-cmake.patch
        "${FILESDIR}"/${PN}-4.2.1_cmake-musl.patch
+       "${FILESDIR}"/${PN}-4.4.2_fix-has-attribute-musl.patch
 )
 
 S="${WORKDIR}/${P/_/~}"

diff --git 
a/media-gfx/darktable/files/darktable-4.4.2_fix-has-attribute-musl.patch 
b/media-gfx/darktable/files/darktable-4.4.2_fix-has-attribute-musl.patch
new file mode 100644
index 000000000000..0aad42605c9e
--- /dev/null
+++ b/media-gfx/darktable/files/darktable-4.4.2_fix-has-attribute-musl.patch
@@ -0,0 +1,11 @@
+--- a/src/common/darktable.h
++++ b/src/common/darktable.h
+@@ -140,7 +140,7 @@ extern "C" {
+ /* Create cloned functions for various CPU SSE generations */
+ /* See for instructions https://hannes.hauswedell.net/post/2017/12/09/fmv/ */
+ /* TL;DR : use only on SIMD functions containing low-level 
paralellized/vectorized loops */
+-#if __has_attribute(target_clones) && !defined(_WIN32) && 
!defined(NATIVE_ARCH)
++#if __has_attribute(target_clones) && !defined(_WIN32) && 
!defined(NATIVE_ARCH) && defined(__GLIBC__)
+ # if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || 
defined(__x86_64)
+ #define __DT_CLONE_TARGETS__ __attribute__((target_clones("default", "sse2", 
"sse3", "sse4.1", "sse4.2", "popcnt", "avx", "avx2", "avx512f", "fma4")))
+ # elif defined(__PPC64__)

Reply via email to