diff options
Diffstat (limited to 'gnu/packages/guile-xyz.scm')
-rw-r--r-- | gnu/packages/guile-xyz.scm | 358 |
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 |