X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/015bb1c8db1d28133279d36ac447a8c0d52384b1..3c0456c6b556b438d4bfc4753d2fe4bc2b96868a:/gnu/packages/guile-xyz.scm diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 9f95245988..124373bf8c 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2018 Mark H Weaver ;;; Copyright © 2015, 2017 Christopher Allan Webber ;;; Copyright © 2016 Alex Sassmannshausen -;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2016 Erik Edrosa ;;; Copyright © 2016, 2019 Eraim Flashner ;;; Copyright © 2016, 2017 Alex Kost @@ -17,11 +17,11 @@ ;;; Copyright © 2017 ng0 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Maxim Cournoyer -;;; Copyright © 2018, 2019 Arun Isaac +;;; Copyright © 2018, 2019, 2020 Arun Isaac ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Eric Bavier ;;; Copyright © 2019 swedebugia -;;; Copyright © 2019 Amar Singh +;;; Copyright © 2019, 2020 Amar Singh ;;; Copyright © 2019 Timothy Sample ;;; ;;; This file is part of GNU Guix. @@ -80,8 +80,10 @@ #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages sdl) + #:use-module (gnu packages search) #:use-module (gnu packages slang) #:use-module (gnu packages sqlite) + #:use-module (gnu packages swig) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) @@ -418,7 +420,7 @@ Note that 8sync is only available for Guile 2.2.") (define-public guile-daemon (package (name "guile-daemon") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/alezost/" name @@ -426,7 +428,7 @@ Note that 8sync is only available for Guile 2.2.") "/" name "-" version ".tar.gz")) (sha256 (base32 - "0hh6gq6b6phpxm0b1dkxyzj3f4sxdf7dji63609lzypa5v1ad2gv")))) + "08gaqrgjlly9k5si72vvpbr4xhq5v52l5ma5y6a7spid5dd057cy")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -496,7 +498,29 @@ Unix-style DSV format and RFC 4180 format.") version ".tar.gz")) (sha256 (base32 - "0vjkg72ghgdgphzbjz9ig8al8271rq8974viknb2r1rg4lz92ld0")))) + "0vjkg72ghgdgphzbjz9ig8al8271rq8974viknb2r1rg4lz92ld0")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Allow builds with Guile 3.0. + (substitute* "configure" + (("search=\"2\\.2\"") + "search=\"3.0 2.2\"")) + + ;; Explicitly include system headers rather than relying on + ;; to do it for us. + (substitute* "epoll.c" + (("#include.*libguile\\.h.*$" all) + (string-append "#include \n" + "#include \n" + all "\n"))) + + ;; Import (ice-9 threads) for 'current-processor-count'. + (substitute* "tests/channels.scm" + (("#:use-module \\(fibers\\)") + (string-append "#:use-module (fibers)\n" + "#:use-module (ice-9 threads)\n"))) + #t)))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -532,6 +556,16 @@ is not available for Guile 2.0.") (home-page "https://github.com/wingo/fibers") (license license:lgpl3+))) +(define-public guile3.0-fibers + (package + (inherit guile-fibers) + (name "guile3.0-fibers") + (arguments + ;; The code uses 'scm_t_uint64' et al., which are deprecated in 3.0. + `(#:configure-flags '("CFLAGS=-Wno-error=deprecated-declarations") + ,@(package-arguments guile-fibers))) + (inputs `(("guile" ,guile-3.0))))) + (define-public guile-syntax-highlight (package (name "guile-syntax-highlight") @@ -544,7 +578,15 @@ is not available for Guile 2.0.") version ".tar.gz")) (sha256 (base32 - "1p771kq15x83483m23bhah1sz6vkalg3drm7x279f4j1cxligkzi")))) + "1p771kq15x83483m23bhah1sz6vkalg3drm7x279f4j1cxligkzi")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Allow builds with Guile 3.0. + (substitute* "configure" + (("2\\.2 2\\.0") + "3.0 2.2 2.0")) + #t)))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -558,6 +600,12 @@ HTML (via SXML) or any other format for rendering.") (home-page "http://dthompson.us/projects/guile-syntax-highlight.html") (license license:lgpl3+))) +(define-public guile3.0-syntax-highlight + (package + (inherit guile-syntax-highlight) + (name "guile3.0-syntax-highlight") + (inputs `(("guile" ,guile-3.0))))) + (define-public guile-sjson (package (name "guile-sjson") @@ -621,6 +669,14 @@ It has a nice, simple s-expression based syntax.") using Guile's foreign function interface.") (license license:lgpl3+)))) +(define-public guile3.0-squee + (package + (inherit guile-squee) + (name "guile3.0-squee") + (native-inputs `(("guile" ,guile-next) + ,@(alist-delete "guile" + (package-native-inputs guile-squee)))))) + (define-public guile-colorized (package (name "guile-colorized") @@ -721,6 +777,24 @@ Vicare Scheme and IronScheme. Right now it contains: @end itemize\n") (license license:bsd-3))) +(define-public guile3.0-pfds + (package + (inherit guile-pfds) + (name "guile3.0-pfds") + (native-inputs `(("guile" ,guile-3.0))) + (arguments + (substitute-keyword-arguments (package-arguments guile-pfds) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'work-around-guile-bug + (lambda _ + ;; See bug #39210. + (substitute* '("fingertrees.sls" + "queues/private/condition.sls" + "deques/private/condition.sls") + (("&assertion") "&violation")) + #t)))))))) + (define-public guile-aa-tree (package (name "guile-aa-tree") @@ -906,20 +980,17 @@ using S-expressions.") (define-public guile-debbugs (package (name "guile-debbugs") - (version "0.0.2") + (version "0.0.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/guile-debbugs/guile-debbugs-" version ".tar.gz")) (sha256 (base32 - "16l8910p57im6s3j93xhdaqvgfy6ms5n97177mrch3y961z5hy0i")) - (modules '((guix build utils))) - (snippet - '(substitute* "Makefile.in" - (("^godir = (.*)/ccache" _ prefix) - (string-append "godir = " prefix "/site-ccache")))))) + "1cc63nw3xdfjrfk8c58r6d5lidmfq5cpqcy32yd5xp81yccprvn9")))) (build-system gnu-build-system) + (propagated-inputs + `(("guile-email" ,guile-email))) (native-inputs `(("guile" ,guile-2.2) ("pkg-config" ,pkg-config))) @@ -959,30 +1030,12 @@ Extensions) compliant email messages and reading emails from the mbox format.") (license license:agpl3+))) -(define-public guile-debbugs-next - (let ((commit "fb0ae064037a38a0d526e08b4ad24c52e205edb9") - (revision "2")) - (package (inherit guile-debbugs) - (name "guile-debbugs") - (version (git-version "0.0.3" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.savannah.gnu.org/git/guile-debbugs.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "195sacx2xc1mzzfljj62nfpi8mxn0rc6dabxckizjksnhb5irfwy")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("texinfo" ,texinfo))) - (inputs - `(("guile" ,guile-2.2) - ("guile-email" ,guile-email)))))) +(define-public guile3.0-email + (package + (inherit guile-email) + (name "guile3.0-email") + (inputs `(("guile" ,guile-next) + ,@(alist-delete "guile" (package-inputs guile-email)))))) (define-public guile-newt (package @@ -996,7 +1049,20 @@ format.") (file-name (git-file-name name version)) (sha256 (base32 - "1w7qy4dw1f4bx622l6hw8mv49sf1ha8kch8j4nganyk8fj0wn695")))) + "1w7qy4dw1f4bx622l6hw8mv49sf1ha8kch8j4nganyk8fj0wn695")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Allow builds with Guile 3.0. + (substitute* "configure.ac" + (("^GUILE_PKG.*") + "GUILE_PKG([3.0 2.2 2.0])\n")) + + ;; Remove "guile.m4" since it contains an obsolete version + ;; of 'GUILE_PKG' that doesn't work with development + ;; versions such as 2.9. + (delete-file "m4/guile.m4") + #t)))) (build-system gnu-build-system) (arguments '(#:make-flags @@ -1016,6 +1082,13 @@ Scheme by using Guile’s foreign function interface.") (home-page "https://gitlab.com/mothacehe/guile-newt") (license license:gpl3+))) +(define-public guile3.0-newt + (package + (inherit guile-newt) + (name "guile3.0-newt") + (inputs `(("guile" ,guile-next) + ,@(alist-delete "guile" (package-inputs guile-newt)))))) + (define-public guile-mastodon (package (name "guile-mastodon") @@ -1057,7 +1130,20 @@ microblogging service.") (file-name (git-file-name name version)) (sha256 (base32 - "01qmv6xnbbq3wih0dl9bscvca2d7zx7bjiqf35y6dkaqsp8nvdxf")))) + "01qmv6xnbbq3wih0dl9bscvca2d7zx7bjiqf35y6dkaqsp8nvdxf")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Allow builds with Guile 3.0. + (substitute* "configure.ac" + (("^GUILE_PKG.*") + "GUILE_PKG([3.0 2.2 2.0])\n")) + + ;; Remove "guile.m4" since it contains an obsolete version + ;; of 'GUILE_PKG' that doesn't work with development + ;; versions such as 2.9. + (delete-file "m4/guile.m4") + #t)))) (build-system gnu-build-system) (arguments '(#:make-flags @@ -1079,6 +1165,15 @@ written in pure Scheme by using Guile's foreign function interface.") (home-page "https://gitlab.com/mothacehe/guile-parted") (license license:gpl3+))) +(define-public guile3.0-parted + (package + (inherit guile-parted) + (name "guile3.0-parted") + (inputs `(("guile" ,guile-next) + ,@(alist-delete "guile" (package-inputs guile-parted)))) + (propagated-inputs + `(("guile-bytestructures" ,guile3.0-bytestructures))))) + (define-public guile-xosd (package (name "guile-xosd") @@ -1248,15 +1343,16 @@ PostgreSQL.") (define-public guile-config (package (name "guile-config") - (version "0.3") + (version "0.3.1") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/a-sassmannshausen/guile-config") - (commit "ce12de3f438c6b2b59c43ee21bcd58251835fdf3"))) - (file-name "guile-config-0.3-checkout") - (sha256 (base32 "02zbpin0r9m2vxmr7mv68v3xdn247dcck56kbzjn0gj4c2rhih85")))) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 (base32 + "0gglsqwpw77gvrqcny8irpqfl7qdf2v8n9ggwrswanxalj4vcbvf")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -1278,10 +1374,17 @@ above command-line parameters.") "https://gitlab.com/a-sassmannshausen/guile-config") (license license:gpl3+))) +(define-public guile3.0-config + (package + (inherit guile-config) + (name "guile3.0-config") + (inputs `(("guile" ,guile-next) + ,@(alist-delete "guile" (package-inputs guile-config)))))) + (define-public guile-hall (package (name "guile-hall") - (version "0.2") + (version "0.2.1") (source (origin (method git-fetch) @@ -1290,7 +1393,7 @@ above command-line parameters.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1bkbqgj24xh5b65sw2m98iggpi67b72szx1dsiq3cpzlcxplmgaz")))) + "0dwx5iyg0dmdf64wq0b4w306bapr86jwnw35npgbjq4cqm8qbzqn")))) (build-system gnu-build-system) (arguments `(#:modules @@ -1356,6 +1459,17 @@ provides tight coupling to Guix.") (home-page "https://gitlab.com/a-sassmannshausen/guile-hall") (license license:gpl3+))) +(define-public guile3.0-hall + (package + (inherit guile-hall) + (name "guile3.0-hall") + (inputs `(("guile" ,guile-next) + ,@(alist-delete "guile" (package-inputs guile-hall)))) + (propagated-inputs + `(("guile-config" ,guile3.0-config) + ,@(alist-delete "guile-config" + (package-propagated-inputs guile-hall)))))) + (define-public guile-ics (package (name "guile-ics") @@ -1368,7 +1482,15 @@ provides tight coupling to Guix.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g")))) + "0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Allow builds with Guile 3.0. + (substitute* "configure.ac" + (("^GUILE_PKG.*") + "GUILE_PKG([3.0 2.2 2.0])\n")) + #t)))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf-wrapper) @@ -1388,6 +1510,14 @@ pure Scheme. The library can be used to read and write iCalendar data. The library is shipped with documentation in Info format and usage examples.") (license license:gpl3+))) +(define-public guile3.0-ics + (package + (inherit guile-ics) + (name "guile3.0-ics") + (inputs `(("guile" ,guile-3.0) + ,@(alist-delete "guile" (package-inputs guile-ics)))) + (propagated-inputs `(("guile-lib" ,guile3.0-lib))))) + (define-public guile-wisp (package (name "guile-wisp") @@ -1462,6 +1592,22 @@ whitespace-significant language. It may be easier on the eyes for some users and in some situations.") (license license:gpl3+))) +(define-public guile3.0-wisp + (package + (inherit guile-wisp) + (name "guile3.0-wisp") + (inputs `(("guile" ,guile-3.0))) + (arguments + (substitute-keyword-arguments (package-arguments guile-wisp) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'support-guile-3.0 + (lambda _ + (substitute* "configure" + (("_guile_versions_to_search=\"2.2") + "_guile_versions_to_search=\"3.0 2.2")) + #t)))))))) + (define-public guile-sly (package (name "guile-sly") @@ -1673,7 +1819,18 @@ library.") version ".tar.gz")) (sha256 (base32 - "0aizxdif5dpch9cvs8zz5g8ds5s4xhfnwza2il5ji7fv2h7ks7bd")))) + "0aizxdif5dpch9cvs8zz5g8ds5s4xhfnwza2il5ji7fv2h7ks7bd")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Work around miscompilation on Guile 3.0.0 at -O2: + ;; . + (substitute* "src/md5.scm" + (("\\(define f-ash ash\\)") + "(define f-ash (@ (guile) ash))\n") + (("\\(define f-add \\+\\)") + "(define f-add (@ (guile) +))\n")) + #t)))) (build-system gnu-build-system) (arguments '(#:make-flags @@ -1710,6 +1867,12 @@ for Guile\".") (name "guile2.0-lib") (inputs `(("guile" ,guile-2.0))))) +(define-public guile3.0-lib + (package + (inherit guile-lib) + (name "guile3.0-lib") + (inputs `(("guile" ,guile-3.0))))) + (define-public guile-minikanren (package (name "guile-minikanren") @@ -1814,7 +1977,15 @@ inspired by the SCSH regular expression system.") version ".tar.gz")) (sha256 (base32 - "056z4znikk83nr5mr0x2ac3iinqbywa2bvb37mhr566a1q50isfc")))) + "056z4znikk83nr5mr0x2ac3iinqbywa2bvb37mhr566a1q50isfc")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Allow builds with Guile 3.0. + (substitute* "configure" + (("2\\.2 2\\.0") + "3.0 2.2 2.0")) + #t)))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 match) (ice-9 ftw) @@ -1829,8 +2000,11 @@ inspired by the SCSH regular expression system.") (bin (string-append out "/bin")) (site (string-append out "/share/guile/site")) - (deps (list (assoc-ref inputs "guile-reader") - (assoc-ref inputs "guile-commonmark")))) + (guile-reader (assoc-ref inputs "guile-reader")) + (deps `(,@(if guile-reader + (list guile-reader) + '()) + ,(assoc-ref inputs "guile-commonmark")))) (match (scandir site) (("." ".." version) (let ((modules (string-append site "/" version)) @@ -1868,6 +2042,15 @@ interface for reading articles in any format.") (home-page "http://haunt.dthompson.us") (license license:gpl3+))) +(define-public guile3.0-haunt + (package + (inherit haunt) + (name "guile3.0-haunt") + (inputs `(("guile" ,guile-3.0))) + (propagated-inputs + ;; XXX: Guile-Reader is currently unavailable for Guile 3.0 so strip it. + `(("guile-commonmark" ,guile3.0-commonmark))))) + (define-public guile2.0-haunt (package (inherit haunt) @@ -1918,7 +2101,15 @@ key-value cache and store.") "/" name "-" version ".tar.gz")) (sha256 (base32 - "17lrsdisa3kckh24q114vfmzdc4wkqa6ccwl4hdlrng5wpn1iman")))) + "17lrsdisa3kckh24q114vfmzdc4wkqa6ccwl4hdlrng5wpn1iman")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Allow builds with Guile 3.0. + (substitute* "configure" + (("2\\.2 2\\.0") + "3.0 2.2 2.0")) + #t)))) (build-system gnu-build-system) (inputs `(("guile" ,guile-2.2))) @@ -1934,6 +2125,12 @@ is no support for parsing block and inline level HTML.") (home-page "https://github.com/OrangeShark/guile-commonmark") (license license:lgpl3+))) +(define-public guile3.0-commonmark + (package + (inherit guile-commonmark) + (name "guile3.0-commonmark") + (inputs `(("guile" ,guile-3.0))))) + (define-public guile2.0-commonmark (package (inherit guile-commonmark) @@ -1957,7 +2154,7 @@ is no support for parsing block and inline level HTML.") (add-after 'unpack 'fix-finding-guile (lambda _ (substitute* "configure" - (("2\\.0") "2.2 2.0")) + (("2\\.0") "3.0 2.2 2.0")) #t)) (add-before 'check 'adjust-tests (lambda _ @@ -1987,6 +2184,12 @@ Guile, so its configuration can be written in Scheme; the original cron format is also supported.") (license license:gpl3+))) +(define-public guile3.0-mcron + (package + (inherit mcron) + (name "guile3.0-mcron") + (inputs `(("guile" ,guile-3.0))))) + (define-public mcron2 ;; This was mthl's mcron development branch, and it became mcron 1.1. (deprecated-package "mcron2" mcron)) @@ -2022,6 +2225,12 @@ format is also supported.") The picture values can directly be displayed in Geiser.") (license license:lgpl3+)))) +(define-public guile3.0-picture-language + (package + (inherit guile-picture-language) + (name "guile3.0-picture-language") + (inputs `(("guile" ,guile-3.0))))) + (define-public guile-studio (package (name "guile-studio") @@ -2284,19 +2493,46 @@ list of components. This module takes care of that for you.") (define-public guile-gi (package (name "guile-gi") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) (uri (string-append "http://lonelycactus.com/tarball/guile_gi-" version ".tar.gz")) (sha256 (base32 - "1ah5bmkzplsmkrk7v9vlxlqch7i91qv4cq2d2nar9xshbpcrj484")))) + "1v82kz8mz7wgq6w5llaz8a2wwdnl8vk2667dpjwjxscl0qyxsy6y")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-gnu-filesystem-hierarchy") + #:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 popen) + (ice-9 rdelim)) #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-references-to-extension + (lambda* (#:key outputs #:allow-other-keys) + (let ((effective (read-line + (open-pipe* OPEN_READ + "guile" "-c" + "(display (effective-version))")))) + (substitute* '("module/gi.scm" + "module/gi/oop.scm" + "module/gi/documentation.scm" + "module/gi/types.scm" + "module/gi/repository.scm") + (("\\(load-extension \"libguile-gi\" \"(.*)\"\\)" m arg) + (format #f "~s" + `(load-extension + (format #f "~alibguile-gi" + (if (getenv "GUILE_GI_UNINSTALLED") + "" + ,(format #f "~a/lib/guile/~a/" + (assoc-ref outputs "out") + effective))) + ,arg))))) + (setenv "GUILE_GI_UNINSTALLED" "1") + #t)) (add-before 'check 'start-xorg-server (lambda* (#:key inputs #:allow-other-keys) ;; The init_check test requires a running X server. @@ -2326,6 +2562,14 @@ libraries, such as GTK+3. Its README comes with the disclaimer: This is pre-alpha code.") (license license:gpl3+))) +(define-public guile3.0-gi + (package + (inherit guile-gi) + (name "guile3.0-gi") + (native-inputs + `(("guile" ,guile-3.0) + ,@(package-native-inputs guile-gi))))) + (define-public guile-srfi-159 (let ((commit "1bd98abda2ae4ef8f36761a167903e55c6bda7bb") (revision "0")) @@ -2732,18 +2976,17 @@ tests being run, resulting clearer and more specific output.") (define-public guile-semver (package (name "guile-semver") - (version "0.1.0") + (version "0.1.1") (source (origin (method url-fetch) (uri (string-append "https://files.ngyro.com/guile-semver/" "guile-semver-" version ".tar.gz")) (sha256 (base32 - "06b66rj7nyhr6i3dpkwvfw1xb10w2pngrsw2hxfxkznwsbh9byfz")))) + "109p4n39ln44cxvwdccf9kgb96qx54makvd2ir521ssz6wchjyag")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config) - ("srfi-64-driver" ,srfi-64-driver))) + `(("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.2))) (home-page "https://ngyro.com/software/guile-semver.html") @@ -2810,3 +3053,183 @@ SHA-512).") (name "guile3.0-hashing") (native-inputs `(("guile" ,guile-next))))) + +(define-public guile-webutils + (let ((commit "8541904f761066dc9c27b1153e9a838be9a55299") + (revision "0")) + (package + (name "guile-webutils") + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://notabug.org/cwebber/guile-webutils.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s9n3hbxd7lfpdi0x8wr0cfvlsf6g62ird9gbspxdrp5p05rbi64")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) + (inputs + `(("guile" ,guile-2.2))) + (propagated-inputs + `(("guile-irregex" ,guile-irregex) + ("guile-gcrypt" ,guile-gcrypt))) + (home-page "https://notabug.org/cwebber/guile-webutils") + (synopsis "Web application authoring utilities for Guile") + (description + "This package provides tooling to write web applications in Guile, such +as signed sessions, multipart message support, etc.") + (license license:gpl3+)))) + +(define-public guile-lens + (let ((commit "14b15d07255f9d3f55d40a3b750d13c9ee3a154f") + (revision "0")) + (package + (name "guile-lens") + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/a-sassmannshausen/guile-lens.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0w8jzqyla56yrgj7acsgd4nspyir6zgp3vgxid4xmwhg9wmf1ida")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'run-hall + (lambda _ + (setenv "HOME" "/tmp") ; for ~/.hall + (invoke "hall" "dist" "-x")))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("guile" ,guile-2.2) + ("guile-hall" ,guile-hall) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) + (home-page "https://gitlab.com/a-sassmannshausen/guile-lens.git") + (synopsis "Composable lenses for data structures in Guile") + (description + "Guile-Lens is a library implementing lenses in Guile. The library is +currently a re-implementation of the lentes library for Clojure. Lenses +provide composable procedures, which can be used to focus, apply functions +over, or update a value in arbitrary data structures.") + (license license:gpl3+)))) + +(define-public guile-xapian + (let ((commit "ede26b808188eb4d14c6b4181c933dfc09c0a22e") + (revision "0")) + (package + (name "guile-xapian") + (version (git-version "0" revision commit)) + (home-page "https://git.systemreboot.net/guile-xapian") + (source + (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07a9fmqi3pm6mbbpzi01mjwrqwnljs2rnc3603sq49dz4lf663gb")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings + (inputs + `(("guile" ,guile-2.2) + ("xapian" ,xapian) + ("zlib" ,zlib))) + (native-inputs + `(("autoconf" ,autoconf) + ("autoconf-archive" ,autoconf-archive) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("swig" ,swig))) + (synopsis "Guile bindings for Xapian") + (description "@code{guile-xapian} provides Guile bindings for Xapian, a +search engine library. Xapian is a highly adaptable toolkit which allows +developers to easily add advanced indexing and search facilities to their own +applications. It has built-in support for several families of weighting +models and also supports a rich set of boolean query operators.") + (license license:gpl2+)))) + +(define-public guile3.0-xapian + (package + (inherit guile-xapian) + (name "guile3.0-xapian") + (inputs + `(("guile" ,guile-next) + ,@(alist-delete "guile" (package-inputs guile-xapian)))))) + +(define-public guile-torrent + (package + (name "guile-torrent") + (version "0.1.3") + (source (origin (method git-fetch) + (uri (git-reference + (url + "https://github.com/o-nly/torrent.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1yiagi55ncq1x7s9n7salzywjm4l96y3n7y3s47a9anvz87mrmim")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("guile" ,guile-2.2) + ("texinfo" ,texinfo) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("guile-gcrypt" ,guile-gcrypt))) + (home-page "https://github.com/o-nly/torrent") + (synopsis "Torrent library for GNU Guile") + (description "This package provides facilities for working with +@code{.torrent} or metainfo files. Implements a bencode reader and writer +according to Bitorrent BEP003.") + (license license:gpl3+))) + +(define-public guile-irc + (let ((commit "375d3bde9c6ae7ccc9d7cc65817966b6fda8f26a") + (revision "0")) + (package + (name "guile-irc") + (version (git-version "0.3.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rekado/guile-irc.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "113lcckcywrz9060w1c3fnvr8d7crdsjgsv4h47hgmr1slgadl4y")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--enable-gnutls=yes"))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("texinfo" ,texinfo))) + (inputs + `(("gnutls" ,gnutls) + ("guile" ,guile-2.2))) + (home-page "https://github.com/rekado/guile-irc") + (synopsis "IRC library for Guile") + (description "This package provides a Guile library for @dfn{Internet +Relay Chat} (IRC).") + ;; Some file headers incorrectly say LGPLv2+. + (license license:lgpl2.1+))))