* [bug#62477] [PATCH 2/6] gnu: Add cl-vorbis.
2023-03-27 10:25 ` [bug#62477] [PATCH 1/6] gnu: Add cl-flac Sharlatan Hellseher
@ 2023-03-27 10:25 ` Sharlatan Hellseher
2023-03-27 10:25 ` [bug#62477] [PATCH 3/6] gnu: Add libmixed Sharlatan Hellseher
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Sharlatan Hellseher @ 2023-03-27 10:25 UTC (permalink / raw)
To: 62477; +Cc: Sharlatan Hellseher
* gnu/packages/lisp-xyz.scm (cl-vorbis, ecl-cl-vorbis, sbcl-cl-vorbis):
New variables.
---
gnu/packages/lisp-xyz.scm | 51 +++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index ae8524657b..aff7ede062 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -27854,6 +27854,57 @@ (define-public cl-variates
(define-public ecl-cl-variates
(sbcl-package->ecl-package sbcl-cl-variates))
+(define-public sbcl-cl-vorbis
+ (let ((commit "c5835cd7091aea9e2e389ad359d244542d637758")
+ (revision "0"))
+ (package
+ (name "sbcl-cl-vorbis")
+ (version (git-version "2.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shirakumo/cl-vorbis")
+ (commit commit)))
+ (file-name (git-file-name "cl-vorbis" version))
+ (sha256
+ (base32 "0713pl5c2khfpf8m3h1l2y0ilack7akf580h70jq6qcrnq3h4b40"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Delete bundled libraries, GlibC and Vorbis sources.
+ `(begin
+ (delete-file-recursively "static")
+ (for-each delete-file '("glibc-2.13.h"
+ "stb_vorbis.c"
+ "stb_vorbis_patch.c"))))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "low-level.lisp"
+ (("libvorbis-lin-amd64.so")
+ (search-input-file inputs "/lib/libvorbis.so"))))))))
+ (inputs
+ (list libvorbis
+ sbcl-cffi
+ sbcl-documentation-utils
+ sbcl-static-vectors
+ sbcl-trivial-features
+ sbcl-trivial-garbage))
+ (home-page "https://shirakumo.github.io/cl-vorbis")
+ (synopsis "OGG/Vorbis decoding using stb_vorbis for Common Lisp")
+ (description "This package provides a CFFI binding of @code{ctb_vorbis}
+audio library to Common Lisp.")
+ (license license:zlib))))
+
+(define-public ecl-cl-vorbis
+ (sbcl-package->ecl-package sbcl-cl-vorbis))
+
+(define-public cl-vorbis
+ (sbcl-package->cl-source-package sbcl-cl-vorbis))
+
(define-public sbcl-cephes
(let ((commit "d87146fa38c8425ffb5fe425eee5eb3e818bacd4")
(revision "0"))
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#62477] [PATCH 3/6] gnu: Add libmixed.
2023-03-27 10:25 ` [bug#62477] [PATCH 1/6] gnu: Add cl-flac Sharlatan Hellseher
2023-03-27 10:25 ` [bug#62477] [PATCH 2/6] gnu: Add cl-vorbis Sharlatan Hellseher
@ 2023-03-27 10:25 ` Sharlatan Hellseher
2023-03-27 10:25 ` [bug#62477] [PATCH 4/6] gnu: Add cl-mixed Sharlatan Hellseher
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Sharlatan Hellseher @ 2023-03-27 10:25 UTC (permalink / raw)
To: 62477; +Cc: Sharlatan Hellseher
* gnu/packages/audio.scm (libmixed): New variable.
---
gnu/packages/audio.scm | 52 +++++++++++++++++++++++++++++++++++++++---
1 file changed, 49 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 6f3fa2a580..043c608ea4 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -42,6 +42,7 @@
;;; Copyright © 2022 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu>
+;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -66,8 +67,8 @@ (define-module (gnu packages audio)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
- #:use-module (gnu packages build-tools)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@@ -86,6 +87,7 @@ (define-module (gnu packages audio)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnunet) ; libmicrohttpd
#:use-module (gnu packages gperf)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
@@ -95,6 +97,7 @@ (define-module (gnu packages audio)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libusb)
+ #:use-module (gnu packages linphone)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages machine-learning)
@@ -120,8 +123,6 @@ (define-module (gnu packages audio)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages telephony)
- #:use-module (gnu packages linphone)
- #:use-module (gnu packages linux)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages video)
@@ -4019,6 +4020,51 @@ (define-public wavpack
encode and decode wavpack files.")
(license license:bsd-3)))
+(define-public libmixed
+ ;; Release is much outdated.
+ (let ((commit "91e6b9f2438bca41205fade02c9d8f4f938838b6")
+ (revision "0"))
+ (package
+ (name "libmixed")
+ (version (git-version "2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shirakumo/libmixed")
+ (commit commit)))
+ (file-name (git-file-name "libmixed" version))
+ (sha256
+ (base32 "01vwgv8ivpg7a4y95krkgh656mmklsn1k3fmhwp474aj82grd3m4"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; FIXME: (Sharlatan-20230326T121542+0100): Tests failed 1/34, 1 failed,
+ ;; 33 passed. There is not simple way to disable just one test.
+ ;; https://github.com/Shirakumo/libmixed/issues/13
+ #:tests? #f
+ #:configure-flags
+ #~(list "-DCMAKE_CXX_FLAGS=-O3 -fPIC"
+ "-DCMAKE_C_FLAGS=-O3 -fPIC")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("/usr/local") #$output))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "./tester")))))))
+ (native-inputs (list doxygen graphviz))
+ (inputs (list ncurses mpg123))
+ (home-page "https://github.com/Shirakumo/libmixed")
+ (synopsis "Low-level audio mixer pipeline library")
+ (description
+ "Libmixed is a library for real-time audio processing pipelines for use in
+audio/video/games. It can serve as a base architecture for complex DSP systems.")
+ (license license:zlib))))
+
(define-public libmodplug
(package
(name "libmodplug")
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#62477] [PATCH 4/6] gnu: Add cl-mixed.
2023-03-27 10:25 ` [bug#62477] [PATCH 1/6] gnu: Add cl-flac Sharlatan Hellseher
2023-03-27 10:25 ` [bug#62477] [PATCH 2/6] gnu: Add cl-vorbis Sharlatan Hellseher
2023-03-27 10:25 ` [bug#62477] [PATCH 3/6] gnu: Add libmixed Sharlatan Hellseher
@ 2023-03-27 10:25 ` Sharlatan Hellseher
2023-03-27 10:25 ` [bug#62477] [PATCH 5/6] gnu: Add cl-harmony Sharlatan Hellseher
2023-03-27 10:25 ` [bug#62477] [PATCH 6/6] gnu: cl-trial: Activate trial-harmony system Sharlatan Hellseher
4 siblings, 0 replies; 8+ messages in thread
From: Sharlatan Hellseher @ 2023-03-27 10:25 UTC (permalink / raw)
To: 62477; +Cc: Sharlatan Hellseher
* gnu/packages/lisp-xyz.scm (cl-mixed, ecl-cl-mixed, sbcl-cl-mixed): New variables.
---
gnu/packages/lisp-xyz.scm | 80 +++++++++++++++++++++++++++++++++++++++
1 file changed, 80 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index aff7ede062..5ab6ef6f9b 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -18981,6 +18981,86 @@ (define-public ecl-cl-mime
(define-public cl-mime
(sbcl-package->cl-source-package sbcl-cl-mime))
+(define-public sbcl-cl-mixed
+ (let ((commit "4aaff134d3902d93a2a8605c10de4bcfc62d7afa")
+ (revision "0"))
+ (package
+ (name "sbcl-cl-mixed")
+ (version (git-version "2.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shirakumo/cl-mixed")
+ (commit commit)))
+ (file-name (git-file-name "cl-mixed" version))
+ (sha256
+ (base32 "1mrj95lxb1gbxxm89x8gy1ifw2ic1p5wwpapkxcd2jr8abw7zny0"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Delete bundled libraries.
+ `(begin
+ (delete-file-recursively "static")))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-systems '("cl-mixed"
+ "cl-mixed-examples"
+ "cl-mixed-flac"
+ "cl-mixed-vorbis"
+ "cl-mixed-alsa"
+ "cl-mixed-jack"
+ "cl-mixed-mpg123"
+ "cl-mixed-mpt"
+ "cl-mixed-out123"
+ "cl-mixed-pulse"
+ "cl-mixed-sdl2"
+ "cl-mixed-wav")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "low-level.lisp"
+ (("libmixed.so.2")
+ (search-input-file inputs "/lib/libmixed.so.2"))))))))
+ (inputs
+ (list libmixed
+ sbcl-alexandria
+ sbcl-cffi
+ sbcl-cl-flac
+ sbcl-cl-mpg123
+ sbcl-cl-out123
+ sbcl-cl-vorbis
+ sbcl-documentation-utils
+ sbcl-sdl2
+ sbcl-static-vectors
+ sbcl-trivial-features))
+ (home-page "https://shirakumo.github.io/cl-mixed")
+ (synopsis "Extended audio library for Common Lisp")
+ (description
+ "This packages provides CFFI binding to @code{libmixed} audio library for
+Common Lisp with support of other audio formats available on GNU/Linux systems:
+
+@itemize
+
+@item @acronym{Alsa, Advanced Linux Sound Architecture}
+@item @acronym{Jack, JackAudio toolkit}
+@item @acronym{Openmpt, Libopenmpt playback drain for tracker files}
+@item @acronym{PulseAudio, PulseAudio based playback drain}
+@item Flac (via CL-FLAC)
+@item Mpg123 (via CL-MPG123)
+@item Ogg/vorbis (via CL-VORBIS)
+@item Out123 (via CL-OUT123)
+@item WAV
+
+@end itemize")
+ (license license:zlib))))
+
+(define-public ecl-cl-mixed
+ (sbcl-package->ecl-package sbcl-cl-mixed))
+
+(define-public cl-mixed
+ (sbcl-package->cl-source-package sbcl-cl-mixed))
+
(define-public sbcl-lispbuilder-sdl
(let ((commit "589b3c6d552bbec4b520f61388117d6c7b3de5ab"))
(package
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#62477] [PATCH 5/6] gnu: Add cl-harmony.
2023-03-27 10:25 ` [bug#62477] [PATCH 1/6] gnu: Add cl-flac Sharlatan Hellseher
` (2 preceding siblings ...)
2023-03-27 10:25 ` [bug#62477] [PATCH 4/6] gnu: Add cl-mixed Sharlatan Hellseher
@ 2023-03-27 10:25 ` Sharlatan Hellseher
2023-03-27 10:25 ` [bug#62477] [PATCH 6/6] gnu: cl-trial: Activate trial-harmony system Sharlatan Hellseher
4 siblings, 0 replies; 8+ messages in thread
From: Sharlatan Hellseher @ 2023-03-27 10:25 UTC (permalink / raw)
To: 62477; +Cc: Sharlatan Hellseher
* gnu/packages/lisp-xyz.scm (cl-harmony, ecl-harmony, sbcl-harmony): New variables.
---
gnu/packages/lisp-xyz.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 5ab6ef6f9b..3240669919 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -2349,6 +2349,43 @@ (define-public cl-trivial-features
(define-public ecl-trivial-features
(sbcl-package->ecl-package sbcl-trivial-features))
+(define-public sbcl-harmony
+ (let ((commit "0b57483cc0341936c201b620f82a8542c606991f")
+ (revision "0"))
+ (package
+ (name "sbcl-harmony")
+ (version (git-version "2.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shirakumo/harmony")
+ (commit commit)))
+ (file-name (git-file-name "harmony" version))
+ (sha256
+ (base32 "0pqmfi3yi3gi7b7dyayrb621hp60rn7hasq0cl0fis3vg0fp5dja"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ (list sbcl-atomics
+ sbcl-bordeaux-threads
+ sbcl-cl-mixed
+ sbcl-stealth-mixin
+ sbcl-trivial-features))
+ (home-page "https://shirakumo.github.io/harmony/")
+ (synopsis "Common Lisp sound server and sound processing library")
+ (description
+ "HARMONY is a library that provides you with audio processing tools as well as
+an audio server to play back music, sfx, and so forth. It is most suited for use
+in a game engine, but may feasibly also used for more advanced things such as a
+DAW")
+ (license license:zlib))))
+
+(define-public ecl-harmony
+ (sbcl-package->ecl-package sbcl-harmony))
+
+(define-public cl-harmony
+ (sbcl-package->cl-source-package sbcl-harmony))
+
(define-public sbcl-hu.dwim.asdf
(let ((commit "67cdf84390e530af4303cc4bc815fdf2a5e48f59"))
(package
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#62477] [PATCH 6/6] gnu: cl-trial: Activate trial-harmony system.
2023-03-27 10:25 ` [bug#62477] [PATCH 1/6] gnu: Add cl-flac Sharlatan Hellseher
` (3 preceding siblings ...)
2023-03-27 10:25 ` [bug#62477] [PATCH 5/6] gnu: Add cl-harmony Sharlatan Hellseher
@ 2023-03-27 10:25 ` Sharlatan Hellseher
4 siblings, 0 replies; 8+ messages in thread
From: Sharlatan Hellseher @ 2023-03-27 10:25 UTC (permalink / raw)
To: 62477; +Cc: Sharlatan Hellseher
* gnu/packages/lisp-xyz.scm (sbcl-trial):
[arguments]<asd-systems>: Activate trial-harmony.
[inputs]: Add sbcl-harmony.
---
gnu/packages/lisp-xyz.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 3240669919..6375175485 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -21252,8 +21252,7 @@ (define-public sbcl-trial
;; ...
;; "trial-glop"
"trial-gltf"
- ;; TODO: It requires a long packaging journey.
- ;; "trial-harmony"
+ "trial-harmony"
"trial-jpeg"
"trial-notify"
"trial-png"
@@ -21299,6 +21298,7 @@ (define-public sbcl-trial
sbcl-form-fiddle
sbcl-glop
sbcl-glsl-toolkit
+ sbcl-harmony
sbcl-ieee-floats
sbcl-jzon
sbcl-lambda-fiddle
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread