mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-18 21:46:35 +01:00
gnu: bash: Avoid hang when cross-built for the Hurd.
For example, without this patch bash hangs while configuring diffutils. Reproducer: cat >x.awk <<EOF x... repeat 16384 (the actual pipe size) times EOF * gnu/packages/bash.scm (bash): When cross-building for the Hurd, add new "create-pipesize.h" stage. Change-Id: I02c1dcf2d63849626ba3448cd52766db822dc77c
This commit is contained in:
parent
a9005279d0
commit
a56e8f0a87
1 changed files with 14 additions and 0 deletions
|
@ -175,6 +175,20 @@ (define-public bash
|
|||
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
,@(if (and (target-hurd?) (not (system-hurd?)))
|
||||
`((add-after 'configure 'create-pipesize.h
|
||||
;; The Bash Makefile mentions how PIPESIZE calculation is
|
||||
;; "technically wrong" when cross-compiling, and offers no
|
||||
;; way to override it. On the 64bit Hurd, it can make
|
||||
;; bash hang.
|
||||
(lambda _
|
||||
(with-directory-excursion "builtins"
|
||||
(with-output-to-file "psize.aux"
|
||||
(lambda _ (display "dummy to pacify make\n")))
|
||||
(with-output-to-file "pipesize.h"
|
||||
(lambda _ (display "#define PIPESIZE 16384\n")))))))
|
||||
'())
|
||||
|
||||
(add-after 'install 'install-sh-symlink
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Add a `sh' -> `bash' link.
|
||||
|
|
Loading…
Reference in a new issue