~ruther/guix-local

3f76970fda82057f12429f81c41a47d8d8c3b954 — Ludovic Courtès 3 years ago ab971e9
gnu: yelp: Provide dependencies to display "man:" URIs.

Previously a command like the following one would fail to display the
expected man page:

  guix shell yelp coreutils -C \
     --expose=/tmp/.X11-unix --expose=/run/user \
     --expose=/var/run/dbus --expose=/etc/machine-id -E ^DISPLAY -- \
     /bin/sh -c \
     'export MANPATH=$GUIX_ENVIRONMENT/share/man; echo $MANPATH; yelp man:ls'

* gnu/packages/gnome.scm (yelp)[arguments]: New field.
[inputs]: Add ‘man-db’ and ‘groff-minimal’.

Reported-by: Luis Felipe <sirgazil@zoho.com>
1 files changed, 25 insertions(+), 0 deletions(-)

M gnu/packages/gnome.scm
M gnu/packages/gnome.scm => gnu/packages/gnome.scm +25 -0
@@ 142,6 142,7 @@
  #:use-module (gnu packages geo)
  #:use-module (gnu packages gperf)
  #:use-module (gnu packages graphviz)
  #:use-module (gnu packages groff)
  #:use-module (gnu packages gstreamer)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages guile)


@@ 7336,6 7337,28 @@ jQuery.Syntax JavaScript libraries.")
               (base32
                "0h9vf4fx056imjf8ibmn03wg1c3hniipy1nsm2jqi62lp1m19c95"))))
    (build-system glib-or-gtk-build-system)
    (arguments
     (list #:phases
           #~(modify-phases %standard-phases
               (add-after 'unpack 'set-man-file-name
                 (lambda* (#:key inputs #:allow-other-keys)
                   ;; Invoke 'man' directly instead of searching $PATH.
                   (substitute* '("libyelp/yelp-man-parser.c"
                                  "libyelp/yelp-uri.c")
                     (("\"man\"")
                      (string-append "\""
                                     (search-input-file inputs "bin/man")
                                     "\""))
                     (("G_SPAWN_SEARCH_PATH")
                      "0"))))
               (add-after 'install 'help-man-find-its-dependencies
                 (lambda* (#:key inputs outputs #:allow-other-keys)
                   ;; XXX: Currently 'man' looks for 'groff' in $PATH in one
                   ;; case.  This should be fixed in 'man-db' proper.
                   (wrap-program (string-append (assoc-ref outputs "out")
                                                "/bin/yelp")
                     `("PATH" ":" prefix
                       (,(dirname (search-input-file inputs "bin/groff"))))))))))
    (native-inputs
     (list `(,glib "bin") ; for glib-genmarshal, etc.
           intltool


@@ 7347,6 7370,8 @@ jQuery.Syntax JavaScript libraries.")
     (list gsettings-desktop-schemas
           libhandy
           libxslt
           man-db                                 ;for URIs like "man:ls"
           groff-minimal                          ;ditto
           sqlite
           webkitgtk
           yelp-xsl))