Subject: Add CL-Hunchenissr-Routes and Its Dependencies

From: Charles <[email-masked]>
Date: Sat, 03 Jul 2021 03:12:00 +0000

Just let me know if this is to big of a change for an email or if anything else is wrong with it.

From 23fd0649b9b6145e44d4e8a4447d9b3c958ace40 Mon Sep 17 00:00:00 2001
From: Charles <[email-masked]>
Date: Sat, 26 Jun 2021 10:11:54 -0500
Subject: [PATCH] gnu: Add cl-hunchenissr.

* gnu/packages/lisp-xyz.scm (sbcl-hunchenissr): Add new variable.
* gnu/packages/lisp-xyz.scm (ecl-hunchenissr): Add new variable.
* gnu/packages/lisp-xyz.scm (cl-hunchenissr): Add 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 57a6a4be01..040a1073a8 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -17674,3 +17674,42 @@ server. It also features customizable error handling.")
 
 (define-public cl-portal
   (sbcl-package->cl-source-package sbcl-portal))
+
+(define-public sbcl-hunchenissr
+  (let ((commit "7df702f2e110999a2f31c7ebad81bfc39ac06670")
+        (revision "1"))
+    (package
+      (name "sbcl-hunchenissr")
+      (version (git-version "1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/interactive-ssr/hunchenissr")
+               (commit commit)))
+         (sha256
+          (base32 "0826qrvk64pjspdklns29dv3zhzfhd6k42fq030xajv8a7hkcxda"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("sbcl-cl-base64" ,sbcl-cl-base64)
+         ("sbcl-cl-str" ,sbcl-cl-str)
+         ("sbcl-hunchentoot" ,sbcl-hunchentoot)
+         ("sbcl-issr-core" ,sbcl-issr-core)
+         ("sbcl-jonathan" ,sbcl-jonathan)
+         ("sbcl-plump" ,sbcl-plump)
+         ("sbcl-portal" ,sbcl-portal)))
+      (home-page "https://github.com/interactive-ssr/hunchenissr")
+      (synopsis "The Interactive Server Side Rendering backend for The
+Hunchentoot HTTP server")
+      (description "Hunchenissr Works together with issr.js to develpment of
+interactive (changeing without page refreshes) websites making use of websocket
+and Common Lisp server HTML generation instead of mountains of convoluted
+Javascript.")
+      (license license:llgpl))))
+
+(define-public ecl-hunchenissr
+  (sbcl-package->ecl-package sbcl-hunchenissr))
+
+(define-public cl-hunchenissr
+  (sbcl-package->cl-source-package sbcl-hunchenissr))
+
-- 
2.32.0

From b85d2b808359ce663fe45a2c47e60d6fb2a12661 Mon Sep 17 00:00:00 2001
From: Charles <[email-masked]>
Date: Sat, 26 Jun 2021 10:12:34 -0500
Subject: [PATCH] gnu: Add cl-hunchenissr-routes.

* gnu/packages/lisp-xyz.scm (sbcl-hunchenissr-routes): Add new variable.
* gnu/packages/lisp-xyz.scm (ecl-hunchenissr-routes): Add new variable.
* gnu/packages/lisp-xyz.scm (cl-hunchenissr-routes): Add new variable.
---
 gnu/packages/lisp-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index e0b16bfd72..784dd6a7c1 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -17710,3 +17710,37 @@ and Common Lisp server HTML generation instead of mountains of convoluted Javasc
 (define-public cl-hunchenissr
   (sbcl-package->cl-source-package sbcl-hunchenissr))
 
+(define-public sbcl-hunchenissr-routes
+  (let ((commit "2e831975dc2a6c030f1b518747cf429be8484b31")
+        (revision "1"))
+    (package
+      (name "sbcl-hunchenissr-routes")
+      (version (git-version "0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/interactive-ssr/hunchenissr-routes")
+               (commit commit)))
+         (file-name (git-file-name "hunchenissr-routes" version))
+         (sha256
+          (base32 "1xyqacihxwk4vnffqlg93czmalscglp6sh3bwy3qwb7hdxv6yxz6"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("sbcl-alexandria" ,sbcl-alexandria)
+         ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
+         ("sbcl-cl-unification" ,sbcl-cl-unification)
+         ("sbcl-hunchenissr" ,sbcl-hunchenissr)))
+      (home-page "https://github.com/interactive-ssr/hunchenissr-routes")
+      (synopsis "Enable path variables when using Hunchenissr for Common Lisp.")
+      (description "Enable path variables in networking routes when using
+Hunchenissr for Common Lisp. If a part of the path (between two slashes) starts
+with a question mark (?), that symbol (without question mark) will bound to
+whatever value was in the same place in the URL (as a string).")
+      (license license:llgpl))))
+
+(define-public ecl-hunchenissr-routes
+  (sbcl-package->ecl-package sbcl-hunchenissr-routes))
+
+(define-public cl-hunchenissr
+  (sbcl-package->cl-source-package sbcl-hunchenissr-routes))
-- 
2.32.0

From 3712229efeca5fc0d412d04ef63d014375789534 Mon Sep 17 00:00:00 2001
From: Charles <[email-masked]>
Date: Sat, 26 Jun 2021 09:56:20 -0500
Subject: [PATCH] gnu: Add cl-tailrec.

* gnu/packages/lisp-xyz.scm (sbcl-tailrec): Add new variable.
* gnu/packages/lisp-xyz.scm (ecl-tailrec): Add new variable.
* gnu/packages/lisp-xyz.scm (cl-tailrec): Add 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 894bf0962e..500d22ae33 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -17570,3 +17570,39 @@ compiler's concept of a source-form to report where the error or warning is loca
 
 (define-public cl-trivial-with-current-source-form
   (sbcl-package->cl-source-package sbcl-trivial-with-current-source-form))
+
+(define-public sbcl-tailrec
+  (let ((commit "a7cf91ef7bd73c118e96817e809a7ae587d4673f")
+        (revision "1"))
+    (package
+      (name "sbcl-tailrec")
+      (version (git-version "0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/charje/tailrec")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0a25xa2kqai480micv8ap5bg4pz1dg7q3lz61g1ygim96cdjpwhl"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("sbcl-alexandia" ,sbcl-alexandria)
+         ("sbcl-trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)
+         ("sbcl-trivial-with-current-source-form"
+          ,sbcl-trivial-with-current-source-form)))
+      (home-page "https://github.com/charje/tailrec")
+      (synopsis "A simple macro to optimize a Common Lisp function for tail
+recursion")
+      (description "Just wrap your Common Lisp function in this macro call and
+it will be optimized for tail recursion. You will be warning if the function
+is not tail recursive.")
+      (license license:llgpl))))
+
+(define-public ecl-tailrec
+  (sbcl-package->ecl-package sbcl-tailrec))
+
+(define-public cl-tailrec
+  (sbcl-package->cl-source-package sbcl-tailrec))
+
-- 
2.32.0

From ef195a69f33d3c63282955497d4356232075d37c Mon Sep 17 00:00:00 2001
From: Charles <[email-masked]>
Date: Sat, 26 Jun 2021 09:57:27 -0500
Subject: [PATCH] gnu: Add cl-issr-core.

* gnu/packages/lisp-xyz.scm (sbcl-issr-core): Add new variable.
* gnu/packages/lisp-xyz.scm (ecl-issr-core): Add new variable.
* gnu/packages/lisp-xyz.scm (cl-issr-core): Add 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 0215ebd50b..60c2b0b235 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -17603,3 +17603,39 @@ recursive.")
 (define-public cl-tailrec
   (sbcl-package->cl-source-package sbcl-tailrec))
 
+(define-public sbcl-issr-core
+  (let ((commit "64e3b07a63a7ca3ad70ba42474f98ac4513580aa")
+        (revision "1"))
+    (package
+      (name "sbcl-issr-core")
+      (version (git-version "0.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/interactive-ssr/core")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1bajb09crzadkirdpd6jrpcc55irjd4sxzavygr25l85pafyhniw"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("sbcl-cl-str" ,sbcl-cl-str)
+         ("sbcl-global-vars" ,sbcl-global-vars)
+         ("sbcl-plump" ,sbcl-plump)
+         ("sbcl-tailrec" ,sbcl-tailrec)))
+      (home-page "https://github.com/interactive-ssr/client/blob/master/main.org")
+      (synopsis "The core functionality for ISSR server modules")
+      (description "ISSR core provides functions and variables for ISSR server
+modules so that they can different servers can behave similarly. The most
+important features are Document Object Model differencing to generate
+instructions to update a the DOM, and DOM cleaning, to ensure that all remote
+DOMs are the same.")
+      (license license:llgpl))))
+
+(define-public ecl-issr-core
+  (sbcl-package->ecl-package sbcl-issr-core))
+
+(define-public cl-issr-core
+  (sbcl-package->cl-source-package sbcl-issr-core))
+
-- 
2.32.0

From 521128f6d4445d3a924e47f26516a6a97b402223 Mon Sep 17 00:00:00 2001
From: Charles <[email-masked]>
Date: Sat, 26 Jun 2021 09:53:07 -0500
Subject: [PATCH] gnu: Add cl-trivial-with-current-source-form.

* gnu/packages/lisp-xyz.scm (sbcl-trivial-with-current-source-form): Add new variable.
* gnu/packages/lisp-xyz.scm (ecl-trivial-with-current-source-form): Add new variable.
* gnu/packages/lisp-xyz.scm (cl-trivial-with-current-source-form): Add 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 ef5e445d7d..93a7d6fa95 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -17538,3 +17538,38 @@ Memory transactions give freedom from deadlocks, are immune to thread-safety
 bugs and race conditions, provide automatic roll-back on failure, and aim at
 resolving the tension between granularity and concurrency.")
      (license license:llgpl))))
