summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorSergiu Ivanov <sivanov@colimite.fr>2023-01-15 23:16:02 +0100
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-01-22 16:24:04 -0500
commit7a932ccf8539cb81f9e26410f55058be3c75d22b (patch)
tree3e5b85d21802dae01704138c3b2d18c42dc367dc /gnu
parent9aa674151adeee5a2d77e3033ebb183a698be983 (diff)
downloadguix-7a932ccf8539cb81f9e26410f55058be3c75d22b.tar.gz
gnu: Add python-pulsectl.
* gnu/packages/audio.scm (python-pulsectl): New variable.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/audio.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 0ff7da0c49..03c9c7683f 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -40,6 +40,7 @@
 ;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com>
 ;;; Copyright © 2022 Simon Streit <simon@netpanic.org>
 ;;; Copyright © 2022 Andy Tai <atai@atai.org>
+;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2779,6 +2780,38 @@ compensation, (de)interleaving, and byte-swapping
 cross-platform audio input/output stream library.")
     (license license:expat)))
 
+(define-public python-pulsectl
+  (package
+    (name "python-pulsectl")
+    (version "22.3.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pulsectl" version))
+              (sha256
+               (base32
+                "115ha1cwpd2r84ssnxdbr59hgs0jbx0lz3xpqli64kmxxqf4w5yc"))))
+    (build-system python-build-system)
+    (inputs (list pulseaudio))
+    (arguments
+     `(#:tests? #f                      ; tests try to communicate with PulseAudio
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "pulsectl/_pulsectl.py"
+               (("libpulse.so.0")
+                (string-append (search-input-file inputs "/lib/libpulse.so.0")))))))))
+    (home-page "https://github.com/mk-fg/python-pulse-control")
+    (synopsis
+     "Python bindings for mixer-like controls in PulseAudio")
+    (description
+     "This package provides a Python high-level interface and ctypes-based
+bindings for PulseAudio (libpulse), to use in simple synchronous code.
+This wrapper is mostly for mixer-like controls and introspection-related
+operations, as opposed to e.g. submitting sound samples to play and
+player-like clients.")
+    (license license:expat)))
+
 (define-public python-pyliblo
   (package
     (name "python-pyliblo")