summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Solanti <jhs@psonet.com>2021-10-25 16:49:07 +0300
committerJan Solanti <jhs@psonet.com>2021-10-25 20:34:40 +0300
commitb3bcf51c05aa4a1929d623cf01722a271da74888 (patch)
tree21f40f4a8d526cd01ade1717a79a1d63cf5f5ee9
parentb65f74fd98b06a84a67b66138d31be8419612c09 (diff)
downloadnixpkgs-b3bcf51c05aa4a1929d623cf01722a271da74888.tar
nixpkgs-b3bcf51c05aa4a1929d623cf01722a271da74888.tar.gz
nixpkgs-b3bcf51c05aa4a1929d623cf01722a271da74888.tar.bz2
nixpkgs-b3bcf51c05aa4a1929d623cf01722a271da74888.tar.lz
nixpkgs-b3bcf51c05aa4a1929d623cf01722a271da74888.tar.xz
nixpkgs-b3bcf51c05aa4a1929d623cf01722a271da74888.tar.zst
nixpkgs-b3bcf51c05aa4a1929d623cf01722a271da74888.zip
pipewire: 0.3.38 -> 0.3.39
Split pipewire-media-session into its own package
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json (renamed from nixos/modules/services/desktops/pipewire/client-rt.conf.json)0
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/client.conf.json (renamed from nixos/modules/services/desktops/pipewire/client.conf.json)0
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/jack.conf.json (renamed from nixos/modules/services/desktops/pipewire/jack.conf.json)0
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json (renamed from nixos/modules/services/desktops/pipewire/pipewire-pulse.conf.json)0
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json (renamed from nixos/modules/services/desktops/pipewire/pipewire.conf.json)0
-rw-r--r--nixos/modules/services/desktops/pipewire/pipewire.nix11
-rw-r--r--pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch8
-rw-r--r--pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch24
-rw-r--r--pkgs/development/libraries/pipewire/default.nix57
9 files changed, 28 insertions, 72 deletions
diff --git a/nixos/modules/services/desktops/pipewire/client-rt.conf.json b/nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json
index 284d8c394a6..284d8c394a6 100644
--- a/nixos/modules/services/desktops/pipewire/client-rt.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/client.conf.json b/nixos/modules/services/desktops/pipewire/daemon/client.conf.json
index 71294a0e78a..71294a0e78a 100644
--- a/nixos/modules/services/desktops/pipewire/client.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/client.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/jack.conf.json b/nixos/modules/services/desktops/pipewire/daemon/jack.conf.json
index 128178bfa02..128178bfa02 100644
--- a/nixos/modules/services/desktops/pipewire/jack.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/jack.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/pipewire-pulse.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
index 3ed994f1114..3ed994f1114 100644
--- a/nixos/modules/services/desktops/pipewire/pipewire-pulse.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/pipewire.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
index a923ab4db23..a923ab4db23 100644
--- a/nixos/modules/services/desktops/pipewire/pipewire.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/pipewire.nix b/nixos/modules/services/desktops/pipewire/pipewire.nix
index 604645b2b18..273d518033d 100644
--- a/nixos/modules/services/desktops/pipewire/pipewire.nix
+++ b/nixos/modules/services/desktops/pipewire/pipewire.nix
@@ -22,12 +22,11 @@ let
   # Use upstream config files passed through spa-json-dump as the base
   # Patched here as necessary for them to work with this module
   defaults = {
-    client = builtins.fromJSON (builtins.readFile ./client.conf.json);
-    client-rt = builtins.fromJSON (builtins.readFile ./client-rt.conf.json);
-    jack = builtins.fromJSON (builtins.readFile ./jack.conf.json);
-    # Remove session manager invocation from the upstream generated file, it points to the wrong path
-    pipewire = builtins.fromJSON (builtins.readFile ./pipewire.conf.json);
-    pipewire-pulse = builtins.fromJSON (builtins.readFile ./pipewire-pulse.conf.json);
+    client = builtins.fromJSON (builtins.readFile ./daemon/client.conf.json);
+    client-rt = builtins.fromJSON (builtins.readFile ./daemon/client-rt.conf.json);
+    jack = builtins.fromJSON (builtins.readFile ./daemon/jack.conf.json);
+    pipewire = builtins.fromJSON (builtins.readFile ./daemon/pipewire.conf.json);
+    pipewire-pulse = builtins.fromJSON (builtins.readFile ./daemon/pipewire-pulse.conf.json);
   };
 
   configs = {
diff --git a/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch b/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch
index fd7d031ee0f..84238bf6e5a 100644
--- a/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch
+++ b/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch
@@ -1,8 +1,8 @@
 diff --git a/meson_options.txt b/meson_options.txt
-index 66791f3a..93b5e2a9 100644
+index 71c2e35e9..a0f380c04 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -172,6 +172,9 @@ option('udev',
+@@ -176,6 +176,9 @@ option('udev',
  option('udevrulesdir',
         type : 'string',
         description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
@@ -13,7 +13,7 @@ index 66791f3a..93b5e2a9 100644
         type : 'string',
         description : 'Directory for user systemd units (defaults to /usr/lib/systemd/user)')
 diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
-index aa30a86f..1edebb2d 100644
+index 5bd134537..5a3ca9ed5 100644
 --- a/src/daemon/systemd/user/meson.build
 +++ b/src/daemon/systemd/user/meson.build
 @@ -9,7 +9,7 @@ install_data(
@@ -22,6 +22,6 @@ index aa30a86f..1edebb2d 100644
  systemd_config.set('PW_BINARY', pipewire_bindir / 'pipewire')
 -systemd_config.set('PW_PULSE_BINARY', pipewire_bindir / 'pipewire-pulse')
 +systemd_config.set('PW_PULSE_BINARY', get_option('pipewire_pulse_prefix') / 'bin/pipewire-pulse')
- systemd_config.set('PW_MEDIA_SESSION_BINARY', pipewire_bindir / 'pipewire-media-session')
  
  configure_file(input : 'pipewire.service.in',
+                output : 'pipewire.service',
diff --git a/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch b/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch
deleted file mode 100644
index 8290aec5dfc..00000000000
--- a/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/meson_options.txt b/meson_options.txt
-index 93b5e2a9..1b915ac3 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -200,3 +200,6 @@ option('media-session',
-        type: 'feature',
-        value: 'auto')
-+option('media-session-prefix',
-+       description: 'Install directory for pipewire-media-session and its support files',
-+       type: 'string')
- option('session-managers',
-diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
-index 1edebb2d..251270eb 100644
---- a/src/daemon/systemd/user/meson.build
-+++ b/src/daemon/systemd/user/meson.build
-@@ -10,7 +10,7 @@ install_data(
- systemd_config = configuration_data()
- systemd_config.set('PW_BINARY', pipewire_bindir / 'pipewire')
- systemd_config.set('PW_PULSE_BINARY', get_option('pipewire_pulse_prefix') / 'bin/pipewire-pulse')
--systemd_config.set('PW_MEDIA_SESSION_BINARY', pipewire_bindir / 'pipewire-media-session')
-+systemd_config.set('PW_MEDIA_SESSION_BINARY', get_option('media-session-prefix') / 'bin/pipewire-media-session')
- 
- configure_file(input : 'pipewire.service.in',
-                output : 'pipewire.service',
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index a5ff1f6257a..1f7a791471d 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -63,7 +63,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.38";
+    version = "0.3.39";
 
     outputs = [
       "out"
@@ -73,7 +73,6 @@ let
       "dev"
       "doc"
       "man"
-      "mediaSession"
       "installedTests"
     ];
 
@@ -82,7 +81,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "sha256-QENz4MVyKuPJynA+NBdmKa6g1GrcRg9vzXLJ1/i3VJU=";
+      sha256 = "sha256-peTS1+NuQxZg1rrv8DrnJW5BR9yReleqooIwhZWHLjM=";
     };
 
     patches = [
@@ -90,8 +89,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,11 +97,11 @@ 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
+      # Fix compilation on some architectures
       # XXX: REMOVE ON NEXT RELEASE
       (fetchpatch {
-        url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f8817b439433798bd7217dc4ae72197887b0fc96.diff";
-        sha256 = "0j4xds01h20mc606xp90h5v56kf17hf7n06k0xfa9qmmmfrh7i04";
+        url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/651f0decea5f83730c271e9bed03cdd0048fcd49.diff";
+        sha256 = "1bmpi5qn750mcspaw7m57ww0503sl9781jswqby4gr0f7c5wmqvj";
       })
     ];
 
@@ -147,7 +144,6 @@ let
       "-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 +158,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,29 +168,20 @@ 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
+      mkdir $out/nix-support
+      pushd $lib/share/pipewire
+      for f in *.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"
+        $out/bin/spa-json-dump "$f" > "$out/nix-support/$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"
-
       moveToOutput "share/systemd/user/pipewire-pulse.*" "$pulse"
       moveToOutput "lib/systemd/user/pipewire-pulse.*" "$pulse"
       moveToOutput "bin/pipewire-pulse" "$pulse"
@@ -205,21 +193,14 @@ let
         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"