gnu: ncurses, readline: Allow cross-compilation.

* gnu/packages/ncurses.scm (ncurses): Add `cross-pre-install-phase'.
  Use different phases when (%current-target-system) is true.
* gnu/packages/readline.scm (readline): Use %standard-cross-phases as
  the base when (%current-target-system) is true.
This commit is contained in:
Ludovic Courtès 2013-05-25 20:12:26 +02:00
parent 089b06348e
commit f755aa3f7a
2 changed files with 34 additions and 11 deletions

View file

@ -42,7 +42,16 @@ (define-public ncurses
(string-append "CONFIG_SHELL=" bash)
(string-append "--prefix=" out)
configure-flags)))))
(cross-pre-install-phase
'(lambda _
;; Run the native `tic' program, not the cross-built one.
(substitute* "misc/run_tic.sh"
(("\\{TIC_PATH:=.*\\}")
"{TIC_PATH:=true}")
(("cross_compiling:=no")
"cross_compiling:=yes"))))
(post-install-phase
;; FIXME: The `tic' binary lacks a RUNPATH; fix it.
'(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; When building a wide-character (Unicode) build, create backward
@ -97,16 +106,28 @@ (define lib.so
'("--without-cxx-binding")
'()))
#:tests? #f ; no "check" target
#:phases (alist-cons-after
'install 'post-install ,post-install-phase
(alist-cons-before
'configure 'patch-makefile-SHELL
,patch-makefile-phase
(alist-replace
'configure
,configure-phase
%standard-phases)))))
(self-native-input? #t)
#:phases ,(if (%current-target-system)
`(alist-cons-before ; cross build
'configure 'patch-makefile-SHELL
,patch-makefile-phase
(alist-cons-before
'install 'pre-install
,cross-pre-install-phase
(alist-cons-after
'install 'post-install ,post-install-phase
%standard-cross-phases)))
`(alist-cons-after ; native build
'install 'post-install ,post-install-phase
(alist-cons-before
'configure 'patch-makefile-SHELL
,patch-makefile-phase
(alist-replace
'configure
,configure-phase
%standard-phases))))))
(self-native-input? #t) ; for `tic'
(synopsis "Terminal emulation (termcap, terminfo) library")
(description
"The Ncurses (new curses) library is a free software emulation of curses

View file

@ -61,7 +61,9 @@ (define-public readline
#:phases (alist-cons-after
'install 'post-install
,post-install-phase
%standard-phases)))
,(if (%current-target-system)
'%standard-cross-phases
'%standard-phases))))
(synopsis "Edit command lines while typing, with history support")
(description
"The GNU Readline library provides a set of functions for use by