[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
13/58: gnu: bash: Avoid hang when cross-built for the Hurd.
From: |
guix-commits |
Subject: |
13/58: gnu: bash: Avoid hang when cross-built for the Hurd. |
Date: |
Sun, 24 Nov 2024 02:50:35 -0500 (EST) |
janneke pushed a commit to branch hurd-team
in repository guix.
commit 7235d52720e15f740207edb5a02a7b3e0d907f53
Author: Janneke Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Sat Nov 16 20:21:59 2024 +0100
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
---
gnu/packages/bash.scm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 56918d79bd..642a405985 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -175,6 +175,20 @@ number/base32-hash tuples, directly usable in the
'patch-series' form."
#: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.
- 39/58: gnu: inetutils: Fix build for the 64bit Hurd., (continued)
- 39/58: gnu: inetutils: Fix build for the 64bit Hurd., guix-commits, 2024/11/24
- 41/58: gnu: guile-fibers: Fix build for the 64bit Hurd., guix-commits, 2024/11/24
- 44/58: gnu: commencement: mig-boot0: Update to 1.8+git20231217.., guix-commits, 2024/11/24
- 47/58: gnu: gettext: Fix cross-build shebangs., guix-commits, 2024/11/24
- 50/58: system: examples: Add bare-hurd64.tmpl., guix-commits, 2024/11/24
- 58/58: gnu: commencement: gcc-final: Support the 64bit Hurd., guix-commits, 2024/11/24
- 26/58: gnu: glibc/hurd: Add patch for the 64bit Hurd, fixing "raise"., guix-commits, 2024/11/24
- 27/58: gnu: make-bootstrap: Update gcc-static to gcc-14, for the 64bit Hurd., guix-commits, 2024/11/24
- 02/58: gnu: mig: Update to 1.8+git20231217., guix-commits, 2024/11/24
- 14/58: gnu: git-minimal: Support [cross-]build with gcc-14 and the 64bit Hurd., guix-commits, 2024/11/24
- 13/58: gnu: bash: Avoid hang when cross-built for the Hurd.,
guix-commits <=
- 19/58: gnu: hurd: Fix build with gcc-14., guix-commits, 2024/11/24
- 17/58: gnu: perl: Support [cross-]build with gcc-14 and the 64bit Hurd., guix-commits, 2024/11/24
- 25/58: gnu: gcc-14: Force libdir /lib instead of /lib64 for the 64bit Hurd., guix-commits, 2024/11/24
- 20/58: gnu: netdde: Fix build with gcc-14., guix-commits, 2024/11/24
- 28/58: DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd., guix-commits, 2024/11/24
- 29/58: system: image: Add hurd64 image types., guix-commits, 2024/11/24
- 33/58: gnu: libpciaccess: Support the 64bit Hurd., guix-commits, 2024/11/24
- 45/58: gnu: commencement: hurd-headers-boot0: Update to 0.9.git20240714., guix-commits, 2024/11/24
- 46/58: gnu: commencement: libstdc++-boot0-gcc7: Replace by make-libstdc++-boot0., guix-commits, 2024/11/24
- 49/58: gnu: bootstrap: %bootstrap-glibc: Also fix libm.so., guix-commits, 2024/11/24