gnu: gcc-4.9: Fix build on MIPS.

* gnu/packages/gcc.scm (gcc-4.9): Add 'join-two-line-dynamic-linker-defns
  phase.
master
Mark H Weaver 2015-01-03 23:44:11 -05:00
parent ee06af5b4b
commit fcdebadf39
1 changed files with 23 additions and 1 deletions

View File

@ -280,7 +280,29 @@ Go. It also includes runtime support libraries for these languages.")
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810"))))))
"1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810"))))
;; TODO: In core-updates, improve the 'pre-configure phase of the main
;; 'gcc' package so that the 'join-two-line-dynamic-linker-defns phase is
;; no longer needed here. Then the entire 'arguments' override below can
;; be removed.
(arguments
(substitute-keyword-arguments (package-arguments gcc-4.7)
((#:phases phases)
`(alist-cons-before
'pre-configure 'join-two-line-dynamic-linker-defns
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc")))
(when libc
;; Join two-line definitions of GLIBC_DYNAMIC_LINKER* into a
;; single line, to allow the 'pre-configure phase to work
;; properly.
(substitute* (find-files "gcc/config"
"^linux(64|-elf)?\\.h$")
(("(#define GLIBC_DYNAMIC_LINKER[^ ]*.*)\\\\\n$" _ line)
line)))
#t))
,phases))))))
(define* (custom-gcc gcc name languages #:key (separate-lib-output? #t))
"Return a custom version of GCC that supports LANGUAGES."