lol
1{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, doxygen, graphviz, valgrind
2, glib, dbus, gst_all_1, v4l_utils, alsaLib, ffmpeg, libjack2, libudev, libva, xlibs
3, sbc, SDL2, makeFontsConf, freefont_ttf
4}:
5
6let
7 version = "0.1.9";
8
9 fontsConf = makeFontsConf {
10 fontDirectories = [ freefont_ttf ];
11 };
12in stdenv.mkDerivation rec {
13 name = "pipewire-${version}";
14
15 src = fetchFromGitHub {
16 owner = "PipeWire";
17 repo = "pipewire";
18 rev = version;
19 sha256 = "0r9mgwbggnnijhdz49fnv0qdka364xn1h8yml2jakyqpfrm3i2nm";
20 };
21
22 outputs = [ "out" "dev" "doc" ];
23
24 nativeBuildInputs = [
25 meson ninja pkgconfig doxygen graphviz valgrind
26 ];
27 buildInputs = [
28 glib dbus gst_all_1.gst-plugins-base gst_all_1.gstreamer v4l_utils
29 alsaLib ffmpeg libjack2 libudev libva xlibs.libX11 sbc SDL2
30 ];
31
32 patches = [
33 ./fix-paths.patch
34 ];
35
36 mesonFlags = [
37 "-Denable_docs=true"
38 "-Denable_gstreamer=true"
39 ];
40
41 FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
42
43 doCheck = true;
44
45 meta = with stdenv.lib; {
46 description = "Server and user space API to deal with multimedia pipelines";
47 homepage = http://pipewire.org/;
48 license = licenses.lgpl21;
49 platforms = platforms.linux;
50 maintainers = with maintainers; [ jtojnar ];
51 };
52}