1{ stdenv, fetchurl, pkgconfig, python, yasm
2, gst-plugins-base, orc, bzip2
3, withSystemLibav ? true, libav ? null
4}:
5
6# Note that since gst-libav-1.6, libav is actually ffmpeg. See
7# https://gstreamer.freedesktop.org/releases/1.6/ for more info.
8
9assert withSystemLibav -> libav != null;
10
11stdenv.mkDerivation rec {
12 name = "gst-libav-1.12.3";
13
14 meta = {
15 homepage = https://gstreamer.freedesktop.org;
16 license = stdenv.lib.licenses.lgpl2Plus;
17 platforms = stdenv.lib.platforms.unix;
18 };
19
20 src = fetchurl {
21 url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
22 sha256 = "0l4nc6ikdx49l7bdrk3bd9p3pzry8a328r22zg48gyzpnv5ghph1";
23 };
24
25 outputs = [ "out" "dev" ];
26
27 configureFlags = stdenv.lib.optionalString withSystemLibav
28 "--with-system-libav";
29
30 nativeBuildInputs = with stdenv.lib;
31 [ pkgconfig python ]
32 ++ optional (!withSystemLibav) yasm
33 ;
34
35 buildInputs = with stdenv.lib;
36 [ gst-plugins-base orc bzip2 ]
37 ++ optional withSystemLibav libav
38 ;
39}