Subject: [bug#53676] [PATCH 3/5] gnu: pulseaudio: Graft to adjust configuration.

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 01 Feb 2022 15:20:26 -0500

Hi Liliana,

Liliana Marie Prikler <[email-masked]> writes:

> Am Montag, dem 31.01.2022 um 23:19 -0500 schrieb Maxim Cournoyer:
>> * gnu/packages/pulseaudio.scm (pulseaudio/fixed): New variable.
>> (pulseaudio)[replacement]: Graft package with it.
>> ---
>>  gnu/packages/pulseaudio.scm | 18 ++++++++++++++++++
>>  1 file changed, 18 insertions(+)
>> 
>> diff --git a/gnu/packages/pulseaudio.scm
>> b/gnu/packages/pulseaudio.scm
>> index fe028b5202..f529717ee1 100644
>> --- a/gnu/packages/pulseaudio.scm
>> +++ b/gnu/packages/pulseaudio.scm
>> @@ -178,6 +178,7 @@ (define-public libsamplerate
>>  (define-public pulseaudio
>>    (package
>>      (name "pulseaudio")
>> +    (replacement pulseaudio/fixed)
>>      (version "15.0")
>>      (source (origin
>>               (method url-fetch)
>> @@ -269,6 +270,23 @@ (define-public pulseaudio
>>      ;; 'LICENSE' for details.
>>      (license l:gpl2+)))
>>  
>> +(define pulseaudio/fixed
>> +  (package
>> +    (inherit pulseaudio)
>> +    (arguments
>> +     (substitute-keyword-arguments (package-arguments pulseaudio)
>> +       ((#:phases phases)
>> +        `(modify-phases ,phases
>> +           (add-after 'unpack 'customize-default-script
>> +             (lambda _
>> +               (call-with-port
>> +                (open-file "src/daemon/default.pa.in" "a")
>> +                (lambda (port)
>> +                  (format port "~%\
>> +### Include extra script files configured via the pulseaudio-
>> service-type.
>> +.nofail
>> +.include /etc/pulse/default.pa.d~%")))))))))))
>> +
> Note that there should be a .fail afterwards.  

Hmm.  I simply duplicated the existing two lines used by PulseAudio
itself.  I believe they do not care because it appears completely at the
end of the file.

> As Leo pointed out, we shouldn't do too many "feature grafts", so
> instead it might be worth moving this part to pulseaudio-service-type
> in some way, no?

I'd prefer to keep it like this, for simplicity; we need to rebuild the
world soon anyway to fix a Rust CVE, so we can batch things easily.

Maxim