summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-emulation/mednafen')
-rw-r--r--games-emulation/mednafen/Manifest1
-rw-r--r--games-emulation/mednafen/files/mednafen-0.9.38.4-automake-1.13.patch11
-rw-r--r--games-emulation/mednafen/files/mednafen-0.9.38.4-cflags.patch28
-rw-r--r--games-emulation/mednafen/files/mednafen-0.9.38.4-zlib.patch27
-rw-r--r--games-emulation/mednafen/mednafen-0.9.38.4.ebuild72
-rw-r--r--games-emulation/mednafen/metadata.xml12
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>