Subject: [PATCH 5/5] gnu: sbcl-slynk: Fix the build.

From: Andy Patterson <[email-masked]>
Date: Thu, 30 Aug 2018 01:36:32 -0400

* gnu/packages/lisp.scm (sbcl-slynk-boot0): Update to commit
cbf84c36c4eca8b032e3fd16177a7bc02df3ec4c.
[origin]<snippet>: Replace slynk/util references with the built system name
slynk-util. Remove compile-time invocations of slynk-require.
(sbcl-slynk-util): Inherit from sbcl-slynk-boot0.
[inputs]: Add sbcl-slynk-boot0.
[arguments]: Set an appropriate asd-file and asd-system-name.
(sbcl-slynk-arglists)[arguments]: Set an appropriate asdf-system-name.
(sbcl-slynk-fancy-inspector)[arguments]: Likewise.
(sbcl-slynk-package-fu)[arguments]: Likewise.
(sbcl-slynk-mrepl)[arguments]: Likewise.
(sbcl-slynk-trace-dialog)[arguments]: Likewise.
(sbcl-slynk-profiler)[arguments]: Likewise.
(sbcl-slynk-indentation)[arguments]: Likewise.
(sbcl-slynk-retro)[arguments]: Likewise.
---
 gnu/packages/lisp.scm | 68 ++++++++++++++++++++++++++++++++-----------
 1 file changed, 51 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 720ac070c..c4a92a220 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1009,8 +1009,8 @@ productive, customizable lisp based systems.")
 ;; we expose the union of these as `sbcl-slynk'.  The following variable
 ;; describes the base module.
 (define sbcl-slynk-boot0
-  (let ((revision "1")
-        (commit "5706cd45d484a4f25795abe8e643509d31968aa2"))
+  (let ((revision "2")
+        (commit "cbf84c36c4eca8b032e3fd16177a7bc02df3ec4c"))
     (package
       (name "sbcl-slynk-boot0")
       (version (string-append "1.0.0-beta-" revision "." (string-take commit 7)))
@@ -1022,7 +1022,7 @@ productive, customizable lisp based systems.")
            (url "https://github.com/joaotavora/sly.git")
            (commit commit)))
          (sha256
-          (base32 "0h4gg3sndl2bf6jdnx9nrf14p9hhi43hagrl0f4v4l11hczl8w81"))
+          (base32 "13dyhsravn591p7g6is01mp2ynzjnnj7pwgi57r6xqmd4611y9vh"))
          (file-name (string-append "slynk-" version "-checkout"))
          (modules '((guix build utils)
                     (ice-9 ftw)))
@@ -1033,14 +1033,19 @@ productive, customizable lisp based systems.")
              (substitute* "slynk/slynk.asd"
                (("\\.\\./contrib")
                 "contrib")
-               (("\\(defsystem :slynk-util")
-                "(defsystem :slynk-util :depends-on (:slynk)"))
+               (("\\(defsystem :slynk/util")
+                "(defsystem :slynk/util :depends-on (:slynk)")
+               ((":depends-on \\(:slynk :slynk/util\\)")
+                ":depends-on (:slynk :slynk-util)"))
              (substitute* "contrib/slynk-trace-dialog.lisp"
                (("\\(slynk::reset-inspector\\)") ; Causes problems on load
                 "nil"))
              (substitute* "contrib/slynk-profiler.lisp"
                (("slynk:to-line")
                 "slynk-pprint-to-line"))
+             (substitute* "contrib/slynk-fancy-inspector.lisp"
+               (("slynk/util") "slynk-util")
+               ((":compile-toplevel :load-toplevel") ""))
              (rename-file "contrib" "slynk/contrib")
              ;; Move slynk's contents into the base directory for easier
              ;; access
@@ -1080,15 +1085,20 @@ multiple inspectors with independent history.")
     (arguments
      (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
        ((#:asd-file _ "") "slynk.asd")
-       ((#:asd-system-name _ #f) #f)))))
+       ((#:asd-system-name _ #f) "slynk/arglists")))))
 
 (define ecl-slynk-arglists
   (sbcl-package->ecl-package sbcl-slynk-arglists))
 
 (define sbcl-slynk-util
   (package
-    (inherit sbcl-slynk-arglists)
-    (name "sbcl-slynk-util")))
+    (inherit sbcl-slynk-boot0)
+    (name "sbcl-slynk-util")
+    (inputs `(("slynk" ,sbcl-slynk-boot0)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
+       ((#:asd-file _ "") "slynk.asd")
+       ((#:asd-system-name _ #f) "slynk/util")))))
 
 (define ecl-slynk-util
   (sbcl-package->ecl-package sbcl-slynk-util))
@@ -1098,7 +1108,10 @@ multiple inspectors with independent history.")
     (inherit sbcl-slynk-arglists)
     (name "sbcl-slynk-fancy-inspector")
     (inputs `(("slynk-util" ,sbcl-slynk-util)
-              ,@(package-inputs sbcl-slynk-arglists)))))
+              ,@(package-inputs sbcl-slynk-arglists)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
+       ((#:asd-system-name _ #f) "slynk/fancy-inspector")))))
 
 (define ecl-slynk-fancy-inspector
   (sbcl-package->ecl-package sbcl-slynk-fancy-inspector))
@@ -1106,15 +1119,21 @@ multiple inspectors with independent history.")
 (define sbcl-slynk-package-fu
   (package
     (inherit sbcl-slynk-arglists)
-    (name "sbcl-slynk-package-fu")))
+    (name "sbcl-slynk-package-fu")
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
+       ((#:asd-system-name _ #f) "slynk/package-fu")))))
 
 (define ecl-slynk-package-fu
   (sbcl-package->ecl-package sbcl-slynk-package-fu))
 
 (define sbcl-slynk-mrepl
   (package
-    (inherit sbcl-slynk-arglists)
-    (name "sbcl-slynk-mrepl")))
+    (inherit sbcl-slynk-fancy-inspector)
+    (name "sbcl-slynk-mrepl")
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
+       ((#:asd-system-name _ #f) "slynk/mrepl")))))
 
 (define ecl-slynk-mrepl
   (sbcl-package->ecl-package sbcl-slynk-mrepl))
@@ -1122,7 +1141,10 @@ multiple inspectors with independent history.")
 (define sbcl-slynk-trace-dialog
   (package
     (inherit sbcl-slynk-arglists)
-    (name "sbcl-slynk-trace-dialog")))
+    (name "sbcl-slynk-trace-dialog")
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
+       ((#:asd-system-name _ #f) "slynk/trace-dialog")))))
 
 (define ecl-slynk-trace-dialog
   (sbcl-package->ecl-package sbcl-slynk-trace-dialog))
@@ -1130,7 +1152,10 @@ multiple inspectors with independent history.")
 (define sbcl-slynk-profiler
   (package
     (inherit sbcl-slynk-arglists)
-    (name "sbcl-slynk-profiler")))
+    (name "sbcl-slynk-profiler")
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
+       ((#:asd-system-name _ #f) "slynk/profiler")))))
 
 (define ecl-slynk-profiler
   (sbcl-package->ecl-package sbcl-slynk-profiler))
@@ -1138,7 +1163,10 @@ multiple inspectors with independent history.")
 (define sbcl-slynk-stickers
   (package
     (inherit sbcl-slynk-arglists)
-    (name "sbcl-slynk-stickers")))
+    (name "sbcl-slynk-stickers")
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
+       ((#:asd-system-name _ #f) "slynk/stickers")))))
 
 (define ecl-slynk-stickers
   (sbcl-package->ecl-package sbcl-slynk-stickers))
@@ -1146,7 +1174,10 @@ multiple inspectors with independent history.")
 (define sbcl-slynk-indentation
   (package
     (inherit sbcl-slynk-arglists)
-    (name "sbcl-slynk-indentation")))
+    (name "sbcl-slynk-indentation")
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
+       ((#:asd-system-name _ #f) "slynk/indentation")))))
 
 (define ecl-slynk-indentation
   (sbcl-package->ecl-package sbcl-slynk-indentation))
@@ -1154,7 +1185,10 @@ multiple inspectors with independent history.")
 (define sbcl-slynk-retro
   (package
     (inherit sbcl-slynk-arglists)
-    (name "sbcl-slynk-retro")))
+    (name "sbcl-slynk-retro")
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
+       ((#:asd-system-name _ #f) "slynk/retro")))))
 
 (define ecl-slynk-retro
   (sbcl-package->ecl-package sbcl-slynk-retro))
-- 
2.18.0