+
+(define-public sbcl-trivial-with-current-source-form
+  (let ((commit "9e343e043a77a5478c1f77bb626db22335fbbfb8")
+        (revision "1"))
+    (package
+      (name "sbcl-trivial-with-current-source-form")
+      (version (git-version "0.1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url
+                "https://github.com/scymtym/trivial-with-current-source-form")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "15zs7mc422ycp1cvcxmirif1dq15mlmv8vzd6l6nzn4qgmph9wz0"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("sbcl-alexandria" ,sbcl-alexandria)))
+      (home-page "https://github.com/scymtym/trivial-with-current-source-form")
+      (synopsis "Helps Common Lisp macro writers produce better errors for macro users")
+      (description "This library allows macro writers to provide better feedback
+to macro users when errors are signaled during macroexpansion. It uses the
+compiler's concept of a source-form to report where the error or warning is located.")
+      (license license:llgpl))))
+
+(define-public ecl-trivial-with-current-source-form
+  ;; Trivial-with-current-source-form does not give any benefits on ECL.
+  ;; This package is so packages dependent on trivial-with-current-source-form
+  ;; can be loaded on ECL.
+  (sbcl-package->ecl-package sbcl-trivial-with-current-source-form))
+
+(define-public cl-trivial-with-current-source-form
+  (sbcl-package->cl-source-package sbcl-trivial-with-current-source-form))
-- 
2.32.0

