Subject: [bug#43182] [PATCH] gnu: nomad: Update to 0.2.0-alpha-100-g6a565d3

From: Mike Rosset <[email-masked]>
Date: Thu, 03 Sep 2020 07:48:34 -0700

Mike Rosset <[email-masked]> writes:

> * gnu/packages/guile-xyz.scm (nomad: ): Update to 0.2.0-alpha-100-g6a565d3.
> * gnu/packages/guile-xyz.scm (g-golf): Update to 84e894eb7945c3bcdf7f8d5135c1be3efa524c92.
> * gnu/packages/guile-xyz.scm (emacsy-minimal): Update to v0.4.1-31-g415d96f
>
> This also improved Nomad's package declaration by removing all propagated inputs.
> Simplifies wrapping and adds GST_PLUGIN_SYSTEM_PATH and GI_TYPELIB_PATH to the
> wrap.
> ---
>  gnu/packages/guile-xyz.scm | 109 ++++++++++++++++---------------------
>  1 file changed, 47 insertions(+), 62 deletions(-)
>
> diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
> index fa6855f43d..afe6b9a07c 100644
> --- a/gnu/packages/guile-xyz.scm
> +++ b/gnu/packages/guile-xyz.scm
> @@ -1729,19 +1729,19 @@ capabilities.")
>      (license license:gpl3+)))
>
>  (define-public g-golf
> -  (let ((commit "5d2903afb4b6b65c22f587835d8fdff91916e5ee"))
> +  (let ((commit   "84e894eb7945c3bcdf7f8d5135c1be3efa524c92")
> +        (revision "822")
> +        (hash     (base32 "1pkcij65zy2lkip5yrfzj85nq17pp9mrf0d4sk6hpjqr4kd0bxd5")))
>      (package
>        (name "g-golf")
> -      (version (git-version "1" "804" commit))
> +      (version (git-version "0.1.0" revision commit))
>        (source (origin
>                  (method git-fetch)
>                  (uri (git-reference
>                        (url "https://git.savannah.gnu.org/git/g-golf.git")
>                        (commit commit)))
>                  (file-name (git-file-name name version))
> -                (sha256
> -                 (base32
> -                  "1xkb6a5d3i9s8lpb5cf06bd64p5srqnnhn5l0b2f5csbvyz8hmmh"))))
> +                (sha256 hash)))
>        (build-system gnu-build-system)
>        (native-inputs
>         `(("autoconf" ,autoconf)
> @@ -3009,7 +3009,8 @@ in C using Gtk+-3 and WebKitGtk.")
>      (license license:gpl3+)))
>
>  (define-public emacsy-minimal
> -  (let ((commit "v0.4.1-28-gd459ca1"))
> +  (let ((commit "v0.4.1-31-g415d96f")
> +        (hash   (base32 "1cs1i1hxwrv0a512j54yrvfh743nci1chx6qjgp4jyzq98ncvxgg")))
>      (package
>        (inherit emacsy)
>        (name "emacsy-minimal")
> @@ -3020,9 +3021,7 @@ in C using Gtk+-3 and WebKitGtk.")
>                        (url "https://git.savannah.gnu.org/git/emacsy.git")
>                        (commit commit)))
>                  (file-name (git-file-name name version))
> -                (sha256
> -                 (base32
> -                  "1ps15w8cxj9kc18gmvys9jv9xa1qqa7m43ismv34l3cmhddrn0sr"))))
> +                (sha256 hash)))
>        (build-system gnu-build-system)
>        (inputs
>         `(("guile" ,guile-2.2)
> @@ -3075,7 +3074,7 @@ perform geometrical transforms on JPEG images.")
>  (define-public nomad
>    (package
>      (name "nomad")
> -    (version "0.2.0-alpha")
> +    (version "0.2.0-alpha-100-g6a565d3")
>      (source (origin
>                (method git-fetch)
>                (uri (git-reference
> @@ -3084,7 +3083,7 @@ perform geometrical transforms on JPEG images.")
>                (file-name (git-file-name name version))
>                (sha256
>                 (base32
> -                "1z2z5x37v1qrk2vb8qlz2yj030iirzzd0maa9fjxzlqkrg6krbaj"))))
> +                "0anmprm63a88kii251rl296v1g4iq62r6n4nssx5jbc0hzkknanz"))))
>      (build-system gnu-build-system)
>      (native-inputs
>       `(("autoconf" ,autoconf)
> @@ -3095,36 +3094,35 @@ perform geometrical transforms on JPEG images.")
>         ("guile" ,guile-2.2)
>         ("glib:bin" ,glib "bin")
>         ("texinfo" ,texinfo)
> +       ("gettext" ,gnu-gettext)
>         ("perl" ,perl)))
>      (inputs
> -     `(("guile" ,guile-2.2)
> +     `(;; Guile
> +       ("guile" ,guile-2.2)
>         ("guile-lib" ,guile2.2-lib)
>         ("guile-readline" ,guile2.2-readline)
>         ("guile-gcrypt" ,guile2.2-gcrypt)
>         ("gnutls" ,gnutls)
> +       ("g-golf" ,g-golf)
>         ("shroud" ,shroud)
>         ("emacsy" ,emacsy-minimal)
> +       ;; Gtk
>         ("glib" ,glib)
>         ("dbus-glib" ,dbus-glib)
> +       ("glib-networking" ,glib-networking)
>         ("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)
> +       ("gtksourceview" ,gtksourceview)
> +       ("vte" ,vte)
> +       ;; Gstreamer
>         ("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)))
> +       ;; Util
> +       ("xorg-server" ,xorg-server)))
>      (arguments
>       `(#:modules ((guix build gnu-build-system)
>                    (guix build utils)
> @@ -3142,49 +3140,36 @@ perform geometrical transforms on JPEG images.")
>               #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"
> -                                     "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*
> +             (let* ((out        (assoc-ref outputs "out"))
> +                    (effective  (read-line (open-pipe*
>                                             OPEN_READ
>                                             "guile" "-c"
>                                             "(display (effective-version))")))
> -                    (deps (map (cut assoc-ref inputs <>)
> -                               '("emacsy" "guile-lib" "guile-readline"
> -                                 "g-golf" "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)
> +                    (gst-plugins (map (lambda (i)
> +                                        (string-append (assoc-ref inputs i)
> +                                                       "/lib/gstreamer-1.0"))
> +                                      `("gstreamer"
> +                                        "gst-plugins-base"
> +                                        "gst-plugins-good"
> +                                        "gst-plugins-bad"
> +                                        "gst-plugins-ugly")))
> +                    (out-append (lambda (. args)
> +                                     (apply string-append out args)))
> +                    (gi-path    (out-append "/lib/girepository-1.0"))
> +                    (load-path  (out-append "/share/guile/site/" effective))
> +                    (comp-path  (out-append "/lib/guile/" effective "/site-ccache"))
> +                    (ext-path   (out-append "/libexec/nomad")))
> +               (wrap-program (string-append out "/bin/nomad")
> +                 `("GUILE_LOAD_PATH" ":" prefix  (,load-path
> +                                                  ,(getenv "GUILE_LOAD_PATH")))
> +                 `("GUILE_LOAD_COMPILED_PATH" ":" prefix
> +                   (,comp-path
> +                    ,(getenv "GUILE_LOAD_COMPILED_PATH")))
> +                 `("GI_TYPELIB_PATH" ":" prefix (,gi-path ,(getenv "GI_TYPELIB_PATH")))
> +                 `("GIO_EXTRA_MODULES" ":" prefix (,(getenv "GIO_EXTRA_MODULES")))
> +                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix ,gst-plugins)
> +                 `("NOMAD_WEB_EXTENSION_DIR" ":" prefix (,ext-path)))
>                 #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 a Emacs-like web browser that consists of a modular

Please use this patch the first patch was prematurely mailed.  This has the
correct commit message and a debugging format removed.  Please forgive
my git mail etiquette.

Mike