summaryrefslogtreecommitdiff
path: root/gnu/packages/guile-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/guile-xyz.scm')
-rw-r--r--gnu/packages/guile-xyz.scm211
1 files changed, 181 insertions, 30 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 21f998524e..fa6855f43d 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -30,6 +30,7 @@
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Masaya Tojo <masaya@tojo.tokyo>
;;; Copyright © 2020 Jesse Gibbons <jgibbons2357@gmail.com>
+;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -66,6 +67,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gperf)
+ #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages hurd)
@@ -102,6 +104,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix hg-download)
+ #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system guile)
#:use-module (guix utils)
@@ -1883,18 +1886,18 @@ understand, extend, and port to host languages other than Scheme.")
(define-public guile-reader
(package
(name "guile-reader")
- (version "0.6.2")
+ (version "0.6.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/guile-reader/guile-reader-"
version ".tar.gz"))
(sha256
(base32
- "0592s2s8ampqmqwilc4fvcild6rb9gy79di6vxv5kcdmv23abkgx"))))
+ "1fyjckmygkhq22lq8nqc86yl5zzbqd7a944dnz5c1f6vx92b9hiq"))))
(build-system gnu-build-system)
(native-inputs `(("pkgconfig" ,pkg-config)
- ("gperf" ,gperf-3.0)))
- (inputs `(("guile" ,guile-2.2)))
+ ("gperf" ,gperf)))
+ (inputs `(("guile" ,guile-3.0)))
(synopsis "Framework for building readers for GNU Guile")
(description
"Guile-Reader is a simple framework for building readers for GNU Guile.
@@ -1911,6 +1914,12 @@ many readers as needed).")
(home-page "https://www.nongnu.org/guile-reader/")
(license license:gpl3+)))
+(define-public guile2.2-reader
+ (package
+ (inherit guile-reader)
+ (name "guile2.2-reader")
+ (inputs `(("guile" ,guile-2.2)))))
+
(define-public guile-ncurses
(package
(name "guile-ncurses")
@@ -2215,8 +2224,7 @@ inspired by the SCSH regular expression system.")
(inputs
`(("guile" ,guile-3.0)))
(propagated-inputs
- ;; XXX: Guile-Reader is currently unavailable for Guile 2.2 so strip it.
- `(;;("guile-reader" ,guile-reader)
+ `(("guile-reader" ,guile-reader)
("guile-commonmark" ,guile-commonmark)))
(synopsis "Functional static site generator")
(description "Haunt is a static site generator written in Guile
@@ -2231,7 +2239,7 @@ interface for reading articles in any format.")
(name "guile2.2-haunt")
(inputs `(("guile" ,guile-2.2)))
(propagated-inputs
- `(("guile-reader" ,guile-reader)
+ `(("guile-reader" ,guile2.2-reader)
("guile-commonmark" ,guile2.2-commonmark)))))
(define-public guile2.0-haunt
@@ -2337,14 +2345,14 @@ is no support for parsing block and inline level HTML.")
(define-public mcron
(package
(name "mcron")
- (version "1.1.4")
+ (version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mcron/mcron-"
version ".tar.gz"))
(sha256
(base32
- "1521w3h33bhdlg6qc66sq4dwv3qsx8r8x6srq4ca6kaahy6dszw8"))))
+ "1midrn15d5kqy4zd2029bj1db6gnfhxg8mcgfy4bkp5p9nl4v4rd"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -2429,11 +2437,11 @@ The picture values can directly be displayed in Geiser.")
guile-picture-language))
(define-public guile-studio
- (let ((commit "d24d59a68e3f1fa9477e3430fc48a2efe97b805d")
+ (let ((commit "5c05b03e8a5c450f7358ceec7ea602f29c49d54e")
(revision "1"))
(package
(name "guile-studio")
- (version (git-version "0.0.2" revision commit))
+ (version (git-version "0.0.3" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2442,7 +2450,7 @@ The picture values can directly be displayed in Geiser.")
(file-name (git-file-name name version))
(sha256
(base32
- "0kqi0q8a7si65n21b7gn8vbninwcg0fqy5hmvy3l1bi6iync20zr"))))
+ "11wyf6x7mhyhimv0cd57pl39zgav9hc9ljqi3g2g35b264hylpnx"))))
(build-system gnu-build-system)
(arguments
`(#:modules
@@ -2479,6 +2487,7 @@ The picture values can directly be displayed in Geiser.")
("emacs-geiser" ,emacs-geiser)
("emacs-company" ,emacs-company)
("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)))
@@ -2699,10 +2708,10 @@ list of components. This module takes care of that for you.")
(sha256
(base32
"05xbwrk50h4f9fh8la8fk2wsxbnm0jcyb9phnpkkjq4sqkhkxlbj"))))
- (build-system gnu-build-system)
+ (build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--with-gnu-filesystem-hierarchy")
- #:modules ((guix build gnu-build-system)
+ #:modules ((guix build glib-or-gtk-build-system)
(guix build utils)
(ice-9 popen)
(ice-9 rdelim))
@@ -2725,7 +2734,7 @@ list of components. This module takes care of that for you.")
(format #f "~alibguile-gi"
(if (getenv "GUILE_GI_UNINSTALLED")
""
- ,(format #f "~a/lib/guile/~a/"
+ ,(format #f "~a/lib/guile/~a/extensions/"
(assoc-ref outputs "out")
effective)))
,arg)))))
@@ -2764,13 +2773,91 @@ pre-alpha code.")
(package
(inherit guile-gi)
(name "guile2.2-gi")
- (native-inputs
+ (inputs
`(("guile" ,guile-2.2)
- ,@(package-native-inputs guile-gi)))))
+ ,@(alist-delete "guile" (package-inputs guile-gi))))))
(define-public guile3.0-gi
(deprecated-package "guile3.0-gi" guile-gi))
+(define-public guile-srfi-89
+ (package
+ (name "guile-srfi-89")
+ (version "0.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/mjbecze/guile-srfi-89.git")
+ (commit version)))
+ (sha256
+ (base32
+ "1981c0rrzxqx3md9jx8ir7j3m2mzg9m72b33p5jvw36zirbzpl20"))
+ (file-name (git-file-name name version))))
+ (build-system guile-build-system)
+ (native-inputs
+ `(("guile" ,guile-3.0)))
+ (home-page "https://gitlab.com/mjbecze/guile-srfi-89")
+ (synopsis "Hygienic implementation of SRFI-89 for Guile")
+ (description
+ "This package provides SRFI-89 optional positional and named
+parameters, which define* and lambda* special forms")
+ (license license:gpl3+)))
+
+(define-public guile-srfi-145
+ (package
+ (name "guile-srfi-145")
+ (version "0.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/mjbecze/guile-srfi-145.git")
+ (commit version)))
+ (sha256
+ (base32
+ "1gssa8cmcp8640fil9z8dpil8v5l279wlalqjcx3fls5jwv13q1b"))
+ (file-name (git-file-name name version))))
+ (build-system guile-build-system)
+ (native-inputs
+ `(("guile" ,guile-3.0)))
+ (home-page "https://gitlab.com/mjbecze/guile-srfi-145")
+ (synopsis "SRFI-145 port for Guile")
+ (description
+ "This package provides SRFI-145. This provides the means to
+denote the invalidity of certain code paths in a Scheme program.")
+ (license license:gpl3+)))
+
+(define-public guile-srfi-158
+ (package
+ (name "guile-srfi-158")
+ (version "0.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/mjbecze/guile-srfi-158.git")
+ (commit version)))
+ (sha256
+ (base32
+ "0b8hlv1bldbcwkcxi9y8mm6xp5gbgpg7b15bwqxv70iynl9d9a7c"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-3.0)))
+ (home-page "https://gitlab.com/samplet/guile-srfi-158")
+ (synopsis "SRFI 158 (Generators and Accumulators) for Guile")
+ (description "This package provides an implementation of SRFI 158
+for Guile. SRFI 158 defines utility procedures that create,
+transform, and consume generators. It also defines procedures that
+return accumulators. It is implemented by wrapping the sample
+implementation in a thin Guile compatibility layer.")
+ (license license:gpl3+)))
+
(define-public guile-srfi-159
(let ((commit "1bd98abda2ae4ef8f36761a167903e55c6bda7bb")
(revision "0"))
@@ -2801,6 +2888,45 @@ formatting combinators specified by
more expressive and flexible than the traditional @code{format} procedure.")
(license license:bsd-3))))
+(define-public guile-srfi-180
+ (let ((commit "9188bf9724c6d320ef804579d222e855b007b193")
+ (revision "0"))
+ (package
+ (name "guile-srfi-180")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/scheme-requests-for-implementation/srfi-180.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "08lf70rsak8mwfij55xc37pg9zg7c87fizmhz7ln46skzj68sl3y"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "srfi/files")
+ (delete-file "srfi/run-r7rs-checks.guile.scm")
+ (delete-file "srfi/run-r7rs-checks.scm")
+ (delete-file "srfi/check.scm")
+ #t))
+ (file-name (git-file-name name version))))
+ (build-system guile-build-system)
+ (arguments
+ '(#:not-compiled-file-regexp "body\\.scm$"))
+ (native-inputs
+ `(("guile" ,guile-3.0)))
+ (propagated-inputs
+ `(("guile-srfi-145" ,guile-srfi-145)))
+ (home-page "https://srfi.schemers.org/srfi-180/")
+ (synopsis "JSON parser and printer for Guile")
+ (description
+ "This library implements a JavaScript Object Notation (JSON) parser and printer.
+It also supports parsing JSON objects that may be bigger than memory with a streaming
+API.")
+ (license license:expat))))
+
(define-public emacsy
(package
(name "emacsy")
@@ -2949,7 +3075,7 @@ perform geometrical transforms on JPEG images.")
(define-public nomad
(package
(name "nomad")
- (version "0.1.2-alpha")
+ (version "0.2.0-alpha")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2958,7 +3084,7 @@ perform geometrical transforms on JPEG images.")
(file-name (git-file-name name version))
(sha256
(base32
- "1dnkr1hmvfkwgxd75dcf93pg39yfgawvdpzdhv991yhghv0qxc9h"))))
+ "1z2z5x37v1qrk2vb8qlz2yj030iirzzd0maa9fjxzlqkrg6krbaj"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -2972,21 +3098,32 @@ perform geometrical transforms on JPEG images.")
("perl" ,perl)))
(inputs
`(("guile" ,guile-2.2)
- ("guile-lib" ,guile-lib)
- ("guile-gcrypt" ,guile-gcrypt)
- ("guile-readline" ,guile-readline)
+ ("guile-lib" ,guile2.2-lib)
+ ("guile-readline" ,guile2.2-readline)
+ ("guile-gcrypt" ,guile2.2-gcrypt)
("gnutls" ,gnutls)
("shroud" ,shroud)
("emacsy" ,emacsy-minimal)
("glib" ,glib)
("dbus-glib" ,dbus-glib)
("gtk+" ,gtk+)
+ ("gtk+:bin" ,gtk+ "bin")
("gtksourceview" ,gtksourceview)
("webkitgtk" ,webkitgtk)
+ ("g-golf" ,g-golf)
("xorg-server" ,xorg-server)))
(propagated-inputs
`(("glib" ,glib)
("glib-networking" ,glib-networking)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-good" ,gst-plugins-good)
+ ("gst-plugins-bad" ,gst-plugins-bad)
+ ("gst-plugins-ugly" ,gst-plugins-ugly)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview)
+ ("vte" ,vte)
+ ("webkitgtk" ,webkitgtk)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
(arguments
`(#:modules ((guix build gnu-build-system)
@@ -3006,9 +3143,16 @@ perform geometrical transforms on JPEG images.")
(add-after 'install 'wrap-binaries
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (gio-deps (map (cut assoc-ref inputs <>) '("glib-networking"
- "glib")))
- (gio-mod-path (map (cut string-append <> "/lib/gio/modules")
+ (gio-deps (map (cut assoc-ref inputs <>)
+ '("glib-networking"
+ "glib"
+ "gstreamer"
+ "gst-plugins-base"
+ "gst-plugins-good"
+ "gst-plugins-bad"
+ "gst-plugins-ugly")))
+ (gio-mod-path (map (cut string-append <>
+ "/lib/gio/modules")
gio-deps))
(effective (read-line (open-pipe*
OPEN_READ
@@ -3016,7 +3160,7 @@ perform geometrical transforms on JPEG images.")
"(display (effective-version))")))
(deps (map (cut assoc-ref inputs <>)
'("emacsy" "guile-lib" "guile-readline"
- "shroud")))
+ "g-golf" "shroud")))
(scm-path (map (cut string-append <>
"/share/guile/site/" effective)
`(,out ,@deps)))
@@ -3032,12 +3176,19 @@ perform geometrical transforms on JPEG images.")
prefix ,go-path))
progs)
#t))))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GI_TYPELIB_PATH")
+ (separator ":")
+ (files '("lib/girepository-1.0")))
+ (search-path-specification
+ (variable "NOMAD_WEB_EXTENSION_DIR")
+ (separator ":")
+ (files '("libexec/nomad")))))
(home-page "https://savannah.nongnu.org/projects/nomad/")
(synopsis "Extensible Web Browser in Guile Scheme")
- (description "Nomad is an Emacs-like Web Browser built using Webkitgtk and
-Emacsy. It has a small C layer and most browser features are fully
-programmable in Guile. It has hooks, keymaps, and self documentation
-features.")
+ (description "Nomad is a Emacs-like web browser that consists of a modular
+feature-set, fully programmable in Guile Scheme.")
(license license:gpl3+)))
(define-public guile-cv