From ac789e669024af96627934d9509b1673bb8fe54e Mon Sep 17 00:00:00 2001
* gnu/packages/guile-xyz.scm (nomad): New variable.
gnu/packages/guile-xyz.scm | 91 ++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+)
Toggle diff (115 lines)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 760646259e..0fed3c6da5 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages gnupg)
#:use-module (gnu packages hurd)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages noweb)
+ #:use-module (gnu packages password-utils)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -2615,3 +2617,92 @@ GObject Introspection and (some of) the GObject and Glib libraries, as well as
additional (G-Golf) utilities - used to import GObject libraries and build
their corresponding G-Golf high level API.")
(license license:lgpl3+)))))
+ (version "v0.1.0-alpha")
+ (url "https://git.savannah.gnu.org/git/nomad.git")
+ (file-name (git-file-name name version))
+ "0bffysgq3swpx2qyi8fnkyjfsla92haqhdq17m31wa3yzkpqq3a6"))))
+ (build-system gnu-build-system)
+ `(("autoconf" ,autoconf)
+ ("pkg-config" ,pkg-config)
+ ("glib:bin" ,glib "bin")))
+ ("guile-lib" ,guile-lib)
+ ("guile-gcrypt" ,guile-gcrypt)
+ ("guile-readline" ,guile-readline)
+ ("emacsy" ,guile-emacsy)
+ ("dbus-glib" ,dbus-glib)
+ ("gtksourceview" ,gtksourceview)
+ ("webkitgtk" ,webkitgtk)
+ ("xorg-server" ,xorg-server)))
+ `(("glib-networking" ,glib-networking)
+ ("gsettings-desktop-schemas"
+ ,gsettings-desktop-schemas)))
+ `(#:modules ((guix build gnu-build-system)
+ (modify-phases %standard-phases
+ (add-before 'check 'start-xorg-server
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; The test suite requires a running X server.
+ (system (format #f "~a/bin/Xvfb :1 &"
+ (assoc-ref inputs "xorg-server")))
+ (setenv "DISPLAY" ":1")
+ (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")
+ (effective (read-line (open-pipe* OPEN_READ
+ "(display (effective-version))")))
+ (deps (map (cut assoc-ref inputs <>) '("emacsy" "guile-lib"
+ "guile-readline" "shroud")))
+ (scm-path (map (cut string-append <>
+ "/share/guile/site/" effective)
+ (go-path (map (cut string-append <>
+ "/lib/guile/" effective "/site-ccache")
+ (progs (map (cut string-append out "/bin/" <>)
+ (map (cut wrap-program <>
+ `("GIO_EXTRA_MODULES" ":" prefix ,gio-mod-path)
+ `("GUILE_LOAD_PATH" ":" prefix ,scm-path)
+ `("GUILE_LOAD_COMPILED_PATH" ":"
+ (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
+ (license license:gpl3+)))