commit:     10c2b40e3e4400963b33dffbc429790dc208f483
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 21 18:57:48 2017 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Jan 21 19:04:25 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10c2b40e

games-emulation/mednafen: Version bump to 0.9.41

Gentoo-bug: 515296

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 games-emulation/mednafen/Manifest                  |  1 +
 .../files/mednafen-0.9.41-remove-cflags.patch      | 57 +++++++++++++++++
 .../mednafen/files/mednafen-0.9.41-zlib.patch      | 30 +++++++++
 games-emulation/mednafen/mednafen-0.9.41.ebuild    | 71 ++++++++++++++++++++++
 4 files changed, 159 insertions(+)

diff --git a/games-emulation/mednafen/Manifest 
b/games-emulation/mednafen/Manifest
index f5e17d7..a8d7bac 100644
--- a/games-emulation/mednafen/Manifest
+++ b/games-emulation/mednafen/Manifest
@@ -1,2 +1,3 @@
 DIST mednafen-0.9.38.7.tar.bz2 3882418 SHA256 
1bb3beef883a325c35d1a1ce14959c307a4c321f2ea29d4ddb216c6dd03aded8 SHA512 
759c83928ef7a9e856dc7f546542ab1e7cbe944d0184a7693ce3b1466220233eb40c2b215100920920754eb5a93587bd8e2d8150e00ec9c93da1d518107e0d76
 WHIRLPOOL 
0cb94abdaa697558f3575c8e4d6e0a816888ace2b860797a8a947ddca3ae66e517dd044f9ce266e7a19ac6e16a56f91bc93db2bbc7a9817e5afcc75a93cb2f42
 DIST mednafen-0.9.39.2.tar.bz2 4005259 SHA256 
b42470b2ddf68ce0747f5b8ba4e1d1c3047fa8c45b8e168da43f3e2461ec34cc SHA512 
e6d0f571ea82c9315336a02c8b91fc4b19d160a8ded3b0499b8a59d27c6f312a2dbe554e1e10e8ebd8616f862b59fe1d1d577e41942b31ab9b587b47c63b30dc
 WHIRLPOOL 
4aa11afffd1b14890e1d85cbb38397e2c613c8087e441a015b9d362ccbb59476077d65245efdf3ebc8e3b16b79b953ab9acb71c77476f3e362746e95a2877a4e
+DIST mednafen-0.9.41.tar.xz 3148348 SHA256 
74736b9b52a7ba6270b67ae8e6c876a887e0e26a00a7d96bdd49af17992aac47 SHA512 
d3c7707874eabbec41e5b725813d16e599f3ad89ecbd9c8e1264184d74ab2bf7a21a3f6fe177b6bc429f7bd56f9eea17a9a6fefce8e70b82e87a93d75f5d39c9
 WHIRLPOOL 
f754a45f46a5cd18117b1b710dd7fed5ebcfb311bf4ed4b7961c99636c13559db75f83cf7b34122fb403b7794ddeec6af79469bb7743cb60a7840ffe807fa2d7

