milkytracker is broken in the current macppc bulk:
> conv.c:78:51: error: invalid operand for instruction > DEFINE_CLIPCONVERT_POWERPC(s8,f32, -128.0, 127.0, LFSUX, LBZ_STBUX) > ^ > conv.c:65:16: note: expanded from macro 'LFSUX' > #define LFSUX "1: lfsux f0,%1,%6 \n" > ^ > <inline asm>:4:10: note: instantiated into assembly here > 1: lfsux f0,5,6 I'm not proposing using `-fno-integrated-as' this time, because it causes relocation errors. Since a fallback already exists, i think we should use it. I've reported the issue upstream as a PR, but i don't expect the upstream fix to be as-is [0]. While here i've updated HOMEPAGE. With the below diff it builds [1] and runs fine on macppc. Comments/feedback are welcome, Charlène. [0] https://github.com/milkytracker/MilkyTracker/pull/210 [1] https://bin.charlenew.xyz/milkytracker.log Index: Makefile =================================================================== RCS file: /cvs/ports/audio/milkytracker/Makefile,v retrieving revision 1.24 diff -u -p -u -p -r1.24 Makefile --- Makefile 15 Apr 2020 13:31:42 -0000 1.24 +++ Makefile 28 Apr 2020 16:18:31 -0000 @@ -7,11 +7,11 @@ GH_PROJECT = MilkyTracker GH_TAGNAME = v1.02.00 PKGNAME = ${DISTNAME:L} -REVISION = 5 +REVISION = 6 CATEGORIES = audio -HOMEPAGE = http://milkytracker.titandemo.org/ +HOMEPAGE = https://milkytracker.titandemo.org/ # GPLv3+ PERMIT_PACKAGE = Yes Index: patches/patch-src_ppui_fastfill_h =================================================================== RCS file: patches/patch-src_ppui_fastfill_h diff -N patches/patch-src_ppui_fastfill_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_ppui_fastfill_h 28 Apr 2020 16:18:31 -0000 @@ -0,0 +1,26 @@ +$OpenBSD$ + +powerpc fix for "error: invalid operand for instruction" in asm code +see https://github.com/milkytracker/MilkyTracker/pull/210 + +Index: src/ppui/fastfill.h +--- src/ppui/fastfill.h.orig ++++ src/ppui/fastfill.h +@@ -34,7 +34,7 @@ static __attribute__((noinline)) void fill_dword(pp_ui + static inline void fill_dword(pp_uint32* buff, pp_uint32 dw, pp_uint32 len) + #endif + { +-#if defined(__ppc__) && defined(__GNUC__) ++#if defined(__ppc__) && defined(__GNUC__) && !defined(__clang__) + // PPC assembly FTW!!1! + // r3 = buff + // r4 = dw +@@ -94,7 +94,7 @@ static __attribute__((noinline)) void fill_dword_verti + static inline void fill_dword_vertical(pp_uint32* buff, pp_uint32 dw, pp_uint32 len, pp_uint32 pitch) + #endif + { +-#if defined(__ppc__) && defined(__GNUC__) ++#if defined(__ppc__) && defined(__GNUC__) && !defined(__clang__) + asm volatile("nop\n" // align loop start to 16 byte boundary + "nop\n" // same + "nop\n" // same