guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/07: gnu: yelp: Provide dependencies to display "man:" URIs.


From: guix-commits
Subject: 01/07: gnu: yelp: Provide dependencies to display "man:" URIs.
Date: Mon, 11 Sep 2023 17:56:40 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 3f76970fda82057f12429f81c41a47d8d8c3b954
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sat Sep 2 23:18:48 2023 +0200

    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>
---
 gnu/packages/gnome.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

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))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]