> 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"));



Reply via email to