summary refs log tree commit diff
path: root/gnu/packages/man.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-05-05 23:30:04 +0200
committerMarius Bakke <mbakke@fastmail.com>2018-05-06 15:47:20 +0200
commit296551a2e9310d4a030ee49530e9367e73aaeecf (patch)
tree224e9690bfa355c547753c4a6788db4488882207 /gnu/packages/man.scm
parent06fc895f29735d6cae482522ba433165611b55c1 (diff)
downloadguix-296551a2e9310d4a030ee49530e9367e73aaeecf.tar.gz
gnu: man-db: Embed absolute reference to 'preconv'.
Fixes <https://bugs.gnu.org/30785>.
Reported by Tobias Geerinckx-Rice <me@tobias.gr>.

* gnu/packages/man.scm (man-db)[arguments]: Rename 'patch-iconv-path' to
'patch-absolute-paths'.  Add substitution for "preconv".
Diffstat (limited to 'gnu/packages/man.scm')
-rw-r--r--gnu/packages/man.scm11
1 files changed, 10 insertions, 1 deletions
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index ca6fd351d5..334ebe2906 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -80,11 +81,19 @@ a flexible and convenient way.")
                               (string-append "#!" (which "sh")))))
                          (remove file-is-directory?
                                  (find-files "src/tests" ".*"))))))
-         (add-after 'unpack 'patch-iconv-path
+         (add-after 'unpack 'patch-absolute-paths
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "src/man.c"
                (("\"iconv\"")
                 (string-append "\"" (which "iconv") "\"")))
+             ;; Embed an absolute reference to "preconv", otherwise it
+             ;; falls back to searching in PATH and ultimately fails
+             ;; to render unicode data (see <https://bugs.gnu.org/30785>).
+             (substitute* "lib/encodings.c"
+               (("groff_preconv = NULL")
+                (string-append "groff_preconv = \""
+                               (assoc-ref inputs "groff-minimal")
+                               "/bin/preconv\"")))
              #t)))
        #:configure-flags
        (let ((groff (assoc-ref %build-inputs "groff"))