summary refs log tree commit diff
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2022-12-02 19:50:19 +0100
committerBjørn Forsman <bjorn.forsman@gmail.com>2022-12-04 11:28:24 +0100
commitc26ff1ed9badf9ec4e5c572a755985360f682010 (patch)
tree429a97104a8cb6c7c06e6922b949059f8caa6a80
parent31327b34c6b8058b1d70162995e3aaf21fd19200 (diff)
downloadnixpkgs-c26ff1ed9badf9ec4e5c572a755985360f682010.tar
nixpkgs-c26ff1ed9badf9ec4e5c572a755985360f682010.tar.gz
nixpkgs-c26ff1ed9badf9ec4e5c572a755985360f682010.tar.bz2
nixpkgs-c26ff1ed9badf9ec4e5c572a755985360f682010.tar.lz
nixpkgs-c26ff1ed9badf9ec4e5c572a755985360f682010.tar.xz
nixpkgs-c26ff1ed9badf9ec4e5c572a755985360f682010.tar.zst
nixpkgs-c26ff1ed9badf9ec4e5c572a755985360f682010.zip
pulseaudio: reference wrapped binaries in service files
Since commit 3871f8be8d6de48d5f094fbe90a09e42cc0b289c
("pulseaudioFull: fix wrapGApp wrapping"), the pulseaudio service files
have been referencing *unwrapped* binaries. This mostly hurts
pulseaudioFull, where using unwrapped binaries means there's no High
Fidelity A2DP profile at all. Plain pulseaudio (not -full) seems able to
use A2DP profile with SBC codec, but not aptX, as the latter requires
gstreamer / wrapper.

Since the wrapping of pulseaudio is a bit complicated (see referenced
commit), let's just fix the service files manually in preFixup.

Ref https://github.com/NixOS/nixpkgs/issues/203919.
-rw-r--r--pkgs/servers/pulseaudio/default.nix5
1 files changed, 5 insertions, 0 deletions
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index f1fc2a3573b..056710a588f 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -165,6 +165,11 @@ stdenv.mkDerivation rec {
   + lib.optionalString (!libOnly) ''
     mkdir -p $out/bin
     ln -st $out/bin $out/.bin-unwrapped/*
+
+    # Ensure that service files use the wrapped binaries.
+    find "$out" -name "*.service" | while read f; do
+        substituteInPlace "$f" --replace "$out/.bin-unwrapped/" "$out/bin/"
+    done
   '';
 
   meta = {