gnu: Add nomad.
* gnu/packages/guile-xyz.scm (nomad): New variable.
This commit is contained in:
		
							parent
							
								
									c99f32b94e
								
							
						
					
					
						commit
						e8c2da4104
					
				
					 1 changed files with 94 additions and 0 deletions
				
			
		| 
						 | 
					@ -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+)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue