From b79e8b8991d5b734d595ba77b65f2532ce50dd95 Mon Sep 17 00:00:00 2001 From: Conrad Kostecki Date: Mon, 14 Feb 2022 00:54:35 +0100 Subject: app-emulation/86Box: initial import 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. Signed-off-by: Conrad Kostecki --- app-emulation/86Box/86Box-3.1.ebuild | 56 ++++++++++++++++++++++++++++++++++++ app-emulation/86Box/Manifest | 1 + app-emulation/86Box/metadata.xml | 26 +++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 app-emulation/86Box/86Box-3.1.ebuild create mode 100644 app-emulation/86Box/Manifest create mode 100644 app-emulation/86Box/metadata.xml 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 @@ + + + + + conikost@gentoo.org + Conrad Kostecki + + + 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. + + + Enable legacy Dinput mode instead of Xinput for older controllers. + Enable hardware from devbranch, which may be unstable or unusable. + Enable MIDI support through media-sound/fluidsynth. + Enable MIDI MT-32 support through media-libs/munt-mt32emu. + Enable dynamic recompiler, which should provide a better emulation speed. + Enable new dynamic recompiler from PCem 15, which should provide an even better emulation speed. + Enable the posibility to dump the virtual Video RAM. + + + https://github.com/86Box/86Box/issues + 86Box/86Box + + -- cgit v1.2.3-65-gdbad