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".
This commit is contained in:
Marius Bakke 2018-05-05 23:30:04 +02:00
parent 06fc895f29
commit 296551a2e9
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
1 changed files with 10 additions and 1 deletions

View File

@ -5,6 +5,7 @@
;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -80,11 +81,19 @@ a flexible and convenient way.")
(string-append "#!" (which "sh"))))) (string-append "#!" (which "sh")))))
(remove file-is-directory? (remove file-is-directory?
(find-files "src/tests" ".*")))))) (find-files "src/tests" ".*"))))))
(add-after 'unpack 'patch-iconv-path (add-after 'unpack 'patch-absolute-paths
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/man.c" (substitute* "src/man.c"
(("\"iconv\"") (("\"iconv\"")
(string-append "\"" (which "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))) #t)))
#:configure-flags #:configure-flags
(let ((groff (assoc-ref %build-inputs "groff")) (let ((groff (assoc-ref %build-inputs "groff"))