From patchwork Sun Jan 5 17:39:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Oleg Pykhalov X-Patchwork-Id: 19596 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 CD3DE179F0; Sun, 5 Jan 2020 17:41:09 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 8500C179EE for ; Sun, 5 Jan 2020 17:41:09 +0000 (GMT) Received: from localhost ([::1]:44000 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1io9tk-0006SS-UF for patchwork@mira.cbaines.net; Sun, 05 Jan 2020 12:41:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:37058) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1io9tf-0006Qu-9D for guix-patches@gnu.org; Sun, 05 Jan 2020 12:41:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1io9te-0004Mq-0f for guix-patches@gnu.org; Sun, 05 Jan 2020 12:41:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:38600) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1io9td-0004Mi-U7 for guix-patches@gnu.org; Sun, 05 Jan 2020 12:41:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1io9td-0003K1-R3 for guix-patches@gnu.org; Sun, 05 Jan 2020 12:41:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#38949] [PATCH] services: Add pulseaudio service. Resent-From: Oleg Pykhalov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 05 Jan 2020 17:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 38949 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 38949@debbugs.gnu.org Cc: Oleg Pykhalov X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.157824602612719 (code B ref -1); Sun, 05 Jan 2020 17:41:01 +0000 Received: (at submit) by debbugs.gnu.org; 5 Jan 2020 17:40:26 +0000 Received: from localhost ([127.0.0.1]:44573 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1io9t3-0003J5-SN for submit@debbugs.gnu.org; Sun, 05 Jan 2020 12:40:26 -0500 Received: from lists.gnu.org ([209.51.188.17]:46080) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1io9t2-0003Ix-I9 for submit@debbugs.gnu.org; Sun, 05 Jan 2020 12:40:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:36952) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1io9t1-0006KT-1K for guix-patches@gnu.org; Sun, 05 Jan 2020 12:40:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1io9sz-00031b-KG for guix-patches@gnu.org; Sun, 05 Jan 2020 12:40:22 -0500 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]:34971) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1io9sz-000312-CQ for guix-patches@gnu.org; Sun, 05 Jan 2020 12:40:21 -0500 Received: by mail-pf1-x42c.google.com with SMTP id i23so20454744pfo.2 for ; Sun, 05 Jan 2020 09:40:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=BBlCpUy/1BLe7jNKES1zA5E44jPXQNLew+vbMPbg9S4=; b=gjcbhxjaDjpn2r0VH83NdH3zbnCC4yisoLTyNVuzT6v29lzjEuFEjc/tue1O5S0Utx 2x6x21/5NVvay0xQNBrizDucle4WMuSq4d1qb8jQkz6GhaGMymfhuvYnLPzAywR24983 nHbhGe0RYKUo9kYd+/v6QInR0CPCR1kqmdPaGGy/3p9DIoRA3hQrSec0nSqGSefPKomv DJRw+YVAts9ltCNpo6WPqJ9e6qzqgzh7G6niFSzXIeNNay6NzQ1nPITz/QQhb8NyPloi CT6qLsattniXaXkq2alclUjTzqfcW4ePJXs7NLpJiUD00mrjqy+eCae8paSgoJL2KxoS +pCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=BBlCpUy/1BLe7jNKES1zA5E44jPXQNLew+vbMPbg9S4=; b=i92dfbHv98F/o2oRcnlVzKbmBY/RZ3fp3cNx/0XoHeK2YF5JjV1Bgfh+Cq9AlHoRKN sGQNDf8i4pDwLBNw1Qrrjx7TAEJ9BkzxW4VB1ScByYjzsrrv/ZOFLb9h1HPBtjyZlpdO i34JXh0zSDJ7/n7xKG7ughaIFEOxVJ0iC3FAh6vV7T79gEM3DC/voVFlv52NIYZtLZEn 0dv6M4mTjSK6s+U25FzzbsyiCuz6FO8BcjBR8/L764likbokaMESDO5E8JC6309UGPJq ACMhofIEEe7zY0oiXnRa/irySHtxSR6gCzTVhfqwhuEX6tyfjaCeYuuQbXIP02uY4yGQ 5Kbg== X-Gm-Message-State: APjAAAWGTzJaajCNVENPeJVUg+QNkt46PM7P3TcrgjKv2z4S8sV1NUGN 8AwInMJ2uE+h1Fkw7cwhBkh1faU4 X-Google-Smtp-Source: APXvYqxWjiES6Jlkmg0WvKCT1LII6ScdXd6ca4kEHJL5z+R/2NEfGjZ6p1phww3QxuE2hEgI132zIg== X-Received: by 2002:a63:3104:: with SMTP id x4mr104879122pgx.369.1578246019599; Sun, 05 Jan 2020 09:40:19 -0800 (PST) Received: from localhost.localdomain ([178.67.255.123]) by smtp.gmail.com with ESMTPSA id iq22sm21725067pjb.9.2020.01.05.09.40.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Jan 2020 09:40:19 -0800 (PST) From: Oleg Pykhalov Date: Sun, 5 Jan 2020 20:39:46 +0300 Message-Id: <20200105173946.4452-1-go.wigust@gmail.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/services/sound.scm (pulseaudio-environment): New procedure. (pulseaudio-service-type): New variable. * doc/guix.texi (Sound Services): Document it. --- doc/guix.texi | 14 ++++++++++++++ gnu/services/sound.scm | 28 ++++++++++++++++++++++++++-- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index df1ba428a5..bb0ef17ddd 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -15951,6 +15951,20 @@ pcm.!default @{ See @uref{https://www.alsa-project.org/main/index.php/Asoundrc} for the details. +@deffn {Scheme Variable} pulseaudio-service-type +This is the type for the @uref{http://www.pulseaudio.org/, PulseAudio +sound server}, which sets the @var{LADSPA_PATH} environment variable to +allow PulseAudio load modules from @code{swh-plugins} package. + +See @uref{http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html} for the +details. + +The following example will setup the service: + +@lisp +(service pulseaudio-service-type) +@end lisp +@end deffn @node Database Services @subsection Database Services diff --git a/gnu/services/sound.scm b/gnu/services/sound.scm index f2dd24402f..aaca733729 100644 --- a/gnu/services/sound.scm +++ b/gnu/services/sound.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 Oleg Pykhalov +;;; Copyright © 2018, 2020 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,16 +21,20 @@ #:use-module (gnu services configuration) #:use-module (gnu services shepherd) #:use-module (gnu services) + #:use-module (gnu system pam) #:use-module (gnu system shadow) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix records) #:use-module (guix store) + #:use-module (gnu packages audio) #:use-module (gnu packages linux) #:use-module (gnu packages pulseaudio) #:use-module (ice-9 match) #:export (alsa-configuration - alsa-service-type)) + alsa-service-type + + pulseaudio-service-type)) ;;; Commentary: ;;; @@ -97,4 +101,24 @@ ctl.!default { (default-value (alsa-configuration)) (description "Configure low-level Linux sound support, ALSA."))) + +;;; +;;; PulseAudio +;;; + +(define (pulseaudio-environment config) + ;; Define this variable in the global environment such that + ;; pulseaudio swh-plugins works. + `(("LADSPA_PATH" + . ,(file-append swh-plugins "/lib/ladspa")))) + +(define pulseaudio-service-type + (service-type + (name 'pulseaudio) + (extensions + (list (service-extension session-environment-service-type + pulseaudio-environment))) + (default-value #f) + (description "Configure PulseAudio sound support."))) + ;;; sound.scm ends here