summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-09-02 23:18:48 +0200
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-09-17 16:29:45 -0400
commitd563de81fe542de05de6eb4c2ea004861888f3d6 (patch)
tree4172fd9ce21b373c667b4cecfce5c658ff292d0e /gnu
parent59254533af79f2d6302a087a56daf218616e785d (diff)
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>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/gnome.scm25
1 files changed, 25 insertions, 0 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3b80692e90..36fe1a80a1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -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))