diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2016-11-11 18:17:32 +0100 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2016-11-11 18:17:45 +0100 |
commit | 0461a88faa4d542a801334304eca86a9b51b3d04 (patch) | |
tree | 88c243db5eaecfd0edab64553f5ce9bfb8edf0de /games-emulation/snes9x | |
parent | net-misc/dhcpcd: copy files to new locations for dhcpcd-7 for #599396 (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | games-emulation/snes9x/files/snes9x-1.54.1-build.patch | 55 | ||||
-rw-r--r-- | games-emulation/snes9x/files/snes9x-1.54.1-system-zlib.patch | 307 | ||||
-rw-r--r-- | games-emulation/snes9x/snes9x-1.54.1.ebuild | 124 |
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 +} |