summary refs log tree commit diff
path: root/gnu/packages/guile-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/guile-xyz.scm')
-rw-r--r--gnu/packages/guile-xyz.scm358
1 files changed, 184 insertions, 174 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 8386f9522e..21f998524e 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -27,6 +27,9 @@
 ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
 ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
 ;;; Copyright © 2020 Julien Lepiler <julien@lepiller.eu>
+;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2020 Masaya Tojo <masaya@tojo.tokyo>
+;;; Copyright © 2020 Jesse Gibbons <jgibbons2357@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -154,9 +157,9 @@
     ;; projects.
     ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
     (propagated-inputs
-     `(("guile-json" ,guile-json-1)
+     `(("guile-json" ,guile-json-1) ; This ia already using guile-2.2.
        ("guile-readline" ,guile2.2-readline)
-       ("guile-redis" ,guile-redis)))
+       ("guile-redis" ,guile2.2-redis)))
     (native-inputs
      `(("bash"       ,bash)         ;for the `source' builtin
        ("pkgconfig"  ,pkg-config)
@@ -232,7 +235,7 @@ more.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/ijp/guildhall.git")
+                      (url "https://github.com/ijp/guildhall")
                       (commit commit)))
                 (file-name (string-append name "-" version "-checkout"))
                 (sha256
@@ -933,8 +936,8 @@ messaging library.")
   (deprecated-package "guile3.0-simple-zmq" guile-simple-zmq))
 
 (define-public jupyter-guile-kernel
-  (let ((commit "a7db9245a886e104138474df46c3e88b95cff629")
-        (revision "1"))
+  (let ((commit "f25fb90b95529b17a006a807bd04e6aee12ea304")
+        (revision "2"))
     (package
       (name "jupyter-guile-kernel")
       (version (git-version "0.0.0" revision commit))
@@ -947,7 +950,7 @@ messaging library.")
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "0aj04853bqm47ivfcmrgpb7w3wkis847kc7qrwsa5zcn9h38qh2f"))))
+           "0zr1fasdb2yv9kn21yll993y9higqss4jnfs030ndhjb93raa9sr"))))
       (build-system guile-build-system)
       (arguments
        '(#:phases (modify-phases %standard-phases
@@ -982,7 +985,7 @@ messaging library.")
 
                           ;; Fix hard-coded file name in the kernel.
                           (substitute* (string-append dir "/kernel.json")
-                            (("/home/.*/guile-jupyter-kernel.scm")
+                            (("/usr/local/.*/guile-jupyter-kernel.scm")
                              (string-append out "/share/guile/site/"
                                             (target-guile-effective-version)
                                             "/guile-jupyter-kernel.scm"))
@@ -1003,17 +1006,17 @@ messaging library.")
                                                              effective
                                                              "/site-ccache\""))
                                             deps)))
