From 0c80e969ad2e4c27c17165d3018511f31ad7fd09 Mon Sep 17 00:00:00 2001 From: Mica Semrick Date: Sat, 20 Apr 2024 17:39:01 -0700 Subject: [PATCH] darktable: bump minimum SDK version for darwin x86. --- .../graphics/darktable/default.nix | 5 +++++ .../darktable/fix_darwin_x86_compile.patch | 22 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 3 files changed, 28 insertions(+) create mode 100644 pkgs/applications/graphics/darktable/fix_darwin_x86_compile.patch diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index fdc3770676ff..324ba3cf8a9c 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -64,6 +64,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-Fu3AoHApPi082k6hDkm9qb3pMuI/nmLi+i56x0rPev0="; }; + patches = [ + ./fix_darwin_x86_compile.patch + ]; + + nativeBuildInputs = [ cmake ninja llvmPackages.llvm pkg-config intltool perl desktop-file-utils wrapGAppsHook ]; buildInputs = [ diff --git a/pkgs/applications/graphics/darktable/fix_darwin_x86_compile.patch b/pkgs/applications/graphics/darktable/fix_darwin_x86_compile.patch new file mode 100644 index 000000000000..617b4b1bf02d --- /dev/null +++ b/pkgs/applications/graphics/darktable/fix_darwin_x86_compile.patch @@ -0,0 +1,22 @@ +From 1620befa933fbe525d8851a8f465db9926b7a588 Mon Sep 17 00:00:00 2001 +From: Mario Zimmermann +Date: Wed, 14 Feb 2024 22:18:42 +0100 +Subject: [PATCH] fix xcode compiler segfault + +--- + src/common/darktable.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/common/darktable.h b/src/common/darktable.h +index e5bd1a28902c..2c43b4878bcf 100644 +--- 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(__APPLE__) + # 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__) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 889d9b3cd0cf..c1fa3a9640fb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30429,6 +30429,7 @@ with pkgs; darktable = callPackage ../applications/graphics/darktable { lua = lua5_4; pugixml = pugixml.override { shared = true; }; + stdenv = if stdenv.isDarwin && stdenv.isx86_64 then overrideSDK llvmPackages_18.stdenv { darwinMinVersion = "10.14"; darwinSdkVersion = "11.0"; } else stdenv; }; das_watchdog = callPackage ../tools/system/das_watchdog { };