diff options
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r-- | gnu/packages/lisp-xyz.scm | 281 |
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")) |