gnu: Add nomad.
* gnu/packages/guile-xyz.scm (nomad): New variable.
This commit is contained in:
parent
c99f32b94e
commit
e8c2da4104
|
@ -56,6 +56,7 @@
|
||||||
#:use-module (gnu packages gl)
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
#:use-module (gnu packages gnome)
|
#:use-module (gnu packages gnome)
|
||||||
|
#:use-module (gnu packages gnupg)
|
||||||
#:use-module (gnu packages gperf)
|
#:use-module (gnu packages gperf)
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages guile)
|
#:use-module (gnu packages guile)
|
||||||
|
@ -71,6 +72,7 @@
|
||||||
#:use-module (gnu packages ncurses)
|
#:use-module (gnu packages ncurses)
|
||||||
#:use-module (gnu packages networking)
|
#:use-module (gnu packages networking)
|
||||||
#:use-module (gnu packages noweb)
|
#:use-module (gnu packages noweb)
|
||||||
|
#:use-module (gnu packages password-utils)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#: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
|
"Guile-JPEG is a Scheme library to parse JPEG image files and to
|
||||||
perform geometrical transforms on JPEG images.")
|
perform geometrical transforms on JPEG images.")
|
||||||
(license license:gpl3+))))
|
(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+)))
|
||||||
|
|
Loading…
Reference in New Issue