-                              (string-append "--no-auto-compile\""
-                                             (string-join -L ", \"-L\", "
-                                                          'prefix)
-                                             (string-join -C ", \"-C\", "
-                                                          'prefix)
-                                             ", \"-s"))))
+                               (string-append "--no-auto-compile\""
+                                              (string-join -L ", \"-L\", "
+                                                           'prefix)
+                                              (string-join -C ", \"-C\", "
+                                                           'prefix)
+                                              ", \"-s"))))
                           #t))))))
       (inputs
        `(("openssl" ,openssl)
-         ("guile" ,guile-2.2)
-         ("guile-json" ,guile-json-1)
+         ("guile" ,guile-3.0)
+         ("guile-json" ,guile-json-3)
          ("guile-simple-zmq" ,guile-simple-zmq)))
       (synopsis "Guile kernel for the Jupyter Notebook")
       (description
@@ -1348,7 +1351,7 @@ SQL databases.  This package implements the interface for SQLite.")
        (origin
          (method git-fetch)
          (uri (git-reference
-               (url "https://github.com/opencog/guile-dbi.git")
+               (url "https://github.com/opencog/guile-dbi")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
@@ -1723,10 +1726,10 @@ capabilities.")
     (license license:gpl3+)))
 
 (define-public g-golf
-  (let ((commit "4a4edf25e4877df9182c77843bdd98ab59e13ef7"))
+  (let ((commit "5d2903afb4b6b65c22f587835d8fdff91916e5ee"))
     (package
       (name "g-golf")
-      (version (git-version "1" "683" commit))
+      (version (git-version "1" "804" commit))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -1735,7 +1738,7 @@ capabilities.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "09p0gf71wbmlm9kri693a8fvr9hl3hhlmlidyadwjdh7853xg0h8"))))
+                  "1xkb6a5d3i9s8lpb5cf06bd64p5srqnnhn5l0b2f5csbvyz8hmmh"))))
       (build-system gnu-build-system)
       (native-inputs
        `(("autoconf" ,autoconf)
@@ -1743,10 +1746,11 @@ capabilities.")
          ("texinfo" ,texinfo)
          ("gettext" ,gettext-minimal)
          ("libtool" ,libtool)
-         ("pkg-config" ,pkg-config)))
+         ("pkg-config" ,pkg-config)
+         ("xorg-server" ,xorg-server)))
       (inputs
        `(("guile" ,guile-2.2)
-         ("guile-lib" ,guile-lib)
+         ("guile-lib" ,guile2.2-lib)
          ("clutter" ,clutter)
          ("gtk" ,gtk+)
          ("glib" ,glib)))
@@ -1789,7 +1793,14 @@ capabilities.")
                                                    (assoc-ref outputs "out"))))))))
                  (setenv "GUILE_AUTO_COMPILE" "0")
                  (setenv "GUILE_GGOLF_UNINSTALLED" "1")
-                 #t))))))
+                 #t)))
+           (add-before 'check 'start-xorg-server
+             (lambda* (#:key inputs #:allow-other-keys)
+               ;; The test suite requires a running X server.
+               (system (format #f "~a/bin/Xvfb :1 &"
+                               (assoc-ref inputs "xorg-server")))
+               (setenv "DISPLAY" ":1")
+               #t)))))
       (home-page "https://www.gnu.org/software/g-golf/")
       (synopsis "Guile bindings for GObject Introspection")
       (description
@@ -1848,7 +1859,7 @@ provides access to that interface and its types from the Scheme level.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/fisherdj/miniAdapton.git")
+                      (url "https://github.com/fisherdj/miniAdapton")
                       (commit commit)))
                 (file-name (string-append name "-" version "-checkout"))
                 (sha256
@@ -2045,7 +2056,7 @@ for Guile\".")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/ijp/minikanren.git")
+                    (url "https://github.com/ijp/minikanren")
                     (commit "e844d85512f8c055d3f96143ee506007389a25e3")))
               (file-name (string-append name "-" version "-checkout"))
               (sha256
@@ -2483,163 +2494,162 @@ completion, a simple mode line, etc.")
       (license license:gpl3+))))
 
 (define-public guile-stis-parser
-  (let ((commit "6e85d37ffc333b722f4413a6c648263701eb75bd")
-        (revision "1"))
-    (package
-      (name "guile-stis-parser")
-      (version (git-version "0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://gitlab.com/tampe/stis-parser")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0v4hvq7rlpbra1ni73lf8k6sdmjlflr50yi3p1f24g85h77pc7c0"))))
-      (build-system gnu-build-system)
-      (arguments
-       `(#:parallel-build? #f ; not supported
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'chdir
-             (lambda _ (chdir "modules") #t))
-           (add-after 'chdir 'use-canonical-directory-for-go-files
-             (lambda _
-               (substitute* "Makefile.am"
-                 (("/ccache") "/site-ccache"))
-               #t))
-           (add-after 'chdir 'delete-broken-symlink
-             (lambda _
-               (delete-file "parser/stis-parser/lang/.#calc.scm")
-               #t)))))
-      (inputs
-       `(("guile" ,guile-2.2)))
-      (native-inputs
-       `(("autoconf" ,autoconf)
-         ("automake" ,automake)
-         ("pkg-config" ,pkg-config)))
-      (home-page "https://gitlab.com/tampe/stis-parser")
-      (synopsis "Parser combinator framework")
-      (description
-       "This package provides a functional parser combinator library that
+  (package
+    (name "guile-stis-parser")
+    (version "1.2.4.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/tampe/stis-parser")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1fvxdfvc80zqhwzq5x3kxyr6j8p4b51yx85fx1gr3d4gy2ddpx5w"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:parallel-build? #f             ; not supported
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _ (chdir "modules") #t))
+         (add-after 'chdir 'delete-broken-symlink
+           (lambda _
+             (delete-file "parser/stis-parser/lang/.#calc.scm")
+             #t)))))
+    (inputs
+     `(("guile" ,guile-3.0)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://gitlab.com/tampe/stis-parser")
+    (synopsis "Parser combinator framework")
+    (description
+     "This package provides a functional parser combinator library that
 supports backtracking and a small logical framework. The idea is to build up
 chunks that are memoized and there is no clear scanner/parser separation,
 chunks can be expressions as well as simple tokens.")
-      (license license:lgpl2.0+))))
+    (license license:lgpl2.0+)))
 
 (define-public guile-persist
-  (let ((commit "b14927b0368af51c024560aee5f55724aee35233")
-        (revision "1"))
-    (package
-      (name "guile-persist")
-      (version (git-version "0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://gitlab.com/tampe/guile-persist")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0z5nf377wh8yj6n3sx2ddn4bdx1qrqnw899dlqjhg0q69qzil522"))
-                (modules '((guix build utils)))
-                (snippet
-                 '(begin
-                    ;; Install .go files in the right place.
-                    (substitute* "Makefile.am"
-                      (("/ccache") "/site-ccache"))
-                    #t))))
-      (build-system gnu-build-system)
-      (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'patch-prefix
-             (lambda* (#:key inputs outputs #:allow-other-keys)
-               (substitute* "src/Makefile.am"
-                 (("/usr/local/lib/guile")
-                  (string-append (assoc-ref outputs "out") "/lib/guile"))
-                 (("/usr/local/include/guile")
-                  (string-append (assoc-ref inputs "guile") "/include/guile"))
-                 (("-L/usr/local/lib")
-                  (string-append "-L" (assoc-ref inputs "guile") "/lib"))
-                 ;; Use canonical directory for go files.
-                 (("/ccache") "/site-ccache"))
-               #t))
-           (add-after 'unpack 'patch-library-reference
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let ((out (assoc-ref outputs "out")))
-                 (substitute* "persist/persistance.scm"
-                   (("\"libguile-persist\"")
-                    (format #f "\"~a/lib/guile/2.2/extensions/libguile-persist\"" out)))
-                 #t))))))
-      (inputs
-       `(("guile" ,guile-2.2)))
-      (native-inputs
-       `(("autoconf" ,autoconf)
-         ("automake" ,automake)
-         ("libtool" ,libtool)
-         ("pkg-config" ,pkg-config)))
-      (home-page "https://gitlab.com/tampe/guile-persist")
-      (synopsis "Persistence programming framework for Guile")
-      (description
-       "This is a serialization library for serializing objects like classes
+  (package
+    (name "guile-persist")
+    (version "1.2.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/tampe/guile-persist")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "19f8hqcax4v40858kx2j8fy1cvzc2djj99r0n17dy1xxmwa097qi"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-prefix
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "src/Makefile.am"
+               (("/usr/local/lib/guile")
+                (string-append (assoc-ref outputs "out") "/lib/guile"))
+               (("/usr/local/include/guile")
+                (string-append (assoc-ref inputs "guile") "/include/guile"))
+               (("-L/usr/local/lib")
+                (string-append "-L" (assoc-ref inputs "guile") "/lib")))
+             #t))
+         (add-after 'unpack 'patch-library-reference
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (substitute* "persist/persistance.scm"
+                 (("\"libguile-persist\"")
+                  (format #f "\"~a/lib/guile/3.0/extensions/libguile-persist\"" out)))
+               #t))))))
+    (inputs
+     `(("guile" ,guile-3.0)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://gitlab.com/tampe/guile-persist")
+    (synopsis "Persistence programming framework for Guile")
+    (description
+     "This is a serialization library for serializing objects like classes
 and objects, closures and structs.  This currently does not support
 serializing continuations or delimited continuations.")
-      (license license:lgpl2.0+))))
+    (license license:lgpl2.0+)))
 
 (define-public python-on-guile
-  (let ((commit "00a51a23247f1edc4ae8eda72b30df5cd7d0015f")
-        (revision "3"))
-    (package
-      (name "python-on-guile")
-      (version (git-version "0.1.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://git.elephly.net/software/python-on-guile.git")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "03rpnqr08rqr3gay128g564rwk8w4jbj28ss6b46z1d4vjs4nk68"))))
-      (build-system gnu-build-system)
-      (arguments
-       `(#:parallel-build? #f ; not supported
-         #:make-flags '("GUILE_AUTO_COMPILE=0")   ;to prevent guild warnings
-
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'chdir
-             (lambda _ (chdir "modules") #t))
-           (add-after 'install 'wrap
-             (lambda* (#:key outputs #:allow-other-keys)
-               ;; Wrap the 'python' executable so it can find its
-               ;; dependencies.
-               (let ((out  (assoc-ref outputs "out")))
-                 (wrap-program (string-append out "/bin/python")
-                   `("GUILE_LOAD_PATH" ":" prefix
-                     (,(getenv "GUILE_LOAD_PATH")))
-                   `("GUILE_LOAD_COMPILED_PATH" ":" prefix
-                     (,(getenv "GUILE_LOAD_COMPILED_PATH"))))
-                 #t))))))
-      (inputs
-       `(("guile" ,guile-2.2)))
-      (propagated-inputs
-       `(("guile-persist" ,guile-persist)
-         ("guile-readline" ,guile-readline)
-         ("guile-stis-parser" ,guile-stis-parser)))
-      (native-inputs
-       `(("autoconf" ,autoconf)
-         ("automake" ,automake)
-         ("libtool" ,libtool)
-         ("pkg-config" ,pkg-config)))
-      (home-page "https://gitlab.com/python-on-guile/python-on-guile/")
-      (synopsis "Python implementation in Guile")
-      (description
-       "This package allows you to compile a Guile Python file to any target
+  (package
+    (name "python-on-guile")
+    (version "1.2.3.5")
+    (home-page "https://gitlab.com/python-on-guile/python-on-guile")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference (url home-page)
+                                  (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05xrvcj6a4gzq1ybyin270qz8wamgc7w2skyi9iy6hkpgdhxy8vf"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:parallel-build? #f                   ;not supported
+       #:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _ (chdir "modules") #t))
+         (add-after 'chdir 'augment-GUILE_LOAD_PATH
+           (lambda _
+             ;; TODO: It would be better to patch the Makefile.
+             (setenv "GUILE_LOAD_PATH"
+                     (string-append ".:"
+                                    (getenv "GUILE_LOAD_PATH")))
+             #t))
+         (add-after 'install 'wrap
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Wrap the 'python' executable so it can find its
+             ;; dependencies and own modules.
+             (let* ((out (assoc-ref outputs "out"))
+                    (guile-version ,(version-major+minor
+                                     (package-version guile-3.0)))
+                    (scm (string-append out "/share/guile/site/"
+                                        guile-version))
+                    (ccache (string-append out "/lib/guile/" guile-version
+                                           "/site-ccache"))
+                    (load-path (string-join
+                                (cons scm
+                                      ;; XXX: cdr because we augment it above.
+                                      (cdr (string-split
+                                            (getenv "GUILE_LOAD_PATH") #\:)))
+                                ":"))
+                    (compiled-path (string-append
+                                    ccache ":"
+                                    (getenv "GUILE_LOAD_COMPILED_PATH"))))
+               (wrap-program (string-append out "/bin/python")
+                 `("GUILE_LOAD_PATH" ":" prefix
+                   (,load-path))
+                 `("GUILE_LOAD_COMPILED_PATH" ":" prefix
+                   (,compiled-path)))
+               #t))))))
+    (inputs
+     `(("guile" ,guile-3.0)
+       ("guile-persist" ,guile-persist)
+       ("guile-readline" ,guile-readline)
+       ("guile-stis-parser" ,guile-stis-parser)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Python implementation in Guile")
+    (description
+     "This package allows you to compile a Guile Python file to any target
 from @code{tree-il}.")
-      (license license:lgpl2.0+))))
+    (license license:lgpl2.0+)))
 
 (define-public guile-file-names
   (package
@@ -3103,7 +3113,7 @@ clean and easy to use high level API.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/lloda/guile-ffi-fftw.git")
+                      (url "https://github.com/lloda/guile-ffi-fftw")
                       (commit commit)))
                 (file-name (git-file-name "guile-ffi-fftw" version))
                 (sha256
@@ -3539,7 +3549,7 @@ according to Bitorrent BEP003.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/rekado/guile-irc.git")
+                      (url "https://github.com/rekado/guile-irc")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
@@ -3554,7 +3564,7 @@ according to Bitorrent BEP003.")
          ("texinfo" ,texinfo)))
       (inputs
        `(("gnutls" ,gnutls)
-         ("guile" ,guile-2.2)))
+         ("guile" ,guile-3.0)))
       (home-page "https://github.com/rekado/guile-irc")
       (synopsis "IRC library for Guile")
       (description "This package provides a Guile library for @dfn{Internet