diff options
Diffstat (limited to 'gnu/packages/guile-xyz.scm')
-rw-r--r-- | gnu/packages/guile-xyz.scm | 142 |
1 files changed, 85 insertions, 57 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 7e4d6251c1..b41dce8002 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2017 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> ;;; Copyright © 2016, 2021 Amirouche <amirouche@hypermove.net> -;;; Copyright © 2016, 2019 Jan Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2016, 2019, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017 David Thompson <davet@gnu.org> ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> @@ -17,7 +17,7 @@ ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017, 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> -;;; Copyright © 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2018, 2019, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2019 swedebugia <swedebugia@riseup.net> @@ -101,6 +101,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages sdl) #:use-module (gnu packages search) + #:use-module (gnu packages serialization) #:use-module (gnu packages slang) #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) @@ -108,7 +109,6 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) - #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) @@ -128,14 +128,14 @@ (define-public artanis (package (name "artanis") - (version "0.4.1") + (version "0.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/artanis/artanis-" version ".tar.gz")) (sha256 (base32 - "0nnmdfx5xwcc3kck64var7msz7g3qk817d7bv9l159nkmic0v9w4")) + "1vk1kp2xhz35xa5n27cxlq9c88wk6qm7fqaac8rb0pb6k9pvsv7v")) (modules '((guix build utils))) (snippet '(begin @@ -167,26 +167,36 @@ #t)))) (build-system gnu-build-system) (inputs - `(("guile" ,guile-2.2) + `(("guile" ,guile-3.0) + ("nspr" ,nspr) ("nss" ,nss))) ;; FIXME the bundled csv contains one more exported procedure ;; (sxml->csv-string) than guile-csv. The author is maintainer of both ;; projects. ;; TODO: Add guile-dbi and guile-dbd optional dependencies. (propagated-inputs - `(("guile-json" ,guile-json-1) ; This is already using guile-2.2. - ("guile-readline" ,guile2.2-readline) - ("guile-redis" ,guile2.2-redis))) + `(("guile-json" ,guile-json-3) + ("guile-readline" ,guile-readline) + ("guile-redis" ,guile-redis))) (native-inputs `(("bash" ,bash) ;for the `source' builtin ("pkgconfig" ,pkg-config) ("util-linux" ,util-linux))) ;for the `script' command (arguments - '(#:make-flags + `(#:modules (((guix build guile-build-system) + #:select (target-guile-effective-version)) + ,@%gnu-build-system-modules) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:make-flags ;; TODO: The documentation must be built with the `docs' target. (let* ((out (assoc-ref %outputs "out")) - (scm (string-append out "/share/guile/site/2.2")) - (go (string-append out "/lib/guile/2.2/site-ccache"))) + ;; We pass guile explicitly here since this executes before the + ;; set-paths phase and therefore guile is not yet in PATH. + (effective-version (target-guile-effective-version + (assoc-ref %build-inputs "guile"))) + (scm (string-append out "/share/guile/site/" effective-version)) + (go (string-append out "/lib/guile/" effective-version "/site-ccache"))) ;; Don't use (%site-dir) for site paths. (list (string-append "MOD_PATH=" scm) (string-append "MOD_COMPILED_PATH=" go))) @@ -199,7 +209,9 @@ (("\\(%site-dir\\)") (string-append "\"" (assoc-ref outputs "out") - "/share/guile/site/2.2\""))))) + "/share/guile/site/" + (target-guile-effective-version) + "\""))))) (add-after 'unpack 'patch-reference-to-libnss (lambda* (#:key inputs #:allow-other-keys) (substitute* "artanis/security/nss.scm" @@ -207,8 +219,10 @@ (string-append "ffi-binding \"" (assoc-ref inputs "nss") "/lib/nss/libnss3.so" - "\""))) - #t)) + "\"")) + (("ffi-binding \"libssl3\"") + (string-append + "ffi-binding \"" (assoc-ref inputs "nss") "/lib/nss/libssl3.so\""))))) (add-before 'install 'substitute-root-dir (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -216,20 +230,20 @@ ((" /etc/bash.bashrc") " /dev/null")) (substitute* "Makefile" ;set the root of config files to OUT ((" /etc") (string-append " " out "/etc"))) - (mkdir-p (string-append out "/bin")) ;for the `art' executable - #t))) + (mkdir-p (string-append out "/bin")) ))) (add-after 'install 'wrap-art (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) + (effective-version (target-guile-effective-version)) (bin (string-append out "/bin")) - (scm (string-append out "/share/guile/site/2.2")) - (go (string-append out "/lib/guile/2.2/site-ccache"))) + (scm (string-append out "/share/guile/site/" effective-version)) + (go (string-append out "/lib/guile/" effective-version + "/site-ccache"))) (wrap-program (string-append bin "/art") `("GUILE_LOAD_PATH" ":" prefix (,scm ,(getenv "GUILE_LOAD_PATH"))) `("GUILE_LOAD_COMPILED_PATH" ":" prefix - (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))) - #t)))))) + (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))))))))) (synopsis "Web application framework written in Guile") (description "GNU Artanis is a web application framework written in Guile Scheme. A web application framework (WAF) is a software framework that is @@ -741,6 +755,29 @@ HTML (via SXML) or any other format for rendering.") (home-page "https://dthompson.us/projects/guile-syntax-highlight.html") (license license:lgpl3+))) +;; gitile requires a more recent version than the latest release. +(define-public guile-syntax-highlight-for-gitile + (let ((commit "897fa5156ff41588e0d281eb00e4e94de63ccd8a") + (revision "0")) + (package + (inherit guile-syntax-highlight) + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.dthompson.us/guile-syntax-highlight.git") + (commit commit))) + (file-name (git-file-name "guile-syntax-highlight" version)) + (sha256 + (base32 + "18zlg4mkgd3swgv2ggfz91ivnnzc0zhvc9ybgrxg1y762va9hyvj")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("texinfo" ,texinfo) + ,@(package-native-inputs guile-syntax-highlight))) + (properties '((hidden? . #t)))))) + (define-public guile2.2-syntax-highlight (package (inherit guile-syntax-highlight) @@ -1454,13 +1491,14 @@ library}.") (name "guile-dbi") (version "2.1.6") (source (origin - (method url-fetch) - (uri (string-append - "http://download.gna.org/guile-dbi/guile-dbi-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://example.org") ;only hosted on Software Heritage + (commit "e19b019e9683faf66c3f385b20fcc112e65f8c6e"))) + (file-name (git-file-name name version)) (sha256 (base32 - "116njrprhgrsv1qm904sp3b02rq01fx639r433d657gyhw3x159n")))) + "09ys5hj7gnj5w1iv1m194j06jk6b8sdhc8j6hcv3bprq1428kyxw")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -1487,7 +1525,7 @@ library}.") (propagated-inputs `(("guile" ,guile-2.2))) (synopsis "Guile database abstraction layer") - (home-page "http://home.gna.org/guile-dbi/guile-dbi.html") + (home-page "https://web.archive.org/web/20160328232717/http://home.gna.org/guile-dbi/guile-dbi.html") (description "guile-dbi is a library for Guile that provides a convenient interface to SQL databases. Database programming with guile-dbi is generic in that the same @@ -1509,13 +1547,14 @@ It currently supports MySQL, Postgres and SQLite3.") (name "guile-dbd-sqlite3") (version "2.1.6") (source (origin - (method url-fetch) - (uri (string-append - "http://download.gna.org/guile-dbi/guile-dbd-sqlite3-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://example.org") ;only hosted on Software Heritage + (commit "0758c615e9e85ad76d153d5dc6179881f1f50089"))) + (file-name (git-file-name name version)) (sha256 (base32 - "0rg71jchxd2y8x496s8zmfmikr5g8zxi8zv2ar3f7a23pph92iw2")))) + "1rwf3z6ib6nkhfnk2nw8p6fqirdx2pparcrlmsm0i2ii62plpqhb")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1524,6 +1563,8 @@ It currently supports MySQL, Postgres and SQLite3.") `(("sqlite" ,sqlite) ("zlib" ,(@ (gnu packages compression) zlib)))) (synopsis "Guile DBI driver for SQLite") + ;; Unofficial home-page. + ;; Added by b9cbfa52f71505de8447fefabd97f16d0a9cbde6 (2016-06) (home-page "https://github.com/jkalbhenn/guile-dbd-sqlite3") (description "guile-dbi is a library for Guile that provides a convenient interface to @@ -2679,14 +2720,14 @@ is no support for parsing block and inline level HTML.") (define-public mcron (package (name "mcron") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mcron/mcron-" version ".tar.gz")) (sha256 (base32 - "1midrn15d5kqy4zd2029bj1db6gnfhxg8mcgfy4bkp5p9nl4v4rd")))) + "0bkn235g2ia4f7ispr9d55c7bc18282r3qd8ldhh5q2kiin75zi0")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -3309,7 +3350,7 @@ API.") ("perl" ,perl) ("pkg-config" ,pkg-config) ("texinfo" ,texinfo) - ("texlive" ,(texlive-updmap.cfg (list texlive-generic-epsf))))) + ("texlive" ,(texlive-updmap.cfg (list texlive-epsf))))) (inputs `(("dbus-glib" ,dbus-glib) ("guile" ,guile-3.0) @@ -4084,42 +4125,29 @@ Relay Chat} (IRC).") (license license:lgpl2.1+)))) (define-public guile-websocket - (let ((commit "c854e0f84a40d972cbd532bbb89c97ca0126a7cf")) + (let ((commit "d17878f6c12c10a49196bb08f737f36b11e61c31") + (revision "1")) (package (name "guile-websocket") - (version "0.1") + (version (git-version "0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "git://dthompson.us/guile-websocket.git") + (url "https://git.dthompson.us/guile-websocket.git") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "1hymvsfrmq9qxr5cxnsgdz7y757yp1cpsgxmdp3f5wxxxpqgsmzx")))) + "0kcmhjyb6amm4b9k4ng0r5s38m041mvh5jgmjbz6ichz39k255v7")))) (build-system gnu-build-system) (arguments '(#:make-flags - '("GUILE_AUTO_COMPILE=0") - #:phases - (modify-phases %standard-phases - ;; The package was developed for Guile 2.0 and has this version - ;; hardcoded in the configure.ac and Makefile.am files. Substitute - ;; 3.0 instead so it can support Guile 3.0. - (add-after 'unpack 'update-guile-version - (lambda _ - (substitute* "configure.ac" - (("2.0.9") "3.0.0")) - (substitute* "Makefile.am" - (("2.0") "3.0") - - ;; Install .go files where they belong. - (("/ccache") "/site-ccache")) - #t))))) + '("GUILE_AUTO_COMPILE=0"))) (native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake))) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-3.0))) (synopsis "Websocket server/client for Guile") |