summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r--gnu/packages/lisp.scm114
1 files changed, 97 insertions, 17 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 720ac070cc..82ba6eedf0 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -62,6 +63,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages perl)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@@ -1009,8 +1011,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 +1024,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 +1035,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 +1087,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 +1110,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 +1121,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 +1143,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 +1154,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 +1165,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 +1176,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 +1187,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))
@@ -1442,3 +1478,47 @@ compressor. It works on data produced by @code{parse-js} to generate a
`(("sbcl" ,sbcl)
("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
(synopsis "JavaScript compressor")))
+
+(define-public confusion-mdl
+ (let* ((commit "12a055581fc262225272df43287dae48281900f5"))
+ (package
+ (name "confusion-mdl")
+ (version "0.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append "https://gitlab.com/emacsomancer/" name))
+ (commit commit)))
+ (sha256
+ (base32
+ "1zi8kflzvwqg97ha1sa5xjisbjs5z1mvbpa772vfxiv5ksnpxp0d"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; there are no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key (make-flags '()) #:allow-other-keys)
+ (apply invoke "make" "CC=gcc" make-flags)))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (install-file "mdli" bin)
+ #t))))))
+ (native-inputs
+ `(("perl" ,perl)))
+ (inputs
+ `(("libgc" ,libgc)))
+ (synopsis "Interpreter for the MIT Design Language (MDL)")
+ (description "MDL (the MIT Design Language) is a descendant of Lisp. It
+was originally developed in 1971 on the PDP-10 computer under the Incompatible
+Timesharing System (ITS) to provide high level language support for the
+Dynamic Modeling Group at MIT's Project MAC. Infocom built the original
+PDP-10 Zork in MDL and their later ZIL (Zork Implementation Language) was
+based on a subset of MDL. Confusion is a MDL interpreter that works just well
+enough to play the original mainframe Zork all the way through.")
+ (home-page "http://www.russotto.net/git/mrussotto/confusion/src/master/src/README")
+ (license license:gpl3+))))