diff options
Diffstat (limited to 'distro/packages/ncurses.scm')
-rw-r--r-- | distro/packages/ncurses.scm | 39 |
1 files changed, 30 insertions, 9 deletions
diff --git a/distro/packages/ncurses.scm b/distro/packages/ncurses.scm index f8641c72f9..938d1dc2c4 100644 --- a/distro/packages/ncurses.scm +++ b/distro/packages/ncurses.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,7 +24,26 @@ #:use-module (guix build-system gnu)) (define-public ncurses - (let ((post-install-phase + (let ((patch-makefile-phase + '(lambda _ + (for-each patch-makefile-SHELL + (find-files "." "Makefile.in")))) + (configure-phase + '(lambda* (#:key inputs outputs configure-flags + #:allow-other-keys) + ;; The `ncursesw5-config' has a #!/bin/sh. We want to patch + ;; it to point to libc's embedded Bash, to avoid retaining a + ;; reference to the bootstrap Bash. + (let* ((libc (assoc-ref inputs "libc")) + (bash (string-append libc "/bin/bash")) + (out (assoc-ref outputs "out"))) + (format #t "configure flags: ~s~%" configure-flags) + (zero? (apply system* bash "./configure" + (string-append "SHELL=" bash) + (string-append "CONFIG_SHELL=" bash) + (string-append "--prefix=" out) + configure-flags))))) + (post-install-phase '(lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) ;; When building a wide-character (Unicode) build, create backward @@ -81,13 +100,15 @@ '("--without-cxx-binding") '())) #:tests? #f ; no "check" target - #:phases (alist-cons-after 'install 'post-install - ,post-install-phase - %standard-phases) - - ;; The `ncursesw5-config' has a #!/bin/sh that we don't want to - ;; patch, to avoid retaining a reference to the build-time Bash. - #:patch-shebangs? #f)) + #: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))))) ((system cross-system) (arguments cross-system)))) (self-native-input? #t) |