gnu: texinfo: Fix cross-compilation.

* gnu/packages/texinfo.scm (texinfo)[arguments]: Do not reset environment
before running configure with the native compiler, in a cross-compilation
context,
[inputs]: move perl from here ...
[native-inputs]: ... to here. Also add ncurses that is needed in a
cross-compilation context to build texinfo native tools.
This commit is contained in:
Mathieu Othacehe 2019-09-04 18:25:17 +02:00
parent 6ef379f879
commit 210b6412ee
No known key found for this signature in database
GPG key ID: 8354763531769CA6

View file

@ -42,8 +42,28 @@ (define-public texinfo
(base32
"0qjzvbvnv9003xdrcpi3jp7y68j4hq2ciw9frh2hghh698zlnxvp"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("perl" ,perl)))
(arguments
;; When cross-compiling, the package is configured twice: once with the
;; native compiler and once with the cross-compiler. During the configure
;; 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)))
;; 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-search-paths
;; This is the variable used by the standalone Info reader.