GNU bug report logs - #75002
[PATCH] gnu: pulseaudio: Split outputs.

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Homo <gay@HIDDEN>; Keywords: patch; dated Fri, 20 Dec 2024 23:48:01 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.

Message received at 75002 <at> debbugs.gnu.org:


Received: (at 75002) by debbugs.gnu.org; 21 Dec 2024 23:57:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 21 18:57:39 2024
Received: from localhost ([127.0.0.1]:48353 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tP9Ln-0007xk-C2
	for submit <at> debbugs.gnu.org; Sat, 21 Dec 2024 18:57:39 -0500
Received: from layka.disroot.org ([178.21.23.139]:38140)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <gay@HIDDEN>) id 1tP9Ll-0007xc-9u
 for 75002 <at> debbugs.gnu.org; Sat, 21 Dec 2024 18:57:38 -0500
Received: from mail01.disroot.lan (localhost [127.0.0.1])
 by disroot.org (Postfix) with ESMTP id 450BB259FE
 for <75002 <at> debbugs.gnu.org>; Sun, 22 Dec 2024 00:57:36 +0100 (CET)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from layka.disroot.org ([127.0.0.1])
 by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP
 id D0hpcoJ5Du7h for <75002 <at> debbugs.gnu.org>;
 Sun, 22 Dec 2024 00:57:32 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
 t=1734825452; bh=8ATfPxmsig3Q6KVSF3WXelOXitZAHJc9BNnod2hZL30=;
 h=Date:From:To:Subject;
 b=WKrAS7umCKUbqete9n/TMPfxQitoflORGQAAZkfm1ItnMUD3gZd63CXiAGsIRP7KJ
 pSdEAMGXwIHFi7qCv/8ta4elD9ZzGDdiHk/Zdh9Sfg1D7/OkxwHbzayVfx5/kO2iuO
 EFlInX18EpotG1GqxgwpmB3jaKJAdA6eSrOVdoqGO9hEkAPa9knw2nXjzQUIaa2A6b
 L6CrcC3g/gna2BQwCwBKvRI6yGLTcWBKxbd86b90E4kmhReuhIo8urS+XUGQLwkNXa
 Gr9zITl3Zko0RMQt2N+KBKamBqjIvzfNlIWYZ+19dSeezlgE6q6DaOQ43WTA0sBvia
 5lnVfcS9KFUCA==
MIME-Version: 1.0
Date: Sat, 21 Dec 2024 23:57:31 +0000
From: gay@HIDDEN
To: 75002 <at> debbugs.gnu.org
Subject: Re: [PATCH v3] gnu: pulseaudio: Split outputs.
Message-ID: <acc155d4e1865ccfda241650ea276bce@HIDDEN>
X-Sender: gay@HIDDEN
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75002
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hm, pulseaudio-service-type doesn't install pulseaudio:daemon, this 
needs fix.




Information forwarded to guix-patches@HIDDEN:
bug#75002; Package guix-patches. Full text available.

Message received at 75002 <at> debbugs.gnu.org:


Received: (at 75002) by debbugs.gnu.org; 21 Dec 2024 22:51:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 21 17:51:23 2024
Received: from localhost ([127.0.0.1]:48264 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tP8Jf-0004wm-7N
	for submit <at> debbugs.gnu.org; Sat, 21 Dec 2024 17:51:23 -0500
Received: from layka.disroot.org ([178.21.23.139]:51834)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <gay@HIDDEN>) id 1tP8Jc-0004wf-Tp
 for 75002 <at> debbugs.gnu.org; Sat, 21 Dec 2024 17:51:22 -0500
