diff options
author | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2023-10-25 09:49:55 +0200 |
---|---|---|
committer | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2023-10-25 09:49:55 +0200 |
commit | ddacaab6122e82be5e212d7182af71a02f0ff729 (patch) | |
tree | f94c16b80cd569f144712cae1c0a8496142540e7 | |
parent | 5655c7f0be9e63d2511345c74452c099f86eddb6 (diff) | |
download | nixpkgs-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.nix | 64 |
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 |