about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libopenshot-audio
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-12-15 19:32:38 +0100
committerAlyssa Ross <hi@alyssa.is>2023-12-15 19:32:38 +0100
commit6b8e2555ef013b579cda57025b17d662e0f1fe1f (patch)
tree5a83c673af26c9976acd5a5dfa20e09e06898047 /nixpkgs/pkgs/development/libraries/libopenshot-audio
parent66ca7a150b5c051f0728f13134e6265cc46f370c (diff)
parent02357adddd0889782362d999628de9d309d202dc (diff)
downloadnixlib-6b8e2555ef013b579cda57025b17d662e0f1fe1f.tar
nixlib-6b8e2555ef013b579cda57025b17d662e0f1fe1f.tar.gz
nixlib-6b8e2555ef013b579cda57025b17d662e0f1fe1f.tar.bz2
nixlib-6b8e2555ef013b579cda57025b17d662e0f1fe1f.tar.lz
nixlib-6b8e2555ef013b579cda57025b17d662e0f1fe1f.tar.xz
nixlib-6b8e2555ef013b579cda57025b17d662e0f1fe1f.tar.zst
nixlib-6b8e2555ef013b579cda57025b17d662e0f1fe1f.zip
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libopenshot-audio')
-rw-r--r--nixpkgs/pkgs/development/libraries/libopenshot-audio/0001-undef-fpret-on-aarch64-darwin.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/libopenshot-audio/default.nix77
2 files changed, 90 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libopenshot-audio/0001-undef-fpret-on-aarch64-darwin.patch b/nixpkgs/pkgs/development/libraries/libopenshot-audio/0001-undef-fpret-on-aarch64-darwin.patch
new file mode 100644
index 000000000000..c391f77dda8b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libopenshot-audio/default.nix b/nixpkgs/pkgs/development/libraries/libopenshot-audio/default.nix
new file mode 100644
index 000000000000..e546dc7a5786
--- /dev/null
+++ b/nixpkgs/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;
+  };
+})