about summary refs log tree commit diff
path: root/pkgs/development/libraries/libopenshot-audio
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2023-11-30 11:45:36 -0300
committerAnderson Torres <torres.anderson.85@protonmail.com>2023-11-30 11:48:28 -0300
commiteeed18452e2cfff071fdc69686bbe0ef3dfd39c8 (patch)
tree37291879fef69ae562de84f7e6aa9eba27936648 /pkgs/development/libraries/libopenshot-audio
parent211b645d47d18a3bd307c6057a16490381fb4657 (diff)
libsForQt5.libopenshot-audio: migrate to libraries
Diffstat (limited to 'pkgs/development/libraries/libopenshot-audio')
-rw-r--r--pkgs/development/libraries/libopenshot-audio/0001-undef-fpret-on-aarch64-darwin.patch13
-rw-r--r--pkgs/development/libraries/libopenshot-audio/default.nix77
2 files changed, 90 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libopenshot-audio/0001-undef-fpret-on-aarch64-darwin.patch b/pkgs/development/libraries/libopenshot-audio/0001-undef-fpret-on-aarch64-darwin.patch
new file mode 100644
index 0000000000000..c391f77dda8b7
--- /dev/null
+++ b/pkgs/development/libraries/libopenshot-audio/0001-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
diff --git a/pkgs/development/libraries/libopenshot-audio/default.nix b/pkgs/development/libraries/libopenshot-audio/default.nix
new file mode 100644
index 0000000000000..e546dc7a57862
--- /dev/null
+++ b/pkgs/development/libraries/libopenshot-audio/default.nix
@@ -0,0 +1,77 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, alsa-lib
+, cmake
+, doxygen
+, libX11
+, libXcursor
+, libXext
+, libXft
+, libXinerama
+, libXrandr
+, pkg-config
+, zlib
+, Accelerate
+, AGL
+, Cocoa
+, Foundation
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libopenshot-audio";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "OpenShot";
+    repo = "libopenshot-audio";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-PLpB9sy9xehipN5S9okCHm1mPm5MaZMVaFqCBvFUiTw=";
+  };
+
+  patches = [
+    # https://forum.juce.com/t/juce-and-macos-11-arm/40285/24
+    ./0001-undef-fpret-on-aarch64-darwin.patch
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    doxygen
+    pkg-config
+  ];
+
+  buildInputs = lib.optionals stdenv.isLinux [
+    alsa-lib
+  ] ++ (if stdenv.isDarwin then [
+    Accelerate
+    AGL
+    Cocoa
+    Foundation
+    zlib
+  ] else [
+    libX11
+    libXcursor
+    libXext
+    libXft
+    libXinerama
+    libXrandr
+  ]);
+
+  strictDeps = true;
+
+  doCheck = true;
+
+  meta = {
+    homepage = "http://openshot.org/";
+    description = "High-quality sound editing library";
+    longDescription = ''
+      OpenShot Audio Library (libopenshot-audio) is a program that allows the
+      high-quality editing and playback of audio, and is based on the amazing
+      JUCE library.
+    '';
+    license = with lib.licenses; [ gpl3Plus ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
+  };
+})