On Sun 31/05/2026 19:15, Christian Weisgerber wrote:
> http://build-failures.rhaalovely.net/amd64/2026-05-30/
>
> $ awk '/not built/ { a[$NF]++ } END { for (i in a) printf "%2d %s\n", a[i], i
> }' summary.log | sort -nr
> 45 x11/gnustep/gui
> 13 audio/musepack
> 3 japanese/canna
> 3 japanese/Wnn
> 2 inputmethods/libime
> 1 x11/xbae
> 1 x11/rep-gtk
> 1 print/lilypond,-main
> 1 misc/open62541
> 1 math/spread-sheet-widget
> 1 inputmethods/libskk
> 1 devel/autogen
> 1 cad/magic
> 1 audio/libworkman
>
> audio/ario ports@
> audio/gmpc-plugins landry@
> audio/libworkman ports@
> audio/musepack ports@
> audio/vgmstream [email protected]
> audio/xcdplayer ports@
> cad/fritzing ports@
> cad/graywolf [email protected]
> cad/magic [email protected]
> cad/prusaslicer [email protected]
> databases/pgpool pea@
> databases/pgtcl [email protected]
> devel/autogen ports@
> devel/giggle ports@
> devel/remake ports@
> emulators/citra ports@
> emulators/gambatte [email protected]
> emulators/xcopilot ports@
> emulators/xnp2 ports@
> emulators/xnp21kai ports@
> games/cataclysm-dda,no_x11 kirby@
> games/clonekeen edd@
> games/corewars ports@
> games/falconseye espie@
> games/gnushogi ports@
> games/lincity-ng ports@
> games/micropolis ports@
> games/oolite ports@
> games/openarena ports@
> games/slash espie@
> games/slash-em espie@
> games/spatial ports@
> games/tome4 ports@
> games/wanderer ports@
> games/wrath ports@
> geo/foxtrotgps kirby@
> geo/qgis landry@
> graphics/arcan ports@
> graphics/fyre ports@
> graphics/geomview ports@
> graphics/mtpaint ports@
> graphics/quesoglc [email protected]
> graphics/tgif benoit@
> graphics/xanim espie@
> inputmethods/libime ports@
> inputmethods/libskk ports@
> japanese/Wnn espie@
> japanese/canna espie@
> japanese/kterm ports@
> lang/cim ports@
> lang/gpc ports@
> lang/scm,no_x11 espie@
> lang/v jasper@
> mail/hypermail ports@
Diff below unbreaks building mail/hypermail with llvm22. While here
change HOMEPAGE to https.
diff --git Makefile Makefile
index fbedfe4cc43..f4f2e4146ba 100644
--- Makefile
+++ Makefile
@@ -1,10 +1,11 @@
COMMENT= generate a cross-referenced HTML mail archive
VERSION= 2.3.0
+REVISION= 0
DISTNAME= hypermail-${VERSION}
CATEGORIES= mail www
-HOMEPAGE= http://www.hypermail-project.org/
+HOMEPAGE= https://www.hypermail-project.org/
SITES= ${HOMEPAGE}
WRKDIST= ${WRKDIR}/hypermail
diff --git patches/patch-src_trio_c patches/patch-src_trio_c
new file mode 100644
index 00000000000..9bfa756306f
--- /dev/null
+++ patches/patch-src_trio_c
@@ -0,0 +1,275 @@
+Fix 64-bit va_list type mismatch in bundled trio library
+
+Index: src/trio.c
+--- src/trio.c.orig
++++ src/trio.c
+@@ -3555,7 +3555,7 @@ TRIO_VARGS2((format, va_alist),
+ assert(VALID(format));
+
+ TRIO_VA_START(args, format);
+- status = TrioFormat(stdout, 0, TrioOutStreamFile, format, &args, NULL);
++ status = TrioFormat(stdout, 0, TrioOutStreamFile, format, (va_list *)args,
NULL);
+ TRIO_VA_END(args);
+ return status;
+ }
+@@ -3575,7 +3575,7 @@ TRIO_ARGS2((format, args),
+ {
+ assert(VALID(format));
+
+- return TrioFormat(stdout, 0, TrioOutStreamFile, format, &args, NULL);
++ return TrioFormat(stdout, 0, TrioOutStreamFile, format, (va_list *)args,
NULL);
+ }
+
+ /**
+@@ -3622,7 +3622,7 @@ TRIO_VARGS3((file, format, va_alist),
+ assert(VALID(format));
+
+ TRIO_VA_START(args, format);
+- status = TrioFormat(file, 0, TrioOutStreamFile, format, &args, NULL);
++ status = TrioFormat(file, 0, TrioOutStreamFile, format, (va_list *)args,
NULL);
+ TRIO_VA_END(args);
+ return status;
+ }
+@@ -3645,7 +3645,7 @@ TRIO_ARGS3((file, format, args),
+ assert(VALID(file));
+ assert(VALID(format));
+
+- return TrioFormat(file, 0, TrioOutStreamFile, format, &args, NULL);
++ return TrioFormat(file, 0, TrioOutStreamFile, format, (va_list *)args,
NULL);
+ }
+
+ /**
+@@ -3694,7 +3694,7 @@ TRIO_VARGS3((fd, format, va_alist),
+ assert(VALID(format));
+
+ TRIO_VA_START(args, format);
+- status = TrioFormat(&fd, 0, TrioOutStreamFileDescriptor, format, &args,
NULL);
++ status = TrioFormat(&fd, 0, TrioOutStreamFileDescriptor, format, (va_list
*)args, NULL);
+ TRIO_VA_END(args);
+ return status;
+ }
+@@ -3716,7 +3716,7 @@ TRIO_ARGS3((fd, format, args),
+ {
+ assert(VALID(format));
+
+- return TrioFormat(&fd, 0, TrioOutStreamFileDescriptor, format, &args, NULL);
++ return TrioFormat(&fd, 0, TrioOutStreamFileDescriptor, format, (va_list
*)args, NULL);
+ }
+
+ /**
+@@ -3760,7 +3760,7 @@ TRIO_VARGS4((stream, closure, format, va_alist),
+ TRIO_VA_START(args, format);
+ data.stream.out = stream;
+ data.closure = closure;
+- status = TrioFormat(&data, 0, TrioOutStreamCustom, format, &args, NULL);
++ status = TrioFormat(&data, 0, TrioOutStreamCustom, format, (va_list *)args,
NULL);
+ TRIO_VA_END(args);
+ return status;
+ }
+@@ -3780,7 +3780,7 @@ TRIO_ARGS4((stream, closure, format, args),
+
+ data.stream.out = stream;
+ data.closure = closure;
+- return TrioFormat(&data, 0, TrioOutStreamCustom, format, &args, NULL);
++ return TrioFormat(&data, 0, TrioOutStreamCustom, format, (va_list *)args,
NULL);
+ }
+
+ TRIO_PUBLIC int
+@@ -3827,7 +3827,7 @@ TRIO_VARGS3((buffer, format, va_alist),
+ assert(VALID(format));
+
+ TRIO_VA_START(args, format);
+- status = TrioFormat(&buffer, 0, TrioOutStreamString, format, &args, NULL);
++ status = TrioFormat(&buffer, 0, TrioOutStreamString, format, (va_list
*)args, NULL);
+ *buffer = NIL; /* Terminate with NIL character */
+ TRIO_VA_END(args);
+ return status;
+@@ -3853,7 +3853,7 @@ TRIO_ARGS3((buffer, format, args),
+ assert(VALID(buffer));
+ assert(VALID(format));
+
+- status = TrioFormat(&buffer, 0, TrioOutStreamString, format, &args, NULL);
++ status = TrioFormat(&buffer, 0, TrioOutStreamString, format, (va_list
*)args, NULL);
+ *buffer = NIL;
+ return status;
+ }
+@@ -3912,7 +3912,7 @@ TRIO_VARGS4((buffer, max, format, va_alist),
+
+ TRIO_VA_START(args, format);
+ status = TrioFormat(&buffer, max > 0 ? max - 1 : 0,
+- TrioOutStreamStringMax, format, &args, NULL);
++ TrioOutStreamStringMax, format, (va_list *)args, NULL);
+ if (max > 0)
+ *buffer = NIL;
+ TRIO_VA_END(args);
+@@ -3942,7 +3942,7 @@ TRIO_ARGS4((buffer, max, format, args),
+ assert(VALID(format));
+
+ status = TrioFormat(&buffer, max > 0 ? max - 1 : 0,
+- TrioOutStreamStringMax, format, &args, NULL);
++ TrioOutStreamStringMax, format, (va_list *)args, NULL);
+ if (max > 0)
+ *buffer = NIL;
+ return status;
+@@ -4003,7 +4003,7 @@ TRIO_VARGS4((buffer, max, format, va_alist),
+ buffer = &buffer[buf_len];
+
+ status = TrioFormat(&buffer, max - 1 - buf_len,
+- TrioOutStreamStringMax, format, &args, NULL);
++ TrioOutStreamStringMax, format, (va_list *)args, NULL);
+ TRIO_VA_END(args);
+ *buffer = NIL;
+ return status;
+@@ -4026,7 +4026,7 @@ TRIO_ARGS4((buffer, max, format, args),
+ buf_len = trio_length(buffer);
+ buffer = &buffer[buf_len];
+ status = TrioFormat(&buffer, max - 1 - buf_len,
+- TrioOutStreamStringMax, format, &args, NULL);
++ TrioOutStreamStringMax, format, (va_list *)args, NULL);
+ *buffer = NIL;
+ return status;
+ }
+@@ -4053,7 +4053,7 @@ TRIO_VARGS2((format, va_alist),
+ {
+ TRIO_VA_START(args, format);
+ (void)TrioFormat(info, 0, TrioOutStreamStringDynamic,
+- format, &args, NULL);
++ format, (va_list *)args, NULL);
+ TRIO_VA_END(args);
+
+ trio_string_terminate(info);
+@@ -4079,7 +4079,7 @@ TRIO_ARGS2((format, args),
+ if (info)
+ {
+ (void)TrioFormat(info, 0, TrioOutStreamStringDynamic,
+- format, &args, NULL);
++ format, (va_list *)args, NULL);
+ trio_string_terminate(info);
+ result = trio_string_extract(info);
+ trio_string_destroy(info);
+@@ -4111,7 +4111,7 @@ TRIO_VARGS3((result, format, va_alist),
+ {
+ TRIO_VA_START(args, format);
+ status = TrioFormat(info, 0, TrioOutStreamStringDynamic,
+- format, &args, NULL);
++ format, (va_list *)args, NULL);
+ TRIO_VA_END(args);
+ if (status >= 0)
+ {
+@@ -4145,7 +4145,7 @@ TRIO_ARGS3((result, format, args),
+ else
+ {
+ status = TrioFormat(info, 0, TrioOutStreamStringDynamic,
+- format, &args, NULL);
++ format, (va_list *)args, NULL);
+ if (status >= 0)
+ {
+ trio_string_terminate(info);
+@@ -4817,7 +4817,7 @@ TRIO_VARGS3((ref, format, va_alist),
+ assert(VALID(format));
+
+ TRIO_VA_START(arglist, format);
+- status = TrioFormatRef((trio_reference_t *)ref, format, &arglist, NULL);
++ status = TrioFormatRef((trio_reference_t *)ref, format, (va_list *)arglist,
NULL);
+ TRIO_VA_END(arglist);
+ return status;
+ }
+@@ -4834,7 +4834,7 @@ TRIO_ARGS3((ref, format, arglist),
+ {
+ assert(VALID(format));
+
+- return TrioFormatRef((trio_reference_t *)ref, format, &arglist, NULL);
++ return TrioFormatRef((trio_reference_t *)ref, format, (va_list *)arglist,
NULL);
+ }
+
+ /*************************************************************************
+@@ -6474,7 +6474,7 @@ TRIO_VARGS2((format, va_alist),
+ TRIO_VA_START(args, format);
+ status = TrioScan((trio_pointer_t)stdin, 0,
+ TrioInStreamFile,
+- format, &args, NULL);
++ format, (va_list *)args, NULL);
+ TRIO_VA_END(args);
+ return status;
+ }
+@@ -6489,7 +6489,7 @@ TRIO_ARGS2((format, args),
+
+ return TrioScan((trio_pointer_t)stdin, 0,
+ TrioInStreamFile,
+- format, &args, NULL);
++ format, (va_list *)args, NULL);
+ }
+
+ TRIO_PUBLIC int
+@@ -6524,7 +6524,7 @@ TRIO_VARGS3((file, format, va_alist),
+ TRIO_VA_START(args, format);
+ status = TrioScan((trio_pointer_t)file, 0,
+ TrioInStreamFile,
+- format, &args, NULL);
++ format, (va_list *)args, NULL);
+ TRIO_VA_END(args);
+ return status;
+ }
+@@ -6541,7 +6541,7 @@ TRIO_ARGS3((file, format, args),
+
+ return TrioScan((trio_pointer_t)file, 0,
+ TrioInStreamFile,
+- format, &args, NULL);
++ format, (va_list *)args, NULL);
+ }
+
+ TRIO_PUBLIC int
+@@ -6577,7 +6577,7 @@ TRIO_VARGS3((fd, format, va_alist),
+ TRIO_VA_START(args, format);
+ status = TrioScan((trio_pointer_t)&fd, 0,
+ TrioInStreamFileDescriptor,
+- format, &args, NULL);
++ format, (va_list *)args, NULL);
+ TRIO_VA_END(args);
+ return status;
+ }
+@@ -6593,7 +6593,7 @@ TRIO_ARGS3((fd, format, args),
+
+ return TrioScan((trio_pointer_t)&fd, 0,
+ TrioInStreamFileDescriptor,
+- format, &args, NULL);
++ format, (va_list *)args, NULL);
+ }
+
+ TRIO_PUBLIC int
+@@ -6631,7 +6631,7 @@ TRIO_VARGS4((stream, closure, format, va_alist),
+ TRIO_VA_START(args, format);
+ data.stream.in = stream;
+ data.closure = closure;
+- status = TrioScan(&data, 0, TrioInStreamCustom, format, &args, NULL);
++ status = TrioScan(&data, 0, TrioInStreamCustom, format, (va_list *)args,
NULL);
+ TRIO_VA_END(args);
+ return status;
+ }
+@@ -6651,7 +6651,7 @@ TRIO_ARGS4((stream, closure, format, args),
+
+ data.stream.in = stream;
+ data.closure = closure;
+- return TrioScan(&data, 0, TrioInStreamCustom, format, &args, NULL);
++ return TrioScan(&data, 0, TrioInStreamCustom, format, (va_list *)args,
NULL);
+ }
+
+ TRIO_PUBLIC int
+@@ -6691,7 +6691,7 @@ TRIO_VARGS3((buffer, format, va_alist),
+ TRIO_VA_START(args, format);
+ status = TrioScan((trio_pointer_t)&buffer, 0,
+ TrioInStreamString,
+- format, &args, NULL);
++ format, (va_list *)args, NULL);
+ TRIO_VA_END(args);
+ return status;
+ }
+@@ -6708,7 +6708,7 @@ TRIO_ARGS3((buffer, format, args),
+
+ return TrioScan((trio_pointer_t)&buffer, 0,
+ TrioInStreamString,
+- format, &args, NULL);
++ format, (va_list *)args, NULL);
+ }
+
+ TRIO_PUBLIC int