1{
2 lib,
3 fetchFromGitHub,
4 stdenv,
5 ffmpeg,
6 frei0r,
7 sox,
8 gtk3,
9 python3,
10 ladspaPlugins,
11 gobject-introspection,
12 makeWrapper,
13 wrapGAppsHook3,
14}:
15
16stdenv.mkDerivation rec {
17 pname = "flowblade";
18 version = "2.22";
19
20 src = fetchFromGitHub {
21 owner = "jliljebl";
22 repo = "flowblade";
23 rev = "v${version}";
24 sha256 = "sha256-0puu0S4zONapjXaVBpPG5mH3UidQwre9yCSkjJVhdkc=";
25 };
26
27 buildInputs = [
28 ffmpeg
29 frei0r
30 sox
31 gtk3
32 ladspaPlugins
33 (python3.withPackages (
34 ps: with ps; [
35 mlt
36 pygobject3
37 dbus-python
38 numpy
39 pillow
40 libusb1
41 ]
42 ))
43 ];
44
45 nativeBuildInputs = [
46 gobject-introspection
47 makeWrapper
48 wrapGAppsHook3
49 ];
50
51 installPhase = ''
52 runHook preInstall
53
54 mkdir -p $out
55 cp -a ${src}/flowblade-trunk $out/flowblade
56
57 makeWrapper $out/flowblade/flowblade $out/bin/flowblade \
58 --set FREI0R_PATH ${frei0r}/lib/frei0r-1 \
59 --set LADSPA_PATH ${ladspaPlugins}/lib/ladspa \
60 --prefix PATH : "${lib.makeBinPath [ ffmpeg ]}" \
61 ''${gappsWrapperArgs[@]}
62
63 runHook postInstall
64 '';
65
66 meta = with lib; {
67 description = "Multitrack Non-Linear Video Editor";
68 homepage = "https://jliljebl.github.io/flowblade/";
69 license = with licenses; [ gpl3Plus ];
70 platforms = platforms.linux;
71 maintainers = with maintainers; [ polygon ];
72 mainProgram = "flowblade";
73 };
74}