about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2022-12-28 17:32:45 -0300
committerGitHub <noreply@github.com>2022-12-28 17:32:45 -0300
commita79e10a2053f943331d81f4747de226bedcac45d (patch)
tree2acc8f1e9999940a7bbf289bb3926bd7f3bac039
parent4032717bd12d53da0087af90996fc21cefe7c7a7 (diff)
parentd1b54838bd6bd1c9ecaea34ec5c5b02edcf5ae1c (diff)
Merge pull request #207950 from wegank/libopenshot
libsForQt5.libopenshot-audio: unbreak on aarch64-darwin
-rw-r--r--pkgs/applications/video/openshot-qt/libopenshot-audio.nix8
-rw-r--r--pkgs/applications/video/openshot-qt/libopenshot.nix3
-rw-r--r--pkgs/applications/video/openshot-qt/undef-fpret-on-aarch64-darwin.patch13
3 files changed, 21 insertions, 3 deletions
diff --git a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix b/pkgs/applications/video/openshot-qt/libopenshot-audio.nix
index bf77e8a8f0da1..438eae4670980 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix
+++ b/pkgs/applications/video/openshot-qt/libopenshot-audio.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , alsa-lib
 , cmake
 , doxygen
@@ -28,6 +29,11 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-XtwTZsj/L/sw/28E7Qr5UyghGlBFFXvbmZLGXBB8vg0=";
   };
 
+  patches = [
+    # https://forum.juce.com/t/juce-and-macos-11-arm/40285/24
+    ./undef-fpret-on-aarch64-darwin.patch
+  ];
+
   nativeBuildInputs = [
     cmake
     doxygen
@@ -63,7 +69,5 @@ stdenv.mkDerivation rec {
     license = with licenses; gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = with platforms; unix;
-    # never built on aarch64-darwin since first introduction in nixpkgs
-    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 }
diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/applications/video/openshot-qt/libopenshot.nix
index 8a98010ef642b..22ed82fd3d0b7 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot.nix
+++ b/pkgs/applications/video/openshot-qt/libopenshot.nix
@@ -35,8 +35,9 @@ stdenv.mkDerivation rec {
     export _REL_PYTHON_MODULE_PATH=$(toPythonPath $out)
   '';
 
-  nativeBuildInputs = [
+  nativeBuildInputs = lib.optionals stdenv.isLinux [
     alsa-lib
+  ] ++ [
     cmake
     doxygen
     pkg-config
diff --git a/pkgs/applications/video/openshot-qt/undef-fpret-on-aarch64-darwin.patch b/pkgs/applications/video/openshot-qt/undef-fpret-on-aarch64-darwin.patch
new file mode 100644
index 0000000000000..c391f77dda8b7
--- /dev/null
+++ b/pkgs/applications/video/openshot-qt/undef-fpret-on-aarch64-darwin.patch
@@ -0,0 +1,13 @@
+diff --git a/JuceLibraryCode/modules/juce_core/native/juce_osx_ObjCHelpers.h b/JuceLibraryCode/modules/juce_core/native/juce_osx_ObjCHelpers.h
+index 2593790..0b5983d 100644
+--- a/JuceLibraryCode/modules/juce_core/native/juce_osx_ObjCHelpers.h
++++ b/JuceLibraryCode/modules/juce_core/native/juce_osx_ObjCHelpers.h
+@@ -209,7 +209,7 @@ static inline ReturnValue ObjCMsgSendSuper (struct objc_super* s, SEL sel, Param
+ typedef id (*MsgSendSuperFn) (struct objc_super*, SEL, ...);
+ static inline MsgSendSuperFn getMsgSendSuperFn() noexcept   { return (MsgSendSuperFn) (void*) objc_msgSendSuper; }
+ 
+-#if ! JUCE_IOS
++#if JUCE_INTEL && ! JUCE_IOS
+ typedef double (*MsgSendFPRetFn) (id, SEL op, ...);
+ static inline MsgSendFPRetFn getMsgSendFPRetFn() noexcept   { return (MsgSendFPRetFn) (void*) objc_msgSend_fpret; }
+ #endif