summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConrad Kostecki <conikost@gentoo.org>2024-07-27 19:48:12 +0200
committerConrad Kostecki <conikost@gentoo.org>2024-07-27 19:54:38 +0200
commitaedfbd106fbd6fad3606aae155bf3ece57a1a88f (patch)
tree1ca41933aa41076b0301a10853b96844f35f7ad1 /app-emulation
parentsys-cluster/kube-scheduler: add 1.30.3 (diff)
downloadgentoo-aedfbd106fbd6fad3606aae155bf3ece57a1a88f.tar.gz
gentoo-aedfbd106fbd6fad3606aae155bf3ece57a1a88f.tar.bz2
gentoo-aedfbd106fbd6fad3606aae155bf3ece57a1a88f.zip
app-emulation/86Box: add 4.2
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/86Box/86Box-4.2.ebuild85
-rw-r--r--app-emulation/86Box/Manifest1
-rw-r--r--app-emulation/86Box/files/86Box-4.2-gcc14.patch28
3 files changed, 114 insertions, 0 deletions
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 <oubattler@gmail.com>
+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";