cwen, you said that a bug [1] in graphics/babl broke the build of graphics/gimp/stable on powerpc. Here's a diff that fixes some calls to a va_args(3) function. It fixes the test in the bug. I don't know whether it unbreaks gimp; I didn't build gimp, because my macppc would need to build devel/boost, and I don't want to build boost. In a moment, I will try to update the bug [1].
This diff fixes the chromaticities test on powerpc, so "make test" passes 24 of 25 tests. The transparent test times out; my iMac might be too slow. With this diff on amd64, "make test" passes all 25 tests. --George [1] https://gitlab.gnome.org/GNOME/babl/issues/24 Index: Makefile =================================================================== RCS file: /cvs/ports/graphics/babl/Makefile,v retrieving revision 1.53 diff -u -p -r1.53 Makefile --- Makefile 25 Jan 2020 06:49:49 -0000 1.53 +++ Makefile 14 Feb 2020 18:39:37 -0000 @@ -3,6 +3,7 @@ COMMENT= dynamic pixel format conversion library V= 0.1.74 +REVISION= 0 DISTNAME= babl-${V} EXTRACT_SUFX= .tar.xz Index: patches/patch-babl_babl-fish-path_c =================================================================== RCS file: patches/patch-babl_babl-fish-path_c diff -N patches/patch-babl_babl-fish-path_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-babl_babl-fish-path_c 14 Feb 2020 18:39:37 -0000 @@ -0,0 +1,41 @@ +$OpenBSD$ + +Pass a function pointer, not a union of function pointers, when +calling babl_conversion_new(). This is necessary on powerpc, where +the calling convention was passing the union as a pointer to a +temporary copy of the union. The compiler doesn't check the type, +because babl_conversion_new() has a va_arg(3) prototype. + +This fixes the chromaticities test on powerpc, +https://gitlab.gnome.org/GNOME/babl/issues/24 + +Index: babl/babl-fish-path.c +--- babl/babl-fish-path.c.orig ++++ babl/babl-fish-path.c +@@ -404,7 +404,7 @@ alias_conversion (Babl *babl, + (void*)conv->source, (void*)space), + babl_remodel_with_space ( + (void*)conv->destination, (void*)space), +- "linear", conv->function, ++ "linear", conv->function.linear, + NULL); + break; + case BABL_CONVERSION_PLANAR: +@@ -413,7 +413,7 @@ alias_conversion (Babl *babl, + (void*)conv->source, (void*)space), + babl_remodel_with_space ( + (void*)conv->destination, (void*)space), +- "planar", conv->function, ++ "planar", conv->function.planar, + NULL); + break; + case BABL_CONVERSION_PLANE: +@@ -422,7 +422,7 @@ alias_conversion (Babl *babl, + (void*)conv->source, (void*)space), + babl_remodel_with_space ( + (void*)conv->destination, (void*)space), +- "plane", conv->function, ++ "plane", conv->function.plane, + NULL); + break; + default:
