summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm281
1 files changed, 279 insertions, 2 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index e0025b784c..ff6eebed25 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -119,6 +119,7 @@
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (ice-9 match)
@@ -2427,6 +2428,43 @@ consistent across multiple Common Lisp implementations.")
(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 "cl-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 be 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
@@ -6924,6 +6962,53 @@ mostly Common Lisp implementation.")
(define-public ecl-cl-fastcgi
(sbcl-package->ecl-package sbcl-cl-fastcgi))
+(define-public sbcl-cl-flac
+ (let ((commit "d094d33d3cc2cf263263b917798d338eded3c532")
+ (revision "0"))
+ (package
+ (name "sbcl-cl-flac")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shirakumo/cl-flac")
+ (commit commit)))
+ (file-name (git-file-name "cl-flac" version))
+ (sha256
+ (base32 "1dgr5xqf175hzq3sxpbixxia2k2g3rz0pn6msch4dnvk7a1naqlc"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Delete bundled libraries.
+ `(begin
+ (delete-file-recursively "static")))))
+ (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"
+ (("libflac.so")
+ (search-input-file inputs "/lib/libFLAC.so"))))))))
+ (inputs
+ (list flac
+ sbcl-cffi
+ sbcl-documentation-utils
+ sbcl-trivial-features
+ sbcl-trivial-garbage))
+ (home-page "https://shirakumo.github.io/cl-flac")
+ (synopsis "CFFI bindings to libflac for Common Lisp")
+ (description "This package provides CFFI bindings to the @code{libflac}
+audio library for Common Lisp.")
+ (license license:zlib))))
+
+(define-public ecl-cl-flac
+ (sbcl-package->ecl-package sbcl-cl-flac))
+
+(define-public cl-flac
+ (sbcl-package->cl-source-package sbcl-cl-flac))
+
(define-public sbcl-clack
(let ((commit "6fd0279424f7ba5fd4f92d69a1970846b0b11222")
(revision "2"))
@@ -19129,6 +19214,86 @@ encodings.")
(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.1.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 package 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
@@ -21283,8 +21448,7 @@ joysticks, and other such HID devices.")
;; ...
;; "trial-glop"
"trial-gltf"
- ;; TODO: It requires a long packaging journey.
- ;; "trial-harmony"
+ "trial-harmony"
"trial-jpeg"
"trial-notify"
"trial-png"
@@ -21330,6 +21494,7 @@ joysticks, and other such HID devices.")
sbcl-form-fiddle
sbcl-glop
sbcl-glsl-toolkit
+ sbcl-harmony
sbcl-ieee-floats
sbcl-jzon
sbcl-lambda-fiddle
@@ -23959,6 +24124,67 @@ Vernacular builds on Overlord and is inspired by Racket.")
(define-public cl-vernacular
(sbcl-package->cl-source-package sbcl-vernacular))
+(define-public sbcl-cl-collider
+ (let ((commit "a46908896982868955b29bfb3a5337a0af489b0b")
+ (revision "0"))
+ (package
+ (name "sbcl-cl-collider")
+ (version (git-version "2018.7.15" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/byulparan/cl-collider")
+ (commit commit)))
+ (file-name (git-file-name "cl-collider" version))
+ (sha256
+ (base32 "10wvjbwvbgr0b57hpfxycg90yjmb29pirygr1sxrdaqxll328sz1"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-executables-and-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "server.lisp"
+ (("/usr/local/lib/SuperCollider/plugins")
+ (search-input-directory
+ inputs "/lib/SuperCollider/plugins"))
+ (("/usr/local/share/SuperCollider/Extensions")
+ (search-input-directory
+ inputs "/share/SuperCollider/Extensions"))
+ (("which scsynth")
+ (string-append
+ "which "
+ (search-input-file inputs "/bin/scsynth")))
+ (("jack_connect")
+ (search-input-file inputs "/bin/jack_connect"))))))))
+ (inputs
+ (list jack-1
+ supercollider
+ sbcl-alexandria
+ sbcl-bordeaux-threads
+ sbcl-cffi
+ sbcl-cl-ppcre
+ sbcl-flexi-streams
+ sbcl-ieee-floats ; sc-osc dependencies.
+ sbcl-named-readtables
+ sbcl-osc
+ sbcl-pileup
+ sbcl-simple-inferiors ; For ecl.
+ sbcl-split-sequence
+ sbcl-usocket))
+ (synopsis "SuperCollider client for CommonLisp")
+ (description "This package provides a SuperCollider client for
+Common Lisp.")
+ (home-page "https://github.com/byulparan/cl-collider/")
+ (license license:public-domain))))
+
+(define-public cl-collider
+ (sbcl-package->cl-source-package sbcl-cl-collider))
+
+(define-public ecl-cl-collider
+ (sbcl-package->ecl-package sbcl-cl-collider))
+
(define-public sbcl-osc
(let ((commit "9f0a9d3da310a3a0f654f48af0203816f3f371ad")
(revision "0"))
@@ -28033,6 +28259,57 @@ generation as well as numerous distributions.")
(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 "1.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 CFFI bindings for the
+@code{stb_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"))