Received: from mail01.disroot.lan (localhost [127.0.0.1])
 by disroot.org (Postfix) with ESMTP id BDEC725A7A;
 Sat, 21 Dec 2024 23:51:19 +0100 (CET)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from layka.disroot.org ([127.0.0.1])
 by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP
 id LkdSmL3JDlzt; Sat, 21 Dec 2024 23:51:15 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
 t=1734821475; bh=eKAwZ9URmBzuScX0JPVNGC7+woeumu/HceQ5r4Khibw=;
 h=From:To:Cc:Subject:Date;
 b=WmaXHvqHUjiQhf24RPWs1GXwRlZExi4hV7UqLiJDDVT3+h+G3/bvdt6DdODMqMOi3
 zwBZt2ArCXqHvl9jpH0Z4bandbEZf/I1Al22vdCajHY17uXHYft3vHXl9IUU61Lpy/
 UY4+oVSb7gl2aQrcsxaXSodY4CoJdtAhsT9xl2sz3ZiyL5R09L0n/7Y30jK2CgffgA
 wxa75qxI8oCvX1oX7kw9KXM0Ix7yn16YWEwnmTqM9ZVkHGejSyX49XXlC1zc+u1coJ
 qYUvoBqheoYOEL8mENKUY/rKfpIRG8RsQn1FgQhl9Bd/n9d1PgX4VzTEDUWxonKvj3
 kgIvKAMOP5fxg==
From: Homo <gay@HIDDEN>
To: 75002 <at> debbugs.gnu.org
Subject: [PATCH v3] gnu: pulseaudio: Split outputs.
Date: Sun, 22 Dec 2024 00:49:40 +0200
Message-ID: <20241221225102.1493-1-gay@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75002
Cc: Homo <gay@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* 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: Id4f4f6ce562796fdd03a41303b182bcf1f2a9990
---
Sorry, didn't notice type mismatch errors in services before system was done building.

 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..e6560629ff 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 #~(string-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"))))
+                        #~(string-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 `(,pulseaudio "daemon")))))
    (default-value (pulseaudio-configuration))
    (description "Configure PulseAudio sound support.")))
 
-- 
2.46.0





Information forwarded to guix-patches@HIDDEN:
bug#75002; Package guix-patches. Full text available.

Message received at 75002 <at> debbugs.gnu.org:


Received: (at 75002) by debbugs.gnu.org; 21 Dec 2024 21:46:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 21 16:46:28 2024
Received: from localhost ([127.0.0.1]:48192 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tP7Ip-0001zM-K2
	for submit <at> debbugs.gnu.org; Sat, 21 Dec 2024 16:46:28 -0500
Received: from layka.disroot.org ([178.21.23.139]:34470)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <gay@HIDDEN>) id 1tP7Il-0001zB-KY
 for 75002 <at> debbugs.gnu.org; Sat, 21 Dec 2024 16:46:25 -0500
Received: from mail01.disroot.lan (localhost [127.0.0.1])
 by disroot.org (Postfix) with ESMTP id D0383259E3;
 Sat, 21 Dec 2024 22:46:21 +0100 (CET)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from layka.disroot.org ([127.0.0.1])
 by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP
 id To8Hu4xZx4Qs; Sat, 21 Dec 2024 22:46:17 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
 t=1734817577; bh=wZwLjrhnt+3VuVydtBTrYVRM2fTu/yxXz2VBMQuYX1c=;
 h=From:To:Cc:Subject:Date;
 b=e5kymdALnDCTPmEFyi4Bylh28iXYsYUOiflswTGg9PGcd/ndAnBuIw24wEJMRlrja
 Ze86Hy3Fdwqtg+dEifbCAQu3L0vRPcUjiNTUPuC4tMx38bdjoOvxrYKOwxmj4GzjI4
 nj99JiW6vMnYNtA6MpQHEUthZZ6HCvGtHA1sByKj/PLw6mtKxazga31gwDNG9jQub6
 ofOW4fwcdTNWOqPZ26gnU5C7YvuG3ksVvhySUTks4OshNN/OMNUxUfuVogvqLbnfoU
 XrAaY4Q/1Op9yC1a4VFDB6joWAH0LHAWR5yuu5TbPcv4d18qAMtuzvlc14hCSrww/R
 wkR02AfZX3cwA==
