~ruther/guix-local

f755aa3f7ac7a413d8fcc35b1264aff813cd9313 — Ludovic Courtès 12 years ago 089b063
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.
2 files changed, 34 insertions(+), 11 deletions(-)

M gnu/packages/ncurses.scm
M gnu/packages/readline.scm
M gnu/packages/ncurses.scm => gnu/packages/ncurses.scm +31 -10
@@ 42,7 42,16 @@
                            (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 @@
                 '("--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

M gnu/packages/readline.scm => gnu/packages/readline.scm +3 -1
@@ 61,7 61,9 @@
                   #: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