summary refs log tree commit diff
path: root/pkgs/shells/bash
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2023-07-24 23:23:14 +0100
committerSergei Trofimovich <slyich@gmail.com>2023-07-24 23:23:14 +0100
commit99e148dd2719749c3e4c141161ca62dd177276a2 (patch)
treec4ec6fba62303a3be1016eb4a38cff86632727ad /pkgs/shells/bash
parent5867d146dc9d43a430141139ee1e64d57b7d9e10 (diff)
downloadnixpkgs-99e148dd2719749c3e4c141161ca62dd177276a2.tar
nixpkgs-99e148dd2719749c3e4c141161ca62dd177276a2.tar.gz
nixpkgs-99e148dd2719749c3e4c141161ca62dd177276a2.tar.bz2
nixpkgs-99e148dd2719749c3e4c141161ca62dd177276a2.tar.lz
nixpkgs-99e148dd2719749c3e4c141161ca62dd177276a2.tar.xz
nixpkgs-99e148dd2719749c3e4c141161ca62dd177276a2.tar.zst
nixpkgs-99e148dd2719749c3e4c141161ca62dd177276a2.zip
bash: fix parallel build failure on unwind_prot.o
As reported by Robert Scott in https://github.com/NixOS/nixpkgs/pull/245066
without the change `make -j8` build of `make` occasionally fails to
buildin parallel. The simplest reproducer is:

    $$ ./configure
    $$ make unwind_prot.o
    ...
    In file included from unwind_prot.c:51:
    In file included from ./bashintl.h:30:
    ./include/gettext.h:27:11: fatal error: 'libintl.h' file not found
    # include <libintl.h>
              ^~~~~~~~~~~
    1 error generated.
    make: * [Makefile:106: unwind_prot.o] Error 1

The change adds missing ttransitive `${LIBINTL_H}` dependency for
unwind_prot.o.
Diffstat (limited to 'pkgs/shells/bash')
-rw-r--r--pkgs/shells/bash/5.nix4
-rw-r--r--pkgs/shells/bash/parallel.patch12
2 files changed, 16 insertions, 0 deletions
diff --git a/pkgs/shells/bash/5.nix b/pkgs/shells/bash/5.nix
index 00b4a707ed0..6b126390c9f 100644
--- a/pkgs/shells/bash/5.nix
+++ b/pkgs/shells/bash/5.nix
@@ -61,6 +61,10 @@ stdenv.mkDerivation rec {
       url = "https://cgit.freebsd.org/ports/plain/shells/bash/files/patch-configure?id=3e147a1f594751a68fea00a28090d0792bee0b51";
       sha256 = "XHFMQ6eXTReNoywdETyrfQEv1rKF8+XFbQZP4YoVKFk=";
     })
+    # Apply parallel build fix pending upstream inclusion:
+    #   https://savannah.gnu.org/patch/index.php?10373
+    # Had to fetch manually to workaround -p0 default.
+    ./parallel.patch
   ];
 
   configureFlags = [
diff --git a/pkgs/shells/bash/parallel.patch b/pkgs/shells/bash/parallel.patch
new file mode 100644
index 00000000000..d9a0cc28ce0
--- /dev/null
+++ b/pkgs/shells/bash/parallel.patch
@@ -0,0 +1,12 @@
+From https://savannah.gnu.org/patch/index.php?10373
+  https://savannah.gnu.org/patch/download.php?file_id=54964
+--- Makefile.in
++++ Makefile.in
+@@ -1432,6 +1432,7 @@ siglist.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+ subst.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+ test.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+ trap.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
++unwind_prot.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+ variables.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+ version.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+ xmalloc.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h