1{ stdenv, fetchFromGitHub, makeWrapper
2, SDL, ffmpeg, frei0r, libjack2, libdv, libsamplerate
3, libvorbis, libxml2, movit, pkgconfig, sox
4, gtk2
5}:
6
7stdenv.mkDerivation rec {
8 name = "mlt-${version}";
9 version = "6.10.0";
10
11 src = fetchFromGitHub {
12 owner = "mltframework";
13 repo = "mlt";
14 rev = "v${version}";
15 sha256 = "0ki86yslr5ywa6sz8pjrgd9a4rn2rr4mss2zkmqi7pq8prgsm1fr";
16 };
17
18 buildInputs = [
19 SDL ffmpeg frei0r libjack2 libdv libsamplerate libvorbis libxml2
20 makeWrapper movit pkgconfig sox
21 gtk2
22 ];
23
24 # Mostly taken from:
25 # http://www.kdenlive.org/user-manual/downloading-and-installing-kdenlive/installing-source/installing-mlt-rendering-engine
26 configureFlags = [
27 "--avformat-swscale" "--enable-gpl" "--enable-gpl" "--enable-gpl3"
28 "--enable-opengl"
29 ];
30
31 enableParallelBuilding = true;
32
33 postInstall = ''
34 wrapProgram $out/bin/melt --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
35
36 # Remove an unnecessary reference to movit.dev.
37 s=${movit.dev}/include
38 t=$(for ((i = 0; i < ''${#s}; i++)); do echo -n X; done)
39 sed -i $out/lib/mlt/libmltopengl.so -e "s|$s|$t|g"
40 '';
41
42 meta = with stdenv.lib; {
43 description = "Open source multimedia framework, designed for television broadcasting";
44 homepage = https://www.mltframework.org;
45 license = licenses.gpl3;
46 maintainers = [ maintainers.tohl ];
47 platforms = platforms.linux;
48 };
49}