> http://build-failures.rhaalovely.net/sparc64/2019-07-11/emulators/fs-uae.log > http://build-failures.rhaalovely.net//powerpc/2019-07-14/emulators/fs-uae.log
BAD_THREAD is defined as NULL, and eg++ sees NULL not as 0 but nullptr, so it breaks. During the build another nullptr-related issue popped up, but FreeBSD had already a fix [0] for it. With these patches, the build is fixed on macppc [1], and not broken on amd64. Comments/feedback are welcome! Charlène. [0] https://github.com/freebsd/freebsd-ports/commit/87c030999d570c44ffbc881d47c6bdf1e5fda819#diff-ad32509d0f64a1563c42b9aab8c114cc [1] https://bin.charlenew.xyz/fs-uae.log Index: Makefile =================================================================== RCS file: /cvs/ports/emulators/fs-uae/Makefile,v retrieving revision 1.32 diff -u -p -u -p -r1.32 Makefile --- Makefile 12 Jul 2019 20:46:08 -0000 1.32 +++ Makefile 26 Jul 2019 14:57:31 -0000 @@ -7,9 +7,9 @@ V = 2.4.0 MODPY_EGG_VERSION = ${V} DISTNAME = fs-uae-$V CATEGORIES = emulators -REVISION = 9 +REVISION = 10 -HOMEPAGE = http://fengestad.no/fs-uae/ +HOMEPAGE = https://fs-uae.net/ MAINTAINER = Edd Barrett <e...@openbsd.org> # GPLv2, LGPLv2.1 Index: patches/patch-src_od-fs_bsdsocket_posix_cpp =================================================================== RCS file: patches/patch-src_od-fs_bsdsocket_posix_cpp diff -N patches/patch-src_od-fs_bsdsocket_posix_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_od-fs_bsdsocket_posix_cpp 26 Jul 2019 14:57:31 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +BAD_THREAD is defined as NULL, and ports-gcc doesn't want to +compare nullptr and int. + +Index: src/od-fs/bsdsocket_posix.cpp +--- src/od-fs/bsdsocket_posix.cpp.orig ++++ src/od-fs/bsdsocket_posix.cpp +@@ -1407,7 +1407,7 @@ int host_sbinit (TrapContext *context, SB) + sb->hostentsize = 1024; + + /* @@@ The thread should be PTHREAD_CREATE_DETACHED */ +- if (uae_start_thread ("bsdsocket", bsdlib_threadfunc, (void *)sb, &sb->thread) == BAD_THREAD) { ++ if (uae_start_thread ("bsdsocket", bsdlib_threadfunc, (void *)sb, &sb->thread) == 0) { + write_log ("BSDSOCK: Failed to create thread.\n"); + uae_sem_destroy (&sb->sem); + close (sb->sockabort[0]); Index: patches/patch-src_od-fs_picasso96_cpp =================================================================== RCS file: patches/patch-src_od-fs_picasso96_cpp diff -N patches/patch-src_od-fs_picasso96_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_od-fs_picasso96_cpp 26 Jul 2019 14:57:31 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +ports-gcc fix for: +error: cannot convert 'std::nullptr_t' to 'uaecptr' + +Index: src/od-fs/picasso96.cpp +--- src/od-fs/picasso96.cpp.orig ++++ src/od-fs/picasso96.cpp +@@ -4916,7 +4916,7 @@ static uaecptr uaegfx_card_install (TrapContext *ctx, + uaecptr exec = get_long (4); + + if (uaegfx_old || !gfxmem_start) +- return NULL; ++ return (uaecptr)0; + + uaegfx_resid = ds (_T("UAE Graphics Card 3.3")); + uaegfx_vblankname = ds (_T("UAE Graphics Card VBLANK"));