Subject: Adds Multiple Common Lisp Packages
From: Katherine Cox-Buday <[email-masked]>
To: [email-masked]
Date: Tue, 2 Jun 2020 14:07:29 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

From 7d03e02a0a0b9c7839b1cecce567a7e416b5f106 Mon Sep 17 00:00:00 2001
From: Katherine Cox-Buday <[email-masked]>
Date: Tue, 2 Jun 2020 12:39:18 -0500
Subject: [PATCH 5/8] gnu: Add rove.

* gnu/packages/lisp-xyz.scm (sbcl-rove, cl-rove, ecl-rove): New variable.
---
 gnu/packages/lisp-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index f4f4ed57b0..a9fa855000 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -11766,3 +11766,39 @@ and active restarts.")
 
 (define-public ecl-dissect
   (sbcl-package->ecl-package sbcl-dissect))
+
+;; TODO: Uses ASDF's package-inferred-system which is not supported by
+;; asdf-build-system/sbcl as of 2020-05-21. We should fix
+;; asdf-build-system/sbcl.
+(define-public sbcl-rove
+  (package
+    (name "sbcl-rove")
+    (version "0.9.6")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/rove.git")
+             (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
+    (build-system asdf-build-system/sbcl)
+    (inputs
+     `(("dissect" ,sbcl-dissect)
+       ("bordeaux-threads" ,sbcl-bordeaux-threads)
+       ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+    (home-page "https://github.com/fukamachi/rove")
+    (synopsis
+     "Yet another common lisp testing library")
+    (description
+     "Rove is a unit testing framework for Common Lisp applications.
+This is intended to be a successor of Prove.")
+    (license license:bsd-3)))
+
+(define-public cl-rove
+  (sbcl-package->cl-source-package sbcl-rove))
+
+(define-public ecl-rove
+  (sbcl-package->ecl-package sbcl-rove))
-- 
2.26.2

From 085e18713c542ea7baff26121055bcf82cd0b7c2 Mon Sep 17 00:00:00 2001
From: Katherine Cox-Buday <[email-masked]>
Date: Tue, 2 Jun 2020 12:47:09 -0500
Subject: [PATCH 6/8] gnu: Add exponential-backoff.

* gnu/packages/lisp-xyz.scm (sbcl-exponential-backoff)
  (cl-exponential-backoff, ecl-exponential-backoff): New variable.
---
 gnu/packages/lisp-xyz.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index a9fa855000..adb6dad86b 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -11802,3 +11802,35 @@ This is intended to be a successor of Prove.")
 
 (define-public ecl-rove
   (sbcl-package->ecl-package sbcl-rove))
+
+(define-public sbcl-exponential-backoff
+  (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
+    (package
+      (name "sbcl-exponential-backoff")
+      (version (git-version "0" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/death/exponential-backoff.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
+      (build-system asdf-build-system/sbcl)
+      (home-page "https://github.com/death/exponential-backoff")
+      (synopsis
+       "Implementation of the exponential backoff algorithm in
+Common Lisp")
+      (description
+       "An implementation of the exponential backoff algorithm in Common Lisp.
+Inspired by the implementation found in Chromium.  Read the header file to
+learn about each of the parameters.")
+      (license license:expat))))
+
+(define-public cl-exponential-backoff
+  (sbcl-package->cl-source-package sbcl-exponential-backoff))
+
+(define-public ecl-exponential-backoff
+  (sbcl-package->ecl-package sbcl-exponential-backoff))
-- 
2.26.2

From f025db829845ccce41d4f7415efbf8683014561d Mon Sep 17 00:00:00 2001
From: Katherine Cox-Buday <[email-masked]>
Date: Tue, 2 Jun 2020 12:55:36 -0500
Subject: [PATCH 8/8] gnu: Add 1am.

* gnu/packages/lisp-xyz.scm (sbcl-1am, cl-1am, ecl-1am): New variable.
---
 gnu/packages/lisp-xyz.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 022db95440..d2587d617f 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -11873,3 +11873,32 @@ learn about each of the parameters.")
 
 (define-public ecl-sxql
   (sbcl-package->ecl-package sbcl-sxql))
+
+(define-public sbcl-1am
+  (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
+    (package
+      (name "sbcl-1am")
+      (version (git-version "0.0" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/lmj/1am.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       `(#:asd-system-name "1am"))
+      (home-page "https://github.com/lmj/1am")
+      (synopsis "Minimal testing framework for Common Lisp")
+      (description "A minimal testing framework for Common Lisp.")
+      (license license:expat))))
+
+(define-public cl-1am
+  (sbcl-package->cl-source-package sbcl-1am))
+
+(define-public ecl-1am
+  (sbcl-package->ecl-package sbcl-1am))
-- 
2.26.2

From bee3b5224ee8eadc2f53c8302922ca0acb326f86 Mon Sep 17 00:00:00 2001
From: Katherine Cox-Buday <[email-masked]>
Date: Tue, 2 Jun 2020 12:52:20 -0500
Subject: [PATCH 7/8] gnu: Add sxql.

* gnu/packages/lisp-xyz.scm (sbcl-sxql, cl-sxql, ecl-sxql): New variable.
---
 gnu/packages/lisp-xyz.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index adb6dad86b..022db95440 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -11834,3 +11834,42 @@ learn about each of the parameters.")
 
 (define-public ecl-exponential-backoff
   (sbcl-package->ecl-package sbcl-exponential-backoff))
+
+(define-public sbcl-sxql
+  (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
+    (package
+      (name "sbcl-sxql")
+      (version (git-version "0.1.0" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/fukamachi/sxql.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       `(#:test-asd-file "sxql-test.asd"))
+      (inputs
+       `(("optima" ,sbcl-optima)
+         ("iterate" ,sbcl-iterate)
+         ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
+         ("trivial-types" ,sbcl-trivial-types)
+         ("split-sequence" ,sbcl-split-sequence)
+         ("alexandria" ,sbcl-alexandria)))
+      (native-inputs
+       `(("prove" ,sbcl-prove)
+         ("prove-asdf" ,sbcl-prove-asdf)))
+      (home-page "https://github.com/fukamachi/sxql")
+      (synopsis "SQL generator for Common Lisp")
+      (description "SQL generator for Common Lisp.")
+      (license license:bsd-3))))
+
+(define-public cl-sxql
+  (sbcl-package->cl-source-package sbcl-sxql))
+
+(define-public ecl-sxql
+  (sbcl-package->ecl-package sbcl-sxql))
-- 
2.26.2

From 5271c66662a3c1b01a7f49fc41076ca84e2004f7 Mon Sep 17 00:00:00 2001
From: Katherine Cox-Buday <[email-masked]>
Date: Tue, 2 Jun 2020 12:36:35 -0500
Subject: [PATCH 4/8] gnu: Add dissect.

* gnu/packages/lisp-xyz.scm (sbcl-dissect, cl-dissect, ecl-dissect):
  New variable.
---
 gnu/packages/lisp-xyz.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 61ec5b0c36..f4f4ed57b0 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -11733,3 +11733,36 @@ Streams in ICDE’05")
 
 (define-public ecl-uuid
   (sbcl-package->ecl-package sbcl-uuid))
+
+(define-public sbcl-dissect
+  (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
+    (package
+      (name "sbcl-dissect")
+      (version (git-version "1.0.0" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Shinmera/dissect.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("cl-ppcre" ,sbcl-cl-ppcre)))
+      (home-page "https://shinmera.github.io/dissect/")
+      (synopsis
+       "Common Lisp introspection library for the call stack and
+restarts")
+      (description
+       "Dissect is a small library for introspecting the call stack
+and active restarts.")
+      (license license:zlib))))
+
+(define-public cl-dissect
+  (sbcl-package->cl-source-package sbcl-dissect))
+
+(define-public ecl-dissect
+  (sbcl-package->ecl-package sbcl-dissect))
-- 
2.26.2

From 4070532fb94bf0db9053094d6db04647927c5efb Mon Sep 17 00:00:00 2001
From: Katherine Cox-Buday <[email-masked]>
Date: Tue, 2 Jun 2020 12:25:14 -0500
Subject: [PATCH 2/8] gnu: Add Common-Lisp prometheus package.

* gnu/packages/lisp-xyz.scm (sbcl-prometheus, cl-prometheus, ecl-prometheus)
  (sbcl-prometheus.collectors.sbcl, cl-prometheus.collectors.sbcl)
  (sbcl-prometheus.collectors.process, cl-prometheus.collectors.process)
  (ecl-prometheus.collectors.process, sbcl-prometheus.formats.text)
  (cl-prometheus.formats.text, ecl-prometheus.formats.text)
  (sbcl-prometheus.exposers.hunchentoot, cl-prometheus.exposers.hunchentoot)
  (sbcl-prometheus.pushgateway, sbcl-prometheus.pushgateway)
  (ecl-prometheus.pushgateway): New variable.
---
 gnu/packages/lisp-xyz.scm | 111 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 111 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index bf679e8f6c..08942cc3cf 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -11590,3 +11590,114 @@ Streams in ICDE’05")
 
 (define-public ecl-quantile-estimator
   (sbcl-package->ecl-package sbcl-quantile-estimator.cl))
+
+(define-public sbcl-prometheus
+  (package
+    (name "sbcl-prometheus")
+    (version "0.4.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/deadtrickster/prometheus.cl.git")
+             (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
+    (build-system asdf-build-system/sbcl)
+    (inputs
+     `(("alexandria" ,sbcl-alexandria)
+       ("bordeaux-threads" ,sbcl-bordeaux-threads)
+       ("cl-ppcre" ,sbcl-cl-ppcre)
+       ("local-time" ,sbcl-local-time)
+       ("quantile-estimator.cl" ,sbcl-quantile-estimator.cl)))
+    (home-page "https://github.com/deadtrickster/prometheus.cl")
+    (synopsis "Prometheus.io Common Lisp client")
+    (description "Prometheus.io Common Lisp client.")
+    (license license:expat)))
+
+(define-public cl-prometheus
+  (sbcl-package->cl-source-package sbcl-prometheus))
+
+(define-public ecl-prometheus
+  (sbcl-package->ecl-package sbcl-prometheus))
+
+(define-public sbcl-prometheus.collectors.sbcl
+  (package
+    (inherit sbcl-prometheus)
+    (name "sbcl-prometheus.collectors.sbcl")
+    (inputs `(("prometheus" ,sbcl-prometheus)))
+    (synopsis "Prometheus collector for SBCL metrics.")
+    (description "Prometheus collector for SBCL metrics.")))
+
+(define-public cl-prometheus.collectors.sbcl
+  (sbcl-package->cl-source-package sbcl-prometheus.collectors.sbcl))
+
+(define-public sbcl-prometheus.collectors.process
+  (package
+    (inherit sbcl-prometheus)
+    (name "sbcl-prometheus.collectors.process")
+    (inputs
+     `(("prometheus" ,sbcl-prometheus)
+       ("cl-fad" ,sbcl-cl-fad)
+       ("split-sequence" ,sbcl-split-sequence)
+       ("cffi" ,sbcl-cffi)
+       ("cffi-groven" ,sbcl-cffi-grovel)))
+    (synopsis "Prometheus collector for process metrics")
+    (description "Prometheus collector for process metrics.")))
+
+(define-public cl-prometheus.collectors.process
+  (sbcl-package->cl-source-package sbcl-prometheus.collectors.process))
+
+(define-public ecl-prometheus.collectors.process
+  (sbcl-package->ecl-package sbcl-prometheus.collectors.process))
+
+(define-public sbcl-prometheus.formats.text
+  (package
+    (inherit sbcl-prometheus)
+    (name "sbcl-prometheus.formats.text")
+    (inputs
+     `(("prometheus" ,sbcl-prometheus)
+       ("alexandria" ,sbcl-alexandria)))
+    (synopsis "Prometheus client text format")
+    (description "Prometheus client text format.")))
+
+(define-public cl-prometheus.formats.text
+  (sbcl-package->cl-source-package sbcl-prometheus.formats.text))
+
+(define-public ecl-prometheus.formats.text
+  (sbcl-package->ecl-package sbcl-prometheus.formats.text))
+
+(define-public sbcl-prometheus.exposers.hunchentoot
+  (package
+    (inherit sbcl-prometheus)
+    (name "sbcl-prometheus.exposers.hunchentoot")
+    (inputs
+     `(("prometheus" ,sbcl-prometheus)
+       ("prometheus.formats.text" ,sbcl-prometheus.formats.text)
+       ("hunchentoot" ,sbcl-hunchentoot)
+       ("trivial-utf-8" ,sbcl-trivial-utf-8)
+       ("salza2" ,sbcl-salza2)))
+    (synopsis "Prometheus collector for Hunchentoot metrics")
+    (description "Prometheus collector for Hunchentoot metrics")))
+
+(define-public cl-prometheus.exposers.hunchentoot
+  (sbcl-package->cl-source-package sbcl-prometheus.exposers.hunchentoot))
+
+(define-public sbcl-prometheus.pushgateway
+  (package
+    (inherit sbcl-prometheus)
+    (name "sbcl-prometheus.pushgateway")
+    (inputs
+     `(("prometheus" ,sbcl-prometheus)
+       ("prometheus.formats.text" ,sbcl-prometheus.formats.text)
+       ("drakma" ,sbcl-drakma)))
+    (synopsis "Prometheus Pushgateway client")
+    (description "Prometheus Pushgateway client.")))
+
+(define-public cl-prometheus.pushgateway
+  (sbcl-package->cl-source-package sbcl-prometheus.pushgateway))
+
+(define-public ecl-prometheus.pushgateway
+  (sbcl-package->ecl-package sbcl-prometheus.pushgateway))
-- 
2.26.2

From 5f491a7f14fbae934ef077c42d84f7cbcf860ea8 Mon Sep 17 00:00:00 2001
From: Katherine Cox-Buday <[email-masked]>
Date: Tue, 2 Jun 2020 12:30:04 -0500
Subject: [PATCH 3/8] gnu: Add uuid.

* gnu/packages/lisp-xyz.scm (sbcl-uuid, cl-uuid, ecl-uuid): New variable.
---
 gnu/packages/lisp-xyz.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 08942cc3cf..61ec5b0c36 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -11701,3 +11701,35 @@ Streams in ICDE’05")
 
 (define-public ecl-prometheus.pushgateway
   (sbcl-package->ecl-package sbcl-prometheus.pushgateway))
+
+(define-public sbcl-uuid
+  (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
+    (package
+      (name "sbcl-uuid")
+      (version (git-version "2012.12.26" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/dardoria/uuid.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("ironclad" ,sbcl-ironclad)
+         ("trivial-utf-8" ,sbcl-trivial-utf-8)))
+      (home-page "https://github.com/dardoria/uuid")
+      (synopsis
+       "Common Lisp implementation of UUIDs according to RFC4122")
+      (description
+       "Common Lisp implementation of UUIDs according to RFC4122.")
+      (license license:llgpl))))
+
+(define-public cl-uuid
+  (sbcl-package->cl-source-package sbcl-uuid))
+
+(define-public ecl-uuid
+  (sbcl-package->ecl-package sbcl-uuid))
-- 
2.26.2

From 2084be27f80bf8a8d510d4b2b2696539e8b46d01 Mon Sep 17 00:00:00 2001
From: Katherine Cox-Buday <[email-masked]>
Date: Mon, 1 Jun 2020 17:41:40 -0500
Subject: [PATCH 1/8] gnu: Add quantile-estimator.cl.

* gnu/packages/lisp-xyz.scm (sbcl-quantile-estimator.cl)
  (ecl-quantile-estimator.cl, cl-quantile-estimator.cl): New variable.
---
 gnu/packages/lisp-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index b78eec7f4d..bf679e8f6c 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -11555,3 +11555,38 @@ accompaniment to the standard ANSI facilities.")
 
 (define-public cl-osicat
   (sbcl-package->cl-source-package sbcl-osicat))
+
+(define-public sbcl-quantile-estimator.cl
+  (package
+    (name "sbcl-quantile-estimator.cl")
+    (version "0.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/deadtrickster/quantile-estimator.cl")
+             (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
+    (build-system asdf-build-system/sbcl)
+    (arguments
+     '(#:asd-system-name "quantile-estimator"))
+    (inputs
+     `(("alexandria" ,sbcl-alexandria)))
+    (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
+    (synopsis
+     "Implementation of effective computation of biased quantiles over data
+streams")
+    (description
+     "Common Lisp implementation of Graham Cormode and S.
+Muthukrishnan's Effective Computation of Biased Quantiles over Data
+Streams in ICDE’05")
+    (license license:expat)))
+
+(define-public cl-quantile-estimator
+  (sbcl-package->cl-source-package sbcl-quantile-estimator.cl))
+
+(define-public ecl-quantile-estimator
+  (sbcl-package->ecl-package sbcl-quantile-estimator.cl))
-- 
2.26.2