app-emulation/86Box: add 5.3

Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
This commit is contained in:
Conrad Kostecki
2025-12-22 21:13:39 +01:00
parent 4062fb9346
commit 65a293f84c
3 changed files with 147 additions and 0 deletions

View File

@@ -0,0 +1,101 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake desktop flag-o-matic xdg-utils
DESCRIPTION="Emulator of x86-based machines based on PCem"
HOMEPAGE="https://github.com/86Box/86Box"
SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="discord experimental +fluidsynth +munt new-dynarec +openal +qt6 +threads vde vnc"
DEPEND="
app-emulation/faudio
dev-libs/libevdev
dev-libs/libserialport
media-libs/freetype:2=
media-libs/libpng:=
media-libs/libsdl2
media-libs/libsndfile
media-libs/openal
media-libs/rtmidi
net-libs/libslirp
virtual/zlib:=
fluidsynth? ( media-sound/fluidsynth:= )
munt? ( media-libs/munt-mt32emu )
openal? ( media-libs/openal )
qt6? (
dev-libs/wayland
dev-qt/qtbase:6=[gui,network,opengl,widgets]
x11-libs/libX11
x11-libs/libXi
x11-libs/libxkbcommon
)
vnc? ( net-libs/libvncserver )
"
RDEPEND="${DEPEND}
qt6? ( dev-qt/qttranslations:6 )
vde? ( net-misc/vde )
"
BDEPEND="
virtual/pkgconfig
qt6? ( kde-frameworks/extra-cmake-modules )
"
PATCHES=( "${FILESDIR}/${PN}-5.3-fallthrough-define-available-in-C-code.patch" )
src_configure() {
# LTO needs to be filtered
# See https://bugs.gentoo.org/854507
filter-lto
append-flags -fno-strict-aliasing
local mycmakeargs=(
-DCPPTHREADS="$(usex threads)"
-DDEV_BRANCH="$(usex experimental)"
-DDISCORD="$(usex discord)"
-DDYNAREC="ON"
-DFLUIDSYNTH="$(usex fluidsynth)"
-DHAS_VDE="$(usex vde "${EPREFIX}/usr/$(get_libdir)/libvdeplug.so" "HAS_VDE-NOTFOUND")"
-DMINITRACE="OFF"
-DMUNT="$(usex munt)"
-DMUNT_EXTERNAL="$(usex munt)"
-DNEW_DYNAREC="$(usex new-dynarec)"
-DOPENAL="$(usex openal)"
-DPREFER_STATIC="OFF"
-DQT="$(usex qt6)"
-DRELEASE="ON"
-DRTMIDI="ON"
$(usex qt6 '-DUSE_QT6=ON' '')
-DVNC="$(usex vnc)"
)
cmake_src_configure
}
src_install() {
cmake_src_install
domenu src/unix/assets/net.86box.86Box.desktop
for iconsize in 48 64 72 96 128 192 256 512; do
doicon -s $iconsize src/unix/assets/${iconsize}x${iconsize}/net.86box.86Box.png
done
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
elog "In order to use 86Box, you will need some roms for various emulated systems."
elog "See https://github.com/86Box/roms for more information."
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}

View File

@@ -1 +1,2 @@
DIST 86Box-5.2.tar.gz 13933308 BLAKE2B e397f15b8477dcbfad956761481455e7eb766c5edc206e453b00278dcd2caba02065faa3ff50858180905f30b741c67ece3a3b3b95ab41c7e72537d445875a6f SHA512 0e8352645823ef156fe9458d2adff652aab2cdc0cae7a05102f93fb46d779b057f4aeddc0ae4e3eaf768d1c0f71435159dd1c4016308ad59f7e5f9801caac791
DIST 86Box-5.3.tar.gz 14001417 BLAKE2B a70679787fc7a601afa7ac3b69f4bb58afa2939d7a876048c6b944bdcb3affbc58ac8bfbe1e95088eaa93bf872172068bc0421602465d2a352d9674fcc255c41 SHA512 120fbf7544cc91dd9f7b75027cd6219084aa71e97e8ef2ad105ac8ccc7bea2a9290c2d124461da0192c3000c0459fe65c1fd361342de33b06c80616592f52f84

View File

@@ -0,0 +1,45 @@
From 0092ce15de3efac108b961882f870a8c05e8c38f Mon Sep 17 00:00:00 2001
From: OBattler <oubattler@gmail.com>
Date: Mon, 22 Dec 2025 22:56:10 +0100
Subject: [PATCH] Only make the fallthrough define available in C code, fixes
#6607.
---
src/include/86box/plat.h | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/include/86box/plat.h b/src/include/86box/plat.h
index dcf7e4d5306..cbc348709ec 100644
--- a/src/include/86box/plat.h
+++ b/src/include/86box/plat.h
@@ -90,16 +90,12 @@ extern int strnicmp(const char *s1, const char *s2, size_t n);
# include <atomic>
# define atomic_flag_t std::atomic_flag
# define atomic_bool_t std::atomic_bool
+
extern "C" {
#else
# include <stdatomic.h>
# define atomic_flag_t atomic_flag
# define atomic_bool_t atomic_bool
-#endif
-
-#if defined(_MSC_VER)
-# define ssize_t intptr_t
-#endif
#ifdef _MSC_VER
# define fallthrough do {} while (0) /* fallthrough */
@@ -114,6 +110,12 @@ extern "C" {
# endif
#endif
+#endif
+
+#if defined(_MSC_VER)
+# define ssize_t intptr_t
+#endif
+
/* Global variables residing in the platform module. */
extern int dopause; /* system is paused */
extern int mouse_capture; /* mouse is captured in app */