From: Homo <gay@HIDDEN>
To: 75002 <at> debbugs.gnu.org
Subject: [PATCH v2] gnu: pulseaudio: Split outputs.
Date: Sat, 21 Dec 2024 23:45:12 +0200
Message-ID: <20241221214605.13483-1-gay@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75002
Cc: Homo <gay@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* 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





Information forwarded to guix-patches@HIDDEN:
bug#75002; Package guix-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 20 Dec 2024 23:47:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 20 18:47:32 2024
Received: from localhost ([127.0.0.1]:44485 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tOmiR-0005N0-Vf
	for submit <at> debbugs.gnu.org; Fri, 20 Dec 2024 18:47:32 -0500
Received: from lists.gnu.org ([209.51.188.17]:34648)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <gay@HIDDEN>) id 1tOmiP-0005Mr-KO
 for submit <at> debbugs.gnu.org; Fri, 20 Dec 2024 18:47:31 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <gay@HIDDEN>) id 1tOmiP-000255-E0
 for guix-patches@HIDDEN; Fri, 20 Dec 2024 18:47:29 -0500
Received: from layka.disroot.org ([178.21.23.139])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <gay@HIDDEN>) id 1tOmiL-0002kT-QV
 for guix-patches@HIDDEN; Fri, 20 Dec 2024 18:47:29 -0500
Received: from mail01.disroot.lan (localhost [127.0.0.1])
 by disroot.org (Postfix) with ESMTP id F1BAB252F3;
 Sat, 21 Dec 2024 00:47:20 +0100 (CET)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from layka.disroot.org ([127.0.0.1])
 by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP
 id vg9Z7srqD_15; Sat, 21 Dec 2024 00:47:16 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
 t=1734738436; bh=QhnSdHxYBjcOkf7ZywIBeOImI92UMezQr0MfLsbtLxM=;
 h=From:To:Cc:Subject:Date;
 b=Kkt8HcA2u8ji9pI0xfmkfMbVUrNpmSHxT+UK46r/SI/vzbpvAs+d7cyECcNtOV3uo
 q0fEVu/2XQGiYevYl42OfHxWKeuJKddLABaQnceijmTZKltIzF3kEY3tjTlvh116LA
 nZi+3rFKI7+nyHsEYA/rh7ppRQMW5ggO8Yxhg+TfcJJhPr5cnCNpiNfRmtPZaZgKPf
 7LHEVGzbMr3gvc8rCCz8eKsSR1lqFxFNdBdIaGLeEW+BB+jbseTxhLQvOrgxhnNsCy
 ZWXvm24aPWKuqLdRbEyof7+71XlxZ9rr9zzjU5NEo5XfIlg86PJa5/v6GVgWu74X0h
 jCVX3eX6s3Y5A==
From: Homo <gay@HIDDEN>
To: guix-patches@HIDDEN
Subject: [PATCH] gnu: pulseaudio: Split outputs.
Date: Sat, 21 Dec 2024 01:44:54 +0200
Message-ID: <20241220234453.22542-2-gay@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Received-SPF: pass client-ip=178.21.23.139; envelope-from=gay@HIDDEN;
 helo=layka.disroot.org
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: submit
Cc: Homo <gay@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.4 (--)

* gnu/packages/pulseaudio.scm (pulseaudio)[outputs]: New field.
[arguments]: Add phase to split outputs.
* gnu/services/sound.scm (pulseaudio-service-type): Use daemon output.

Change-Id: Idb9f32b1ebb4d19d3f63ef56e0e1f08cb1424006
---
Should /etc/xdg/autostart/pulseaudio.desktop be removed?

 gnu/packages/pulseaudio.scm | 57 ++++++++++++++++++++++++++++++++++++-
 gnu/services/sound.scm      |  3 +-
 2 files changed, 58 insertions(+), 2 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..d29bb4bbd0 100644
--- a/gnu/services/sound.scm
+++ b/gnu/services/sound.scm
@@ -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





Acknowledgement sent to Homo <gay@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#75002; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 12 Jan 2025 05:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.