From patchwork Fri Dec 20 23:44:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Homo X-Patchwork-Id: 35099 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 73EFE27BBEB; Fri, 20 Dec 2024 23:48:39 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 81EC727BBE2 for ; Fri, 20 Dec 2024 23:48:37 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tOmiy-000275-GJ; Fri, 20 Dec 2024 18:48:04 -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 ) id 1tOmiw-00026g-Lk for guix-patches@gnu.org; Fri, 20 Dec 2024 18:48:02 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tOmiw-0002yA-DK for guix-patches@gnu.org; Fri, 20 Dec 2024 18:48:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:Subject; bh=hSMhHHTabcLPRD23nfe3cZSfQuQoQDiZBvcBSGxTJhk=; b=GvoBaTgeUVG+/XeEBxvrMZzePPpM7+SFGJGjmSchvuely0d3qthLJexTnvE3nqwdonWc9bGSicJ1HscCFEUQUs9cZ7OkMLLJg53i4U2EZd3Tp2S7XRDyR7VYhaRYwZ2rwb1ypBAR0C4AY0XVymrwRh/0leTrUWyhsnSXpEguc2poOnXAC0/SVaL48J/ITeEWgMYdL0th3F61mhjcd8D/NFypx7N/1g2witm2oXTD2+v0PIP/Z+V8s+HOBTWMfZOtT9YPssRkUdnc6RcbnC5vB8OlZ7uj5DJDMX3M7KMEnbeV0fjMc3dyoxQ0FhZyrFFAnQDPCPw9LIIEJIg4MtXCNw==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tOmiw-0005Np-67 for guix-patches@gnu.org; Fri, 20 Dec 2024 18:48:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#75002] [PATCH] gnu: pulseaudio: Split outputs. Resent-From: Homo Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 20 Dec 2024 23:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 75002 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 75002@debbugs.gnu.org Cc: Homo X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.173473845220652 (code B ref -1); Fri, 20 Dec 2024 23:48:01 +0000 Received: (at submit) by debbugs.gnu.org; 20 Dec 2024 23:47:32 +0000 Received: from localhost ([127.0.0.1]:44485 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tOmiR-0005N0-Vf for submit@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 ) id 1tOmiP-0005Mr-KO for submit@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 ) id 1tOmiP-000255-E0 for guix-patches@gnu.org; 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 ) id 1tOmiL-0002kT-QV for guix-patches@gnu.org; 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== Date: Sat, 21 Dec 2024 01:44:54 +0200 Message-ID: <20241220234453.22542-2-gay@disroot.org> MIME-Version: 1.0 Received-SPF: pass client-ip=178.21.23.139; envelope-from=gay@disroot.org; 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Homo X-ACL-Warn: , Homo via Guix-patches X-Patchwork-Original-From: Homo via Guix-patches via From: Homo Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * 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.")))