aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2023-02-02 15:06:59 -0500
committerDavid Thompson <dthompson2@worcester.edu>2023-02-03 08:09:15 -0500
commit0079dd7c8e9314249b1769b8360190038692d2f6 (patch)
treeed9240d7e29d932773ea4ec470a54b9a046bf0eb /gnu
parentb8dc4afcbcd2b5e40f570c4d92f79e8b1008e4bf (diff)
downloadguix-0079dd7c8e9314249b1769b8360190038692d2f6.tar
guix-0079dd7c8e9314249b1769b8360190038692d2f6.tar.gz
gnu: Add cubeb.
* gnu/packages/audio.scm (cubeb): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/audio.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 4fbfefafa3..3e46cedd53 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -41,6 +41,7 @@
;;; Copyright © 2022 Simon Streit <simon@netpanic.org>
;;; Copyright © 2022 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
+;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -6159,3 +6160,39 @@ streams. For shoutcast style streams it finds the “meta data” or track
separation data, and uses that as a marker for where the track should
be separated.")
(license license:gpl2+)))
+
+(define-public cubeb
+ (let ((commit "9e29d728b0025c674904f83f5a13a88d1a6a5edc")
+ (revision "1"))
+ (package
+ (name "cubeb")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mozilla/cubeb")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1sxkr3h8a4hd3c3a3cjydrszz6npxk3vh6ra3y67lds3zgc69c7n"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:configure-flags
+ ;; Sanitizers-cmake requires a git submodule.
+ '("-DUSE_SANITIZERS=0"
+ ;; Tests require a git submodule for googletest.
+ "-DBUILD_TESTS=0"
+ ;; Use our speex, not a bundled one.
+ "-DBUNDLE_SPEEX=0"
+ ;; A static library would be built by default.
+ "-DBUILD_SHARED_LIBS=1"
+ ;; Explicitly link against audio libraries so they are on the
+ ;; runpath. Otherwise cubeb tries to dlopen them at runtime.
+ "-DCMAKE_SHARED_LINKER_FLAGS=-lasound -lpulse -lspeex")
+ #:tests? #f))
+ (inputs (list alsa-lib pulseaudio speex))
+ (synopsis "Cross-platform audio library")
+ (description "Cubeb is Mozilla's cross-platform audio library.")
+ (home-page "https://github.com/mozilla/cubeb")
+ (license license:isc))))