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.scm428
1 files changed, 377 insertions, 51 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 3fefccf1e8..7cfd4b2a6b 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -69,6 +69,7 @@
#:use-module (gnu packages libffi)
#:use-module (gnu packages lisp)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages mp3)
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -459,6 +460,39 @@ compatible with ANSI-compliant Common Lisp implementations.")
(define-public ecl-cl-ppcre
(sbcl-package->ecl-package sbcl-cl-ppcre))
+(define-public sbcl-ubiquitous
+ (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
+ (revision "1"))
+ (package
+ (name "sbcl-ubiquitous")
+ (version (git-version "2.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/ubiquitous")
+ (commit commit)))
+ (file-name (git-file-name "ubiquitous" version))
+ (sha256
+ (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
+ (home-page "https://shinmera.github.io/ubiquitous/")
+ (synopsis "Application configuration mechanism for Common Lisp")
+ (description
+ "@code{UBIQUITOUS} is a very easy-to-use library for persistent
+configuration storage. It automatically takes care of finding a suitable place
+to save your data, and provides simple functions to access and modify the data
+within.")
+ (license license:zlib))))
+
+(define-public ecl-ubiquitous
+ (sbcl-package->ecl-package sbcl-ubiquitous))
+
+(define-public cl-ubiquitous
+ (sbcl-package->cl-source-package sbcl-ubiquitous))
+
(define-public sbcl-uax-15
(package
(name "sbcl-uax-15")
@@ -799,40 +833,11 @@ antialiased TrueType font rendering using CLX and XRender extension.")
(commit commit)))
(sha256
(base32 "0vv185gz3rkfng5y79dijfnc11p92qdz2kdza05avjbpqfs6l0zn"))
- (file-name (git-file-name "slynk" version))
- (modules '((guix build utils)
- (ice-9 ftw)))
- (snippet
- '(begin
- ;; Move the contribs into the main source directory for easier
- ;; access
- (substitute* "slynk/slynk.asd"
- (("\\.\\./contrib")
- "contrib"))
- (rename-file "contrib" "slynk/contrib")
- ;; Move slynk's contents into the base directory for easier
- ;; access
- (for-each (lambda (file)
- (unless (string-prefix? "." file)
- (rename-file (string-append "slynk/" file)
- (string-append "./" (basename file)))))
- (scandir "slynk"))
- #t))))
+ (file-name (git-file-name "slynk" version))))
(build-system asdf-build-system/sbcl)
(outputs '("out" "image"))
(arguments
- `(#:tests? #f ; No test suite
- #:asd-systems '("slynk"
- "slynk/arglists"
- "slynk/fancy-inspector"
- "slynk/package-fu"
- "slynk/mrepl"
- "slynk/trace-dialog"
- "slynk/profiler"
- "slynk/stickers"
- "slynk/indentation"
- "slynk/retro")
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'create-asdf-configuration 'build-image
(lambda* (#:key outputs #:allow-other-keys)
@@ -1318,6 +1323,34 @@ and macros, primarily for software projects written in CL by the author.")
(define-public ecl-jpl-util
(sbcl-package->ecl-package sbcl-jpl-util))
+(define-public sbcl-piping
+ (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
+ (revision "1"))
+ (package
+ (name "sbcl-piping")
+ (version (git-version "2.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/piping/")
+ (commit commit)))
+ (file-name (git-file-name "piping" version))
+ (sha256
+ (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://shinmera.github.io/piping/")
+ (synopsis "Library to enable simple message pipelines")
+ (description
+ "This is a Common Lisp library to enable simple message pipelines.")
+ (license license:zlib))))
+
+(define-public ecl-piping
+ (sbcl-package->ecl-package sbcl-piping))
+
+(define-public cl-piping
+ (sbcl-package->cl-source-package sbcl-piping))
+
(define-public sbcl-jpl-queues
(package
(name "sbcl-jpl-queues")
@@ -2403,8 +2436,8 @@ tester module.")
(sbcl-package->ecl-package sbcl-ptester))
(define-public sbcl-puri
- (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97")
- (revision "1"))
+ (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
+ (revision "2"))
(package
(name "sbcl-puri")
(version (git-version "1.5.7" revision commit))
@@ -2414,13 +2447,13 @@ tester module.")
(uri (git-reference
(url "http://git.kpe.io/puri.git")
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "puri" version))
(sha256
- (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s"))))
+ (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("ptester" ,sbcl-ptester)))
- (home-page "http://quickdocs.org/puri/")
+ (home-page "http://puri.kpe.io/")
(synopsis "Portable URI Library")
(description
"This is a portable Universal Resource Identifier library for Common
@@ -3235,6 +3268,34 @@ client and server.")
(define-public ecl-s-xml-rpc
(sbcl-package->ecl-package sbcl-s-xml-rpc))
+(define-public sbcl-trivial-arguments
+ (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
+ (revision "1"))
+ (package
+ (name "sbcl-trivial-arguments")
+ (version (git-version "1.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/trivial-arguments")
+ (commit commit)))
+ (file-name (git-file-name "trivial-arguments" version))
+ (sha256
+ (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/Shinmera/trivial-arguments")
+ (synopsis "Common Lisp library to retrieve a function's lambda-list")
+ (description
+ "This is a simple library to retrieve the argument list of a function.")
+ (license license:zlib))))
+
+(define-public ecl-trivial-arguments
+ (sbcl-package->ecl-package sbcl-trivial-arguments))
+
+(define-public cl-trivial-arguments
+ (sbcl-package->cl-source-package sbcl-trivial-arguments))
+
(define-public sbcl-trivial-clipboard
(let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
(package
@@ -4641,6 +4702,41 @@ various levels and mix text with expressions.")
(define-public ecl-log4cl
(sbcl-package->ecl-package sbcl-log4cl))
+(define-public sbcl-verbose
+ (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
+ (revision "1"))
+ (package
+ (name "sbcl-verbose")
+ (version (git-version "2.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/verbose/")
+ (commit commit)))
+ (file-name (git-file-name "verbose" version))
+ (sha256
+ (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("dissect" ,sbcl-dissect)
+ ("documentation-utils" ,sbcl-documentation-utils)
+ ("local-time" ,sbcl-local-time)
+ ("piping" ,sbcl-piping)))
+ (home-page "https://shinmera.github.io/verbose/")
+ (synopsis "Logging framework using the piping library")
+ (description
+ "This is a Common Lisp library providing logging faciltiy similar to
+@code{CL-LOG} and @code{LOG4CL}.")
+ (license license:zlib))))
+
+(define-public ecl-verbose
+ (sbcl-package->ecl-package sbcl-verbose))
+
+(define-public cl-verbose
+ (sbcl-package->cl-source-package sbcl-verbose))
+
(define-public sbcl-find-port
(let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
(revision "1"))
@@ -9686,6 +9782,115 @@ PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
(define-public ecl-cl-change-case
(sbcl-package->ecl-package sbcl-cl-change-case))
+(define-public sbcl-modularize
+ (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
+ (revision "1"))
+ (package
+ (name "sbcl-modularize")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/modularize")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:test-asd-file "modularize-test-module.asd"
+ #:asd-files '("modularize.asd" "modularize-test-module.asd")
+ #:asd-systems '("modularize" "modularize-test-module")))
+ (inputs
+ `(("documentation-utils" ,sbcl-documentation-utils)
+ ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
+ (home-page "https://shinmera.github.io/modularize/")
+ (synopsis "Common Lisp modularization framework")
+ (description
+ "@code{MODULARIZE} is an attempt at providing a common interface to
+segregate major application components. This is achieved by adding special
+treatment to packages. Each module is a package that is specially registered,
+which allows it to interact and co-exist with other modules in better ways. For
+instance, by adding module definition options you can introduce mechanisms to
+tie modules together in functionality, hook into each other and so on.")
+ (license license:zlib))))
+
+(define-public ecl-modularize
+ (sbcl-package->ecl-package sbcl-modularize))
+
+(define-public cl-modularize
+ (sbcl-package->cl-source-package sbcl-modularize))
+
+(define-public sbcl-modularize-hooks
+ (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
+ (revision "1"))
+ (package
+ (name "sbcl-modularize-hooks")
+ (version (git-version "1.0.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/modularize-hooks")
+ (commit commit)))
+ (file-name (git-file-name "modularize-hooks" version))
+ (sha256
+ (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("closer-mop" ,sbcl-closer-mop)
+ ("lambda-fiddle" ,sbcl-lambda-fiddle)
+ ("modularize" ,sbcl-modularize)
+ ("trivial-arguments" ,sbcl-trivial-arguments)))
+ (home-page "https://shinmera.github.io/modularize-hooks/")
+ (synopsis "Generic hooks and triggers extension for Modularize")
+ (description
+ "This is a simple extension to @code{MODULARIZE} that allows modules to
+define and trigger hooks, which other modules can hook on to.")
+ (license license:zlib))))
+
+(define-public ecl-modularize-hooks
+ (sbcl-package->ecl-package sbcl-modularize-hooks))
+
+(define-public cl-modularize-hooks
+ (sbcl-package->cl-source-package sbcl-modularize-hooks))
+
+(define-public sbcl-modularize-interfaces
+ (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
+ (revision "1"))
+ (package
+ (name "sbcl-modularize-interfaces")
+ (version (git-version "0.9.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/modularize-interfaces")
+ (commit commit)))
+ (file-name (git-file-name "modularize-interfaces" version))
+ (sha256
+ (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("lambda-fiddle" ,sbcl-lambda-fiddle)
+ ("modularize" ,sbcl-modularize)
+ ("trivial-arguments" ,sbcl-trivial-arguments)
+ ("trivial-indent" ,sbcl-trivial-indent)))
+ (home-page "https://shinmera.github.io/modularize-interfaces/")
+ (synopsis "Programmatical interfaces extension for Modularize")
+ (description
+ "This is an extension to @code{MODULARIZE} that allows your application
+to define interfaces in-code that serve both as a primary documentation and as
+compliance control.")
+ (license license:zlib))))
+
+(define-public ecl-modularize-interfaces
+ (sbcl-package->ecl-package sbcl-modularize-interfaces))
+
+(define-public cl-modularize-interfaces
+ (sbcl-package->cl-source-package sbcl-modularize-interfaces))
+
(define-public sbcl-moptilities
(let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
(package
@@ -10282,8 +10487,8 @@ format.")
(sbcl-package->ecl-package sbcl-cl-libsvm-format))
(define-public sbcl-cl-online-learning
- (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423")
- (revision "0"))
+ (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
+ (revision "1"))
(package
(name "sbcl-cl-online-learning")
(version (git-version "0.5" revision commit))
@@ -10293,10 +10498,10 @@ format.")
(uri (git-reference
(url "https://github.com/masatoi/cl-online-learning")
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "cl-online-learning" version))
(sha256
(base32
- "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq"))))
+ "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("prove" ,sbcl-prove)))
@@ -10304,13 +10509,14 @@ format.")
`(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
("cl-store" ,sbcl-cl-store)))
(arguments
- `(;; FIXME: Tests pass but then the check phase crashes
- #:tests? #f))
+ `(#:test-asd-file "cl-online-learning-test.asd"
+ #:asd-systems '("cl-online-learning-test"
+ "cl-online-learning")))
+ (home-page "https://github.com/masatoi/cl-online-learning")
(synopsis "Online Machine Learning for Common Lisp")
(description
"This library contains a collection of machine learning algorithms for
online linear classification written in Common Lisp.")
- (home-page "https://github.com/masatoi/cl-online-learning")
(license license:expat))))
(define-public cl-online-learning
@@ -10319,6 +10525,121 @@ online linear classification written in Common Lisp.")
(define-public ecl-cl-online-learning
(sbcl-package->ecl-package sbcl-cl-online-learning))
+(define-public sbcl-cl-mpg123
+ (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-mpg123")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shirakumo/cl-mpg123")
+ (commit commit)))
+ (file-name (git-file-name "cl-mpg123" version))
+ (sha256
+ (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove bundled pre-compiled libraries.
+ (delete-file-recursively "static")
+ #t))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
+ #:asd-systems '("cl-mpg123" "cl-mpg123-example")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "low-level.lisp"
+ (("libmpg123.so" all)
+ (string-append (assoc-ref inputs "libmpg123")
+ "/lib/" all))))))))
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("cl-out123" ,sbcl-cl-out123)
+ ("documentation-utils" ,sbcl-documentation-utils)
+ ("libmpg123" ,mpg123)
+ ("trivial-features" ,sbcl-trivial-features)
+ ("trivial-garbage" ,sbcl-trivial-garbage)
+ ("verbose" ,sbcl-verbose)))
+ (home-page "https://shirakumo.github.io/cl-mpg123/")
+ (synopsis "Common Lisp bindings to libmpg123")
+ (description
+ "This is a bindings and wrapper library to @code{libmpg123} allowing for
+convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
+files.")
+ (license license:zlib))))
+
+(define-public ecl-cl-mpg123
+ (sbcl-package->ecl-package sbcl-cl-mpg123))
+
+(define-public cl-mpg123
+ (sbcl-package->cl-source-package sbcl-cl-mpg123))
+
+(define-public sbcl-cl-out123
+ (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-out123")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shirakumo/cl-out123")
+ (commit commit)))
+ (file-name (git-file-name "cl-out123" version))
+ (sha256
+ (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove bundled pre-compiled libraries.
+ (delete-file-recursively "static")
+ #t))))
+ (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"
+ (("libout123.so" all)
+ (string-append (assoc-ref inputs "libout123")
+ "/lib/" all)))))
+ ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
+ ;; exported macro `without-interrupts' it's moved to `mp' package
+ ;; https://github.com/Shirakumo/cl-out123/issues/2
+ ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
+ (add-after 'unpack 'fix-ecl-package-name
+ (lambda _
+ (substitute* "wrapper.lisp"
+ (("ext:without-interrupts.*") "mp:without-interrupts\n"))
+ #t)))))
+ (inputs
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("cffi" ,sbcl-cffi)
+ ("documentation-utils" ,sbcl-documentation-utils)
+ ("libout123" ,mpg123)
+ ("trivial-features" ,sbcl-trivial-features)
+ ("trivial-garbage" ,sbcl-trivial-garbage)))
+ (home-page "https://shirakumo.github.io/cl-out123/")
+ (synopsis "Common Lisp bindings to libout123")
+ (description
+ "This is a bindings library to @code{libout123} which allows easy
+cross-platform audio playback.")
+ (license license:zlib))))
+
+(define-public ecl-cl-out123
+ (sbcl-package->ecl-package sbcl-cl-out123))
+
+(define-public cl-out123
+ (sbcl-package->cl-source-package sbcl-cl-out123))
+
(define-public sbcl-cl-random-forest
(let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
(revision "1"))
@@ -12069,9 +12390,8 @@ predictable cross-platform behavior and some utilities useful for versioning.")
(sbcl-package->ecl-package sbcl-defpackage-plus))
(define-public sbcl-deploy
- ;; tagged branch is outdated
- (let ((revision "1")
- (commit "59fd49719ef651a8fc11750bcfb337f132cff75f"))
+ (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
+ (revision "2"))
(package
(name "sbcl-deploy")
(version (git-version "1.0.0" revision commit))
@@ -12081,15 +12401,21 @@ predictable cross-platform behavior and some utilities useful for versioning.")
(uri (git-reference
(url "https://github.com/Shinmera/deploy")
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "deploy" version))
(sha256
- (base32 "1vl2116z4kw2pd3qd3n6mmg8g0mnwxr9dgddk86g7j1bis1z8k9a"))))
+ (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
(build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:test-asd-file "deploy-test.asd"
+ #:asd-files '("deploy.asd"
+ "deploy-test.asd")))
+ (native-inputs
+ `(("cl-mpg123" ,sbcl-cl-mpg123)
+ ("cl-out123" ,sbcl-cl-out123)))
(inputs
`(("cffi" ,sbcl-cffi)
- ("documentation-utils" ,sbcl-documentation-utils)))
- (arguments
- '(#:asd-files '("deploy.asd")))
+ ("documentation-utils" ,sbcl-documentation-utils)
+ ("trivial-features" ,sbcl-trivial-features)))
(home-page "https://shinmera.github.io/deploy/")
(synopsis "Deployment tools for standalone Common Lisp application")
(description