From 42b43fca11ab1f9417499aea252ae7a871a53b1b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 5 May 2018 23:13:16 +0200 Subject: [PATCH 1/2] gnu: groff-minimal: Preserve 'preconv' executable. * gnu/packages/groff.scm (groff-minimal)[arguments]: Add 'preconv' to the list of kept programs. --- gnu/packages/groff.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm index 5f1b8d0ed..77728a5d7 100644 --- a/gnu/packages/groff.scm +++ b/gnu/packages/groff.scm @@ -101,7 +101,7 @@ is usually the formatter of \"man\" documentation pages.") ;; Keep only the programs that man-db needs at run time, ;; and make sure we don't pull in Perl. (let ((out (assoc-ref outputs "out")) - (kept '("eqn" "neqn" "pic" "tbl" "refer" + (kept '("eqn" "neqn" "pic" "tbl" "refer" "preconv" "nroff" "groff" "troff" "grotty"))) (for-each (lambda (file) (unless (member (basename file) kept) -- 2.17.0 From 095d0db7db77261f59e6582af3a9b18b61dcb630 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 5 May 2018 23:30:04 +0200 Subject: [PATCH 2/2] gnu: man-db: Embed absolute reference to 'preconv'. Fixes . Reported by Tobias Geerinckx-Rice . * gnu/packages/man.scm (man-db)[arguments]: Rename 'patch-iconv-path' to 'patch-absolute-paths'. Add substitution for "preconv". --- gnu/packages/man.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index ca6fd351d..f0bb2b66e 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -80,11 +80,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 ). + (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")) -- 2.17.0