Hi,

> http://build-failures.rhaalovely.net/powerpc/2020-05-26/x11/agar/agar.log

`rlwimi' needs a 32-bit integer to work with, taken from another
upstream for the same code [0].

Later it breaks with:

> cpuinfo.c:289:23: error: use of undeclared identifier 'IllegalInsn'
> cpuinfo.c:290:14: error: use of undeclared identifier 'jmpbuf'

It did not occur in this ifdef hell back in the gcc days, because unlike
clang, it does not define __ppc__. Dropping AltiVec support fixes the
issue.

With the below diff it builds on macppc, x11/agar/test runs fine.

Comments/feedback are welcome,

Charlène.


[0] https://github.com/DCurrent/openbor/pull/188


Index: Makefile
===================================================================
RCS file: /cvs/ports/x11/agar/agar/Makefile,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 Makefile
--- Makefile    23 Oct 2017 17:11:03 -0000      1.5
+++ Makefile    14 Jun 2020 06:31:49 -0000
@@ -3,7 +3,7 @@
 COMMENT =              cross-platform widget toolkit
 
 PKGNAME =              agar-$V
-REVISION =             2
+REVISION =             3
 
 SHARED_LIBS +=  ag_au                     0.0 # 5.0
 SHARED_LIBS +=  ag_core                   0.0 # 5.0
@@ -28,6 +28,7 @@ LIB_DEPENDS =         audio/libsndfile \
 CONFIGURE_ARGS +=      --with-gl=${X11BASE} \
                        --with-x=${X11BASE} \
                        --with-portaudio=${LOCALBASE} \
-                       --with-sndfile=${LOCALBASE}
+                       --with-sndfile=${LOCALBASE} \
+                       --with-altivec=no
 
 .include <bsd.port.mk>
Index: patches/patch-core_byteswap_h
===================================================================
RCS file: patches/patch-core_byteswap_h
diff -N patches/patch-core_byteswap_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-core_byteswap_h       14 Jun 2020 06:31:49 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+powerpc fix for:
+unsupported inline asm: input with type 'int' matching output with type
+'u_int16_t' (aka 'unsigned short')
+
+Index: core/byteswap.h
+--- core/byteswap.h.orig
++++ core/byteswap.h
+@@ -37,11 +37,11 @@ AG_Swap16(Uint16 x)
+ static __inline__ Uint16
+ AG_Swap16(Uint16 x)
+ {
+-      Uint16 rv;
++      Uint32 rv;
+       __asm__("rlwimi %0,%2,8,16,23" :
+               "=&r" (rv) :
+               "0" (x >> 8), "r" (x));
+-      return (rv);
++      return (Uint16)(rv);
+ }
+ #else
+ static __inline__ Uint16
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/x11/agar/agar/pkg/PLIST,v
retrieving revision 1.1.1.1
diff -u -p -u -p -r1.1.1.1 PLIST
--- pkg/PLIST   10 Oct 2016 09:33:17 -0000      1.1.1.1
+++ pkg/PLIST   14 Jun 2020 06:31:49 -0000
@@ -34,7 +34,6 @@ include/agar/agar/config/ag_debug_gui.h
 include/agar/agar/config/ag_legacy.h
 include/agar/agar/config/ag_network.h
 include/agar/agar/config/ag_threads.h
-include/agar/agar/config/altivec_cflags.h
 include/agar/agar/config/bindir.h
 include/agar/agar/config/clock_cflags.h
 include/agar/agar/config/clock_libs.h
@@ -406,22 +405,22 @@ include/agar/agar/vg/vg_text.h
 include/agar/agar/vg/vg_tool.h
 include/agar/agar/vg/vg_tools.h
 include/agar/agar/vg/vg_view.h
-lib/libag_au.a
+@static-lib lib/libag_au.a
 lib/libag_au.la
 @lib lib/libag_au.so.${LIBag_au_VERSION}
-lib/libag_core.a
+@static-lib lib/libag_core.a
 lib/libag_core.la
 @lib lib/libag_core.so.${LIBag_core_VERSION}
-lib/libag_dev.a
+@static-lib lib/libag_dev.a
 lib/libag_dev.la
 @lib lib/libag_dev.so.${LIBag_dev_VERSION}
-lib/libag_gui.a
+@static-lib lib/libag_gui.a
 lib/libag_gui.la
 @lib lib/libag_gui.so.${LIBag_gui_VERSION}
-lib/libag_math.a
+@static-lib lib/libag_math.a
 lib/libag_math.la
 @lib lib/libag_math.so.${LIBag_math_VERSION}
-lib/libag_vg.a
+@static-lib lib/libag_vg.a
 lib/libag_vg.la
 @lib lib/libag_vg.so.${LIBag_vg_VERSION}
 @man man/man3/AG_Anim.3

Reply via email to