From c4eec2525e51292bdec75259761a1bc8273e225f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=98rjan=20Malde?= <red@foxi.me>
Date: Sun, 18 Jul 2021 12:29:49 +0200
Subject: groups/231.native_packages_etc.group: bochs: enable SDL support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Ørjan Malde <red@foxi.me>
---
 groups/231.native_packages_etc.group |  2 +-
 patches/bochs-2.6.9.local.patch      | 38 ++++++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/groups/231.native_packages_etc.group b/groups/231.native_packages_etc.group
index c98fe46c..755ccf3a 100644
--- a/groups/231.native_packages_etc.group
+++ b/groups/231.native_packages_etc.group
@@ -41,7 +41,7 @@ zstd")";
 : ${PKG_BOCHS_SHA256SUM:=ee5b677fd9b1b9f484b5aeb4614f43df21993088c0c0571187f93acb0866e98c};
 : ${PKG_BOCHS_VERSION:=2.6.9};
 : ${PKG_BOCHS_URL:=https://sources.voidlinux.org/bochs-${PKG_BOCHS_VERSION}/bochs-${PKG_BOCHS_VERSION}.tar.gz};
-: ${PKG_BOCHS_CONFIGURE_ARGS_EXTRA:="--disable-docbook --without-x11 --with-term"};
+: ${PKG_BOCHS_CONFIGURE_ARGS_EXTRA:="--disable-docbook --without-x11 --without-wx --without-sdl2 --with-term --with-sdl --enable-idle-hack"};
 : ${PKG_BOCHS_CXXFLAGS_CONFIGURE_EXTRA:="-D_LARGEFILE64_SOURCE -I${PREFIX_NATIVE}/include/ncurses"};
 : ${PKG_BOCHS_INSTALL_FILES:="../obj/.libs/bochs=bin/ ../obj/.libs/bximage=bin/"};
 : ${PKG_BOCHS_LDFLAGS_CONFIGURE_EXTRA:="-L${PREFIX_NATIVE}/lib"};
diff --git a/patches/bochs-2.6.9.local.patch b/patches/bochs-2.6.9.local.patch
index f3a9210f..457fba8d 100644
--- a/patches/bochs-2.6.9.local.patch
+++ b/patches/bochs-2.6.9.local.patch
@@ -1,3 +1,41 @@
+diff -ru bochs-2.6.9.orig/main.cc bochs-2.6.9/main.cc
+--- bochs-2.6.9.orig/main.cc    2017-02-18 17:28:04.318635000 +0100
++++ bochs-2.6.9/main.cc 2021-07-18 01:15:37.859411673 +0200
+@@ -1525,5 +1525,9 @@
+   }
+ #endif
+
++  /* FIXME: this works, but definitely isn't right! */
++  if(signum == 0)
++    return;
++
+   BX_PANIC(("SIGNAL %u caught", signum));
+ }
+diff -ru bochs-2.6.9.orig/configure bochs-2.6.9/configure
+--- bochs-2.6.9.orig/configure  2017-04-09 08:46:13.780213000 +0200
++++ bochs-2.6.9/configure       2021-07-17 23:41:23.537634378 +0200
+@@ -23665,7 +23665,7 @@
+
+   fi
+   case "$target" in
+-    *-pc-windows* | *-pc-winnt* | *-cygwin* | *-mingw32*)
++    *-pc-windows* | *-pc-winnt* | *-cygwin* | *-mingw32* | *-midipix*)
+     NETLOW_OBJS="$NETLOW_OBJS eth_win32.o"
+     ethernet_modules="$ethernet_modules win32"
+     $as_echo "#define BX_NETMOD_WIN32 1" >>confdefs.h
+@@ -24629,10 +24629,10 @@
+   SPECIFIC_GUI_OBJS="$SPECIFIC_GUI_OBJS \$(GUI_OBJS_SDL)"
+   # GUI_*FLAGS are added to the compilation of every bochs file, not just
+   # the files in gui/*.cc.
+-  SDL_CFLAGS=`sdl-config --cflags`
++  SDL_CFLAGS=`$PKG_CONFIG --cflags sdl`
+   GUI_CFLAGS="$GUI_CFLAGS $SDL_CFLAGS"
+   GUI_CXXFLAGS="$GUI_CXXFLAGS $SDL_CFLAGS"
+-  GUI_LINK_OPTS_SDL="`sdl-config --libs`"
++  GUI_LINK_OPTS_SDL=`$PKG_CONFIG --libs sdl`
+   GUI_LINK_OPTS="$GUI_LINK_OPTS \$(GUI_LINK_OPTS_SDL)"
+   # The enhanced X debugger depends on GTK2
+   if test "$gui_debugger" = 1 -a "$DEFAULT_GUI" != win32; then
 diff -ru bochs-2.6.9.orig/gui/term.cc bochs-2.6.9/gui/term.cc
 --- bochs-2.6.9.orig/gui/term.cc	2017-01-15 12:44:43.207284000 +0100
 +++ bochs-2.6.9/gui/term.cc	2019-11-04 21:23:25.102021241 +0100
-- 
cgit v1.2.3