diff options
Diffstat (limited to 'games-emulation/mednafen')
6 files changed, 151 insertions, 0 deletions
diff --git a/games-emulation/mednafen/Manifest b/games-emulation/mednafen/Manifest new file mode 100644 index 000000000000..95cfdb7978e3 --- /dev/null +++ b/games-emulation/mednafen/Manifest @@ -0,0 +1 @@ +DIST mednafen-0.9.38.4.tar.bz2 3820560 SHA256 3298e2d5c03efbe638c2a98bf74435e306768461c65d2bb9b9a95e99dc463105 SHA512 3eb19a10e97cd285387fcf86eae09f550d248ab9c070750b1c0af0f334cce47ea375227df72cf7cdbc2193b311bab5e09108388a15634f694ef398b1a77ac3df WHIRLPOOL 17ae061668052fa33ce08b56d1aac75935bb91d02961d3dad042c07537ef15aa4374730652508941408764e7deb7cfe0969f80f32e6d642d20a32ac053bba491 diff --git a/games-emulation/mednafen/files/mednafen-0.9.38.4-automake-1.13.patch b/games-emulation/mednafen/files/mednafen-0.9.38.4-automake-1.13.patch new file mode 100644 index 000000000000..14c69d94ef0e --- /dev/null +++ b/games-emulation/mednafen/files/mednafen-0.9.38.4-automake-1.13.patch @@ -0,0 +1,11 @@ +--- mednafen-0.9.28-wip/mednafen/configure.ac ++++ mednafen-0.9.28-wip/mednafen/configure.ac +@@ -13,7 +13,7 @@ + AC_CANONICAL_TARGET + AM_INIT_AUTOMAKE([mednafen], $MEDNAFEN_VERSION) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) +-AM_CONFIG_HEADER([include/config.h:include/config.h.in]) ++AC_CONFIG_HEADERS([include/config.h:include/config.h.in]) + + AC_PROG_CC + AC_PROG_CPP diff --git a/games-emulation/mednafen/files/mednafen-0.9.38.4-cflags.patch b/games-emulation/mednafen/files/mednafen-0.9.38.4-cflags.patch new file mode 100644 index 000000000000..c43af818b6b8 --- /dev/null +++ b/games-emulation/mednafen/files/mednafen-0.9.38.4-cflags.patch @@ -0,0 +1,28 @@ +--- configure.ac.orig ++++ configure.ac +@@ -80,25 +80,6 @@ + AC_CHECK_LIB([z], [zlibVersion],[], AC_MSG_ERROR([*** zlib not found!])) + LIBS="$LIBS -lz" + +-OPTIMIZER_FLAGS="" +- +-dnl -ffast-math removed January 12, 2013. Don't re-add it, nor any of its sub-options(ESPECIALLY not -funsafe-math-optimizations), +-dnl it messes up certain code(NES resampler, for example) under certain conditions and alignments of the great celestial squid. +-dnl +-dnl In fact, let's explicitly disable it here with -fno-fast-math. +-dnl +-dnl -fomit-frame-pointer is required for some x86 inline assembly to compile. +-dnl +-dnl November 28, 2014: Use -fwrapv unconditionally instead of -fno-strict-overflow, -fno-strict-overflow is buggy +-dnl and does not work as documented/implied. +-dnl +-AX_CFLAGS_GCC_OPTION([-fno-fast-math], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([-fno-unsafe-math-optimizations], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([-fno-aggressive-loop-optimizations], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([-fomit-frame-pointer], OPTIMIZER_FLAGS) +-AX_CFLAGS_GCC_OPTION([-fwrapv], OPTIMIZER_FLAGS) +- +- + WARNING_FLAGS="" + AX_CFLAGS_GCC_OPTION([-Wall], WARNING_FLAGS) + AX_CFLAGS_GCC_OPTION([-Wshadow], WARNING_FLAGS) diff --git a/games-emulation/mednafen/files/mednafen-0.9.38.4-zlib.patch b/games-emulation/mednafen/files/mednafen-0.9.38.4-zlib.patch new file mode 100644 index 000000000000..5d930dae1b2c --- /dev/null +++ b/games-emulation/mednafen/files/mednafen-0.9.38.4-zlib.patch @@ -0,0 +1,27 @@ +--- mednafen.orig/src/compress/Makefile.am.inc ++++ mednafen/src/compress/Makefile.am.inc +@@ -1 +1 @@ +-mednafen_SOURCES += compress/minilzo.c compress/ioapi.c compress/unzip.c compress/GZFileStream.cpp compress/ZLInflateFilter.cpp ++mednafen_SOURCES += compress/minilzo.c compress/ioapi.c compress/GZFileStream.cpp compress/ZLInflateFilter.cpp +--- mednafen.orig/src/file.cpp ++++ mednafen/src/file.cpp +@@ -29,7 +29,7 @@ + #include <errno.h> + #include <trio/trio.h> + +-#include "compress/unzip.h" ++#include <minizip/unzip.h> + + #include "file.h" + #include "general.h" +--- mednafen.orig/src/Makefile.am ++++ mednafen/src/Makefile.am +@@ -6,7 +6,7 @@ + bin_PROGRAMS = mednafen + + mednafen_SOURCES = debug.cpp error.cpp mempatcher.cpp settings.cpp endian.cpp mednafen.cpp git.cpp file.cpp general.cpp memory.cpp netplay.cpp state.cpp state_rewind.cpp movie.cpp player.cpp PSFLoader.cpp tests.cpp qtrecord.cpp Stream.cpp MemoryStream.cpp FileStream.cpp IPSPatcher.cpp +-mednafen_LDADD = trio/libtrio.a ++mednafen_LDADD = trio/libtrio.a -lminizip + mednafen_DEPENDENCIES = trio/libtrio.a + + if HAVE_SDL diff --git a/games-emulation/mednafen/mednafen-0.9.38.4.ebuild b/games-emulation/mednafen/mednafen-0.9.38.4.ebuild new file mode 100644 index 000000000000..077a4b3af8cc --- /dev/null +++ b/games-emulation/mednafen/mednafen-0.9.38.4.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit autotools eutils flag-o-matic pax-utils games + +DESCRIPTION="An advanced NES, GB/GBC/GBA, TurboGrafx 16/CD, NGPC and Lynx emulator" +HOMEPAGE="http://mednafen.sourceforge.net/" +SRC_URI="mirror://sourceforge/mednafen/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="alsa altivec cjk debugger jack nls pax_kernel" + +RDEPEND="virtual/opengl + media-libs/libsndfile + dev-libs/libcdio + media-libs/libsdl[sound,joystick,opengl,video] + media-libs/sdl-net + sys-libs/zlib[minizip] + alsa? ( media-libs/alsa-lib ) + jack? ( media-sound/jack-audio-connection-kit ) + nls? ( virtual/libintl )" +DEPEND="${RDEPEND} + virtual/pkgconfig + nls? ( sys-devel/gettext )" + +S=${WORKDIR}/${PN} + +pkg_pretend() { + if has ccache ${FEATURES} ; then + ewarn + ewarn "If you experience build failure, try turning off ccache in FEATURES." + ewarn + fi +} + +src_prepare() { + sed -i \ + -e 's:$(datadir)/locale:/usr/share/locale:' \ + $(find . -name Makefile.am) \ + intl/Makefile.in || die + epatch \ + "${FILESDIR}"/${P}-zlib.patch \ + "${FILESDIR}"/${P}-cflags.patch \ + "${FILESDIR}"/${P}-automake-1.13.patch + eautoreconf +} + +src_configure() { + # very sensitive code (bug #539992) + strip-flags + append-flags -fomit-frame-pointer -fwrapv + egamesconf \ + $(use_enable alsa) \ + $(use_enable altivec) \ + $(use_enable cjk cjk-fonts) \ + $(use_enable debugger) \ + $(use_enable jack) \ + $(use_enable nls) +} + +src_install() { + DOCS="Documentation/cheats.txt ChangeLog TODO" \ + default + if use pax_kernel; then + pax-mark m "${D}${GAMES_BINDIR}"/mednafen || die + fi + prepgamesdirs +} diff --git a/games-emulation/mednafen/metadata.xml b/games-emulation/mednafen/metadata.xml new file mode 100644 index 000000000000..0b0501c446a4 --- /dev/null +++ b/games-emulation/mednafen/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>games</herd> + <use> + <flag name="debugger">Build with internal debugger</flag> + <flag name="pax_kernel">Triggers a paxmarking of the binary</flag> + </use> + <upstream> + <remote-id type="sourceforge">mednafen</remote-id> + </upstream> +</pkgmetadata> |