From 73097c34e763ba576a8fce21b1c09a67a91aa072 Mon Sep 17 00:00:00 2001
From: Charles <[email-masked]>
Date: Sat, 26 Jun 2021 09:50:35 -0500
Subject: [PATCH] gnu: Add cl-unification.

* gnu/packages/lisp-xyz.scm (sbcl-unification): Add new variable.
* gnu/packages/lisp-xyz.scm (ecl-unification): Add new variable.
* gnu/packages/lisp-xyz.scm (cl-unification): Add new variable.
---
 gnu/packages/lisp-xyz.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index f8aae805ed..ef5e445d7d 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -9890,6 +9890,36 @@ correctly.")
 (define-public ecl-trivialib-type-unify
   (sbcl-package->ecl-package sbcl-trivialib-type-unify))
 
+(define-public sbcl-cl-unification
+  (package
+    (name "sbcl-cl-unification")
+    (version "20200820")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.common-lisp.net/cl-unification/cl-unification")
+             (commit "01079f34d197495880aa49ab727d63774d83035c")))
+       (file-name (git-file-name "cl-unification" version))
+       (sha256
+        (base32 "0nhqamn3qgg38i6aw2pshffdwr2hzslycg8ficmn333gw0h9rf4g"))))
+    (build-system asdf-build-system/sbcl)
+    (inputs
+     `(("sbcl-ptester" ,sbcl-ptester)))
+    (home-page "http://common-lisp.net/project/cl-unification")
+    (synopsis "Provide a full blown unification framework for Common Lisp")
+    (description "Unify arbitrary Common Lisp objects while constructing
+bindings for placeholders (unification variables) in a template
+sublanguage. Unify two objects with a simmilar shape, one having some
+unification variables to resolve (unify) the values of the variables.")
+    (license license:bsd-0)))
+
+(define-public ecl-cl-unification
+  (sbcl-package->ecl-package sbcl-cl-unification))
+
+(define-public cl-unification
+  (sbcl-package->cl-source-package sbcl-cl-unification))
+
 (define-public sbcl-specialized-function
   (let ((commit "5e2b04432bdf728496e6ff7227f210f845af7247")
         (revision "3"))
-- 
2.32.0