about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libopenshot
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
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')
-rw-r--r--nixpkgs/pkgs/development/libraries/libopenshot/0001-link-magickcore.diff12
-rw-r--r--nixpkgs/pkgs/development/libraries/libopenshot/default.nix87
2 files changed, 99 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libopenshot/0001-link-magickcore.diff b/nixpkgs/pkgs/development/libraries/libopenshot/0001-link-magickcore.diff
new file mode 100644
index 000000000000..e5055d3f3089
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libopenshot/0001-link-magickcore.diff
@@ -0,0 +1,12 @@
+diff -Naur source/src/CMakeLists.txt source-new/src/CMakeLists.txt
+--- source/src/CMakeLists.txt	1969-12-31 21:00:01.000000000 -0300
++++ source-new/src/CMakeLists.txt	2023-11-30 09:39:45.442332463 -0300
+@@ -231,7 +231,7 @@
+     target_compile_definitions(openshot PUBLIC USE_IMAGEMAGICK=1)
+ 
+     # Link with ImageMagick library
+-    target_link_libraries(openshot PUBLIC ImageMagick::Magick++)
++    target_link_libraries(openshot PUBLIC ImageMagick::Magick++ ImageMagick::MagickCore)
+ 
+     set(HAVE_IMAGEMAGICK TRUE CACHE BOOL "Building with ImageMagick support" FORCE)
+     mark_as_advanced(HAVE_IMAGEMAGICK)
diff --git a/nixpkgs/pkgs/development/libraries/libopenshot/default.nix b/nixpkgs/pkgs/development/libraries/libopenshot/default.nix
new file mode 100644
index 000000000000..4622dabb2983
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libopenshot/default.nix
@@ -0,0 +1,87 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, alsa-lib
+, cmake
+, cppzmq
+, doxygen
+, ffmpeg
+, imagemagick
+, jsoncpp
+, libopenshot-audio
+, llvmPackages
+, pkg-config
+, python3
+, qtbase
+, qtmultimedia
+, swig
+, zeromq
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libopenshot";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "OpenShot";
+    repo = "libopenshot";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-axFGNq+Kg8atlaSlG8EKvxj/FwLfpDR8/e4otmnyosM=";
+  };
+
+  patches = lib.optionals stdenv.isDarwin [
+    # Darwin requires both Magick++ and MagickCore for a successful linkage
+    ./0001-link-magickcore.diff
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    doxygen
+    pkg-config
+    swig
+  ];
+
+  buildInputs = [
+    cppzmq
+    ffmpeg
+    imagemagick
+    jsoncpp
+    libopenshot-audio
+    python3
+    qtbase
+    qtmultimedia
+    zeromq
+  ] ++ lib.optionals stdenv.isLinux [
+    alsa-lib
+  ] ++ lib.optionals stdenv.isDarwin [
+    llvmPackages.openmp
+  ];
+
+  strictDeps = true;
+
+  dontWrapQtApps = true;
+
+  doCheck = true;
+
+  cmakeFlags = [
+    (lib.cmakeBool "ENABLE_RUBY" false)
+    (lib.cmakeOptionType "filepath" "PYTHON_MODULE_PATH" python3.sitePackages)
+  ];
+
+  passthru = {
+    inherit libopenshot-audio;
+  };
+
+  meta = {
+    homepage = "http://openshot.org/";
+    description = "Free, open-source video editor library";
+    longDescription = ''
+      OpenShot Library (libopenshot) is an open-source project dedicated to
+      delivering high quality video editing, animation, and playback solutions
+      to the world. API currently supports C++, Python, and Ruby.
+    '';
+    license = with lib.licenses; [ gpl3Plus ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
+  };
+})