python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / pipewire / wireplumber.nix
blob5770866ebbedbcbe617840c1abc8ded69896912a
1 { lib
2 , stdenv
3 , fetchFromGitLab
4 , nix-update-script
5 , # base build deps
6   meson
7 , pkg-config
8 , ninja
9 , # docs build deps
10   python3
11 , doxygen
12 , graphviz
13 , # GI build deps
14   gobject-introspection
15 , # runtime deps
16   glib
17 , systemd
18 , lua5_4
19 , pipewire
20 , # options
21   enableDocs ? true
22 , enableGI ? true
24 let
25   mesonEnableFeature = b: if b then "enabled" else "disabled";
27 stdenv.mkDerivation rec {
28   pname = "wireplumber";
29   version = "0.4.12";
31   outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc";
33   src = fetchFromGitLab {
34     domain = "gitlab.freedesktop.org";
35     owner = "pipewire";
36     repo = "wireplumber";
37     rev = version;
38     sha256 = "sha256-2qM6sX807v/3DZXTuBvUSGV8+cPB87rWYb+HTDCm3kw=";
39   };
41   nativeBuildInputs = [
42     meson
43     pkg-config
44     ninja
45   ] ++ lib.optionals enableDocs [
46     graphviz
47   ] ++ lib.optionals enableGI [
48     gobject-introspection
49   ] ++ lib.optionals (enableDocs || enableGI) [
50     doxygen
51     (python3.pythonForBuild.withPackages (ps: with ps;
52     lib.optionals enableDocs [ sphinx sphinx-rtd-theme breathe ] ++
53       lib.optionals enableGI [ lxml ]
54     ))
55   ];
57   buildInputs = [
58     glib
59     systemd
60     lua5_4
61     pipewire
62   ];
64   mesonFlags = [
65     "-Dsystem-lua=true"
66     "-Delogind=disabled"
67     "-Ddoc=${mesonEnableFeature enableDocs}"
68     "-Dintrospection=${mesonEnableFeature enableGI}"
69     "-Dsystemd-system-service=true"
70     "-Dsystemd-system-unit-dir=${placeholder "out"}/lib/systemd/system"
71     "-Dsysconfdir=/etc"
72   ];
74   passthru.updateScript = nix-update-script {
75     attrPath = pname;
76   };
78   meta = with lib; {
79     description = "A modular session / policy manager for PipeWire";
80     homepage = "https://pipewire.org";
81     license = licenses.mit;
82     platforms = platforms.linux;
83     maintainers = with maintainers; [ k900 ];
84   };