summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/86Box')
-rw-r--r--app-emulation/86Box/86Box-3.1.ebuild56
-rw-r--r--app-emulation/86Box/Manifest1
-rw-r--r--app-emulation/86Box/metadata.xml26
3 files changed, 83 insertions, 0 deletions
diff --git a/app-emulation/86Box/86Box-3.1.ebuild b/app-emulation/86Box/86Box-3.1.ebuild
new file mode 100644
index 000000000000..95973bf3cce2
--- /dev/null
+++ b/app-emulation/86Box/86Box-3.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+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="dinput experimental +fluidsynth +munt +dynarec new-dynarec +threads +usb vramdump"
+
+DEPEND="
+ media-libs/freetype:2=
+ media-libs/libpng:=
+ media-libs/libsdl2
+ media-libs/openal
+ media-libs/rtmidi
+ sys-libs/zlib
+"
+
+RDEPEND="
+ ${DEPEND}
+ fluidsynth? ( media-sound/fluidsynth )
+ munt? ( media-libs/munt-mt32emu )
+"
+
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPPTHREADS="$(usex threads)"
+ -DDEV_BRANCH="$(usex experimental)"
+ -DDINPUT="$(usex dinput)"
+ -DDYNAREC="$(usex dynarec)"
+ -DFLUIDSYNTH="$(usex fluidsynth)"
+ -DMINITRACE="OFF"
+ -DMUNT="$(usex munt)"
+ -DNEW_DYNAREC="$(usex new-dynarec)"
+ -DPREFER_STATIC="OFF"
+ -DRELEASE="ON"
+ -DUSB="$(usex usb)"
+ -DVRAMDUMP="$(usex vramdump)"
+ )
+
+ 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
new file mode 100644
index 000000000000..050159bb66e2
--- /dev/null
+++ b/app-emulation/86Box/Manifest
@@ -0,0 +1 @@
+DIST 86Box-3.1.tar.gz 3733570 BLAKE2B d0753b11b040fa0bdef5d2a7c7fb9abc12f6e19c22360cc037bbd33c9274241c5941f49f509520cda2e584d989a7913aaa72b65457232c6f1d4ea1a59b013370 SHA512 9b28e23b6f3c2b9fe1a96e398c2042a4a6d3a7fcba0728033018c9cd737105bbc0f20053352f00d4ddcf8805e47152681f2151f8b03ad03305e3d27fa1adc092
diff --git a/app-emulation/86Box/metadata.xml b/app-emulation/86Box/metadata.xml
new file mode 100644
index 000000000000..a2846e04b512
--- /dev/null
+++ b/app-emulation/86Box/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ 86Box is a low level x86 emulator that runs older operating systems and software
+ designed for IBM PC systems and compatibles from 1981 through
+ fairly recent system designs based on the PCI bus.
+ </longdescription>
+ <use>
+ <flag name="dinput">Enable legacy Dinput mode instead of Xinput for older controllers.</flag>
+ <flag name="experimental">Enable hardware from devbranch, which may be unstable or unusable.</flag>
+ <flag name="fluidsynth">Enable MIDI support through <pkg>media-sound/fluidsynth</pkg>.</flag>
+ <flag name="munt">Enable MIDI MT-32 support through <pkg>media-libs/munt-mt32emu</pkg>.</flag>
+ <flag name="dynarec">Enable dynamic recompiler, which should provide a better emulation speed.</flag>
+ <flag name="new-dynarec">Enable new dynamic recompiler from PCem 15, which should provide an even better emulation speed.</flag>
+ <flag name="vramdump">Enable the posibility to dump the virtual Video RAM.</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://github.com/86Box/86Box/issues</bugs-to>
+ <remote-id type="github">86Box/86Box</remote-id>
+ </upstream>
+</pkgmetadata>