diff --git a/games-emulation/mednafen/files/mednafen-0.9.41-remove-cflags.patch 
b/games-emulation/mednafen/files/mednafen-0.9.41-remove-cflags.patch
new file mode 100644
index 00000000..a0a5299
--- /dev/null
+++ b/games-emulation/mednafen/files/mednafen-0.9.41-remove-cflags.patch
@@ -0,0 +1,57 @@
+Remove flags that subvert user choice in Gentoo
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -88,21 +88,7 @@
+ AC_CHECK_LIB([z], [zlibVersion], ZLIB_LIBS="-lz", AC_MSG_ERROR([*** zlib not 
found!]))
+ AC_SUBST([ZLIB_LIBS])
+ 
+-dnl -fno-fast-math and -fno-unsafe-math-optimizations to make sure it's 
disabled, as the fast-math feature on certain older
+-dnl versions of gcc produces horribly broken code(and even when it's working 
correctly, it can have somewhat unpredictable effects).
+-dnl
+-dnl -fno-aggressive-loop-optimizations because I don't trust gcc's aggressive 
loop optimizations, and there miiight be old code
+-dnl in Mednafen that would cause problems.
+-dnl
+-dnl -fomit-frame-pointer is required for some x86 inline assembly to compile.
+-dnl
+ OPTIMIZER_FLAGS=""
+-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([-fno-ipa-icf], OPTIMIZER_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fomit-frame-pointer], OPTIMIZER_FLAGS)
+-
+ dnl
+ dnl Aggressively try to disable PIC and PIE, as it has a significant 
performance overhead and will
+ dnl break some code(with compile-time failures or run-time assert()s 
triggering).
+@@ -110,12 +95,6 @@
+ dnl Use -fwrapv instead of -fno-strict-overflow; -fno-strict-overflow is 
buggy on gcc and does not work as documented/implied.
+ dnl
+ CODEGEN_FLAGS=""
+-AX_CFLAGS_GCC_OPTION([-fno-pic], CODEGEN_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-pie], CODEGEN_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-PIC], CODEGEN_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-PIE], CODEGEN_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-nopie], CODEGEN_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-no-pie], CODEGEN_FLAGS)
+ AX_CFLAGS_GCC_OPTION([-fwrapv],  CODEGEN_FLAGS)
+ AX_CFLAGS_GCC_OPTION([-fjump-tables], CODEGEN_FLAGS)
+ 
+@@ -139,9 +118,6 @@
+ # Used as needed in Makefile.am:
+ #
+ NO_STACK_PROTECTOR_FLAGS=""
+-AX_CFLAGS_GCC_OPTION([-fno-stack-protector], NO_STACK_PROTECTOR_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-stack-protector-all], NO_STACK_PROTECTOR_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-stack-protector-strong], NO_STACK_PROTECTOR_FLAGS)
+ AC_SUBST(NO_STACK_PROTECTOR_FLAGS)
+ 
+ # -----------------------------------
+@@ -165,7 +141,6 @@
+ # Begin ss flags
+ #
+ SS_EXTRA_FLAGS=""
+-AX_CFLAGS_GCC_OPTION([-mtune=haswell], SS_EXTRA_FLAGS)
+ AC_SUBST(SS_EXTRA_FLAGS)
+ #
+ # End ss flags

diff --git a/games-emulation/mednafen/files/mednafen-0.9.41-zlib.patch 
b/games-emulation/mednafen/files/mednafen-0.9.41-zlib.patch
new file mode 100644
index 00000000..7f78d38
--- /dev/null
+++ b/games-emulation/mednafen/files/mednafen-0.9.41-zlib.patch
@@ -0,0 +1,30 @@
+Use system minizip instead of bundled one
+
+--- a/include/mednafen/compress/Makefile.am.inc
++++ b/include/mednafen/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
+--- a/include/mednafen/file.cpp
++++ b/include/mednafen/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"
+--- a/include/mednafen/Makefile.am
++++ b/include/mednafen/Makefile.am
+@@ -6,7 +6,7 @@
+ bin_PROGRAMS  =       mednafen
+ 
+ mednafen_SOURCES      =       debug.cpp error.cpp mempatcher.cpp settings.cpp 
endian.cpp Time.cpp mednafen.cpp git.cpp file.cpp general.cpp memory.cpp 
netplay.cpp state.cpp state_rewind.cpp movie.cpp player.cpp PSFLoader.cpp 
SSFLoader.cpp SNSFLoader.cpp SPCReader.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.41.ebuild 
b/games-emulation/mednafen/mednafen-0.9.41.ebuild
new file mode 100644
index 00000000..f6bab68
--- /dev/null
+++ b/games-emulation/mednafen/mednafen-0.9.41.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools flag-o-matic pax-utils
+
+DESCRIPTION="Argument-driven multi-system emulator utilizing OpenGL and SDL"
+HOMEPAGE="https://mednafen.github.io/";
+SRC_URI="https://mednafen.github.io/releases/files/${P}.tar.xz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="alsa altivec cjk debugger jack nls pax_kernel"
+
+RDEPEND="
+       dev-libs/libcdio
+       media-libs/libsdl[sound,joystick,opengl,video]
+       media-libs/libsndfile
+       sys-libs/zlib[minizip]
+       virtual/opengl
+       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}
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.9.41-remove-cflags.patch
+       "${FILESDIR}"/${PN}-0.9.41-zlib.patch
+)
+
+pkg_pretend() {
+       if has ccache ${FEATURES}; then
+               ewarn
+               ewarn "If you experience build failure, try turning off ccache 
in FEATURES."
+               ewarn
+       fi
+}
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       # very sensitive code (bug #539992)
+       strip-flags
+       append-flags -fomit-frame-pointer -fwrapv
+       econf \
+               $(use_enable alsa) \
+               $(use_enable altivec) \
+               $(use_enable cjk cjk-fonts) \
+               $(use_enable debugger) \
+               $(use_enable jack) \
+               $(use_enable nls)
+}
+
+src_install() {
+       default
+       dodoc Documentation/cheats.txt
+
+       if use pax_kernel; then
+               pax-mark m "${ED%/}"/bin/mednafen || die
+       fi
+}

Reply via email to