diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2022-01-08 06:11:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-08 06:11:59 +0100 |
commit | 283c47bc45cb91cc68115345581ba558cf6c7e76 (patch) | |
tree | d11f18e39cf14ecafd1a27991000cb3a244598de /pkgs/development/libraries/pipewire | |
parent | 3bec7624c137f877d8c4cd576f140018c645b0a8 (diff) | |
parent | 4909a1558256bd01dea4dc8f8cd6f2567d2458a7 (diff) | |
download | nixpkgs-283c47bc45cb91cc68115345581ba558cf6c7e76.tar nixpkgs-283c47bc45cb91cc68115345581ba558cf6c7e76.tar.gz nixpkgs-283c47bc45cb91cc68115345581ba558cf6c7e76.tar.bz2 nixpkgs-283c47bc45cb91cc68115345581ba558cf6c7e76.tar.lz nixpkgs-283c47bc45cb91cc68115345581ba558cf6c7e76.tar.xz nixpkgs-283c47bc45cb91cc68115345581ba558cf6c7e76.tar.zst nixpkgs-283c47bc45cb91cc68115345581ba558cf6c7e76.zip |
Merge pull request #150548 from K900/wireplumber
wireplumber: init, add NixOS module
Diffstat (limited to 'pkgs/development/libraries/pipewire')
-rw-r--r-- | pkgs/development/libraries/pipewire/wireplumber.nix | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/pkgs/development/libraries/pipewire/wireplumber.nix b/pkgs/development/libraries/pipewire/wireplumber.nix new file mode 100644 index 00000000000..eba1b210590 --- /dev/null +++ b/pkgs/development/libraries/pipewire/wireplumber.nix @@ -0,0 +1,82 @@ +{ lib +, stdenv +, fetchFromGitLab +, nix-update-script +, # base build deps + meson +, pkg-config +, ninja +, # docs build deps + python3 +, doxygen +, graphviz +, # GI build deps + gobject-introspection +, # runtime deps + glib +, systemd +, lua5_4 +, pipewire +, # options + enableDocs ? true +, enableGI ? stdenv.hostPlatform == stdenv.buildPlatform +}: +let + mesonEnableFeature = b: if b then "enabled" else "disabled"; +in +stdenv.mkDerivation rec { + pname = "wireplumber"; + version = "0.4.6"; + + outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "pipewire"; + repo = "wireplumber"; + rev = version; + sha256 = "sha256-y+Gj9EZn67W3U81zXgp+6JAFxZSZTwwT0TB3Kueb/Tw="; + }; + + nativeBuildInputs = [ + meson + pkg-config + ninja + ] ++ lib.optionals enableDocs [ + graphviz + ] ++ lib.optionals enableGI [ + gobject-introspection + ] ++ lib.optionals (enableDocs || enableGI) [ + doxygen + (python3.withPackages (ps: with ps; + lib.optionals enableDocs [ sphinx sphinx_rtd_theme breathe ] ++ + lib.optionals enableGI [ lxml ] + )) + ]; + + buildInputs = [ + glib + systemd + lua5_4 + pipewire + ]; + + mesonFlags = [ + "-Dsystem-lua=true" + "-Delogind=disabled" + "-Ddoc=${mesonEnableFeature enableDocs}" + "-Dintrospection=${mesonEnableFeature enableGI}" + ]; + + passthru.updateScript = nix-update-script { + attrPath = pname; + }; + + meta = with lib; { + description = "A modular session / policy manager for PipeWire"; + homepage = "https://pipewire.org"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ k900 ]; + }; +} |