commit: 65a293f84cf3d40b801a404fcb1fbcd6b03d61c9 Author: Conrad Kostecki <conikost <AT> gentoo <DOT> org> AuthorDate: Mon Dec 22 20:13:39 2025 +0000 Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org> CommitDate: Thu Dec 25 14:00:55 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65a293f8
app-emulation/86Box: add 5.3 Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org> app-emulation/86Box/86Box-5.3.ebuild | 101 +++++++++++++++++++++ app-emulation/86Box/Manifest | 1 + ....3-fallthrough-define-available-in-C-code.patch | 45 +++++++++ 3 files changed, 147 insertions(+) diff --git a/app-emulation/86Box/86Box-5.3.ebuild b/app-emulation/86Box/86Box-5.3.ebuild new file mode 100644 index 000000000000..5c9495e0ba93 --- /dev/null +++ b/app-emulation/86Box/86Box-5.3.ebuild @@ -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 +} diff --git a/app-emulation/86Box/Manifest b/app-emulation/86Box/Manifest index 04280da8b5df..022c9267b142 100644 --- a/app-emulation/86Box/Manifest +++ b/app-emulation/86Box/Manifest @@ -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 diff --git a/app-emulation/86Box/files/86Box-5.3-fallthrough-define-available-in-C-code.patch b/app-emulation/86Box/files/86Box-5.3-fallthrough-define-available-in-C-code.patch new file mode 100644 index 000000000000..c08c02882418 --- /dev/null +++ b/app-emulation/86Box/files/86Box-5.3-fallthrough-define-available-in-C-code.patch @@ -0,0 +1,45 @@ +From 0092ce15de3efac108b961882f870a8c05e8c38f Mon Sep 17 00:00:00 2001 +From: OBattler <[email protected]> +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 */
