summary refs log tree commit diff
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-10-25 09:49:55 +0200
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2023-10-25 09:49:55 +0200
commitddacaab6122e82be5e212d7182af71a02f0ff729 (patch)
treef94c16b80cd569f144712cae1c0a8496142540e7
parent5655c7f0be9e63d2511345c74452c099f86eddb6 (diff)
downloadnixpkgs-ddacaab6122e82be5e212d7182af71a02f0ff729.tar
nixpkgs-ddacaab6122e82be5e212d7182af71a02f0ff729.tar.gz
nixpkgs-ddacaab6122e82be5e212d7182af71a02f0ff729.tar.bz2
nixpkgs-ddacaab6122e82be5e212d7182af71a02f0ff729.tar.lz
nixpkgs-ddacaab6122e82be5e212d7182af71a02f0ff729.tar.xz
nixpkgs-ddacaab6122e82be5e212d7182af71a02f0ff729.tar.zst
nixpkgs-ddacaab6122e82be5e212d7182af71a02f0ff729.zip
pulseaudio: refactor meson flags
-rw-r--r--pkgs/servers/pulseaudio/default.nix64
1 files changed, 33 insertions, 31 deletions
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 686b68c6c67..6b62f066211 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config
+{ lib, stdenv, fetchurl, pkg-config
 , libsndfile, libtool, makeWrapper, perlPackages
 , xorg, libcap, alsa-lib, glib, dconf
 , avahi, libjack2, libasyncns, lirc, dbus
@@ -88,45 +88,47 @@ stdenv.mkDerivation rec {
   );
 
   mesonFlags = [
-    "-Dalsa=${if !libOnly && alsaSupport then "enabled" else "disabled"}"
-    "-Dasyncns=${if !libOnly then "enabled" else "disabled"}"
-    "-Davahi=${if zeroconfSupport then "enabled" else "disabled"}"
-    "-Dbluez5=${if !libOnly && bluetoothSupport then "enabled" else "disabled"}"
+    (lib.mesonEnable "alsa" (!libOnly && alsaSupport))
+    (lib.mesonEnable "asyncns" (!libOnly))
+    (lib.mesonEnable "avahi" zeroconfSupport)
+    (lib.mesonEnable "bluez5" (!libOnly && bluetoothSupport))
     # advanced bluetooth audio codecs are provided by gstreamer
-    "-Dbluez5-gstreamer=${if (!libOnly && bluetoothSupport && advancedBluetoothCodecs) then "enabled" else "disabled"}"
-    "-Ddatabase=simple"
-    "-Ddoxygen=false"
-    "-Delogind=disabled"
+    (lib.mesonEnable "bluez5-gstreamer" (!libOnly && bluetoothSupport && advancedBluetoothCodecs))
+    (lib.mesonOption "database" "simple")
+    (lib.mesonBool "doxygen" false)
+    (lib.mesonEnable "elogind" false)
     # gsettings does not support cross-compilation
-    "-Dgsettings=${if stdenv.isLinux && (stdenv.buildPlatform == stdenv.hostPlatform) then "enabled" else "disabled"}"
-    "-Dgstreamer=disabled"
-    "-Dgtk=disabled"
-    "-Djack=${if jackaudioSupport && !libOnly then "enabled" else "disabled"}"
-    "-Dlirc=${if remoteControlSupport then "enabled" else "disabled"}"
-    "-Dopenssl=${if airtunesSupport then "enabled" else "disabled"}"
-    "-Dorc=disabled"
-    "-Dsystemd=${if useSystemd && !libOnly then "enabled" else "disabled"}"
-    "-Dtcpwrap=disabled"
-    "-Dudev=${if !libOnly && udevSupport then "enabled" else "disabled"}"
-    "-Dvalgrind=disabled"
-    "-Dwebrtc-aec=${if !libOnly then "enabled" else "disabled"}"
-    "-Dx11=${if x11Support then "enabled" else "disabled"}"
-
-    "-Dlocalstatedir=/var"
-    "-Dsysconfdir=/etc"
-    "-Dsysconfdir_install=${placeholder "out"}/etc"
-    "-Dudevrulesdir=${placeholder "out"}/lib/udev/rules.d"
+    (lib.mesonEnable "gsettings" (stdenv.isLinux && (stdenv.buildPlatform == stdenv.hostPlatform)))
+    (lib.mesonEnable "gstreamer" false)
+    (lib.mesonEnable "gtk" false)
+    (lib.mesonEnable "jack" (jackaudioSupport && !libOnly))
+    (lib.mesonEnable "lirc" remoteControlSupport)
+    (lib.mesonEnable "openssl" airtunesSupport)
+    (lib.mesonEnable "orc" false)
+    (lib.mesonEnable "systemd" (useSystemd && !libOnly))
+    (lib.mesonEnable "tcpwrap" false)
+    (lib.mesonEnable "udev" (!libOnly && udevSupport))
+    (lib.mesonEnable "valgrind" false)
+    (lib.mesonEnable "webrtc-aec" (!libOnly))
+    (lib.mesonEnable "x11" x11Support)
+
+    (lib.mesonOption "localstatedir" "/var")
+    (lib.mesonOption "sysconfdir" "/etc")
+    (lib.mesonOption "sysconfdir_install" "${placeholder "out"}/etc")
+    (lib.mesonOption "udevrulesdir" "${placeholder "out"}/lib/udev/rules.d")
 
     # pulseaudio complains if its binary is moved after installation;
     # this is needed so that wrapGApp can operate *without*
     # renaming the unwrapped binaries (see below)
     "--bindir=${placeholder "out"}/.bin-unwrapped"
   ]
-  ++ lib.optional (stdenv.isLinux && useSystemd) "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
+  ++ lib.optionals (stdenv.isLinux && useSystemd) [
+    (lib.mesonOption "systemduserunitdir" "${placeholder "out"}/lib/systemd/user")
+  ]
   ++ lib.optionals stdenv.isDarwin [
-    "-Ddbus=disabled"
-    "-Dglib=disabled"
-    "-Doss-output=disabled"
+    (lib.mesonEnable "dbus" false)
+    (lib.mesonEnable "glib" false)
+    (lib.mesonEnable "oss-output" false)
   ];
 
   # tests fail on Darwin because of timeouts