Package: guix-patches;
Reported by: Homo <gay <at> disroot.org>
Date: Fri, 20 Dec 2024 23:48:01 UTC
Severity: normal
Tags: patch
Message #8 received at 75002 <at> debbugs.gnu.org (full text, mbox):
From: Homo <gay <at> disroot.org> To: 75002 <at> debbugs.gnu.org Cc: Homo <gay <at> disroot.org> Subject: [PATCH v2] gnu: pulseaudio: Split outputs. Date: Sat, 21 Dec 2024 23:45:12 +0200
* gnu/packages/pulseaudio.scm (pulseaudio)[outputs]: New field. [arguments]: Add phase to split outputs. * gnu/services/sound.scm (pulseaudio-service-type): Use daemon output. (pulseaudio-configuration): Use daemon output. Change-Id: Id919d7a4cb7ef5ac5861904f4e44f9f6f2939eff --- Didn't notice immediately that pulseaudio-configuration also needs to use daemon output. gnu/packages/pulseaudio.scm | 57 ++++++++++++++++++++++++++++++++++++- gnu/services/sound.scm | 7 +++-- 2 files changed, 60 insertions(+), 4 deletions(-) diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index dd0d3985c0..77b0330a54 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -190,6 +190,9 @@ (define-public pulseaudio "pulseaudio-fix-mult-test.patch" "pulseaudio-longer-test-timeout.patch")))) (build-system meson-build-system) + (outputs '("out" ;library + "daemon" ;pulseaudio and start-pulseaudio-x11 + "utils")) ;utilities (arguments (list #:configure-flags @@ -211,7 +214,59 @@ (define-public pulseaudio (setenv "HOME" (getcwd)) ;; 'thread-test' needs more time on hydra and on slower ;; machines, so we set the default timeout to 120 seconds. - (setenv "CK_DEFAULT_TIMEOUT" "120")))))) + (setenv "CK_DEFAULT_TIMEOUT" "120"))) + (add-after 'install 'split + (lambda _ + (let* ((out #$output) + (daemon #$output:daemon) + (utils #$output:utils) + (autostart "etc/xdg/autostart") + (bin "bin") + (bash "/share/bash-completion/completions") + (etc "/etc/pulse") + (man1 "/share/man/man1") + (man5 "/share/man/man5") + (xwayland "/etc/xdg/Xwayland-session.d") + (zsh "/share/zsh/site-functions") + (rename-recursively + (lambda (prefix dir files) + (mkdir-p (string-append prefix "/" dir)) + (for-each (lambda (file) + (rename-file + (string-append + out "/" dir "/" file) + (string-append + prefix "/" dir "/" file))) + files)))) + (rename-recursively daemon autostart + (list "pulseaudio.desktop")) + (rename-recursively daemon bin + (list "pulseaudio" "start-pulseaudio-x11")) + (rename-recursively daemon bash + (list "pulseaudio")) + (rename-recursively daemon etc + (list "daemon.conf" "default.pa" "system.pa")) + (rename-recursively daemon man1 + (list "pulseaudio.1" "start-pulseaudio-x11.1")) + (rename-recursively daemon man5 + (list "default.pa.5" "pulse-daemon.conf.5")) + (rename-recursively daemon xwayland + (list "00-pulseaudio-x11")) + (rename-recursively utils bin + (list "pa-info" "pacat" "pacmd" "pactl" "pamon" + "paplay" "parec" "parecord" "pasuspender" + "qpaeq")) + (rename-recursively utils bash + (list "pacat" "pacmd" "pactl" "padsp" "paplay" + "parec" "parecord" "pasuspender")) + (rename-recursively utils man1 + (list "pacat.1" "pacmd.1" "pactl.1" "pamon.1" + "paplay.1" "parec.1" "parecord.1" + "pasuspender.1" "pax11publish.1")) + (rename-recursively utils man5 + (list "pulse-cli-syntax.5")) + (rename-recursively utils zsh + (list "_pulseaudio")))))))) (inputs (list alsa-lib bluez diff --git a/gnu/services/sound.scm b/gnu/services/sound.scm index 8ca7acd737..5a19859302 100644 --- a/gnu/services/sound.scm +++ b/gnu/services/sound.scm @@ -139,12 +139,12 @@ (define-record-type* <pulseaudio-configuration> ;; (see e.g. <https://bugs.gnu.org/38172>). (default '((flat-volumes . no)))) (script-file pulseaudio-configuration-script-file - (default (file-append pulseaudio "/etc/pulse/default.pa"))) + (default (file-append `(,pulseaudio "daemon") "/etc/pulse/default.pa"))) (extra-script-files pulseaudio-configuration-extra-script-files (default '())) (system-script-file pulseaudio-configuration-system-script-file (default - (file-append pulseaudio "/etc/pulse/system.pa")))) + (file-append `(,pulseaudio "daemon") "/etc/pulse/system.pa")))) (define (pulseaudio-conf-entry arg) (match arg @@ -231,7 +231,8 @@ (define pulseaudio-service-type (list (service-extension session-environment-service-type pulseaudio-environment) (service-extension etc-service-type pulseaudio-etc) - (service-extension udev-service-type (const (list pulseaudio))))) + (service-extension udev-service-type + (const (list `(,pulseaudio "daemon")))))) (default-value (pulseaudio-configuration)) (description "Configure PulseAudio sound support."))) -- 2.46.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.