summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/pipewire/default.nix47
-rw-r--r--pkgs/development/libraries/pipewire/fix-paths.patch8
2 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
new file mode 100644
index 000000000000..3bd94c977e84
--- /dev/null
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, doxygen, graphviz, valgrind
+, glib, dbus, gst_all_1, v4l_utils, alsaLib, ffmpeg, libjack2, libudev, libva, xlibs
+, sbc, SDL2
+}:
+
+let
+  version = "0.1.8";
+in stdenv.mkDerivation rec {
+  name = "pipewire-${version}";
+
+  src = fetchFromGitHub {
+    owner = "PipeWire";
+    repo = "pipewire";
+    rev = version;
+    sha256 = "1nim8d1lsf6yxk97piwmsz686w84b09lk6cagbyjr9m3k2hwybqn";
+  };
+
+  outputs = [ "out" "dev" "doc" ];
+
+  nativeBuildInputs = [
+    meson ninja pkgconfig doxygen graphviz valgrind
+  ];
+  buildInputs = [
+    glib dbus gst_all_1.gst-plugins-base gst_all_1.gstreamer v4l_utils
+    alsaLib ffmpeg libjack2 libudev libva xlibs.libX11 sbc SDL2
+  ];
+
+  patches = [
+    ./fix-paths.patch
+  ];
+
+  mesonFlags = [
+    "-Denable_docs=true"
+    "-Denable_gstreamer=true"
+  ];
+
+  doCheck = true;
+  checkPhase = "meson test";
+
+  meta = with stdenv.lib; {
+    description = "Server and user space API to deal with multimedia pipelines";
+    homepage = http://pipewire.org/;
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jtojnar ];
+  };
+}
diff --git a/pkgs/development/libraries/pipewire/fix-paths.patch b/pkgs/development/libraries/pipewire/fix-paths.patch
new file mode 100644
index 000000000000..5a07c6271e14
--- /dev/null
+++ b/pkgs/development/libraries/pipewire/fix-paths.patch
@@ -0,0 +1,8 @@
+--- a/src/daemon/systemd/user/meson.build
++++ b/src/daemon/systemd/user/meson.build
+@@ -1,4 +1,4 @@
+-systemd_user_services_dir = systemd.get_pkgconfig_variable('systemduserunitdir')
++systemd_user_services_dir = join_paths(get_option('prefix'), 'etc', 'systemd', 'user')
+ 
+ install_data(sources : 'pipewire.socket', install_dir : systemd_user_services_dir)
+