summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2016-11-11 18:17:32 +0100
committerLars Wendler <polynomial-c@gentoo.org>2016-11-11 18:17:45 +0100
commit0461a88faa4d542a801334304eca86a9b51b3d04 (patch)
tree88c243db5eaecfd0edab64553f5ce9bfb8edf0de /games-emulation/snes9x
parentnet-misc/dhcpcd: copy files to new locations for dhcpcd-7 for #599396 (diff)
downloadgentoo-0461a88faa4d542a801334304eca86a9b51b3d04.tar.gz
gentoo-0461a88faa4d542a801334304eca86a9b51b3d04.tar.bz2
gentoo-0461a88faa4d542a801334304eca86a9b51b3d04.zip
games-emulation/snes9x: Bump to version 1.54.1
Package-Manager: portage-2.3.2
Diffstat (limited to 'games-emulation/snes9x')
-rw-r--r--games-emulation/snes9x/Manifest1
-rw-r--r--games-emulation/snes9x/files/snes9x-1.54.1-build.patch55
-rw-r--r--games-emulation/snes9x/files/snes9x-1.54.1-system-zlib.patch307
-rw-r--r--games-emulation/snes9x/snes9x-1.54.1.ebuild124
4 files changed, 487 insertions, 0 deletions
diff --git a/games-emulation/snes9x/Manifest b/games-emulation/snes9x/Manifest
index 69194e2f5785..8a7b5b80dcf0 100644
--- a/games-emulation/snes9x/Manifest
+++ b/games-emulation/snes9x/Manifest
@@ -1 +1,2 @@
DIST snes9x-1.53-src.tar.bz2 1838746 SHA256 9f7c5d2d0fa3fe753611cf94e8879b73b8bb3c0eab97cdbcb6ab7376efa78dc3 SHA512 3ded506d1b3b6cff4e8e3de77ad557d97981eb97ea23ffc68ce5abbbd4677aca819776f1d11b9aa47f5b1a785b19455acf6ad4dbc536d3581d62c192ebdfbd8c WHIRLPOOL 482f0b2c476753b5ffb6ff30b1e5ccb9f50bd0dbe05c7147d5e1c073cd15ce7edd99dc4ea9c14bb50d0bd3cec7edda26e1c54b1b7e0c77b0eb26f9aa09e25f52
+DIST snes9x-1.54.1.tar.gz 2186737 SHA256 85862a22498bc418c37bd7c81a3089d9cc00af279b91e5f7fa8bea05e2e3027b SHA512 2a8fddc0b9044c0b7e10711b35c06555e280c93ddde3c101c4084f859079947acb209f2632ca08937fa2ca47932094040c4a7a60b6188354fd92f72dbdf854ed WHIRLPOOL 8ef309a14646c0250e81f6d2ede48da65144830247cb7cf17eccc6b94dffdd128f1b75d27258ae0d923b580c612984cef27c5237066c98a613b0a00faa3ad90b
diff --git a/games-emulation/snes9x/files/snes9x-1.54.1-build.patch b/games-emulation/snes9x/files/snes9x-1.54.1-build.patch
new file mode 100644
index 000000000000..945b5f1890b2
--- /dev/null
+++ b/games-emulation/snes9x/files/snes9x-1.54.1-build.patch
@@ -0,0 +1,55 @@
+--- snes9x-1.54.1/gtk/configure.ac
++++ snes9x-1.54.1/gtk/configure.ac
+@@ -33,7 +33,7 @@
+
+ AM_GLIB_GNU_GETTEXT
+
+-snes9xlocaledir='${prefix}/${DATADIRNAME}/locale'
++snes9xlocaledir='/usr/share/locale'
+ AC_SUBST(snes9xlocaledir)
+
+ AC_ARG_WITH(debug,
+--- snes9x-1.54.1/unix/configure.ac
++++ snes9x-1.54.1/unix/configure.ac
+@@ -56,20 +56,6 @@
+ # *** Execution begins here ***
+ # *****************************
+
+-# Remove -g and -O2 flags manually.
+-
+-if test "x$CFLAGS" != "x"; then
+- CFLAGS="`echo \"$CFLAGS\" | sed -e 's/-g//'`"
+- CFLAGS="`echo \"$CFLAGS\" | sed -e 's/-O2//'`"
+-fi
+-
+-if test "x$CXXFLAGS" != "x"; then
+- CXXFLAGS="`echo \"$CXXFLAGS\" | sed -e 's/-g//'`"
+- CXXFLAGS="`echo \"$CXXFLAGS\" | sed -e 's/-O2//'`"
+-fi
+-
+-# Test what compiler flags we should use.
+-
+ AC_ARG_ENABLE([debug],
+ [AS_HELP_STRING([--enable-debug],
+ [leave debug information in the final binary (default: no)])],
+@@ -79,9 +65,6 @@
+ AC_S9X_COMPILER_FLAG([-g], [g])
+ AC_S9X_COMPILER_FLAG([-O0], [o0])
+ else
+- AC_S9X_COMPILER_FLAG([-O3], [o3], [
+- AC_S9X_COMPILER_FLAG([-O2], [o2], [
+- AC_S9X_COMPILER_FLAG([-O1], [o1])])])
+ AC_S9X_COMPILER_FLAG([-fomit-frame-pointer], [omit_frame_pointer])
+ fi
+
+--- snes9x-1.54.1/unix/Makefile.in
++++ snes9x-1.54.1/unix/Makefile.in
+@@ -47,7 +47,7 @@
+ exit 1
+
+ snes9x: $(OBJECTS)
+- $(CCC) $(INCLUDES) -o $@ $(OBJECTS) -lm @S9XLIBS@
++ $(CCC) $(LDFLAGS) $(INCLUDES) -o $@ $(OBJECTS) -lm @S9XLIBS@
+
+ ../jma/s9x-jma.o: ../jma/s9x-jma.cpp
+ $(CCC) $(INCLUDES) -c $(CCFLAGS) -fexceptions $*.cpp -o $@
diff --git a/games-emulation/snes9x/files/snes9x-1.54.1-system-zlib.patch b/games-emulation/snes9x/files/snes9x-1.54.1-system-zlib.patch
new file mode 100644
index 000000000000..e5d3c792871c
--- /dev/null
+++ b/games-emulation/snes9x/files/snes9x-1.54.1-system-zlib.patch
@@ -0,0 +1,307 @@
+From 22efabdfc5e3578276943a36ef351bf22a7bd061 Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Fri, 11 Nov 2016 17:52:07 +0100
+Subject: [PATCH] Introduce --with-system-zip configure flag to use system zip
+ (minizip)
+
+if available.
+---
+ conffile.h | 6 +++++-
+ gtk/Makefile.am | 6 +++++-
+ gtk/configure.ac | 28 +++++++++++++++++++++++++++-
+ loadzip.cpp | 4 ++++
+ memmap.cpp | 6 +++++-
+ stream.cpp | 6 +++++-
+ stream.h | 7 +++++--
+ unix/Makefile.in | 9 +++++++--
+ unix/configure.ac | 47 +++++++++++++++++++++++++++++++++++++++--------
+ 9 files changed, 102 insertions(+), 17 deletions(-)
+
+diff --git a/conffile.h b/conffile.h
+index ed8a13b..366706f 100644
+--- a/conffile.h
++++ b/conffile.h
+@@ -197,7 +197,11 @@
+ #include <string>
+
+ #ifdef UNZIP_SUPPORT
+-#include "unzip/unzip.h"
++# ifdef SYSTEM_ZIP
++# include <minizip/unzip.h>
++# else
++# include "unzip/unzip.h"
++# endif
+ #endif
+ #include "snes9x.h"
+
+diff --git a/gtk/Makefile.am b/gtk/Makefile.am
+index fad1cf2..57f00fb 100644
+--- a/gtk/Makefile.am
++++ b/gtk/Makefile.am
+@@ -196,12 +196,16 @@ snes9x_gtk_SOURCES += \
+ ../server.cpp
+ endif
+
++
+ # Zip support is nonconfigurable.
+ snes9x_gtk_SOURCES += \
+- ../loadzip.cpp \
++ ../loadzip.cpp
++if ! SYSTEM_ZIP
++snes9x_gtk_SOURCES += \
+ ../unzip/unzip.c \
+ ../unzip/ioapi.c \
+ ../unzip/zip.c
++endif
+ UNZIPDEFINES=-DUNZIP_SUPPORT
+
+ if JMA
+diff --git a/gtk/configure.ac b/gtk/configure.ac
+index 4d21792..e64fac2 100644
+--- a/gtk/configure.ac
++++ b/gtk/configure.ac
+@@ -138,6 +138,12 @@ AC_ARG_WITH(zlib,
+ [],
+ [with_zlib=yes])
+
++AC_ARG_WITH(system-zip,
++ [AS_HELP_STRING([--with(out)-system-zip],
++ [Use system zip])],
++ [],
++ [system_zip=check])
++
+ AC_ARG_WITH(screenshot,
+ [AS_HELP_STRING([--with(out)-screenshot],
+ [Screenshot support through libpng if available (default: with)])],
+@@ -313,6 +319,25 @@ if test yes = "$with_screenshot"; then
+ ])
+ fi
+
++SYSTEM_ZIP=0
++SYSTEM_ZIP_CFLAGS=""
++SYSTEM_ZIP_LIBS=""
++ZIP_CFLAGS="-I../unzip"
++if test no != "$with_system_zip" && test yes = "$with_zlib" ; then
++ PKG_CHECK_MODULES([SYSTEM_ZIP],[minizip],[
++ ZIP_CFLAGS=""
++ SYSTEM_ZIP=yes
++ CFLAGS="$CFLAGS $SYSTEM_ZIP_CFLAGS -DSYSTEM_ZIP"
++ LIBS="$LIBS $SYSTEM_ZIP_LIBS"
++ ],[
++ if test check = "$with_system_zip"; then
++ AC_MSG_WARN(Cannot find SYSTEM_ZIP)
++ else
++ AC_MSG_ERROR(--with-system-zip given but cannot find proper zip)
++ fi
++ ])
++fi
++
+ if test yes = "$with_hq2x" ; then
+ HQ2X=yes
+ CFLAGS="$CFLAGS -DUSE_HQ2X"
+@@ -440,7 +465,7 @@ if test $ac_cv_my_sar_int8 = yes && \
+ CFLAGS="$CFLAGS -DRIGHTSHIFT_IS_SAR"
+ fi
+
+-CFLAGS="$CFLAGS -DUNZIP_SUPPORT -DSPC700_C -I. -I.. -I../unzip"
++CFLAGS="$CFLAGS -DUNZIP_SUPPORT -DSPC700_C -I. -I.. $ZIP_CFLAGS"
+
+ CXXFLAGS="$CFLAGS"
+
+@@ -462,6 +487,7 @@ AM_CONDITIONAL(ALSA, [test yes = "$ALSA"])
+ AM_CONDITIONAL(PULSEAUDIO, [test yes = "$PULSEAUDIO"])
+ AM_CONDITIONAL(HQ2X, [test yes = "$HQ2X"])
+ AM_CONDITIONAL(XBRZ, [test yes = "$XBRZ"])
++AM_CONDITIONAL(SYSTEM_ZIP, [test yes = "$SYSTEM_ZIP"])
+
+ AC_SUBST(NASM)
+ AC_SUBST(NASM_FLAGS)
+diff --git a/loadzip.cpp b/loadzip.cpp
+index 024bc79..dab2504 100644
+--- a/loadzip.cpp
++++ b/loadzip.cpp
+@@ -192,7 +192,11 @@
+
+ #include <assert.h>
+ #include <ctype.h>
++#ifdef SYSTEM_ZIP
++#include <minizip/unzip.h>
++#else
+ #include "unzip/unzip.h"
++#endif
+ #include "snes9x.h"
+ #include "memmap.h"
+
+diff --git a/memmap.cpp b/memmap.cpp
+index 19df95c..98de319 100644
+--- a/memmap.cpp
++++ b/memmap.cpp
+@@ -193,7 +193,11 @@
+ #include <assert.h>
+
+ #ifdef UNZIP_SUPPORT
+-#include "unzip/unzip.h"
++# ifdef SYSTEM_ZIP
++# include <minizip/unzip.h>
++# else
++# include "unzip/unzip.h"
++# endif
+ #endif
+
+ #ifdef JMA_SUPPORT
+diff --git a/stream.cpp b/stream.cpp
+index 37051c3..bb64113 100644
+--- a/stream.cpp
++++ b/stream.cpp
+@@ -192,7 +192,11 @@
+
+ #include <string>
+ #ifdef UNZIP_SUPPORT
+-#include "unzip.h"
++# ifdef SYSTEM_ZIP
++# include <minizip/unzip.h>
++# else
++# include "unzip.h"
++# endif
+ #endif
+ #include "snes9x.h"
+ #include "stream.h"
+diff --git a/stream.h b/stream.h
+index b03dea9..ea22df0 100644
+--- a/stream.h
++++ b/stream.h
+@@ -229,8 +229,11 @@ class fStream : public Stream
+ };
+
+ #ifdef UNZIP_SUPPORT
+-
+-#include "unzip.h"
++# ifdef SYSTEM_ZIP
++# include <minizip/unzip.h>
++# else
++# include "unzip.h"
++# endif
+
+ #define unz_BUFFSIZ 1024
+
+diff --git a/unix/Makefile.in b/unix/Makefile.in
+index 5849568..aecad31 100644
+--- a/unix/Makefile.in
++++ b/unix/Makefile.in
+@@ -2,6 +2,7 @@
+ @S9XNETPLAY@
+ @S9XZIP@
+ @S9XJMA@
++@S9X_SYSTEM_ZIP@
+
+ # Fairly good and special-char-safe descriptor of the os being built on.
+ OS = `uname -s -r -m|sed \"s/ /-/g\"|tr \"[A-Z]\" \"[a-z]\"|tr \"/()\" \"___\"`
+@@ -19,7 +20,11 @@ OBJECTS += ../netplay.o ../server.o
+ endif
+
+ ifdef S9XZIP
+-OBJECTS += ../loadzip.o ../unzip/ioapi.o ../unzip/unzip.o
++OBJECTS += ../loadzip.o
++ifndef SYSTEM_ZIP
++OBJECTS += ../unzip/ioapi.o ../unzip/unzip.o
++INCLUDES = -I../unzip/
++endif
+ endif
+
+ ifdef S9XJMA
+@@ -29,7 +34,7 @@ endif
+ CCC = @CXX@
+ CC = @CC@
+ GASM = @CXX@
+-INCLUDES = -I. -I.. -I../apu/ -I../apu/bapu -I../unzip/ -I../jma/ -I../filter/
++INCLUDES += -I. -I.. -I../apu/ -I../apu/bapu -I../jma/ -I../filter/
+
+ CCFLAGS = @S9XFLGS@ @S9XDEFS@ $(DEFS)
+ CFLAGS = $(CCFLAGS)
+diff --git a/unix/configure.ac b/unix/configure.ac
+index 3c851dc..dc0e7ba 100644
+--- a/unix/configure.ac
++++ b/unix/configure.ac
+@@ -201,16 +201,43 @@ AC_ARG_ENABLE([zip],
+ [enable ZIP support through zlib (default: yes)])],
+ [], [enable_zip="yes"])
+
++S9X_SYSTEM_ZIP="#SYSTEM_ZIP=1"
++
++AC_ARG_WITH([system-zip],
++ [AS_HELP_STRING([--with-system-zip],
++ [Use system zip (default: check)])],
++ [], [with_system_zip="check"])
++
+ if test "x$enable_zip" = "xyes"; then
+- if test "x$snes9x_cv_zlib" = "xyes"; then
+- S9XZIP="S9XZIP=1"
+- S9XDEFS="$S9XDEFS -DUNZIP_SUPPORT"
+- if test "x$enable_gzip" = "xno"; then
+- S9XLIBS="$S9XLIBS -lz"
+- fi
++ if test "x$with_system_zip" != "xno"; then
++ PKG_CHECK_MODULES(
++ SYSTEM_ZIP,
++ minizip,
++ S9XZIP="S9XZIP=1"
++ S9XDEFS="$S9XDEFS -DUNZIP_SUPPORT"
++ S9X_SYSTEM_ZIP="SYSTEM_ZIP=1"
++ S9XLIBS="$S9XLIBS $SYSTEM_ZIP_LIBS"
++ if test "x$enable_gzip" = "xno"; then
++ S9XLIBS="$S9XLIBS -lz"
++ fi
++ S9XDEFS="$S9XDEFS -DSYSTEM_ZIP",
++ if test "x${with_system_zip}" != "xcheck"; then
++ AC_MSG_ERROR([--with-system-zlib requested but no proper zlib found.])
++ else
++ AC_MSG_WARN([zlib not found. Build without SYSTEM_ZIP support.])
++ fi
++ )
+ else
+- AC_MSG_WARN([zlib not found. Build without ZIP support.])
+- enable_zip="no"
++ if test "x$snes9x_cv_zlib" = "xyes"; then
++ S9XZIP="S9XZIP=1"
++ S9XDEFS="$S9XDEFS -DUNZIP_SUPPORT"
++ if test "x$enable_gzip" = "xno"; then
++ S9XLIBS="$S9XLIBS -lz"
++ fi
++ else
++ AC_MSG_WARN([zlib not found. Build without ZIP support.])
++ enable_zip="no"
++ fi
+ fi
+ fi
+
+@@ -427,9 +454,11 @@ S9XLIBS="$LIBS $S9XLIBS"
+ S9XFLGS="`echo \"$S9XFLGS\" | sed -e 's/ */ /g'`"
+ S9XDEFS="`echo \"$S9XDEFS\" | sed -e 's/ */ /g'`"
+ S9XLIBS="`echo \"$S9XLIBS\" | sed -e 's/ */ /g'`"
++S9X_SYSTEM_ZIP="`echo \"$S9X_SYSTEM_ZIP\" | sed -e 's/ */ /g'`"
+ S9XFLGS="`echo \"$S9XFLGS\" | sed -e 's/^ *//'`"
+ S9XDEFS="`echo \"$S9XDEFS\" | sed -e 's/^ *//'`"
+ S9XLIBS="`echo \"$S9XLIBS\" | sed -e 's/^ *//'`"
++S9X_SYSTEM_ZIP="`echo \"$S9X_SYSTEM_ZIP\" | sed -e 's/^ *//'`"
+
+ AC_SUBST(S9XFLGS)
+ AC_SUBST(S9XDEFS)
+@@ -439,6 +468,7 @@ AC_SUBST(S9XDEBUGGER)
+ AC_SUBST(S9XNETPLAY)
+ AC_SUBST(S9XZIP)
+ AC_SUBST(S9XJMA)
++AC_SUBST(S9X_SYSTEM_ZIP)
+
+ rm config.info 2>/dev/null
+
+@@ -459,6 +489,7 @@ netplay support...... $enable_netplay
+ gamepad support...... $enable_gamepad
+ GZIP support......... $enable_gzip
+ ZIP support.......... $enable_zip
++SYSTEM_ZIP........... $with_system_zip
+ JMA support.......... $enable_jma
+ debugger............. $enable_debugger
+
+--
+2.10.2
+
diff --git a/games-emulation/snes9x/snes9x-1.54.1.ebuild b/games-emulation/snes9x/snes9x-1.54.1.ebuild
new file mode 100644
index 000000000000..c52bc3306bea
--- /dev/null
+++ b/games-emulation/snes9x/snes9x-1.54.1.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit autotools eutils flag-o-matic multilib gnome2-utils
+
+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 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+IUSE="alsa debug gtk joystick multilib netplay nls opengl oss png pulseaudio portaudio +xv +xrandr"
+RESTRICT="bindist"
+
+RDEPEND="
+ sys-libs/zlib[minizip]
+ x11-libs/libX11
+ x11-libs/libXext
+ png? ( >=media-libs/libpng-1.2.43:0 )
+ gtk? ( >=x11-libs/gtk+-2.10:2
+ x11-misc/xdg-utils
+ portaudio? ( >=media-libs/portaudio-19_pre )
+ joystick? ( >=media-libs/libsdl-1.2.12[joystick] )
+ opengl? ( virtual/opengl )
+ xv? ( x11-libs/libXv )
+ xrandr? ( x11-libs/libXrandr )
+ alsa? ( media-libs/alsa-lib )
+ pulseaudio? ( media-sound/pulseaudio ) )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ x11-proto/xproto
+ gtk? ( virtual/pkgconfig
+ xv? ( x11-proto/videoproto ) )
+ nls? ( dev-util/intltool )"
+
+S="${WORKDIR}/${P}/unix"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.54.1-build.patch
+ "${FILESDIR}"/${PN}-1.53-cross-compile.patch
+ "${FILESDIR}"/${PN}-1.54.1-system-zlib.patch
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/${P} || die
+ rm -r unzip || die
+ default
+ cd unix
+ eautoreconf
+ if use gtk; then
+ cd ../gtk || die
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ append-ldflags -Wl,-z,noexecstack
+
+ # build breaks when zlib/zip support is disabled
+ econf \
+ --enable-gzip \
+ --enable-zip \
+ --with-system-zip \
+ $(use_enable joystick gamepad) \
+ $(use_enable debug debugger) \
+ $(use_enable netplay) \
+ $(use_enable png screenshot)
+
+ if use gtk; then
+ cd ../gtk || die
+ econf \
+ --datadir=/usr/share \
+ --with-zlib \
+ --with-system-zip \
+ $(use_enable nls) \
+ $(use_with opengl) \
+ $(use_with joystick) \
+ $(use_with xv) \
+ $(use_with xrandr) \
+ $(use_with netplay) \
+ $(use_with alsa) \
+ $(use_with oss) \
+ $(use_with pulseaudio) \
+ $(use_with portaudio) \
+ $(use_with png screenshot)
+ fi
+}
+
+src_compile() {
+ emake
+ if use gtk; then
+ emake -C ../gtk
+ fi
+}
+
+src_install() {
+ dobin ${PN}
+
+ dodoc ../docs/{snes9x.conf.default,{changes,control-inputs,controls,snapshots}.txt}
+
+ if use gtk; then
+ emake -C ../gtk DESTDIR="${D}" install
+ dodoc ../gtk/{AUTHORS,doc/README}
+ fi
+
+ docinto html
+ dodoc {.,..}/docs/*.html
+}
+
+pkg_preinst() {
+ use gtk && gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ use gtk && gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ use gtk && gnome2_icon_cache_update
+}