diff options
Diffstat (limited to 'pkgs/development/libraries/pipewire/default.nix')
-rw-r--r-- | pkgs/development/libraries/pipewire/default.nix | 80 |
1 files changed, 35 insertions, 45 deletions
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index c3532d93683d9..27b5eff1f1aed 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -5,7 +5,7 @@ , meson , ninja , systemd -, enableSystemd ? true +, enableSystemd ? true # enableSystemd=false maintained by maintainers.qyliss. , pkg-config , docutils , doxygen @@ -27,55 +27,38 @@ , lilv , makeFontsConf , nixosTests -, withValgrind ? lib.meta.availableOn stdenv.hostPlatform valgrind , valgrind -, libcameraSupport ? true , libcamera , libdrm -, gstreamerSupport ? true , gst_all_1 -, ffmpegSupport ? true , ffmpeg -, bluezSupport ? true , bluez , sbc , libfreeaptx , liblc3 , fdk_aac , libopus -, ldacbtSupport ? bluezSupport && lib.meta.availableOn stdenv.hostPlatform ldacbt , ldacbt -, nativeHspSupport ? true -, nativeHfpSupport ? true -, nativeModemManagerSupport ? true , modemmanager -, ofonoSupport ? true -, hsphfpdSupport ? true -, pulseTunnelSupport ? true , libpulseaudio , zeroconfSupport ? true , avahi , raopSupport ? true , openssl -, opusSupport ? true , rocSupport ? true , roc-toolkit , x11Support ? true , libcanberra , xorg -, mysofaSupport ? true , libmysofa , ffadoSupport ? x11Support && lib.systems.equals stdenv.buildPlatform stdenv.hostPlatform , ffado , libselinux }: -# Bluetooth codec only makes sense if general bluetooth enabled -assert ldacbtSupport -> bluezSupport; - stdenv.mkDerivation(finalAttrs: { pname = "pipewire"; - version = "1.0.7"; + version = "1.2.2"; outputs = [ "out" @@ -91,7 +74,7 @@ stdenv.mkDerivation(finalAttrs: { owner = "pipewire"; repo = "pipewire"; rev = finalAttrs.version; - sha256 = "sha256-YzI+hkX1ZdeTfxuKaw5P9OYPtkWtUg9cNo32wLCgjNU="; + sha256 = "sha256-neLQ41p2f2QyOS3r2VxanaHbiVj6nnnkT7kx/On0azM="; }; patches = [ @@ -115,35 +98,40 @@ stdenv.mkDerivation(finalAttrs: { buildInputs = [ alsa-lib + bluez dbus + fdk_aac + ffmpeg glib + gst_all_1.gst-plugins-base + gst_all_1.gstreamer + libcamera libjack2 + libfreeaptx + liblc3 + libmysofa + libopus + libpulseaudio libusb1 libselinux libsndfile lilv + modemmanager ncurses readline + sbc ] ++ (if enableSystemd then [ systemd ] else [ udev ]) ++ (if lib.meta.availableOn stdenv.hostPlatform webrtc-audio-processing_1 then [ webrtc-audio-processing_1 ] else [ webrtc-audio-processing ]) - ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ] - ++ lib.optionals libcameraSupport [ libcamera ] - ++ lib.optional ffmpegSupport ffmpeg - ++ lib.optionals bluezSupport [ bluez libfreeaptx liblc3 sbc fdk_aac libopus ] - ++ lib.optional ldacbtSupport ldacbt - ++ lib.optional nativeModemManagerSupport modemmanager - ++ lib.optional opusSupport libopus - ++ lib.optional pulseTunnelSupport libpulseaudio + ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform ldacbt) ldacbt ++ lib.optional zeroconfSupport avahi ++ lib.optional raopSupport openssl ++ lib.optional rocSupport roc-toolkit ++ lib.optionals vulkanSupport [ libdrm vulkan-headers vulkan-loader ] ++ lib.optionals x11Support [ libcanberra xorg.libX11 xorg.libXfixes ] - ++ lib.optional mysofaSupport libmysofa ++ lib.optional ffadoSupport ffado; # Valgrind binary is required for running one optional test. - nativeCheckInputs = lib.optional withValgrind valgrind; + nativeCheckInputs = lib.optional (lib.meta.availableOn stdenv.hostPlatform valgrind) valgrind; mesonFlags = [ (lib.mesonEnable "docs" true) @@ -151,28 +139,29 @@ stdenv.mkDerivation(finalAttrs: { (lib.mesonEnable "installed_tests" true) (lib.mesonOption "installed_test_prefix" (placeholder "installedTests")) (lib.mesonOption "libjack-path" "${placeholder "jack"}/lib") - (lib.mesonEnable "libcamera" libcameraSupport) + (lib.mesonEnable "libcamera" true) (lib.mesonEnable "libffado" ffadoSupport) (lib.mesonEnable "roc" rocSupport) - (lib.mesonEnable "libpulse" pulseTunnelSupport) + (lib.mesonEnable "libpulse" true) (lib.mesonEnable "avahi" zeroconfSupport) - (lib.mesonEnable "gstreamer" gstreamerSupport) + (lib.mesonEnable "gstreamer" true) + (lib.mesonEnable "gstreamer-device-provider" true) (lib.mesonEnable "systemd" enableSystemd) (lib.mesonEnable "systemd-system-service" enableSystemd) (lib.mesonEnable "udev" (!enableSystemd)) - (lib.mesonEnable "ffmpeg" ffmpegSupport) - (lib.mesonEnable "pw-cat-ffmpeg" ffmpegSupport) - (lib.mesonEnable "bluez5" bluezSupport) - (lib.mesonEnable "bluez5-backend-hsp-native" nativeHspSupport) - (lib.mesonEnable "bluez5-backend-hfp-native" nativeHfpSupport) - (lib.mesonEnable "bluez5-backend-native-mm" nativeModemManagerSupport) - (lib.mesonEnable "bluez5-backend-ofono" ofonoSupport) - (lib.mesonEnable "bluez5-backend-hsphfpd" hsphfpdSupport) + (lib.mesonEnable "ffmpeg" true) + (lib.mesonEnable "pw-cat-ffmpeg" true) + (lib.mesonEnable "bluez5" true) + (lib.mesonEnable "bluez5-backend-hsp-native" true) + (lib.mesonEnable "bluez5-backend-hfp-native" true) + (lib.mesonEnable "bluez5-backend-native-mm" true) + (lib.mesonEnable "bluez5-backend-ofono" true) + (lib.mesonEnable "bluez5-backend-hsphfpd" true) # source code is not easily obtainable (lib.mesonEnable "bluez5-codec-lc3plus" false) - (lib.mesonEnable "bluez5-codec-lc3" bluezSupport) - (lib.mesonEnable "bluez5-codec-ldac" ldacbtSupport) - (lib.mesonEnable "opus" opusSupport) + (lib.mesonEnable "bluez5-codec-lc3" true) + (lib.mesonEnable "bluez5-codec-ldac" (lib.meta.availableOn stdenv.hostPlatform ldacbt)) + (lib.mesonEnable "opus" true) (lib.mesonOption "sysconfdir" "/etc") (lib.mesonEnable "raop" raopSupport) (lib.mesonOption "session-managers" "") @@ -180,11 +169,12 @@ stdenv.mkDerivation(finalAttrs: { (lib.mesonEnable "x11" x11Support) (lib.mesonEnable "x11-xfixes" x11Support) (lib.mesonEnable "libcanberra" x11Support) - (lib.mesonEnable "libmysofa" mysofaSupport) + (lib.mesonEnable "libmysofa" true) (lib.mesonEnable "sdl2" false) # required only to build examples, causes dependency loop (lib.mesonBool "rlimits-install" false) # installs to /etc, we won't use this anyway (lib.mesonEnable "compress-offload" true) (lib.mesonEnable "man" true) + (lib.mesonEnable "snap" false) # we don't currently have a working snapd ]; # Fontconfig error: Cannot load default config file |