summaryrefslogtreecommitdiff
path: root/gnu/packages/texinfo.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/texinfo.scm')
-rw-r--r--gnu/packages/texinfo.scm59
1 files changed, 33 insertions, 26 deletions
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index a2fe989f1a..fc1dac9df9 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -5,9 +5,10 @@
;;; Copyright © 2017, 2019 Efraim Flashner <[email protected]>
;;; Copyright © 2019 Ricardo Wurmus <[email protected]>
;;; Copyright © 2019 Pierre-Moana Levesque <[email protected]>
-;;; Copyright © 2019 Mathieu Othacehe <[email protected]>
+;;; Copyright © 2019, 2020 Mathieu Othacehe <[email protected]>
;;; Copyright © 2020 Nicolas Goaziou <[email protected]>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <[email protected]>
+;;; Copyright © 2021 Maxime Devos <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -59,26 +60,21 @@
;; with the native compiler, the environment is reset. This leads to
;; multiple environment variables missing. Do not reset the environment
;; to prevent that.
- (if (%current-target-system)
- '(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'fix-cross-configure
- (lambda _
- (substitute* "configure"
- (("env -i")
- "env "))
- #t))))
- '()))
- (inputs `(("ncurses" ,ncurses)
- ;; TODO: remove `if' in the next rebuild cycle.
- ,@(if (%current-target-system)
- `(("perl" ,perl))
- '())))
+ `(#:phases
+ (if ,(%current-target-system)
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-cross-configure
+ (lambda _
+ (substitute* "configure"
+ (("env -i")
+ "env "))
+ #t)))
+ %standard-phases)))
+ (inputs (list ncurses perl))
;; When cross-compiling, texinfo will build some of its own binaries with
;; the native compiler. This means ncurses is needed both in both inputs
;; and native-inputs.
- (native-inputs `(("perl" ,perl)
- ("ncurses" ,ncurses)))
+ (native-inputs (list perl ncurses))
(native-search-paths
;; This is the variable used by the standalone Info reader.
@@ -121,11 +117,10 @@ is on expressing the content semantically, avoiding physical markup commands.")
(sha256
(base32
"1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d"))))
- (inputs `(("ncurses" ,ncurses)
- ("xz" ,xz)))
+ (inputs (list ncurses xz))
(native-inputs
- `(("automake" ,automake)
- ,@(package-native-inputs texinfo)))
+ (modify-inputs (package-native-inputs texinfo)
+ (prepend automake)))
(arguments
(substitute-keyword-arguments (package-arguments texinfo)
((#:phases phases)
@@ -162,6 +157,17 @@ is on expressing the content semantically, avoiding physical markup commands.")
`(,@(substitute-keyword-arguments (package-arguments texinfo)
((#:phases phases)
`(modify-phases ,phases
+ ;; Make sure 'info-reader' can read compressed info files
+ ;; in a pure environment. There are also a few other
+ ;; uncompressors listed in this file (lzip, unxz, bunzip2, ...)
+ ;; but let's not include them because info manuals in Guix
+ ;; are always compressed with 'gzip'.
+ ;; TODO(core-updates): maybe move to the 'texinfo' package.
+ (add-after 'unpack 'absolute-binary-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "info/filesys.c"
+ (("gunzip") (search-input-file inputs "/bin/gunzip"))
+ (("gzip") (search-input-file inputs "/bin/gzip")))))
(add-after 'install 'keep-only-info-reader
(lambda* (#:key outputs #:allow-other-keys)
;; Remove everything but 'bin/info' and associated
@@ -185,7 +191,9 @@ is on expressing the content semantically, avoiding physical markup commands.")
"perl")
#:modules ((ice-9 ftw) (srfi srfi-1)
,@%gnu-build-system-modules)))
- (synopsis "Standalone Info documentation reader")))
+ (synopsis "Standalone Info documentation reader")
+ (inputs (modify-inputs (package-inputs texinfo)
+ (prepend gzip)))))
(define-public texi2html
(package
@@ -210,7 +218,7 @@ is on expressing the content semantically, avoiding physical markup commands.")
(utime "texi2html.pl" 0 0 0 0)
#t))))
(build-system gnu-build-system)
- (inputs `(("perl" ,perl)))
+ (inputs (list perl))
(arguments
;; Tests fail because of warnings on stderr from Perl 5.22. Adjusting
;; texi2html.pl to avoid the warnings seems non-trivial, so we simply
@@ -276,8 +284,7 @@ Texi2HTML.")
(string-append "\"" (which "clear") "\"")))
#t)))))
(inputs
- `(("ncurses" ,ncurses)
- ("readline" ,readline)))
+ (list ncurses readline))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)