mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-28 01:43:15 +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-renderer.nix
|
||||||
./services/desktops/dleyna-server.nix
|
./services/desktops/dleyna-server.nix
|
||||||
./services/desktops/geoclue2.nix
|
./services/desktops/geoclue2.nix
|
||||||
|
./services/desktops/pipewire.nix
|
||||||
./services/desktops/gnome3/at-spi2-core.nix
|
./services/desktops/gnome3/at-spi2-core.nix
|
||||||
./services/desktops/gnome3/chrome-gnome-shell.nix
|
./services/desktops/gnome3/chrome-gnome-shell.nix
|
||||||
./services/desktops/gnome3/evolution-data-server.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
|
{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo
|
||||||
, pango, cogl, clutter, libstartup_notification, zenity, libcanberra_gtk3
|
, pango, cogl, clutter, libstartup_notification, zenity, libcanberra_gtk3
|
||||||
, libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
|
, libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
|
||||||
, libgudev, libwacom, xwayland, autoreconfHook }:
|
, pipewire, libgudev, libwacom, xwayland, autoreconfHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
inherit (import ./src.nix fetchurl) name src;
|
inherit (import ./src.nix fetchurl) name src;
|
||||||
@ -9,6 +9,7 @@ stdenv.mkDerivation rec {
|
|||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-x"
|
"--with-x"
|
||||||
"--disable-static"
|
"--disable-static"
|
||||||
|
"--enable-remote-desktop"
|
||||||
"--enable-shape"
|
"--enable-shape"
|
||||||
"--enable-sm"
|
"--enable-sm"
|
||||||
"--enable-startup-notification"
|
"--enable-startup-notification"
|
||||||
@ -18,6 +19,15 @@ stdenv.mkDerivation rec {
|
|||||||
"--with-xwayland-path=${xwayland}/bin/Xwayland"
|
"--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 = [
|
propagatedBuildInputs = [
|
||||||
# required for pkgconfig to detect mutter-clutter
|
# required for pkgconfig to detect mutter-clutter
|
||||||
libXtst
|
libXtst
|
||||||
@ -30,7 +40,7 @@ stdenv.mkDerivation rec {
|
|||||||
gnome_desktop cairo pango cogl clutter zenity libstartup_notification
|
gnome_desktop cairo pango cogl clutter zenity libstartup_notification
|
||||||
gnome3.geocode_glib libinput libgudev libwacom
|
gnome3.geocode_glib libinput libgudev libwacom
|
||||||
libcanberra_gtk3 zenity xkeyboard_config libxkbfile
|
libcanberra_gtk3 zenity xkeyboard_config libxkbfile
|
||||||
libxkbcommon
|
libxkbcommon pipewire
|
||||||
];
|
];
|
||||||
|
|
||||||
preFixup = ''
|
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 {};
|
pew = callPackage ../development/tools/pew {};
|
||||||
pipenv = callPackage ../development/tools/pipenv {};
|
pipenv = callPackage ../development/tools/pipenv {};
|
||||||
|
|
||||||
|
pipewire = callPackage ../development/libraries/pipewire {};
|
||||||
|
|
||||||
pyrex = pyrex095;
|
pyrex = pyrex095;
|
||||||
|
|
||||||
pyrex095 = callPackage ../development/interpreters/pyrex/0.9.5.nix { };
|
pyrex095 = callPackage ../development/interpreters/pyrex/0.9.5.nix { };
|
||||||
|
Loading…
Reference in New Issue
Block a user