diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-01-03 23:55:00 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2022-02-19 11:03:39 +0000 |
commit | f4cf97a04cd5d0b86aa46baec9fb228a8f671c03 (patch) | |
tree | 28192415ff39a661d0001563bf81cc93fa25d16d /nixpkgs/pkgs/development/libraries/pipewire/default.nix | |
parent | f8422837c9bde058e8f2de37702e7e94b2226040 (diff) | |
parent | 18c84ea816348e2a098390101b92d1e39a9dbd45 (diff) | |
download | nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.gz nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.bz2 nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.lz nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.xz nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.zst nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.zip |
Merge commit '18c84ea816348e2a098390101b92d1e39a9dbd45'
Conflicts: nixpkgs/nixos/modules/misc/documentation.nix nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/go-modules/generic/default.nix nixpkgs/pkgs/development/interpreters/ruby/default.nix nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix nixpkgs/pkgs/development/libraries/boehm-gc/7.6.6.nix nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix nixpkgs/pkgs/servers/mail/mailman/web.nix nixpkgs/pkgs/top-level/aliases.nix nixpkgs/pkgs/top-level/all-packages.nix nixpkgs/pkgs/top-level/impure.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/pipewire/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/pipewire/default.nix | 101 |
1 files changed, 44 insertions, 57 deletions
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/default.nix b/nixpkgs/pkgs/development/libraries/pipewire/default.nix index a5ff1f6257a0..af5f238c9df7 100644 --- a/nixpkgs/pkgs/development/libraries/pipewire/default.nix +++ b/nixpkgs/pkgs/development/libraries/pipewire/default.nix @@ -1,7 +1,7 @@ { stdenv , lib +, buildPackages , fetchFromGitLab -, fetchpatch , removeReferencesTo , python3 , meson @@ -11,7 +11,6 @@ , docutils , doxygen , graphviz -, valgrind , glib , dbus , alsa-lib @@ -26,31 +25,35 @@ , webrtc-audio-processing , ncurses , readline81 # meson can't find <7 as those versions don't have a .pc file +, lilv +, openssl , makeFontsConf , callPackage , nixosTests +, withValgrind ? lib.meta.availableOn stdenv.hostPlatform valgrind +, valgrind , withMediaSession ? true , libcameraSupport ? true , libcamera , libdrm , gstreamerSupport ? true -, gst_all_1 ? null +, gst_all_1 , ffmpegSupport ? true -, ffmpeg ? null +, ffmpeg , bluezSupport ? true -, bluez ? null -, sbc ? null -, libfreeaptx ? null -, ldacbt ? null -, fdk_aac ? null +, bluez +, sbc +, libfreeaptx +, ldacbt +, fdk_aac , nativeHspSupport ? true , nativeHfpSupport ? true , ofonoSupport ? true , hsphfpdSupport ? true , pulseTunnelSupport ? true -, libpulseaudio ? null +, libpulseaudio , zeroconfSupport ? true -, avahi ? null +, avahi }: let @@ -63,7 +66,7 @@ let self = stdenv.mkDerivation rec { pname = "pipewire"; - version = "0.3.38"; + version = "0.3.42"; outputs = [ "out" @@ -73,7 +76,6 @@ let "dev" "doc" "man" - "mediaSession" "installedTests" ]; @@ -82,7 +84,7 @@ let owner = "pipewire"; repo = "pipewire"; rev = version; - sha256 = "sha256-QENz4MVyKuPJynA+NBdmKa6g1GrcRg9vzXLJ1/i3VJU="; + sha256 = "sha256-Iyd5snOt+iCT7W0+FlfvhMUZo/gF+zr9JX4HIGVdHto="; }; patches = [ @@ -90,8 +92,6 @@ let ./0040-alsa-profiles-use-libdir.patch # Change the path of the pipewire-pulse binary in the service definition. ./0050-pipewire-pulse-path.patch - # Change the path of the pipewire-media-session binary in the service definition. - ./0055-pipewire-media-session-path.patch # Move installed tests into their own output. ./0070-installed-tests-path.patch # Add option for changing the config install directory @@ -100,12 +100,6 @@ let ./0090-pipewire-config-template-paths.patch # Place SPA data files in lib output to avoid dependency cycles ./0095-spa-data-dir.patch - # Fix compilation on AArch64 - # XXX: REMOVE ON NEXT RELEASE - (fetchpatch { - url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f8817b439433798bd7217dc4ae72197887b0fc96.diff"; - sha256 = "0j4xds01h20mc606xp90h5v56kf17hf7n06k0xfa9qmmmfrh7i04"; - }) ]; nativeBuildInputs = [ @@ -125,13 +119,14 @@ let libjack2 libusb1 libsndfile + lilv ncurses + openssl readline81 udev vulkan-headers vulkan-loader webrtc-audio-processing - valgrind SDL2 systemd ] ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ] @@ -141,13 +136,15 @@ let ++ lib.optional pulseTunnelSupport libpulseaudio ++ lib.optional zeroconfSupport avahi; + # Valgrind binary is required for running one optional test. + checkInputs = lib.optional withValgrind valgrind; + mesonFlags = [ "-Ddocs=enabled" "-Dudevrulesdir=lib/udev/rules.d" "-Dinstalled_tests=enabled" "-Dinstalled_test_prefix=${placeholder "installedTests"}" "-Dpipewire_pulse_prefix=${placeholder "pulse"}" - "-Dmedia-session-prefix=${placeholder "mediaSession"}" "-Dlibjack-path=${placeholder "jack"}/lib" "-Dlibcamera=${mesonEnable libcameraSupport}" "-Droc=disabled" @@ -162,7 +159,8 @@ let "-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}" "-Dsysconfdir=/etc" "-Dpipewire_confdata_dir=${placeholder "lib"}/share/pipewire" - "-Dsession-managers=${mesonList (lib.optional withMediaSession "media-session")}" + "-Dsession-managers=" + "-Dvulkan=enabled" ]; FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file @@ -171,28 +169,24 @@ let postUnpack = '' patchShebangs source/doc/strip-static.sh + patchShebangs source/doc/input-filter.sh + patchShebangs source/doc/input-filter-h.sh patchShebangs source/spa/tests/gen-cpp-test.py ''; postInstall = '' - pushd $lib/share - mkdir -p $out/nix-support/etc/pipewire - for f in pipewire/*.conf; do - echo "Generating JSON from $f" - $out/bin/spa-json-dump "$f" > "$out/nix-support/etc/$f.json" - done - - mkdir -p $mediaSession/nix-support/etc/pipewire/media-session.d - for f in pipewire/media-session.d/*.conf; do - echo "Generating JSON from $f" - $out/bin/spa-json-dump "$f" > "$mediaSession/nix-support/etc/$f.json" - done - popd - - moveToOutput "share/pipewire/media-session.d/*.conf" "$mediaSession" - moveToOutput "share/systemd/user/pipewire-media-session.*" "$mediaSession" - moveToOutput "lib/systemd/user/pipewire-media-session.*" "$mediaSession" - moveToOutput "bin/pipewire-media-session" "$mediaSession" + mkdir $out/nix-support + ${if (stdenv.hostPlatform == stdenv.buildPlatform) then '' + pushd $lib/share/pipewire + for f in *.conf; do + echo "Generating JSON from $f" + + $out/bin/spa-json-dump "$f" > "$out/nix-support/$f.json" + done + popd + '' else '' + cp ${buildPackages.pipewire}/nix-support/*.json "$out/nix-support" + ''} moveToOutput "share/systemd/user/pipewire-pulse.*" "$pulse" moveToOutput "lib/systemd/user/pipewire-pulse.*" "$pulse" @@ -200,26 +194,19 @@ let ''; passthru = { - updateScript = ./update.sh; + updateScript = ./update-pipewire.sh; tests = { installedTests = nixosTests.installed-tests.pipewire; # This ensures that all the paths used by the NixOS module are found. - test-paths = callPackage ./test-paths.nix { + test-paths = callPackage ./test-paths.nix { package = self; } { paths-out = [ "share/alsa/alsa.conf.d/50-pipewire.conf" - "nix-support/etc/pipewire/client-rt.conf.json" - "nix-support/etc/pipewire/client.conf.json" - "nix-support/etc/pipewire/jack.conf.json" - "nix-support/etc/pipewire/pipewire.conf.json" - "nix-support/etc/pipewire/pipewire-pulse.conf.json" - ]; - paths-out-media-session = [ - "nix-support/etc/pipewire/media-session.d/alsa-monitor.conf.json" - "nix-support/etc/pipewire/media-session.d/bluez-monitor.conf.json" - "nix-support/etc/pipewire/media-session.d/bluez-hardware.conf.json" - "nix-support/etc/pipewire/media-session.d/media-session.conf.json" - "nix-support/etc/pipewire/media-session.d/v4l2-monitor.conf.json" + "nix-support/client-rt.conf.json" + "nix-support/client.conf.json" + "nix-support/jack.conf.json" + "nix-support/pipewire.conf.json" + "nix-support/pipewire-pulse.conf.json" ]; paths-lib = [ "lib/alsa-lib/libasound_module_pcm_pipewire.so" |