Subject: bug#62226: bash-minimal fails to build on x86_64-w64-mingw32

From: Ekaitz Zarraga <[email-masked]>
Date: Thu, 16 Mar 2023 19:50:14 +0000

Any package that uses `bash-minimal` to build in mingw (all of them?) fails when trying to build `bash-minimal` with the following error:

```
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `build'
rm -f mksyntax.exe
gcc -DPROGRAM='"bash.exe"' -DCONF_HOSTTYPE='"x86_64"' -DCONF_OSTYPE='"mingw32"' -DCONF_MACHTYPE='"x86_64-w64-mingw32"' -DCONF_VENDOR='"w64"' -DLOCALEDIR='"/gnu/store/lb1afqc8mx7jjynpf8qbn6mc13h9p4ji-bash-minimal-5.1.8/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H   -I.  -I. -I./include -I./lib   -g -DCROSS_COMPILING  -g -DCROSS_COMPILING -o mksyntax.exe ./mksyntax.c
In file included from ./mksyntax.c:23:
./config.h:361:19: error: two or more data types in declaration specifiers
  361 | #define socklen_t unsigned int
      |                   ^~~~~~~~
./config.h:361:28: error: two or more data types in declaration specifiers
  361 | #define socklen_t unsigned int
      |                            ^~~
make: *** [Makefile:720: mksyntax.exe] Error 1
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: () exit-status: 2 term-signal: #f stop-signal: #f>
phase `build' failed after 0.0 seconds
command "make" failed with status 2
note: keeping build directory `/tmp/guix-build-bash-minimal-5.1.8.drv-2'
builder for `/gnu/store/r3kiyak1js85m8achjf9jcbqq7asmjy3-bash-minimal-5.1.8.drv' failed with exit code 1
build of /gnu/store/r3kiyak1js85m8achjf9jcbqq7asmjy3-bash-minimal-5.1.8.drv failed
View build log at '/var/log/guix/drvs/r3/kiyak1js85m8achjf9jcbqq7asmjy3-bash-minimal-5.1.8.drv.gz'.
```

I'll investigate but I don't think I'll reach far on this one.

I already tried removing the offending lines from the `config.h` but other errors appear (how surprising :) )

Thanks all,
Ekaitz