commit:     aedfbd106fbd6fad3606aae155bf3ece57a1a88f
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 27 17:48:12 2024 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Sat Jul 27 17:54:38 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aedfbd10

app-emulation/86Box: add 4.2

Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 app-emulation/86Box/86Box-4.2.ebuild            | 85 +++++++++++++++++++++++++
 app-emulation/86Box/Manifest                    |  1 +
 app-emulation/86Box/files/86Box-4.2-gcc14.patch | 28 ++++++++
 3 files changed, 114 insertions(+)

diff --git a/app-emulation/86Box/86Box-4.2.ebuild 
b/app-emulation/86Box/86Box-4.2.ebuild
new file mode 100644
index 000000000000..d71b01dcb937
--- /dev/null
+++ b/app-emulation/86Box/86Box-4.2.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+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="experimental +fluidsynth +munt new-dynarec +openal qt5 +qt6 +threads"
+
+DEPEND="
+       app-emulation/faudio
+       dev-libs/libevdev
+       media-libs/freetype:2=
+       media-libs/libpng:=
+       media-libs/libsdl2
+       media-libs/openal
+       media-libs/rtmidi
+       net-libs/libslirp
+       sys-libs/zlib
+       qt5? ( x11-libs/libXi )
+       qt6? ( x11-libs/libXi )
+"
+
+RDEPEND="
+       ${DEPEND}
+       fluidsynth? ( media-sound/fluidsynth )
+       munt? ( media-libs/munt-mt32emu )
+       openal? ( media-libs/openal )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtnetwork:5
+               dev-qt/qtopengl:5
+               dev-qt/qttranslations:5
+               dev-qt/qtwidgets:5
+               kde-frameworks/extra-cmake-modules
+       )
+       qt6? (
+               dev-qt/qtbase:6[gui,network,opengl,widgets]
+               dev-qt/qttranslations:6
+               kde-frameworks/extra-cmake-modules
+       )
+"
+
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}/${PN}-4.2-gcc14.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)"
+               -DDYNAREC="ON"
+               -DMUNT_EXTERNAL="$(usex munt)"
+               -DFLUIDSYNTH="$(usex fluidsynth)"
+               -DMINITRACE="OFF"
+               -DMUNT="$(usex munt)"
+               -DNEW_DYNAREC="$(usex new-dynarec)"
+               -DOPENAL="$(usex openal)"
+               -DPREFER_STATIC="OFF"
+               -DRTMIDI="ON"
+               -DQT="$(usex qt5 'ON' $(usex qt6))"
+               -DRELEASE="ON"
+               $(usex qt6 '-DUSE_QT6=ON' '')
+       )
+
+       cmake_src_configure
+}
+
+pkg_postinst() {
+       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."
+}

diff --git a/app-emulation/86Box/Manifest b/app-emulation/86Box/Manifest
index fc72319b4716..25c2efc6ab80 100644
--- a/app-emulation/86Box/Manifest
+++ b/app-emulation/86Box/Manifest
@@ -1 +1,2 @@
 DIST 86Box-4.1.1.tar.gz 5383817 BLAKE2B 
04a03f039e3112e9dc02d25073afdf53d45603a71e27f8377309667917f30ef9f213cf0a7a6d8c2f4c2f1dd0fd73adfac3bbd8f0f9fc4b47fb2e9cbedffb4b6c
 SHA512 
d1b0a1810f8712464ce8266942e9bfdc9721ab4ac70bbb242b3b06d6a7d6613b7bcb0ba730a2e458b2731c8d58e38c4b245b6f4afb5ee6c11ab4a2fb0dfd6d5e
+DIST 86Box-4.2.tar.gz 5297797 BLAKE2B 
a1933aaaa501f54539b05436a2c0f91454a253a0f1a98bbea165f0a11188c3f5a55af58dbbc53387fec1be853c5bcacb510d74f5a98a47d7821ab0f257f93f82
 SHA512 
af817d2fdf385e761bf98728633f6c5cf4feca5e39d7323d7825f2f6a11c42882009005d2c50fded19fb2615eff8679b010ab85fd38b7cabc08408e2c447baed

diff --git a/app-emulation/86Box/files/86Box-4.2-gcc14.patch 
b/app-emulation/86Box/files/86Box-4.2-gcc14.patch
new file mode 100644
index 000000000000..68794d21cf1b
--- /dev/null
+++ b/app-emulation/86Box/files/86Box-4.2-gcc14.patch
@@ -0,0 +1,28 @@
+From aca6355eb291171d652f09a530040d18f29dbd2e Mon Sep 17 00:00:00 2001
+From: OBattler <[email protected]>
+Date: Sat, 27 Jul 2024 16:58:36 +0200
+Subject: [PATCH] Rewrote a line in unix.c, fixes #4658.
+
+---
+ src/unix/unix.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/unix/unix.c b/src/unix/unix.c
+index 1fe477a231..d4d73817f9 100644
+--- a/src/unix/unix.c
++++ b/src/unix/unix.c
+@@ -640,8 +640,12 @@ ui_msgbox_header(int flags, void *header, void *message)
+     SDL_MessageBoxData       msgdata;
+     SDL_MessageBoxButtonData msgbtn;
+ 
+-    if (!header)
+-        header = (void *) ((flags & MBX_ANSI) ? "86Box" : L"86Box");
++    if (!header) {
++        if (flags & MBX_ANSI)
++            header = (void *) "86Box";
++        else
++            header = (void *) L"86Box";
++    }
+ 
+     msgbtn.buttonid = 1;
+     msgbtn.text     = "OK";

Reply via email to