summaryrefslogtreecommitdiff
path: root/gnu/packages/guile-xyz.scm
diff options
context:
space:
mode:
authorAmar Singh <nly@disroot.org>2019-07-10 16:46:35 +0530
committerJan Nieuwenhuizen <janneke@gnu.org>2019-08-27 16:58:11 +0200
commite8c2da41044a500af702dfb68a3d530270f7fd12 (patch)
tree25cd156bf471e55a45cf891a208e31ae7cd12851 /gnu/packages/guile-xyz.scm
parentc99f32b94e744be3c38c1940b1bf82855a13af50 (diff)
downloadguix-patches-e8c2da41044a500af702dfb68a3d530270f7fd12.tar
guix-patches-e8c2da41044a500af702dfb68a3d530270f7fd12.tar.gz
gnu: Add nomad.
* gnu/packages/guile-xyz.scm (nomad): New variable.
Diffstat (limited to 'gnu/packages/guile-xyz.scm')
-rw-r--r--gnu/packages/guile-xyz.scm94
1 files changed, 94 insertions, 0 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 3b2d880f34..afeafa76ce 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -56,6 +56,7 @@
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gnupg)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
@@ -71,6 +72,7 @@
#: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)
@@ -2441,3 +2443,95 @@ in C using Gtk+-3 and WebKitGtk.")
"Guile-JPEG is a Scheme library to parse JPEG image files and to
perform geometrical transforms on JPEG images.")
(license license:gpl3+))))
+
+(define-public nomad
+ (package
+ (name "nomad")
+ (version "0.1.1-alpha")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.savannah.gnu.org/git/nomad.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0abz07hl5dh802ciy71xzkvkhyryypq1i94wna40a2wndbd73f7z"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("bash" ,bash)
+ ("pkg-config" ,pkg-config)
+ ("libtool" ,libtool)
+ ("guile" ,guile-2.2)
+ ("glib:bin" ,glib "bin")))
+ (inputs
+ `(("guile" ,guile-2.2)
+ ("guile-lib" ,guile-lib)
+ ("guile-gcrypt" ,guile-gcrypt)
+ ("guile-readline" ,guile-readline)
+ ("gnutls" ,gnutls)
+ ("shroud" ,shroud)
+ ("emacsy" ,emacsy-minimal)
+ ("glib" ,glib)
+ ("dbus-glib" ,dbus-glib)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview)
+ ("webkitgtk" ,webkitgtk)
+ ("xorg-server" ,xorg-server)))
+ (propagated-inputs
+ `(("glib" ,glib)
+ ("glib-networking" ,glib-networking)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 popen)
+ (ice-9 rdelim)
+ (srfi srfi-26))
+ #:phases
+ (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")
+ #t))
+ (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))
+ (effective (read-line (open-pipe*
+ OPEN_READ
+ "guile" "-c"
+ "(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)
+ `(,out ,@deps)))
+ (go-path (map (cut string-append <>
+ "/lib/guile/" effective "/site-ccache")
+ `(,out ,@deps)))
+ (progs (map (cut string-append out "/bin/" <>)
+ '("nomad"))))
+ (map (cut wrap-program <>
+ `("GIO_EXTRA_MODULES" ":" prefix ,gio-mod-path)
+ `("GUILE_LOAD_PATH" ":" prefix ,scm-path)
+ `("GUILE_LOAD_COMPILED_PATH" ":"
+ prefix ,go-path))
+ progs)
+ #t))))))
+ (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.")
+ (license license:gpl3+)))