forgejo-lts: 7.0.10 -> 7.0.11
[NixPkgs.git] / pkgs / development / libraries / libopenshot / default.nix
blob231b0cd109aa33640c19069fbdec7746a68220ba
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , alsa-lib
5 , cmake
6 , cppzmq
7 , doxygen
8 , ffmpeg
9 , imagemagick
10 , jsoncpp
11 , libopenshot-audio
12 , llvmPackages
13 , pkg-config
14 , python3
15 , qtbase
16 , qtmultimedia
17 , swig
18 , zeromq
21 stdenv.mkDerivation (finalAttrs: {
22   pname = "libopenshot";
23   version = "0.3.3";
25   src = fetchFromGitHub {
26     owner = "OpenShot";
27     repo = "libopenshot";
28     rev = "v${finalAttrs.version}";
29     hash = "sha256-9X2UIRDD+1kNLbV8AnnPabdO2M0OfTDxQ7xyZtsE10k=";
30   };
32   patches = lib.optionals stdenv.hostPlatform.isDarwin [
33     # Darwin requires both Magick++ and MagickCore for a successful linkage
34     ./0001-link-magickcore.diff
35   ];
37   nativeBuildInputs = [
38     cmake
39     doxygen
40     pkg-config
41     swig
42   ];
44   buildInputs = [
45     cppzmq
46     ffmpeg
47     imagemagick
48     jsoncpp
49     libopenshot-audio
50     python3
51     qtbase
52     qtmultimedia
53     zeromq
54   ] ++ lib.optionals stdenv.hostPlatform.isLinux [
55     alsa-lib
56   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
57     llvmPackages.openmp
58   ];
60   strictDeps = true;
62   dontWrapQtApps = true;
64   doCheck = true;
66   cmakeFlags = [
67     (lib.cmakeBool "ENABLE_RUBY" false)
68     (lib.cmakeOptionType "filepath" "PYTHON_MODULE_PATH" python3.sitePackages)
69   ];
71   passthru = {
72     inherit libopenshot-audio;
73   };
75   meta = {
76     homepage = "http://openshot.org/";
77     description = "Free, open-source video editor library";
78     longDescription = ''
79       OpenShot Library (libopenshot) is an open-source project dedicated to
80       delivering high quality video editing, animation, and playback solutions
81       to the world. API currently supports C++, Python, and Ruby.
82     '';
83     license = with lib.licenses; [ gpl3Plus ];
84     maintainers = with lib.maintainers; [ AndersonTorres ];
85     platforms = lib.platforms.unix;
86   };