mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-23 23:43:30 +00:00
Merge pull request #34507 from jtojnar/pipewire
pipewire: init at 0.1.8
This commit is contained in:
commit
44695e7045
@ -201,6 +201,7 @@
|
||||
./services/desktops/dleyna-renderer.nix
|
||||
./services/desktops/dleyna-server.nix
|
||||
./services/desktops/geoclue2.nix
|
||||
./services/desktops/pipewire.nix
|
||||
./services/desktops/gnome3/at-spi2-core.nix
|
||||
./services/desktops/gnome3/chrome-gnome-shell.nix
|
||||
./services/desktops/gnome3/evolution-data-server.nix
|
||||
|
23
nixos/modules/services/desktops/pipewire.nix
Normal file
23
nixos/modules/services/desktops/pipewire.nix
Normal file
@ -0,0 +1,23 @@
|
||||
# pipewire service.
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
###### interface
|
||||
options = {
|
||||
services.pipewire = {
|
||||
enable = mkEnableOption "pipewire service";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
config = mkIf config.services.pipewire.enable {
|
||||
environment.systemPackages = [ pkgs.pipewire ];
|
||||
|
||||
systemd.packages = [ pkgs.pipewire ];
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ jtojnar ];
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo
|
||||
, pango, cogl, clutter, libstartup_notification, zenity, libcanberra_gtk3
|
||||
, libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
|
||||
, libgudev, libwacom, xwayland, autoreconfHook }:
|
||||
, pipewire, libgudev, libwacom, xwayland, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
inherit (import ./src.nix fetchurl) name src;
|
||||
@ -9,6 +9,7 @@ stdenv.mkDerivation rec {
|
||||
configureFlags = [
|
||||
"--with-x"
|
||||
"--disable-static"
|
||||
"--enable-remote-desktop"
|
||||
"--enable-shape"
|
||||
"--enable-sm"
|
||||
"--enable-startup-notification"
|
||||
@ -18,6 +19,15 @@ stdenv.mkDerivation rec {
|
||||
"--with-xwayland-path=${xwayland}/bin/Xwayland"
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Pipewire 0.1.8 compatibility
|
||||
(fetchurl {
|
||||
name = "mutter-pipewire-0.1.8-compat.patch";
|
||||
url = https://bugzilla.gnome.org/attachment.cgi?id=367356;
|
||||
sha256 = "10bx5zf11wwhhy686w11ggikk56pbxydpbk9fbd947ir385x92cz";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
# required for pkgconfig to detect mutter-clutter
|
||||
libXtst
|
||||
@ -30,7 +40,7 @@ stdenv.mkDerivation rec {
|
||||
gnome_desktop cairo pango cogl clutter zenity libstartup_notification
|
||||
gnome3.geocode_glib libinput libgudev libwacom
|
||||
libcanberra_gtk3 zenity xkeyboard_config libxkbfile
|
||||
libxkbcommon
|
||||
libxkbcommon pipewire
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
|
47
pkgs/development/libraries/pipewire/default.nix
Normal file
47
pkgs/development/libraries/pipewire/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
8
pkgs/development/libraries/pipewire/fix-paths.patch
Normal file
8
pkgs/development/libraries/pipewire/fix-paths.patch
Normal file
@ -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)
|
||||
|
@ -7034,6 +7034,8 @@ with pkgs;
|
||||
pew = callPackage ../development/tools/pew {};
|
||||
pipenv = callPackage ../development/tools/pipenv {};
|
||||
|
||||
pipewire = callPackage ../development/libraries/pipewire {};
|
||||
|
||||
pyrex = pyrex095;
|
||||
|
||||
pyrex095 = callPackage ../development/interpreters/pyrex/0.9.5.nix { };
|
||||
|
Loading…
Reference in New Issue
Block a user