diff --git a/app-emulation/86Box/86Box-3.1.ebuild b/app-emulation/86Box/86Box-3.1.ebuild new file mode 100644 index 0000000000000..95973bf3cce23 --- /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 0000000000000..050159bb66e28 --- /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 0000000000000..a2846e04b5127 --- /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 + +