summaryrefslogtreecommitdiff
path: root/gnu/packages/pulseaudio.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/pulseaudio.scm')
-rw-r--r--gnu/packages/pulseaudio.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 855ccf5da7..7315bef579 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2020 Marius Bakke <[email protected]>
;;; Copyright © 2021 Brice Waegeneire <[email protected]>
;;; Copyright © 2022 Maxim Cournoyer <[email protected]>
+;;; Copyright © 2025 Janneke Nieuwenhuizen <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -522,3 +523,40 @@ application you like and simply select the NoiseTorch Virtual Microphone as
input to torch the sound of your mechanical keyboard, computer fans, trains
and the likes.")
(license l:gpl3)))
+
+(define-public apulse
+ (package
+ (name "apulse")
+ (version "0.1.13")
+ (home-page "https://github.com/i-rinat/apulse")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1p6fh6ah5v3qz7dxhcsixx38bxg44ypbim4m03bxk3ls5i9xslmn"))))
+ (arguments
+ (list #:tests? #f ;no tests
+ #:configure-flags
+ ;; Ensure the RUNPATH contains the .../lib/apulse directory.
+ #~(list (string-append "-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-rpath="
+ #$output "/lib/apulse:"))))
+ (native-inputs (list pkg-config))
+ (inputs (list alsa-lib glib))
+ (build-system cmake-build-system)
+ (synopsis "PulseAudio emulation for ALSA")
+ (description " Apulse provides an alternative partial implementation of
+the PulseAudio API. It consists of a loader script and a number of shared
+libraries with the same names as from original PulseAudio, so applications
+could dynamically load them and think they are talking to PulseAudio.
+
+Internally, no separate sound mixing daemon is used. Instead, apulse relies
+on ALSA's dmix, dsnoop, and plug plugins to handle multiple sound sources and
+capture streams running at the same time. dmix plugin muxes multiple playback
+streams; dsnoop plugin allow multiple applications to capture from a single
+microphone; and plug plugin transparently converts audio between various
+sample formats, sample rates and channel numbers.")
+ (license l:expat)))