1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-15 11:30:44 +02:00

gnu: Add apulse.

* gnu/packages/pulseaudio.scm (apulse): New variable.

Change-Id: I3ff6c9b42896d0ae6bfa708a6d8568034e876b7c
This commit is contained in:
Janneke Nieuwenhuizen 2025-03-17 13:42:25 +01:00
parent 77ff73a920
commit 973e59e24e
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273

View file

@ -16,6 +16,7 @@
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; 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)))