pulseaudio: reference wrapped binaries in service files

Since commit 3871f8be8d
("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.
This commit is contained in:
Bjørn Forsman 2022-12-02 19:50:19 +01:00
parent 31327b34c6
commit c26ff1ed9b

View file

@ -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 = {