summary refs log tree commit diff
path: root/gnu/packages/scheme.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/scheme.scm')
-rw-r--r--gnu/packages/scheme.scm222
1 files changed, 110 insertions, 112 deletions
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index bafc3da332..33f5a9451b 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
 ;;; Copyright © 2017 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -336,17 +337,14 @@ mashups, office (web agendas, mail clients, ...), etc.")
 (define-public chicken
   (package
     (name "chicken")
-    (version "4.12.0")
+    (version "4.13.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://code.call-cc.org/releases/"
                                   version "/chicken-" version ".tar.gz"))
               (sha256
                (base32
-                "12b9gaa9lqh39lj1v4wm48f6z8ww3jdkvc5bh9gqqvn6kd2wwnk0"))
-              (patches
-               (search-patches "chicken-CVE-2017-6949.patch"
-                               "chicken-CVE-2017-11343.patch"))))
+                "0hvckhi5gfny3mlva6d7y9pmx7cbwvq0r7mk11k3sdiik9hlkmdd"))))
     (build-system gnu-build-system)
     (arguments
      `(#:modules ((guix build gnu-build-system)
@@ -403,17 +401,17 @@ implementation techniques and as an expository tool.")
 (define-public racket
   (package
     (name "racket")
-    (version "6.8")
+    (version "6.11")
     (source (origin
              (method url-fetch)
              (uri (list (string-append "http://mirror.racket-lang.org/installers/"
                                        version "/racket-" version "-src.tgz")
                         (string-append
                          "http://mirror.informatik.uni-tuebingen.de/mirror/racket/"
-                         version "/racket/racket-" version "-src-unix.tgz")))
+                         version "/racket-" version "-src.tgz")))
              (sha256
               (base32
-               "1l9z1a0r5zydr50cklx9xjw3l0pwnf64i10xq7112fl1r89q3qgv"))))
+               "1nk7705x24jjlbqqhj8yvbgqkfscxx3m81bry1g56kjxysjmf3sw"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -517,7 +515,7 @@ of libraries.")
 (define-public gambit-c
   (package
     (name "gambit-c")
-    (version "4.8.5")
+    (version "4.8.8")
     (source
      (origin
        (method url-fetch)
@@ -527,7 +525,7 @@ of libraries.")
              (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
              ".tgz"))
        (sha256
-        (base32 "0xwmqzqvk83xyjz48vp36p5vj1415rl3pi3xq7y8i3p8s409a98b"))))
+        (base32 "1plw1id94mpg2c4y6q9z39ndcz1hbxfnp3i08szsg6794rasmgkk"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags
@@ -602,7 +600,7 @@ threads.")
 
     (package
       (name "scmutils")
-      (version "20140302")
+      (version "20160827")
       (source
        (origin
          (method url-fetch/tarbomb)
@@ -614,7 +612,7 @@ threads.")
                              "/scmutils-tarballs/" name "-" version
                              "-x86-64-gnu-linux.tar.gz"))
          (sha256
-          (base32 "10cnbm7nh78m5mrl1di85s29gny81jb1am9zd9f9yx725xb6dnfg"))))
+          (base32 "00ly5m0s4dy5kxravjaqlpii5zcnr6b9nqm0607lr7xcs52i4j8b"))))
       (build-system gnu-build-system)
       (inputs
        `(("mit-scheme" ,mit-scheme)
@@ -629,104 +627,104 @@ threads.")
          #:phases
          (modify-phases %standard-phases
            (replace 'configure
-                    ;; No standard build procedure is used. We set the correct
-                    ;; runtime path in the custom build system.
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (let ((out (assoc-ref outputs "out")))
-                        ;; Required to find .bci files at runtime.
-                        (with-directory-excursion "scmutils"
-                          (rename-file "src" "scmutils"))
-                        (substitute* "scmutils/scmutils/load.scm"
-                          (("/usr/local/scmutils/")
-                           (string-append out "/lib/mit-scheme-"
-                                          ,(system-suffix) "/")))
-                        #t)))
+             ;; No standard build procedure is used. We set the correct
+             ;; runtime path in the custom build system.
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((out (assoc-ref outputs "out")))
+                 ;; Required to find .bci files at runtime.
+                 (with-directory-excursion "scmutils"
+                   (rename-file "src" "scmutils"))
+                 (substitute* "scmutils/scmutils/load.scm"
+                   (("/usr/local/scmutils/")
+                    (string-append out "/lib/mit-scheme-"
+                                   ,(system-suffix) "/")))
+                 #t)))
            (replace 'build
-                    ;; Compile the code and build a band.
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (let* ((out (assoc-ref outputs "out"))
-                             (make-img (string-append
-                                        "echo '(load \"load\") "
-                                        "(disk-save \"edwin-mechanics.com\")'"
-                                        "| mit-scheme")))
-                        (with-directory-excursion "scmutils/scmutils"
-                          (and (zero? (system "mit-scheme < compile.scm"))
-                               (zero? (system make-img)))))))
+             ;; Compile the code and build a band.
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (make-img (string-append
+                                 "echo '(load \"load\") "
+                                 "(disk-save \"edwin-mechanics.com\")'"
+                                 "| mit-scheme")))
+                 (with-directory-excursion "scmutils/scmutils"
+                   (and (zero? (system "mit-scheme < compile.scm"))
+                        (zero? (system make-img)))))))
            (add-before 'install 'fix-directory-names
-                       ;; Correct directory names in the startup script.
-                       (lambda* (#:key inputs outputs #:allow-other-keys)
-                         (let* ((out (assoc-ref outputs "out"))
-                                (scm-root (assoc-ref inputs "mit-scheme")))
-                           (substitute* "bin/mechanics"
-                             (("ROOT=\"\\$\\{SCMUTILS_ROOT:-/.*\\}\"")
-                              (string-append
-                               "ROOT=\"${SCMUTILS_ROOT:-" scm-root "}\"\n"
-                               "LIB=\"${ROOT}/lib/mit-scheme-"
-                               ,(system-suffix) ":"
-                               out "/lib/mit-scheme-" ,(system-suffix) "\""))
-                             (("EDWIN_INFO_DIRECTORY=.*\n") "")
-                             (("SCHEME=.*\n")
-                              (string-append "SCHEME=\"${ROOT}/bin/scheme "
-                                             "--library ${LIB}\"\n"))
-                             (("export EDWIN_INFO_DIRECTORY") ""))
-                           #t)))
+             ;; Correct directory names in the startup script.
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (scm-root (assoc-ref inputs "mit-scheme")))
+                 (substitute* "bin/mechanics"
+                   (("ROOT=\"\\$\\{SCMUTILS_ROOT:-/.*\\}\"")
+                    (string-append
+                     "ROOT=\"${SCMUTILS_ROOT:-" scm-root "}\"\n"
+                     "LIB=\"${ROOT}/lib/mit-scheme-"
+                     ,(system-suffix) ":"
+                     out "/lib/mit-scheme-" ,(system-suffix) "\""))
+                   (("EDWIN_INFO_DIRECTORY=.*\n") "")
+                   (("SCHEME=.*\n")
+                    (string-append "SCHEME=\"${ROOT}/bin/scheme "
+                                   "--library ${LIB}\"\n"))
+                   (("export EDWIN_INFO_DIRECTORY") ""))
+                 #t)))
            (add-before 'install 'emacs-tags
-                       ;; Generate Emacs's tags for easy reference to source
-                       ;; code.
-                       (lambda* (#:key inputs outputs #:allow-other-keys)
-                         (with-directory-excursion "scmutils/scmutils"
-                           (zero? (apply system* "etags"
-                                         (find-files "." "\\.scm"))))))
+             ;; Generate Emacs's tags for easy reference to source
+             ;; code.
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (with-directory-excursion "scmutils/scmutils"
+                 (zero? (apply system* "etags"
+                               (find-files "." "\\.scm"))))))
            (replace 'install
-                    ;; Copy files to the store.
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (define* (copy-files-to-directory files dir
-                                                        #:optional (delete? #f))
-                        (for-each (lambda (f)
-                                    (copy-file f (string-append dir "/" f))
-                                    (when delete? (delete-file f)))
-                                  files))
+             ;; Copy files to the store.
+             (lambda* (#:key outputs #:allow-other-keys)
+               (define* (copy-files-to-directory files dir
+                                                 #:optional (delete? #f))
+                 (for-each (lambda (f)
+                             (copy-file f (string-append dir "/" f))
+                             (when delete? (delete-file f)))
+                           files))
 
-                      (let* ((out (assoc-ref outputs "out"))
-                             (bin (string-append out "/bin"))
-                             (doc (string-append out "/share/doc/"
-                                                 ,name "-" ,version))
-                             (lib (string-append out "/lib/mit-scheme-"
-                                                 ,(system-suffix)
-                                                 "/scmutils")))
-                        (for-each mkdir-p (list lib doc bin))
-                        (with-directory-excursion "scmutils/scmutils"
-                          (copy-files-to-directory '("COPYING" "LICENSE")
-                                                   doc #t)
-                          (for-each delete-file (find-files "." "\\.bin"))
-                          (copy-files-to-directory '("edwin-mechanics.com")
-                                                   (string-append lib "/..") #t)
-                          (copy-recursively "." lib))
-                        (with-directory-excursion "bin"
-                          (copy-files-to-directory (find-files ".") bin))
-                        (with-directory-excursion "scmutils/manual"
-                          (copy-files-to-directory (find-files ".") doc))
-                        #t)))
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin"))
+                      (doc (string-append out "/share/doc/"
+                                          ,name "-" ,version))
+                      (lib (string-append out "/lib/mit-scheme-"
+                                          ,(system-suffix)
+                                          "/scmutils")))
+                 (for-each mkdir-p (list lib doc bin))
+                 (with-directory-excursion "scmutils/scmutils"
+                   (copy-files-to-directory '("COPYING" "LICENSE")
+                                            doc #t)
+                   (for-each delete-file (find-files "." "\\.bin"))
+                   (copy-files-to-directory '("edwin-mechanics.com")
+                                            (string-append lib "/..") #t)
+                   (copy-recursively "." lib))
+                 (with-directory-excursion "bin"
+                   (copy-files-to-directory (find-files ".") bin))
+                 (with-directory-excursion "scmutils/manual"
+                   (copy-files-to-directory (find-files ".") doc))
+                 #t)))
            (add-after 'install 'emacs-helpers
-                      ;; Add convenience Emacs commands to easily load the
-                      ;; Scmutils band in an MIT-Scheme buffer inside of Emacs
-                      ;; and to easily load code tags.
-                      (lambda* (#:key inputs outputs #:allow-other-keys)
-                        (let* ((out (assoc-ref outputs "out"))
-                               (mit-root (assoc-ref inputs "mit-scheme"))
-                               (emacs-lisp-dir
-                                (string-append out "/share/emacs/site-lisp"
-                                               "/guix.d/" ,name "-" ,version))
-                               (el-file (string-append emacs-lisp-dir
-                                                       "/scmutils.el"))
-                               (lib-relative-path
-                                (string-append "/lib/mit-scheme-"
-                                               ,(system-suffix))))
-                          (mkdir-p emacs-lisp-dir)
-                          (call-with-output-file el-file
-                            (lambda (p)
-                              (format p
-                                      ";;;###autoload
+             ;; Add convenience Emacs commands to easily load the
+             ;; Scmutils band in an MIT-Scheme buffer inside of Emacs
+             ;; and to easily load code tags.
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (mit-root (assoc-ref inputs "mit-scheme"))
+                      (emacs-lisp-dir
+                       (string-append out "/share/emacs/site-lisp"
+                                      "/guix.d/" ,name "-" ,version))
+                      (el-file (string-append emacs-lisp-dir
+                                              "/scmutils.el"))
+                      (lib-relative-path
+                       (string-append "/lib/mit-scheme-"
+                                      ,(system-suffix))))
+                 (mkdir-p emacs-lisp-dir)
+                 (call-with-output-file el-file
+                   (lambda (p)
+                     (format p
+                             ";;;###autoload
 (defun scmutils-load ()
   (interactive)
   (require 'xscheme)
@@ -762,10 +760,10 @@ engineering.")
       (license gpl2+))))
 
 (define-public sicp
-  (let ((commit "5b52db566968d28a89fbbaf338d207f01cc81cac"))
+  (let ((commit "225c172f9b859902a64a3c5dd5e1f9ac1a7382de"))
     (package
       (name "sicp")
-      (version (string-append "20160220-1." (string-take commit 7)))
+      (version (string-append "20170703-1." (string-take commit 7)))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -773,7 +771,7 @@ engineering.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "10h6h7szwlfbshwh18bnl2hvyddj5i7106l79s145l0sjjv15cxb"))
+                  "0bhdrdc1mgdjdsg4jksq9z6x129f3346jbf3zir2a0dfmsj6m10n"))
                 (file-name (string-append name "-" version "-checkout"))))
       (build-system trivial-build-system)
       (native-inputs `(("gzip" ,gzip)
@@ -804,7 +802,7 @@ engineering.")
                   (every zero?
                          (map (cut system* "gzip" "-9n" <>)
                               (find-files info-dir))))))))
-      (home-page "http://sarabander.github.io/sicp")
+      (home-page "https://sarabander.github.io/sicp")
       (synopsis "Structure and Interpretation of Computer Programs")
       (description "Structure and Interpretation of Computer Programs (SICP) is
 a textbook aiming to teach the principles of computer programming.
@@ -815,8 +813,8 @@ metalinguistic abstraction, recursion, interpreters, and modular programming.")
       (license cc-by-sa4.0))))
 
 (define-public scheme48-rx
-  (let* ((commit "d3231ad13de2b44e3ee173b1c9d09ff165e8b6d5")
-         (revision "1"))
+  (let* ((commit "dd9037f6f9ea01019390614f6b126b7dd293798d")
+         (revision "2"))
     (package
       (name "scheme48-rx")
       (version (string-append "0.0.0-" revision "." (string-take commit 7)))
@@ -828,7 +826,7 @@ metalinguistic abstraction, recursion, interpreters, and modular programming.")
                (commit commit)))
          (sha256
           (base32
-           "1nmziaibgmfi346kzidj6xyad0vm7724qymbzgxvdzyrqji6v6yz"))
+           "1bvriavxw5kf2izjbil3999vr983vkk2xplfpinafr86m40b2cci"))
          (file-name (string-append name "-" version "-checkout"))))
       (build-system trivial-build-system)
       (arguments
@@ -880,7 +878,7 @@ regular-expression notation.")
                                                    (assoc-ref outputs "out")))))))))
     (native-inputs `(("unzip" ,unzip)
                      ("texinfo" ,texinfo)))
-    (home-page "http://people.csail.mit.edu/jaffer/SLIB/")
+    (home-page "http://people.csail.mit.edu/jaffer/SLIB.html")
     (synopsis "Compatibility and utility library for Scheme")
     (description "SLIB is a portable Scheme library providing compatibility and
 utility functions for all standard Scheme implementations.")