These patches actually enable a mingw build with guix (it puzzels me a bit that mingw patches were merged without providing a way to test them?) and show that:
guix build -f guix.scm --target=x86_64-w64-mingw32
fails with:
...
../lib/verify.h:213:41: error: static assertion failed: "verify (SCM_MOST_POSITIVE_FIXNUM <= (mp_limb_t) -1)"
213 | # define _GL_VERIFY(R, DIAGNOSTIC, ...) _Static_assert (R, DIAGNOSTIC)
| ^~~~~~~~~~~~~~
../lib/verify.h:305:20: note: in expansion of macro '_GL_VERIFY'
305 | # define verify(R) _GL_VERIFY (R, "verify (" #R ")", -)
| ^~~~~~~~~~
integers.c:41:1: note: in expansion of macro 'verify'
41 | verify (SCM_MOST_POSITIVE_FIXNUM <= (mp_limb_t) -1);
| ^~~~~~
integers.c: In function 'scm_integer_ceiling_quotient_iz':
integers.c:786:36: warning: overflow in conversion from 'long long int' to 'long int' changes value from '2305843009213693952' to '0' [-Woverflow]
786 | bignum_cmp_long (y, -SCM_MOST_NEGATIVE_FIXNUM) == 0)
...
They do work, however on
https://codeberg.org/janneke/guile/commits/branch/wip-mingw-2026
which is based on
https://codeberg.org/spk121/guile/commits/branch/wip-mingw-2026
Which is nice, but next up would be a way to actually test if what has been built actually works, something like
https://codeberg.org/janneke/guile/commit/a481d157d93b9999b687f98c7d8c98997e1044a8
I'll be looking at that next for =wip-mingw-2026=, which interestingly, "lacks" the huge x86_64-mingw32 commit that we've been working with for years.
These patches actually enable a mingw build with guix (it puzzels me a bit that mingw patches were merged without providing a way to test them?) and show that:
```
guix build -f guix.scm --target=x86_64-w64-mingw32
```
fails with:
```
...
../lib/verify.h:213:41: error: static assertion failed: "verify (SCM_MOST_POSITIVE_FIXNUM <= (mp_limb_t) -1)"
213 | # define _GL_VERIFY(R, DIAGNOSTIC, ...) _Static_assert (R, DIAGNOSTIC)
| ^~~~~~~~~~~~~~
../lib/verify.h:305:20: note: in expansion of macro '_GL_VERIFY'
305 | # define verify(R) _GL_VERIFY (R, "verify (" #R ")", -)
| ^~~~~~~~~~
integers.c:41:1: note: in expansion of macro 'verify'
41 | verify (SCM_MOST_POSITIVE_FIXNUM <= (mp_limb_t) -1);
| ^~~~~~
integers.c: In function 'scm_integer_ceiling_quotient_iz':
integers.c:786:36: warning: overflow in conversion from 'long long int' to 'long int' changes value from '2305843009213693952' to '0' [-Woverflow]
786 | bignum_cmp_long (y, -SCM_MOST_NEGATIVE_FIXNUM) == 0)
...
```
They do work, however on
```
https://codeberg.org/janneke/guile/commits/branch/wip-mingw-2026
```
which is based on
```
https://codeberg.org/spk121/guile/commits/branch/wip-mingw-2026
```
Which is nice, but next up would be a way to actually test if what has been built actually works, something like
```
https://codeberg.org/janneke/guile/commit/a481d157d93b9999b687f98c7d8c98997e1044a8
```
I'll be looking at that next for =wip-mingw-2026=, which interestingly, "lacks" the huge x86_64-mingw32 commit that we've been working with for years.