;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; 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 © 2016 Alex Sassmannshausen <alex@pompo.co>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com>
-;;; Copyright © 2016, 2019, 2020 Eraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2019, 2020, 2021 Eraim Flashner <efraim@flashner.co.il>
;;; 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 Amirouche <amirouche@hypermove.net>
;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Nikita <nikita@n0.is>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; 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 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 swedebugia <swedebugia@riseup.net>
;;; Copyright © 2019, 2020 Amar Singh <nly@disroot.org>
-;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
+;;; Copyright © 2019, 2021 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; 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, 2021 Masaya Tojo <masaya@tojo.tokyo>
;;; Copyright © 2020 Jesse Gibbons <jgibbons2357@gmail.com>
;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com>
+;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
+;;; Copyright © 2020, 2021 pukkamustard <pukkamustard@posteo.net>
+;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
+;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
+;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages emacs)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages mes)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages noweb)
#:use-module (gnu packages nss)
+ #:use-module (gnu packages package-management)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#: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)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix hg-download)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system guile)
#:use-module (guix utils)
+ #:use-module ((guix build utils) #:select (alist-replace))
#:use-module (ice-9 match)
#:use-module ((srfi srfi-1) #:select (alist-delete)))
;; projects.
;; TODO: Add guile-dbi and guile-dbd optional dependencies.
(propagated-inputs
- `(("guile-json" ,guile-json-1) ; This ia already using guile-2.2.
+ `(("guile-json" ,guile-json-1) ; This is already using guile-2.2.
("guile-readline" ,guile2.2-readline)
("guile-redis" ,guile2.2-redis)))
(native-inputs
(home-page "https://www.gnu.org/software/artanis/")
(license (list license:gpl3+ license:lgpl3+)))) ;dual license
+(define-public guile-f-scm
+ (package
+ (name "guile-f-scm")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~brown121407/f.scm")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14wyrs3m1649l3km4pl2175dmap1372j5h8nkhykrbxg5xqp6ivd"))))
+ (build-system guile-build-system)
+ (native-inputs
+ `(("guile" ,guile-3.0)))
+ (home-page "https://git.sr.ht/~brown121407/f.scm")
+ (synopsis "Library for working with files and directories")
+ (description
+ "f.scm is a library intended to facilitate working with files and
+directories (the file system in general). It was initially inspired by the
+f library for Emacs.")
+ (license license:gpl3+)))
+
;; There has not been any release yet.
(define-public guildhall
(let ((commit "2fe2cc539f4b811bbcd69e58738db03eb5a2b778")
(string-append "--libdir=" (assoc-ref %outputs "out")
"/lib/bash"))))
(native-inputs `(("pkg-config" ,pkg-config)
- ("autoconf" ,autoconf-wrapper)
+ ("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
(define-public guile-dsv
(package
(name "guile-dsv")
- (version "0.3.0")
+ (version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/artyom-poptsov/guile-dsv")
- (commit "6c867915dc4198eacc548a4834ef0e1aef852795")))
+ (commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1mxbbcsmbjfnh4yydqz44ihbkdnzdwz38xanaam128arlb7hwr8n"))))
+ "1mvyc8i38j56frjh3p6vwziv8lrzlyqndz30663h5nwcp0044sdn"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
#:imported-modules ((guix build guile-build-system)
,@%gnu-build-system-modules)
#:phases (modify-phases %standard-phases
- ;; Support Guile 3.0 in configure from upstream commit
- ;; 4c724577ccf19bb88580f72f2f6b166a0447ce3f
- (add-before 'bootstrap 'configure-support-guile3.0
- (lambda _
- (substitute* "configure.ac"
- (("GUILE_PKG.*")
- "GUILE_PKG([3.0 2.0 2.2])"))
- #t))
(add-before 'configure 'set-guilesitedir
(lambda _
(substitute* "Makefile.in"
(define-public guile3.0-fibers
(deprecated-package "guile3.0-fibers" guile-fibers))
+(define-public guile-filesystem
+ (package
+ (name "guile-filesystem")
+ (version "0.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/leoprikler/guile-filesystem.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1shmkc0y9r2sj3kw7hrsnamnp7y8xifkhf3m3rnfxczqg63k67vy"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (inputs
+ `(("guile" ,guile-3.0)))
+ (home-page "https://gitlab.com/leoprikler/guile-filesystem")
+ (synopsis "Complementary library to Guile's built-in file system procedures")
+ (description "@code{guile-filesystem} provides a set of utility functions,
+that augment Guile's support for handling files and their names.")
+ (license license:lgpl3+)))
+
+(define-public guile2.0-filesystem
+ (package
+ (inherit guile-filesystem)
+ (name "guile2.0-filesystem")
+ (inputs `(("guile" ,guile-2.0)))))
+
+(define-public guile2.2-filesystem
+ (package
+ (inherit guile-filesystem)
+ (name "guile2.2-filesystem")
+ (inputs `(("guile" ,guile-2.2)))))
+
(define-public guile-syntax-highlight
(package
(name "guile-syntax-highlight")
(inputs `(("guile" ,guile-2.2)))))
(define-public guile-squee
- (let ((commit "7dcd22b54fd56c9e629489191bb27ac80ecea9db")
- (revision "1"))
+ (let ((commit "c1497a216e881cfde39d6aa7c73d0bf6b497c89b")
+ (revision "2"))
(package
(name "guile-squee")
(version (string-append "0-" revision "." (string-take commit 7)))
(file-name (git-file-name name version))
(sha256
(base32
- "1568sk6ada7x9qpfhax0qq1bq93qll1q7nyjrb7h3c1c3lc9sc15"))))
+ "1alskrplnyl1n5wb39drn72cwplp47a8cpdd1n9cdnw3jhk5p12p"))))
(build-system guile-build-system)
(arguments
'(#:phases
@end itemize\n")
(license license:bsd-3)))
+(define-public guile2.0-pg
+ (package
+ (name "guile2.0-pg")
+ (version "0.49")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/guile-pg/guile-pg-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1fizcqga96p9n2jjhi9nprhry20hg9wvcl5b8gya4vhzwz6qhysp"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'patch-src/Makefile
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "src/Makefile"
+ (("\\/share\\/guile\\/site") "/share/guile/site/2.0"))
+ #t)))))
+ (native-inputs
+ `(("procps" ,procps) ; fake-cluster-control uses ps
+ ("guile" ,guile-2.0)
+ ("postgresql" ,postgresql)))
+ (inputs
+ `(("guile" ,guile-2.0)
+ ("postgresql" ,postgresql)))
+ (home-page "https://www.nongnu.org/guile-pg/")
+ (synopsis "Guile modules for accessing PostgreSQL")
+ (description
+ "Guile-PG is a collection of modules for Guile allowing access to the
+PostgreSQL RDBMS from Scheme programs.
+
+This has been tested against PostgreSQL 10 through 13, but currently only
+works with Guile 1.4.x to 2.0.x.")
+ (license license:gpl3+)))
+
(define-public guile-prometheus
- (let ((commit "8980f39bafb3e59d6de17e7b311df4932e5b5182")
- (revision "1"))
+ (let ((commit "35dc26c0ea44c3d70f1819f240d84e2cbb4b7b4c")
+ (revision "5"))
(package
(name "guile-prometheus")
(version (git-version "0" revision commit))
(commit commit)))
(sha256
(base32
- "04vwza78b5nq0szzxzvpnfjyfkb4pqf2w4dx3kz1f082n01xnwss"))
+ "07822jj4appw37lf444kc4xlgl7nm64mgldag56072l55kwashgb"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(native-inputs
(license license:gpl3+)))
(define-public guile-simple-zmq
- (let ((commit "68bedb6679716214fb9d3472da57544526f7a618")
- (revision "3"))
+ (let ((commit "b2ea97e5a0e7417ce718b27b6fd55a3146364b82")
+ (revision "9"))
(package
(name "guile-simple-zmq")
(version (git-version "0.0.0" revision commit))
(commit commit)))
(sha256
(base32
- "1ad3xg69qqviy1f6dnlw0ysmfdbmp1jq65rfqb8nfd8dsrq2syli"))
+ "08qvcxx0njz9545xa0lq3wpf55v9cl9nbb640ry1lig11wpymqxb"))
(file-name (git-file-name name version))))
- (build-system guile-build-system)
+ (build-system gnu-build-system)
(arguments
- `(#:source-directory "src"
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'set-libzmq-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "src/simple-zmq.scm"
- (("\\(dynamic-link \"libzmq\"\\)")
- (format #f "(dynamic-link \"~a/lib/libzmq.so\")"
- (assoc-ref inputs "zeromq"))))
- #t)))))
+ '(#:make-flags
+ '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
+
(native-inputs
`(("guile" ,guile-3.0)))
(inputs
- `(("zeromq" ,zeromq)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("zeromq" ,zeromq)))
(home-page "https://github.com/jerry40/guile-simple-zmq")
(synopsis "Guile wrapper over ZeroMQ library")
(description
format.")
(license license:agpl3+)))
+(define-public guile-email-latest
+ (let ((commit "ca0520a33c9042a68691d85c6849f88412ca8357")
+ (revision "1"))
+ (package
+ (inherit guile-email)
+ (name "guile-email-latest")
+ (version (git-version "0.2.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.systemreboot.net/guile-email")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1l5mikalawq83786rnb9zky908ncsd5dna9vyz6bx6kc2frrl7xv"))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("texinfo" ,texinfo))))))
+
(define-public guile2.2-email
(package
(inherit guile-email)
(deprecated-package "guile3.0-newt" guile-newt))
(define-public guile-mastodon
- (package
- (name "guile-mastodon")
- (version "0.0.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://framagit.org/prouby/guile-mastodon.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1vblf3d1bbwna3l09p2ap5y8ycvl549bz6whgk78imyfmn28ygry"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("guile" ,guile-2.2)
- ("gnutls" ,gnutls)
- ("guile-json" ,guile-json-1)))
- (home-page "https://framagit.org/prouby/guile-mastodon")
- (synopsis "Guile Mastodon REST API module")
- (description "This package provides Guile modules to access the
+ (let ((commit "74b75bcf547df92acee1e0466ecd7ec07f775392")
+ (revision "1"))
+ (package
+ (name "guile-mastodon")
+ (version (git-version "0.0.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://framagit.org/prouby/guile-mastodon.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1wx5h6wa9c0na8mrnr2nv1nzjvq68zyrly8yyp11dsskhaw4y33h"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("emacs" ,emacs-minimal)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (inputs
+ `(("guile" ,guile-3.0)
+ ("gnutls" ,gnutls)
+ ("guile-json" ,guile-json-4)))
+ (home-page "https://framagit.org/prouby/guile-mastodon")
+ (synopsis "Guile Mastodon REST API module")
+ (description "This package provides Guile modules to access the
@uref{https://docs.joinmastodon.org/api/, REST API of Mastodon}, a federated
microblogging service.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public guile-parted
(package
#t))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf-wrapper)
+ `(("autoconf" ,autoconf)
("automake" ,automake)
("texinfo" ,texinfo)
;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
(define-public guile3.0-ics
(deprecated-package "guile3.0-ics" guile-ics))
+(define-public guile-imanifest
+ (let ((commit "ccd5a2111b008d778106f5595a3a585954d95d0")
+ (revision "0"))
+ (package
+ (name "guile-imanifest")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~brown121407/guile-imanifest")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0i5qllcrhdjhspyj7j9h4dc9y37d3cfbpackmybm3030qgfxqirf"))))
+ (build-system guile-build-system)
+ (native-inputs
+ `(("guile" ,guile-3.0)))
+ (propagated-inputs
+ `(("guile-readline" ,guile-readline)
+ ("guile-colorized" ,guile-colorized)
+ ("guix" ,guix)))
+ (home-page "https://sr.ht/~brown121407/guile-imanifest")
+ (synopsis "Interactive Guix manifests")
+ (description "This package provides functions to generate Guix manifests
+interactively. It works by scanning an alist of package categories, to ask the
+user which package sets would they like to install from it.")
+ (license license:gpl3+))))
+
(define-public guile-wisp
(package
(name "guile-wisp")
(define-public guile3.0-wisp
(deprecated-package "guile3.0-wisp" guile-wisp))
+(define-public guile-udev
+ (package
+ (name "guile-udev")
+ (version "0.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/artyom-poptsov/guile-udev")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1l6csncjqnx58c6c3wdl7rshnhk4pzhjq2q8lnkg483564s9w5py"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gettext-minimal)
+ ("libtool" ,libtool)
+ ("texinfo" ,texinfo)
+ ("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs
+ `(("guile" ,guile-3.0)
+ ("eudev" ,eudev)))
+ (home-page "https://github.com/artyom-poptsov/guile-udev")
+ (synopsis "Guile bindings to libudev")
+ (description
+ "Guile-Udev provides GNU Guile bindings to libudev.")
+ (license license:gpl3+)))
+
(define-public guile-sly
(package
(name "guile-sly")
(license license:gpl3+)))
(define-public g-golf
- (let ((commit "84e894eb7945c3bcdf7f8d5135c1be3efa524c92")
- (revision "822"))
+ (let ((commit "ef830107b9765bd6a2da848d0cbe45e11374c0b5")
+ (revision "839"))
(package
(name "g-golf")
(version (git-version "0.1.0" revision commit))
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1pkcij65zy2lkip5yrfzj85nq17pp9mrf0d4sk6hpjqr4kd0bxd5"))))
+ (base32 "0r472hvmf447kqvkahp1wy4irb5gy8y793hm8r9rc511smdx66cw"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
(define-public guile-lib
(package
(name "guile-lib")
- (version "0.2.6.1")
+ (version "0.2.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/guile-lib/guile-lib-"
version ".tar.gz"))
(sha256
(base32
- "0aizxdif5dpch9cvs8zz5g8ds5s4xhfnwza2il5ji7fv2h7ks7bd"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Work around miscompilation on Guile 3.0.0 at -O2:
- ;; <https://bugs.gnu.org/39251>.
- (substitute* "src/md5.scm"
- (("\\(define f-ash ash\\)")
- "(define f-ash (@ (guile) ash))\n")
- (("\\(define f-add \\+\\)")
- "(define f-add (@ (guile) +))\n"))
- #t))))
+ "1ph4z4a64m75in36pdb4dw63dzdq3hdgh16gq33q460jby23pvz4"))))
(build-system gnu-build-system)
(arguments
- '(#:make-flags
- '("GUILE_AUTO_COMPILE=0") ; to prevent guild errors
+ '(#:make-flags '("GUILE_AUTO_COMPILE=0") ;placate guild warnings
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-module-dir
"moddir = $(datadir)/guile/site/@GUILE_EFFECTIVE_VERSION@\n")
(("^godir = ([[:graph:]]+)")
"godir = \
-$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
- #t)))))
- (native-inputs `(("pkg-config" ,pkg-config)))
- (inputs `(("guile" ,guile-3.0)))
+$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gettext-minimal)
+ ("guile" ,guile-3.0)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-3.0))) ;for cross-compilation
(home-page "https://www.nongnu.org/guile-lib/")
(synopsis "Collection of useful Guile Scheme modules")
(description
modules, allowing for people to cooperate integrating their generic Guile
modules into a coherent library. Think \"a down-scaled, limited-scope CPAN
for Guile\".")
-
;; The whole is under GPLv3+, but some modules are under laxer
;; distribution terms such as LGPL and public domain. See `COPYING' for
;; details.
(package
(inherit guile-lib)
(name "guile2.0-lib")
- (inputs `(("guile" ,guile-2.0)))))
+ (native-inputs
+ (alist-replace "guile" (list guile-2.0)
+ (package-native-inputs guile-lib)))
+ (inputs
+ (alist-replace "guile" (list guile-2.0)
+ (package-inputs guile-lib)))))
(define-public guile2.2-lib
(package
(inherit guile-lib)
(name "guile2.2-lib")
- (inputs `(("guile" ,guile-2.2)))))
+ (native-inputs
+ (alist-replace "guile" (list guile-2.2)
+ (package-native-inputs guile-lib)))
+ (inputs
+ (alist-replace "guile" (list guile-2.2)
+ (package-inputs guile-lib)))))
(define-public guile3.0-lib
(deprecated-package "guile3.0-lib" guile-lib))
`(("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(inputs
- `(("guile" ,guile-3.0)))
+ ;; Depend on the latest Guile to avoid bytecode compatibility issues when
+ ;; using modules built against the latest version.
+ `(("guile" ,guile-3.0-latest)))
(propagated-inputs
`(("guile-reader" ,guile-reader)
("guile-commonmark" ,guile-commonmark)))
(description "Haunt is a static site generator written in Guile
Scheme. Haunt features a functional build system and an extensible
interface for reading articles in any format.")
- (home-page "http://haunt.dthompson.us")
+ (home-page "https://dthompson.us/projects/haunt.html")
(license license:gpl3+)))
(define-public guile2.2-haunt
(define-public guile-redis
(package
(name "guile-redis")
- (version "1.3.0")
+ (version "2.0.0")
(home-page "https://github.com/aconchillo/guile-redis")
(source (origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "14izs8daxh7pb7vwpxi5g427qa31137jkaxrb1cy5rpjkwchy723"))))
+ "1zk2x37lw6ygf7rwy71svnsian8lj51axpxmm66ah7dazn69swlm"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:make-flags '("GUILE_AUTO_COMPILE=0")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
(package
(inherit guile-redis)
(name "guile2.0-redis")
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda _
+ ;; put-string is in (rnrs io ports) in guile2.0,
+ ;; not in (ice-9 textual-ports)
+ (substitute* "redis/utils.scm"
+ (("\\(ice-9 textual-ports\\)")
+ "(rnrs io ports)"))
+ #t)))
+ ,@(package-arguments guile-redis)))
(native-inputs `(("guile" ,guile-2.0)
,@(alist-delete "guile"
(package-native-inputs guile-redis))))))
"3.0 2.2 2.0"))
#t))))
(build-system gnu-build-system)
+ ;; The tests throw exceptions with Guile 3.0.5, because they evaluate
+ ;; (exit ...).
+ ;;
+ ;; This has been fixed upstream, but there has not been a new release
+ ;; containing this change.
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests-when-building-with-guile-3.0.5
+ (lambda _
+ (substitute* (find-files "tests" "\\.scm$")
+ (("\\(exit.*") ""))
+ #t)))))
(inputs
`(("guile" ,guile-3.0)))
(native-inputs
(deprecated-package "guile3.0-mcron" mcron))
(define-public guile-picture-language
- (let ((commit "91d10c96708d732145006dd2802acc4de08b632e")
- (revision "1"))
+ (let ((commit "a1322bf11945465241ca5b742a70893f24156d12")
+ (revision "5"))
(package
(name "guile-picture-language")
(version (git-version "0.0.1" revision commit))
(file-name (git-file-name name version))
(sha256
(base32
- "1ydvw9dvssdvlvhh1dr8inyzy2x6m41qgp8hsivca1xysr4gc23a"))))
+ "03i528z92ainccgm28shg4haxiav5x4cyhyi5dggq1rm027vbm99"))))
(build-system gnu-build-system)
(inputs
`(("guile" ,guile-3.0)))
+ (propagated-inputs
+ `(("guile-cairo" ,guile-cairo)
+ ("guile-rsvg" ,guile-rsvg)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
- ("imagemagick" ,imagemagick)
+ ("librsvg" ,librsvg)
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(home-page "https://git.elephly.net/software/guile-picture-language.git")
(description
"This package provides a simple SVG-based picture language for Guile.
The picture values can directly be displayed in Geiser.")
- (license license:lgpl3+))))
+ ;; (pict base64) is under GPLv3+, the rest is under LGPLv3+
+ (license (list license:lgpl3+
+ license:gpl3+)))))
(define-public guile2.2-picture-language
(package
(inherit guile-picture-language)
(name "guile2.2-picture-language")
- (inputs `(("guile" ,guile-2.2)))))
+ (inputs `(("guile" ,guile-2.2)))
+ (propagated-inputs
+ `(("guile-cairo" ,guile2.2-cairo)
+ ("guile-rsvg" ,guile2.2-rsvg)))))
(define-public guile3.0-picture-language
(deprecated-package "guile3.0-picture-language"
guile-picture-language))
(define-public guile-studio
- (let ((commit "5c05b03e8a5c450f7358ceec7ea602f29c49d54e")
+ (let ((commit "93622e788e727d3275291f999f7e570de6a5bb35")
(revision "1"))
(package
(name "guile-studio")
- (version (git-version "0.0.3" revision commit))
+ (version (git-version "0.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "11wyf6x7mhyhimv0cd57pl39zgav9hc9ljqi3g2g35b264hylpnx"))))
+ "0n6y0bcmkx50m8rccz7a6h4yxmwq54pf2bfzpd5ndz2bsiwiq13l"))))
(build-system gnu-build-system)
(arguments
`(#:modules
,@%gnu-build-system-modules)
#:tests? #f ; there are none
#:make-flags
- (list (string-append "ICONS_DIR="
- (assoc-ref %build-inputs "adwaita-icon-theme")
- "/share/icons/Adwaita/")
- (string-append "PICT_DIR="
+ (list (string-append "PICT_DIR="
(assoc-ref %build-inputs "guile-picture-language"))
(string-append "EMACS_DIR="
(assoc-ref %build-inputs "emacs"))
`(("guile" ,guile-3.0)
("guile-picture-language" ,guile-picture-language)
("emacs" ,emacs)
+ ("emacs-f" ,emacs-f) ; needed by doom-modeline
+ ("emacs-memoize" ,emacs-memoize) ; needed by all-the-icons
+ ("emacs-all-the-icons" ,emacs-all-the-icons) ; needed by doom-modeline
+ ("emacs-all-the-icons-dired" ,emacs-all-the-icons-dired)
+ ("emacs-dired-sidebar" ,emacs-dired-sidebar)
+ ("emacs-doom-modeline" ,emacs-doom-modeline)
+ ("emacs-modus-themes" ,emacs-modus-themes)
("emacs-geiser" ,emacs-geiser)
("emacs-company" ,emacs-company)
+ ("emacs-ivy" ,emacs-ivy)
("emacs-flycheck" ,emacs-flycheck)
("emacs-flycheck-guile" ,emacs-flycheck-guile)
- ("emacs-smart-mode-line" ,emacs-smart-mode-line)
- ("emacs-paren-face" ,emacs-paren-face)
- ("adwaita-icon-theme" ,adwaita-icon-theme)))
+ ("emacs-paren-face" ,emacs-paren-face)))
(native-inputs
`(("texinfo" ,texinfo)))
(home-page "https://gnu.org/software/guile")
(define-public guile-gi
(package
(name "guile-gi")
- (version "0.3.0")
+ (version "0.3.1")
(source (origin
(method url-fetch)
(uri (string-append "http://lonelycactus.com/tarball/guile_gi-"
version ".tar.gz"))
(sha256
(base32
- "05xbwrk50h4f9fh8la8fk2wsxbnm0jcyb9phnpkkjq4sqkhkxlbj"))))
+ "1ljcfyar1nb6h4jskxnnzrcxcsblawc50qqfdn8cax3zqfskmvzj"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--with-gnu-filesystem-hierarchy")
(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")
+ (substitute* (find-files "module" ".*\\.scm")
(("\\(load-extension \"libguile-gi\" \"(.*)\"\\)" m arg)
(format #f "~s"
`(load-extension
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/scheme-requests-for-implementation/srfi-180.git")
+ (url "https://github.com/scheme-requests-for-implementation/srfi-180")
(commit commit)))
(sha256
(base32
(version "0.4.1")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://download.savannah.nongnu.org/releases/"
- name "/" name "-" version ".tar.gz"))
+ (uri (string-append "mirror://savannah/emacsy/emacsy-"
+ version ".tar.gz"))
(sha256
(base32
- "1cpb85dl1nibd34c2x2h7vfmjpkgh353p5b1w20v6cs6gmvgg4np"))))
+ "1cpb85dl1nibd34c2x2h7vfmjpkgh353p5b1w20v6cs6gmvgg4np"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "configure"
+ ;; Allow builds with Guile 3.0.
+ (("2\\.2 2\\.0")
+ "3.0 2.2 2.0")
+
+ ;; Freeglut 3.2 provides 'glut.pc', not 'freeglut.pc'.
+ (("freeglut >= ")
+ "glut >= "))
+
+ (substitute* '("emacsy/emacsy.c"
+ "example/hello-emacsy.c")
+ (("#include <libguile\\.h>")
+ (string-append "#include <stdlib.h>\n"
+ "#include <stdio.h>\n"
+ "#include <string.h>\n"
+ "#include <unistd.h>\n"
+ "#include <libguile.h>\n")))))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("bzip2" ,bzip2)
- ("guile" ,guile-2.2)
+ `(("bzip2" ,bzip2)
+ ("guile" ,guile-3.0)
("gettext" ,gettext-minimal)
("libtool" ,libtool)
("perl" ,perl)
("texlive" ,(texlive-union (list texlive-generic-epsf)))))
(inputs
`(("dbus-glib" ,dbus-glib)
- ("guile" ,guile-2.2)
+ ("guile" ,guile-3.0)
("guile-lib" ,guile-lib)
("guile-readline" ,guile-readline)
("freeglut" ,freeglut)
(license license:gpl3+)))
(define-public emacsy-minimal
- (let ((commit "v0.4.1-31-g415d96f"))
+ (let ((commit "v0.4.1-37-g5f91ee6"))
(package
(inherit emacsy)
(name "emacsy-minimal")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1cs1i1hxwrv0a512j54yrvfh743nci1chx6qjgp4jyzq98ncvxgg"))))
+ (base32 "03ym14g9qhjqmryr5z065kynqm8yhmvnbs2djl6vp3i9cmqln8cl"))))
(build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gettext-minimal)
+ ("libtool" ,libtool)
+ ("makeinfo" ,texinfo)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.2)
("guile-lib" ,guile2.2-lib)
(define-public nomad
(package
(name "nomad")
- (version "0.2.0-alpha-100-g6a565d3")
+ (version "0.2.0-alpha-199-g3e7a475")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0anmprm63a88kii251rl296v1g4iq62r6n4nssx5jbc0hzkknanz"))))
+ "0p0ha6prp7pyadp61clbhc6b55023vxzfwy14j2qygb2mkq7fhic"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("guile" ,guile-2.2)
("glib:bin" ,glib "bin")
("texinfo" ,texinfo)
- ("gettext" ,gnu-gettext)
+ ("gettext" ,gettext-minimal)
("perl" ,perl)))
(inputs
`(;; Guile
("gtk+:bin" ,gtk+ "bin")
("webkitgtk" ,webkitgtk)
("gtksourceview" ,gtksourceview)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("vte" ,vte)
;; Gstreamer
("gstreamer" ,gstreamer)
texlive-fonts-iwona)))
("pkg-config" ,pkg-config)))
(propagated-inputs
- `(("guile-lib" ,guile-lib)))
+ `(("guile-lib" ,guile2.2-lib)))
(home-page "https://www.gnu.org/software/guile-cv/")
(synopsis "Computer vision library for Guile")
(description "Guile-CV is a Computer Vision functional programming library
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("guile" ,guile-2.2)))
+ `(("guile" ,guile-3.0)))
(home-page "https://ngyro.com/software/guile-semver.html")
(synopsis "Semantic Versioning (SemVer) for Guile")
(description "This Guile library provides tools for reading,
(license license:gpl3+)))
(define-public guile3.0-semver
+ (deprecated-package "guile3.0-semver" guile-semver))
+
+(define-public guile2.2-semver
(package
(inherit guile-semver)
- (name "guile3.0-semver")
+ (name "guile2.2-semver")
(inputs
- `(("guile" ,guile-3.0)))))
+ `(("guile" ,guile-2.2)))))
(define-public guile-hashing
(package
(source (origin (method git-fetch)
(uri (git-reference
(url
- "https://github.com/o-nly/torrent.git")
+ "https://github.com/o-nly/torrent")
(commit version)))
(file-name (git-file-name name version))
(sha256
(define-public guile-jsonld
(package
(name "guile-jsonld")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "0zfn3nwlz6xzip1j8xbj768dc299r037cfc81bk6kwl9xhzkjbrg"))))
+ "1ryyvh71899z2inivqglb8d78zzp1sd0wv9a56kvcmrxf1966z6r"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)); require network
(propagated-inputs
`(("guile-gnutls" ,gnutls)
- ("guile-json" ,guile-json-3)
+ ("guile-json" ,guile-json-4)
("guile-rdf" ,guile-rdf)))
(inputs
`(("guile" ,guile-3.0)))
(license license:expat)))
(define-public guile-avahi
- (package
- (name "guile-avahi")
- (version "0.4")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.sv.gnu.org/guile-avahi.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1m286ggy3qs4fkhk5c01p21ghkslgksjsncaky0z037m9qqn06fn"))
- (modules '((guix build utils)))))
- (build-system gnu-build-system)
- (arguments
- '(#:make-flags
- '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
- (inputs
- `(("guile" ,guile-3.0)
- ("avahi" ,avahi)))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("gettext" ,gnu-gettext)
- ("pkg-config" ,pkg-config)
- ("texinfo" ,texinfo)))
- (synopsis "Guile bindings to Avahi")
- (description
- "This package provides bindings for Avahi. It allows programmers to use
-functionalities of the Avahi client library from Guile Scheme programs. Avahi
-itself is an implementation of multicast DNS (mDNS) and DNS Service
+ (let ((commit "6d43caf64f672a9694bf6c98bbf7a734f17a51e8")
+ (revision "1"))
+ (package
+ (name "guile-avahi")
+ (version (git-version "0.4.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.sv.gnu.org/guile-avahi.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fvrf8x22yvc71180hd3xkhspg9yvadi0pbv8shzlsaxqncwy1m9"))
+ (modules '((guix build utils)))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#: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
+ '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
+ ;; Parallel builds fail on powerpc64le-linux.
+ ;; See https://lists.nongnu.org/archive/html/guile-avahi-bugs/2021-01/msg00000.html
+ #:parallel-build? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-guile-avahi-file-name
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "src"
+ (invoke "make" "install"
+ "-j" (number->string
+ (parallel-job-count))))
+ (let* ((out (assoc-ref outputs "out"))
+ (files (find-files "modules" ".scm")))
+ (substitute* files
+ (("\"guile-avahi-v-0\"")
+ (format #f "\"~a/lib/guile/~a/extensions/guile-avahi-v-0\""
+ out (target-guile-effective-version))))
+ #t))))))
+ (inputs
+ `(("guile" ,guile-3.0)
+ ("avahi" ,avahi)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (synopsis "Guile bindings to Avahi")
+ (description
+ "This package provides bindings for Avahi. It allows programmers to
+use functionalities of the Avahi client library from Guile Scheme programs.
+Avahi itself is an implementation of multicast DNS (mDNS) and DNS Service
Discovery (DNS-SD).")
- (home-page "https://www.nongnu.org/guile-avahi/")
- (license license:lgpl3+)))
+ (home-page "https://www.nongnu.org/guile-avahi/")
+ (license license:lgpl3+))))
(define-public guile-mkdir-p
(package
("autoconf-archive" ,autoconf-archive)
("automake" ,automake)
("pkg-config" ,pkg-config)
- ("gettext" ,gnu-gettext)))
+ ("gettext" ,gettext-minimal)))
(inputs `(("guile" ,guile-3.0)))
(synopsis "Implementation of a recursive @code{mkdir} for Guile")
(description
directory of its argument if it does not exist.")
(home-page "https://mkdir-p.divoplade.fr")
(license license:asl2.0)))
+
+(define-public guile-jwt
+ (package
+ (name "guile-jwt")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aconchillo/guile-jwt")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1p8sapiv5im18rjnzc8xnw6y7dr661rycf9g10z5ww0dl4rfz3z1"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("guile-json" ,guile-json-4)))
+ (inputs
+ `(("guile" ,guile-3.0)))
+ (home-page "https://github.com/aconchillo/guile-jwt")
+ (synopsis "JSON Web Token library for Guile")
+ (description
+ "guile-jwt is a JSON Web Token module for Guile. JSON Web Tokens are an
+open, industry standard (RFC 7519) method for representing claims securely
+between two parties. guile-jwt allows you to decode, verify and generate
+JWT. Supported algorithms: HS256, HS384, HS512.")
+ (license license:gpl3+)))
+
+(define-public guile-sodium
+ (package
+ (name "guile-sodium")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://inqlab.net/git/guile-sodium.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "189jsj87hycs57a54x0b9lifwvhr63nypb9vfxdrq7rwrpcvi5f8"))))
+ (build-system gnu-build-system)
+ (arguments `())
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (inputs `(("guile" ,guile-3.0)))
+ (propagated-inputs `(("libsodium" ,libsodium)))
+ (synopsis "Guile bindings to the libsodium cryptographic library")
+ (description
+ "This package provides Guile bindings to the libsodium cryptographic library
+which provides core cryptographic primitives needed to build higher-level
+tools.")
+ (home-page "https://inqlab.net/git/guile-sodium.git")
+ (license license:gpl3+)))
+
+(define-public guile-eris
+ (package
+ (name "guile-eris")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://inqlab.net/git/eris.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "1ijglmwkdy1l87gj429qfjis0v8b1zlxhbyfhx5za8664h68nqka"))))
+ (build-system gnu-build-system)
+ (arguments '())
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)
+ ;; test dependency
+ ("guile-srfi-180" ,guile-srfi-180)))
+ (inputs `(("guile" ,guile-3.0)))
+ (propagated-inputs
+ `(("guile-sodium" ,guile-sodium)))
+ (synopsis "Guile implementation of the Encoding for Robust Immutable Storage (ERIS)")
+ (description
+ "Guile-ERIS is the reference implementation of the Encoding for Robust
+Immutable Storage (ERIS). ERIS allows arbitrary content to be encoded into
+uniformly sized, encrypted blocks that can be reassembled using a short
+read-capability.")
+ (home-page "https://inqlab.net/git/eris.git")
+ (license license:gpl3+)))
+
+(define-public guile-r6rs-protobuf
+ (package
+ (name "guile-r6rs-protobuf")
+ (version "0.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/joolean/r6rs-protobuf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1xmn7jlr1xiqgd35klq910p1bnil1iwdvqxkjr3zzml3spy8p2aa"))))
+ (build-system guile-build-system)
+ (arguments
+ `(#:compile-flags '("--r6rs")))
+ (inputs
+ `(("guile" ,guile-3.0)))
+ (home-page "https://gitlab.com/joolean/r6rs-protobuf/")
+ (synopsis "Scheme implementation of Protocol Buffers")
+ (description
+ "This project provides a pure Scheme implementation of Protocol Buffers,
+including parsing and code generation.")
+ (license license:gpl3+)))
+
+(define-public guile-shapefile
+ (package
+ (name "guile-shapefile")
+ (version "0.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/HugoNikanor/guile-shapefile")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zvrpc8bshw9w0vhdpmhv00j07mzsdyg2f9hfabr83v08zhfi8ml"))))
+ (build-system guile-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'delete-pre-generated-docs
+ (lambda _
+ (delete-file-recursively "docs")
+ #t))
+ (add-after 'install 'install-info-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((share (string-append (assoc-ref outputs "out") "/share"))
+ (doc (string-append share "/doc/" ,name "-" ,version))
+ (info (string-append share "/info/"))
+ (makeinfo (string-append (assoc-ref %build-inputs "texinfo")
+ "/bin/makeinfo")))
+ (invoke makeinfo "guile-shapefile.texi" "-o" info)
+ #t))))))
+ (inputs
+ `(("guile" ,guile-3.0)))
+ (native-inputs
+ `(("texinfo" ,texinfo)))
+ (home-page "https://github.com/HugoNikanor/guile-shapefile")
+ (synopsis "Parse shapefiles in Guile")
+ (description
+ "Guile Shapefile is a Guile library for reading shapefiles.")
+ (license license:expat)))
+
+(define-public guile-libyaml
+ (let ((commit "f5d33a6880e96571d3cb079ed7755ffc156cac46")
+ (revision "1"))
+ (package
+ (name "guile-libyaml")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mwette/guile-libyaml")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "12x91983fh1j39zy7kbk19acc1rqdh8515ddx1mh7l26j04k9wgq"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules (((guix build guile-build-system)
+ #:prefix guile:)
+ ,@%gnu-build-system-modules)
+ #:imported-modules ((guix build guile-build-system)
+ ,@%gnu-build-system-modules)
+ #:tests? #false ; there are none
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'remove-unused-files
+ (lambda* (#:key inputs #:allow-other-keys)
+ (for-each delete-file
+ '("guix.scm" "demo1.yml" "demo1.scm"
+ "yaml/libyaml.scm"
+ ;; This file is mismatched with the generated FFI code.
+ "yaml/ffi-help-rt.scm"))
+ (copy-file (string-append (assoc-ref inputs "nyacc")
+ "/share/guile/site/3.0/system/ffi-help-rt.scm")
+ "yaml/ffi-help-rt.scm")
+ (substitute* "yaml/ffi-help-rt.scm"
+ (("system ffi-help-rt") "yaml ffi-help-rt"))
+ #true))
+ (add-before 'build 'build-ffi
+ (lambda* (#:key inputs #:allow-other-keys)
+ (invoke "guild" "compile-ffi"
+ "--no-exec" ; allow us to patch the generated file
+ "yaml/libyaml.ffi")
+ (substitute* "yaml/libyaml.scm"
+ (("system ffi-help-rt") "yaml ffi-help-rt")
+ (("dynamic-link \"libyaml\"")
+ (format #false "dynamic-link \"~a/lib/libyaml\""
+ (assoc-ref inputs "libyaml"))))
+ #true))
+ (replace 'build
+ (assoc-ref guile:%standard-phases 'build))
+ (delete 'install))))
+ (inputs
+ `(("guile" ,guile-3.0)
+ ("libyaml" ,libyaml)))
+ (propagated-inputs
+ `(("guile-bytestructures" ,guile-bytestructures)))
+ (native-inputs
+ `(("nyacc" ,nyacc)))
+ (home-page "https://github.com/mwette/guile-libyaml")
+ (synopsis "Guile wrapper for libyaml")
+ (description
+ "This package provides a simple yaml module for Guile using the
+ffi-helper from nyacc.")
+ (license license:lgpl3+))))
+
+(define-public schmutz
+ (let ((commit "add24588c59552537b8f1316df99a0cdd62c221e")
+ (revision "1"))
+ (package
+ (name "schmutz")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arximboldi/schmutz")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1z3n61sj62lnn15mandvyrpjzli07rp9r62ypvgg3a8bvh37yc89"))))
+ (build-system cmake-build-system)
+ (arguments `(#:tests? #f))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (home-page "https://github.com/arximboldi/schmutz")
+ (synopsis "Bind C++ code to Scheme")
+ (description "Schmutz is a header-only library to declare Scheme bindings
+for C++ code using a simple embedded DSL. Think of it as @code{Boost.Python}
+or @code{LuaBind} but for Scheme.")
+ (license license:boost1.0))))
+
+(define-public guile-cbor
+ (package
+ (name "guile-cbor")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://inqlab.net/git/guile-cbor.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "0bdqg3ifayf7m2j09lqrgdfprbdaa67azf09bcq9b4k71inxfnxl"))))
+ (build-system gnu-build-system)
+ (arguments `())
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (inputs `(("guile" ,guile-3.0)))
+ (synopsis "Guile implementation of CBOR")
+ (description
+ "The Concise Binary Object Representation (CBOR), as specified by RFC 8949, is
+a binary data serialization format. CBOR is similar to JSON but serializes to
+binary which is smaller and faster to generate and parse. This package provides
+a Guile implementation of CBOR.")
+ (home-page "https://inqlab.net/git/guile-cbor.git")
+ (license license:gpl3+)))
+
+(define-public guile-quickcheck
+ (package
+ (name "guile-quickcheck")
+ (version "0.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://files.ngyro.com/"
+ "guile-quickcheck/guile-quickcheck-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "03mwi1l3354x52nar0zwhcm0x29yai9xjln4p4gbchwvx5dsr6fb"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-3.0)))
+ (home-page "https://ngyro.com/software/guile-quickcheck.html")
+ (synopsis "Randomized property-based testing for Guile")
+ (description "Guile-Quickcheck is a library for random testing of program
+properties inspired by ghc-quickcheck. You can use it to express properties,
+which functions should satisfy, as Scheme code and then check whether they hold
+in a large number of randomly generated test cases.")
+ (license license:gpl3+)))