gnu: emacs-svg-icon: Fix grammar.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
index afdb436..0e82f8f 100644 (file)
@@ -25,6 +25,7 @@
 ;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
 ;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com>
 ;;; Copyright © 2021 Cage <cage-dev@twistfold.it>
+;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -67,6 +68,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libffi)
@@ -160,6 +162,36 @@ collection.")
 (define-public cl-bodge-utilities
   (sbcl-package->cl-source-package sbcl-bodge-utilities))
 
+(define-public sbcl-bodge-queue
+  (let ((commit "948c9a501dcd412689952d09eb7453ec2722336a")
+        (revision "0"))
+    (package
+      (name "sbcl-bodge-queue")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/borodust/bodge-queue")
+               (commit commit)))
+         (file-name (git-file-name "bodge-queue" version))
+         (sha256
+          (base32 "148hjikqk8v2m30mj15xh89zni6szf9z3prav580qk9dqr8djjdr"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       `(("fiveam" ,sbcl-fiveam)))
+      (home-page "https://github.com/borodust/bodge-queue")
+      (synopsis "Simple queue for Common Lisp")
+      (description "This Common Lisp library provides a simple FIFO
+implementation with no external dependencies.")
+      (license license:expat))))
+
+(define-public cl-bodge-queue
+  (sbcl-package->cl-source-package sbcl-bodge-queue))
+
+(define-public ecl-bodge-queue
+  (sbcl-package->ecl-package sbcl-bodge-queue))
+
 (define-public sbcl-golden-utils
   (let ((commit "62a5cb948a011eb26e7a89f56d5839a3334b4100")
         (revision "2"))
@@ -5651,6 +5683,79 @@ basic everyday functions and macros.")
 (define-public ecl-fare-utils
   (sbcl-package->ecl-package sbcl-fare-utils))
 
+(define-public sbcl-fare-mop
+  (let ((commit "538aa94590a0354f382eddd9238934763434af30")
+        (revision "1"))
+    (package
+      (name "sbcl-fare-mop")
+      (version (git-version "1.0.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/fare/fare-mop")
+               (commit commit)))
+         (file-name (git-file-name "fare-mop" version))
+         (sha256
+          (base32
+           "0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("close-mop" ,sbcl-closer-mop)
+         ("fare-utils" ,sbcl-fare-utils)))
+      (home-page "https://github.com/fare/fare-mop")
+      (synopsis "General purpose Common Lisp utilities using the MOP")
+      (description
+       "FARE-MOP is a small collection of utilities using the MetaObject
+Protocol.  It notably contains a SIMPLE-PRINT-OBJECT method, and
+a SIMPLE-PRINT-OBJECT-MIXIN mixin that allow you to trivially define
+PRINT-OBJECT methods that print the interesting slots in your objects, which is
+great for REPL interaction and debugging.")
+      (license license:unlicense))))
+
+(define-public ecl-fare-mop
+  (sbcl-package->ecl-package sbcl-fare-mop))
+
+(define-public cl-fare-mop
+  (sbcl-package->cl-source-package sbcl-fare-mop))
+
+(define-public sbcl-inferior-shell
+  (let ((commit "15c2d04a7398db965ea1c3ba2d49efa7c851f2c2")
+        (revision "1"))
+    (package
+      (name "sbcl-inferior-shell")
+      (version (git-version "2.0.5" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/fare/inferior-shell")
+               (commit commit)))
+         (file-name (git-file-name "inferior-shell" version))
+         (sha256
+          (base32 "02qx37zzk5j4xmwh77k2qa2wvnzvaj6qml5dh2q7b6b1ljvgcj4m"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
+      (inputs
+       `(("alexandira" ,sbcl-alexandria)
+         ("fare-mop" ,sbcl-fare-mop)
+         ("fare-quasiquote" ,sbcl-fare-quasiquote)
+         ("fare-utils" ,sbcl-fare-utils)
+         ("trivia" ,sbcl-trivia)))
+      (home-page "https://github.com/fare/inferior-shell")
+      (synopsis "Spawn local or remote processes and shell pipes")
+      (description
+       "This package provides a Common Lisp system helping in scripting, it
+uses @code{uiop:run-program} as a backend.")
+      (license license:expat))))
+
+(define-public ecl-inferior-shell
+  (sbcl-package->ecl-package sbcl-inferior-shell))
+
+(define-public cl-inferior-shell
+  (sbcl-package->cl-source-package sbcl-inferior-shell))
+
 (define-public sbcl-trivial-utf-8
   (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
         (revision "1"))
@@ -9193,6 +9298,77 @@ for reading and writing JPEG image files.")
 (define-public ecl-cl-jpeg
   (sbcl-package->ecl-package sbcl-cl-jpeg))
 
+(define-public sbcl-png
+  (let ((commit "11b965fe378fd0561abe3616b18ff03af5179648")
+        (revision "1"))
+    (package
+      (name "sbcl-png")
+      (version (git-version "0.6" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/ljosa/cl-png")
+               (commit commit)))
+         (file-name (git-file-name "cl-png" version))
+         (sha256
+          (base32 "173hqwpd0rwqf95mfx1h9l9c3i8bb0gvnpspzmmz3g5x3440czy4"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'fix-lib-paths
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "libpng.lisp"
+                 (("\"libpng\"")
+                  (string-append "\""
+                                 (assoc-ref inputs "libpng")
+                                 "/lib/libpng\""))))))))
+      (inputs
+       `(("cffi" ,sbcl-cffi)
+         ("libpng" ,libpng)))
+      (home-page "https://github.com/ljosa/cl-png")
+      (synopsis "Read and write PNG file format")
+      (description
+       "This package provides a @code{PNG} Common Lisp system to operate with
+Portable Network Graphics file format.")
+      (license license:lgpl2.1))))
+
+(define-public ecl-png
+  (sbcl-package->ecl-package sbcl-png))
+
+(define-public cl-png
+  (sbcl-package->cl-source-package sbcl-png))
+
+(define-public sbcl-cl-svg
+  (let ((commit "1e988ebd2d6e2ee7be4744208828ef1b59e5dcdc")
+        (revision "1"))
+    (package
+      (name "sbcl-cl-svg")
+      (version (git-version "0.0.3" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/wmannis/cl-svg")
+               (commit commit)))
+         (file-name (git-file-name "cl-svg" version))
+         (sha256
+          (base32 "11rmzimy6j7ln7q5y1h2kw1225rsfb6fpn89qjcq7h5lc8fay0wz"))))
+      (build-system asdf-build-system/sbcl)
+      (home-page "https://github.com/wmannis/cl-svg")
+      (synopsis "Write SVG file format")
+      (description
+       "This package provides the @code{CL-SVG} Common Lisp system to produce
+Scalable Vector Graphics files.")
+      (license license:expat))))
+
+(define-public ecl-cl-svg
+  (sbcl-package->ecl-package sbcl-cl-svg))
+
+(define-public cl-svg
+  (sbcl-package->cl-source-package sbcl-cl-svg))
+
 (define-public sbcl-nodgui
   (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
         (revision "1"))
@@ -14983,8 +15159,8 @@ protocol for Mastodon.")
   (sbcl-package->cl-source-package sbcl-tooter))
 
 (define-public sbcl-croatoan
-  (let ((commit "89ecd147cf1548f569f23353b3ab656cfb74de1f")
-        (revision "1"))
+  (let ((commit "7077ef14d27e8708515ad8d309886f516e7fbd98")
+        (revision "2"))
     (package
       (name "sbcl-croatoan")
       (version (git-version "0.0.1" revision commit))
@@ -14996,7 +15172,7 @@ protocol for Mastodon.")
                (commit commit)))
          (file-name (git-file-name "croatoan" version))
          (sha256
-          (base32 "0pk4mym88531jx0f1zmm6gmvrmdjzj2zcl2cdywdsxvjygr53zyx"))))
+          (base32 "0gf2sjpsdkd9s8imwy2wjrkdx82a5sc4yy9bndlnjlwmdraw4j37"))))
       (build-system asdf-build-system/sbcl)
       (arguments
        '(#:phases
@@ -15547,6 +15723,40 @@ immediately loaded.")
 (define-public cl-bodge-math
   (sbcl-package->cl-source-package sbcl-bodge-math))
 
+(define-public sbcl-bodge-blobs-support
+  (let ((commit "c5034ca5f4fc3a44dbadeba215a09afd59a404b0")
+        (revision "1"))
+    (package
+     (name "sbcl-bodge-blobs-support")
+     (version (git-version "1.0.0" revision commit))
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/borodust/bodge-blobs-support")
+              (commit commit)))
+        (file-name (git-file-name "bodge-blobs-support" version))
+        (sha256
+         (base32 "02nd1x6y1akp1ymv1y4z9ympwbnpd1drwi4f86xbjszxqff6jyj8"))))
+     (build-system asdf-build-system/sbcl)
+     (native-inputs
+      `(("trivial-features" ,sbcl-trivial-features)))
+     (inputs
+      `(("cffi" ,sbcl-cffi)
+        ("sbcl-alexandria" ,sbcl-alexandria)))
+     (home-page "https://github.com/borodust/bodge-blobs-support")
+     (synopsis "Common Lisp utilities for blob packages")
+     (description
+      "This is a Common Lisp library for simplifying packaging and loading of
+compiled foreign library collection.")
+     (license license:unlicense))))
+
+(define-public cl-bodge-blobs-support
+  (sbcl-package->cl-source-package sbcl-bodge-blobs-support))
+
+(define-public ecl-bodge-blobs-support
+  (sbcl-package->ecl-package sbcl-bodge-blobs-support))
+
 (define-public sbcl-cl-conspack
   (let ((commit "fc8473bc6f929696b03b43820596b7c976c4678e")
         (revision "1"))
@@ -15718,3 +15928,109 @@ shader functions, written with @code{Shadow}.")
 
 (define-public cl-umbra
   (sbcl-package->cl-source-package sbcl-umbra))
+
+(define-public sbcl-abstract-classes
+  (let ((commit "7fa74f1e057f9ba7c1ffecff14f049f979e45267")
+        (revision "1"))
+    (package
+      (name "sbcl-abstract-classes")
+      (version (git-version "1.7.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://bitbucket.org/eeeickythump/cl-abstract-classes")
+               (commit commit)))
+         (file-name (git-file-name "cl-abstract-classes" version))
+         (sha256
+          (base32 "06lby4i6xbbgs7kgb0f3fqybvyskyg6djhrf967lnysv7hn3zpg9"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("closer-mop" ,sbcl-closer-mop)))
+      (arguments
+       `(#:asd-systems '("abstract-classes" "singleton-classes")))
+      (home-page "https://bitbucket.org/eeeickythump/cl-abstract-classes")
+      (synopsis "Abstract, final, and singleton metaclasses for CLOS")
+      (description
+       "This package provides Common Lisp extension to the MOP to allow
+abstract, final and singleton classes.")
+      (license license:public-domain))))
+
+(define-public ecl-abstract-classes
+  (sbcl-package->ecl-package sbcl-abstract-classes))
+
+(define-public cl-abstract-classes
+  (sbcl-package->cl-source-package sbcl-abstract-classes))
+
+(define-public sbcl-coalton
+  (let ((commit "4a42ffb4222fde3abfd1b50d96e455ff2eef9fe8")
+        (revision "1"))
+    (package
+      (name "sbcl-coalton")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/stylewarning/coalton")
+               (commit commit)))
+         (file-name (git-file-name "coalton" version))
+         (sha256
+          (base32 "0aidwwam7cnhb3p9212zbv5w2dl6kr5iklzanypzr1a9lqaxwdlk"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       `(("fiasco" ,sbcl-fiasco)))
+      (inputs
+       `(("abstract-classes" ,sbcl-abstract-classes)
+         ("alexandria" ,sbcl-alexandria)
+         ("global-vars" ,sbcl-global-vars)
+         ("optima" ,sbcl-optima)
+         ("trivial-garbage" ,sbcl-trivial-garbage)))
+      (home-page "https://github.com/stylewarning/coalton")
+      (synopsis "Dialect of ML in Common Lisp")
+      (description
+       "Coalton is a dialect of ML embedded in Common Lisp.  It emphasizes
+practicality and interoperability with Lisp, and is intended to be a DSL that
+allows one to gradually make their programs safer.")
+      (license license:expat))))
+
+(define-public ecl-coalton
+  (sbcl-package->ecl-package sbcl-coalton))
+
+(define-public cl-coalton
+  (sbcl-package->cl-source-package sbcl-coalton))
+
+(define-public sbcl-clip
+  (let ((commit "7afa68702fbb99c47ed115ea0faccd97a29d9b2e")
+        (revision "1"))
+    (package
+      (name "sbcl-clip")
+      (version (git-version "0.7.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/shinmera/clip")
+               (commit commit)))
+         (file-name (git-file-name "clip" version))
+         (sha256
+          (base32 "13kkajkva2shm19fvn4yashsw18l6imv2rmy3hmpcky7g5ay7bv3"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("array-utils" ,sbcl-array-utils)
+         ("lquery" ,sbcl-lquery)))
+      (home-page "https://shinmera.github.io/clip/")
+      (synopsis "Common Lisp HTML templating engine")
+      (description
+       "Clip is an attempt at a templating library that allows you to write
+templates in a way that is both accessible to direct webdesign and
+flexible.  The main idea is to incorporate transformation commands into an HTML
+file through tags and attributes.  Clip is heavily dependent on Plump and
+lQuery.")
+      (license license:zlib))))
+
+(define-public ecl-clip
+  (sbcl-package->ecl-package sbcl-clip))
+
+(define-public cl-clip
+  (sbcl-package->cl-source-package sbcl-clip))