summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/snes9x/Manifest1
-rw-r--r--games-emulation/snes9x/snes9x-1.59.2.ebuild128
2 files changed, 129 insertions, 0 deletions
diff --git a/games-emulation/snes9x/Manifest b/games-emulation/snes9x/Manifest
index a282f323f91a..60a7fa539101 100644
--- a/games-emulation/snes9x/Manifest
+++ b/games-emulation/snes9x/Manifest
@@ -1,2 +1,3 @@
DIST snes9x-1.58.tar.gz 2830667 BLAKE2B 66446e56a172b318f7cefecc59d927270377f725df0ca89888e1c50eb3f5475729ffc9da86ead5e50f106ab0781ad644ae3b3ed5719724db9b78b687135ead04 SHA512 51f8e92258db58e55f7b0b6c4537a916358891bb5ee35bd984d1970d2fedbdb2f8b3a4f560e0302d3011e521a1072c8a0d69723e8b151f61d33802c02f392d7d
+DIST snes9x-1.59.2.tar.gz 2819803 BLAKE2B 3e077fe68dbc6ae9acf7625c1371971300cfb72143e0e98841dc8d75be5ccc45812d79d7810d28d1a5dc5c17a69cf0f9483e9c69e91437d864a4cbaf34852b35 SHA512 84d2dfc12a991b77b30ba9a591d285ecd4cc5fbb418282900209db9191d61611123ffa7d715b7abeed9b891e9af88ab4c46616502523a881127e2ede008236e4
DIST snes9x-1.59.tar.gz 2819790 BLAKE2B 63328f034bbd8b9905346836e52344c86dccf04e57d8b1d280485d1ff24e3b1d452c2529526b477066d6ace8a0f2aba07e62d98e85bd0eae4d21f0c0186e0587 SHA512 e9bec3e9908705f3ff380c6e2131b8ff7c9a7fc5571a00f05c0f7810a2edd2fe36dd4def242bdb924e9f6d15a303794a626358cd49dedab9a2794e80a2cc920a
diff --git a/games-emulation/snes9x/snes9x-1.59.2.ebuild b/games-emulation/snes9x/snes9x-1.59.2.ebuild
new file mode 100644
index 000000000000..830686b140fa
--- /dev/null
+++ b/games-emulation/snes9x/snes9x-1.59.2.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic meson xdg
+
+DESCRIPTION="Super Nintendo Entertainment System (SNES) emulator"
+HOMEPAGE="https://github.com/snes9xgit/snes9x"
+SRC_URI="https://github.com/snes9xgit/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Snes9x GPL-2 GPL-2+ LGPL-2.1 LGPL-2.1+ ISC MIT ZLIB Info-ZIP"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86 ~x86-fbsd"
+IUSE="alsa debug gtk multilib netplay opengl oss png pulseaudio portaudio wayland xinerama +xv"
+RESTRICT="bindist"
+
+RDEPEND="
+ sys-libs/zlib:=[minizip]
+ x11-libs/libX11
+ x11-libs/libXext
+ png? ( media-libs/libpng:0= )
+ gtk? (
+ dev-libs/glib:2
+ media-libs/libsdl2[joystick]
+ >=x11-libs/gtk+-3.22:3[wayland?]
+ x11-libs/libXrandr
+ x11-misc/xdg-utils
+ alsa? ( media-libs/alsa-lib )
+ opengl? (
+ media-libs/libepoxy
+ virtual/opengl
+ )
+ portaudio? ( >=media-libs/portaudio-19_pre )
+ pulseaudio? ( media-sound/pulseaudio )
+ xv? ( x11-libs/libXv )
+ wayland? ( dev-libs/wayland )
+ )
+ xinerama? ( x11-libs/libXinerama )"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}/${P}/unix"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.53-cross-compile.patch
+ "${FILESDIR}"/${PN}-1.59-build-system.patch
+)
+
+src_prepare() {
+ cd "${WORKDIR}/${P}" || die
+ rm -r unzip || die
+ default
+ cd unix || die
+ eautoreconf
+ if use gtk ; then
+ export EMESON_SOURCE="${WORKDIR}/${P}/gtk"
+ fi
+}
+
+src_configure() {
+ append-ldflags -Wl,-z,noexecstack
+
+ # build breaks when zlib/zip support is disabled
+ local myeconfargs=(
+ --enable-gamepad
+ --enable-gzip
+ --enable-zip
+ --with-system-zip
+ $(use_enable debug debugger)
+ $(use_enable netplay)
+ $(use_enable png screenshot)
+ $(use_enable xinerama)
+ )
+ econf "${myeconfargs[@]}"
+
+ if use gtk; then
+ local emesonargs=(
+ -Dalsa="$(usex alsa true false)"
+ -Ddebugger="$(usex debug true false)"
+ -Dgtk2=false
+ -Dgtk3=true
+ -Dopengl="$(usex opengl true false)"
+ -Doss="$(usex oss true false)"
+ -Dportaudio="$(usex portaudio true false)"
+ -Dpulseaudio="$(usex pulseaudio true false)"
+ -Dscreenshot="$(usex png true false)"
+ -Dsystem-zip=true
+ -Dxv="$(usex xv true false)"
+ -Dzlib=true
+ -Dwayland="$(usex wayland true false)"
+ )
+ meson_src_configure
+ fi
+}
+
+src_compile() {
+ emake
+ use gtk && meson_src_compile
+}
+
+src_install() {
+ dobin ${PN}
+
+ dodoc ../docs/{changes,control-inputs,controls,snapshots}.txt
+ dodoc snes9x.conf.default
+
+ if use gtk ; then
+ meson_src_install
+ dodoc ../gtk/AUTHORS
+ fi
+
+ docinto html
+ dodoc {.,..}/docs/*.html
+}
+
+pkg_preinst() {
+ use gtk && xdg_pkg_preinst
+}
+
+pkg_postinst() {
+ use gtk && xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ use gtk && xdg_pkg_postrm
+}