summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven J Newbury <steve@snewbury.org.uk>2009-04-08 02:11:28 +0100
committerSteven J Newbury <steve@snewbury.org.uk>2009-04-08 02:11:28 +0100
commit65bf909602b8dad16a38367d09ef5c7ff8331b91 (patch)
treefe3b80650df09aecc823324c310c33781eaf9404 /games-emulation
parentUpdate dev-libs/libpcre: Add deps on zlib and bzip2 as well as make (diff)
downloadmultilib-portage-65bf909602b8dad16a38367d09ef5c7ff8331b91.tar.gz
multilib-portage-65bf909602b8dad16a38367d09ef5c7ff8331b91.tar.bz2
multilib-portage-65bf909602b8dad16a38367d09ef5c7ff8331b91.zip
Added games-emulation/zsnes
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/zsnes/ChangeLog247
-rw-r--r--games-emulation/zsnes/Manifest11
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-CC-quotes.patch20
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-archopt-july-23-update.patch502
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-depbuild.patch24
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-gcc43.patch48
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-libao-thread.patch25
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-libpng.patch35
-rw-r--r--games-emulation/zsnes/metadata.xml10
-rw-r--r--games-emulation/zsnes/zsnes-1.51-r1.ebuild74
-rw-r--r--games-emulation/zsnes/zsnes-1.51-r2.ebuild82
11 files changed, 1078 insertions, 0 deletions
diff --git a/games-emulation/zsnes/ChangeLog b/games-emulation/zsnes/ChangeLog
new file mode 100644
index 000000000..41f285248
--- /dev/null
+++ b/games-emulation/zsnes/ChangeLog
@@ -0,0 +1,247 @@
+# ChangeLog for games-emulation/zsnes
+# Copyright 2002-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/zsnes/ChangeLog,v 1.43 2009/03/31 13:23:07 darkside Exp $
+
+ 31 Mar 2009; Jeremy Olexa <darkside@gentoo.org> zsnes-1.51-r2.ebuild:
+ amd64 stable, bug 264211
+
+ 28 Feb 2009; Markus Meier <maekke@gentoo.org> metadata.xml:
+ custom-cflags is a global USE-flag
+
+ 25 Feb 2009; Timothy Redaelli <drizzt@gentoo.org>
+ +files/zsnes-1.51-CC-quotes.patch, -files/zsnes-1.51-makefile.dep.patch,
+ zsnes-1.51-r2.ebuild:
+ Ops
+
+ 25 Feb 2009; Timothy Redaelli <drizzt@gentoo.org>
+ +files/zsnes-1.51-makefile.dep.patch, zsnes-1.51-r2.ebuild:
+ Fix bug #257963 and #260247
+
+ 02 Feb 2009; <drizzt@gentoo.org> +files/zsnes-1.51-depbuild.patch,
+ zsnes-1.51-r2.ebuild:
+ Fix a (possible) compilation problem wrt bug #170108
+
+*zsnes-1.51-r2 (09 May 2008)
+
+ 09 May 2008; Timothy Redaelli <drizzt@gentoo.org>
+ +files/zsnes-1.51-libao-thread.patch, +zsnes-1.51-r2.ebuild:
+ Revision bump wrt bug #214697
+
+ 02 May 2008; Tristan Heaven <nyhm@gentoo.org>
+ +files/zsnes-1.51-gcc43.patch, zsnes-1.51-r1.ebuild:
+ Fix building with gcc-4.3
+
+ 29 Feb 2008; Carsten Lohrke <carlo@gentoo.org> zsnes-1.51-r1.ebuild:
+ Remove icon extension from desktop entry to match Icon Theme Specification.
+
+ 22 Jul 2007; Timothy Redaelli <drizzt@gentoo.org>
+ +files/zsnes-1.51-archopt-july-23-update.patch, zsnes-1.51-r1.ebuild:
+ Add patch for latest version of archopt as of July 23. For properly handling
+ if cpu is already set in the main GCC detection if/else. This will fix bug
+ #186111, thanks to Nils Kneuper for reporting and Nach for fixing.
+
+*zsnes-1.51-r1 (25 Jun 2007)
+
+ 25 Jun 2007; Timothy Redaelli <drizzt@gentoo.org>
+ -files/zsnes-1.42-memfix.patch, -files/1.42-configure.patch,
+ -files/zsnes-1.42-execStack.patch, -zsnes-1.42.ebuild,
+ +zsnes-1.51-r1.ebuild:
+ Remove old version.
+ Revision bump, removed ugly workaround for amd64.
+
+ 18 Mar 2007; Steve Dibb <beandog@gentoo.org> zsnes-1.51.ebuild:
+ amd64 stable, bug 168804, fix documentation install
+
+ 17 Mar 2007; Timothy Redaelli <drizzt@gentoo.org> zsnes-1.51.ebuild:
+ Minor stylist improvment
+
+ 02 Mar 2007; Timothy Redaelli <drizzt@gentoo.org> zsnes-1.51.ebuild:
+ Add ~x86-fbsd keyword
+
+ 02 Mar 2007; Timothy Redaelli <drizzt@gentoo.org>
+ +files/zsnes-1.51-libpng.patch, zsnes-1.51.ebuild:
+ Add a patch to make it compile without libpng installed.
+
+ 01 Mar 2007; Christian Faulhammer <opfer@gentoo.org> zsnes-1.51.ebuild:
+ stable x86; bug 168804
+
+ 16 Feb 2007; Timothy Redaelli <drizzt@gentoo.org> zsnes-1.51.ebuild:
+ Add use ao to amd64 package.use.mask
+
+ 31 Jan 2007; Timothy Redaelli <drizzt@gentoo.org> zsnes-1.51.ebuild:
+ Fixed ao configure argument, thanks to Andreas Fackler for reporting wrt bug
+ #164704
+
+ 29 Jan 2007; Timothy Redaelli <drizzt@gentoo.org> zsnes-1.51.ebuild:
+ Remove -s from CFLAGS
+
+ 29 Jan 2007; Timothy Redaelli <drizzt@gentoo.org> zsnes-1.51.ebuild:
+ oops
+
+ 29 Jan 2007; Timothy Redaelli <drizzt@gentoo.org> zsnes-1.51.ebuild:
+ Add custom-cflags use, also disable libao on amd64.
+
+*zsnes-1.51 (29 Jan 2007)
+
+ 29 Jan 2007; Timothy Redaelli <drizzt@gentoo.org>
+ +files/zsnes-1.51-gzdirect.patch, metadata.xml, +zsnes-1.51.ebuild:
+ Version bump wrt bug #131198
+ Add use ao to use libao for audio (suggested)
+ Set me as zsnes-1.5.0+ maintainer (authorized by SpanKY)
+
+ 15 Aug 2006; Michael Sterrett <mr_bones_@gentoo.org>
+ +files/zsnes-1.42-memfix.patch, zsnes-1.42.ebuild:
+ add patch from Leonardo Boshell via bug #125861 to fix memory issue
+
+ 13 Apr 2006; Chris Gianelloni <wolf31o2@gentoo.org> zsnes-1.42.ebuild:
+ Moved games_pkg_setup to the beginning of pkg_setup.
+
+ 15 Mar 2006; <Tupone@gentoo.org> +files/zsnes-1.42-execStack.patch,
+ zsnes-1.42.ebuild:
+ Fixing QA notice on executable stack, bug #117771 thanks to Erik Musick
+
+ 05 Feb 2006; Simon Stelling <blubb@gentoo.org> zsnes-1.42.ebuild:
+ remove old 2004.3 multilib checks
+
+ 30 May 2005; Michael Sterrett <mr_bones_@gentoo.org> -zsnes-1.36.ebuild:
+ clean old version
+
+ 08 May 2005; Herbie Hopkins <herbs@gentoo.org> zsnes-1.42.ebuild:
+ Stable on amd64.
+
+ 21 Mar 2005; Jeremy Huddleston <eradicator@gentoo.org> zsnes-1.42.ebuild:
+ amd64 2005.0 support.
+
+ 24 Jan 2005; Michael Sterrett <mr_bones_@gentoo.org> zsnes-1.42.ebuild:
+ stable for x86
+
+ 24 Jan 2005; Michael Sterrett <mr_bones_@gentoo.org>
+ -files/1.40-LDFLAGS.patch, -files/command-line.patch,
+ -zsnes-1.37_pre20041024.ebuild, -zsnes-1.40.ebuild:
+ clean out old versions and patches
+
+*zsnes-1.42 (23 Jan 2005)
+
+ 23 Jan 2005; Michael Sterrett <mr_bones_@gentoo.org> +zsnes-1.42.ebuild:
+ version bump (bug #78873)
+ add support for png use flag
+ add desktop and icon (bug #73316)
+
+*zsnes-1.40 (26 Dec 2004)
+
+ 26 Dec 2004; Mike Frysinger <vapier@gentoo.org> +files/1.40-LDFLAGS.patch,
+ -zsnes-1.37_pre20040920.ebuild, +zsnes-1.40.ebuild:
+ Version bump #75680 by cpu.
+
+*zsnes-1.37_pre20041024 (20 Nov 2004)
+
+ 20 Nov 2004; Michael Sterrett <mr_bones_@gentoo.org>
+ +files/command-line.patch, +zsnes-1.37_pre20041024.ebuild:
+ version bump (bug #69787); command-line patch from Ben Ford via bug #69196
+
+*zsnes-1.37_pre20040920 (23 Sep 2004)
+
+ 23 Sep 2004; Michael Sterrett <mr_bones_@gentoo.org>
+ +zsnes-1.37_pre20040920.ebuild:
+ version bump (bug #65125)
+
+*zsnes-1.37_pre20040803 (15 Aug 2004)
+
+ 15 Aug 2004; Mike Frysinger <vapier@gentoo.org>
+ -zsnes-1.37_pre20040508.ebuild, +zsnes-1.37_pre20040803.ebuild:
+ Version bump #57933 by Tommy Li.
+
+ 14 Jul 2004; Travis Tilley <lv@gentoo.org> zsnes-1.37_pre20040508.ebuild:
+ added preliminary amd64 support
+
+ 26 May 2004; Michael Sterrett <mr_bones_@gentoo.org>
+ zsnes-1.37_pre20041220.ebuild:
+ remove version from the future
+
+*zsnes-1.37_pre20040508 (11 May 2004)
+
+ 11 May 2004; Michael Sterrett <mr_bones_@gentoo.org>
+ zsnes-1.37_pre20040508.ebuild:
+ version bump (1.37_pre20041220 should have been 1.37_pre20031220)
+
+*zsnes-1.37_pre20041220 (04 Jan 2004)
+
+ 04 Jan 2004; Mike Frysinger <vapier@gentoo.org> :
+ Add the December 20th WIP release #36049. Would add the 23rd WIP but it's MIA.
+
+*zsnes-1.36 (21 Jul 2002)
+
+ 04 Jan 2004; Mike Frysinger <vapier@gentoo.org> :
+ Touchups + games.eclass support.
+
+ 10 Jul 2003; Michael Sterrett <msterret@gentoo.org> zsnes-1.36.ebuild:
+ use emake; use use_with
+
+ 06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
+
+ 03 Nov 2002; Mike Frysinger <vapier@gentoo.org> :
+ Added pkg_setup fix for #9446.
+
+ 06 Aug 2002; Mark Guertin <gerk@gentoo.org> :
+ Added -ppc -sparc -sparc64 BACK to keywords, when bumping please please
+ honor these KEYWORDS if they are set and read ChangeLog entries
+ Also please make sure to enter _something_ in the cvs log when updating
+ files "*** empty log message ***" was the last cvs log entry for this
+
+ 21 Jul 2002; Dan Armak <danarmak@gentoo.org> ChangeLog :
+
+ New upstream version.
+
+ 20 Jul 2002; Phil Bordelon <sunflare@gentoo.org> zsnes-1.35.ebuild zsnes-1.35-r1.ebuild zsnes-1.337-r2.ebuild :
+
+ ZSNES relies on x86 assembly, and will not build on PPC, SPARC, or
+ SPARC64 platforms. Updated the KEYWORDS to reflect this.
+
+*zsnes-1.35-r1 (08 Jul 2002)
+
+ 11 Jul 2002; Brandon Low <lostlogic@gentoo.org> zsnes-1.35-r1.ebuild :
+
+ Just fix the ebuild to die if patching fails.
+
+ 08 Jul 2002; Phil Bordelon <sunflare@gentoo.org> zsnes-1.35-r1.ebuild zsnes-1.337-r2.ebuild :
+
+ There are a number of problems with raw ZSNES 1.35. Thomas Weidner
+ alerted us to the problem and submitted both a patch against ZSNES
+ CVS and an updated ebuild. Changed the description string, but
+ otherwise the ebuild is identical. See Bug #4704 for details.
+
+ I also updated zsnes-1.337-r2.ebuild to make repoman happy.
+
+*zsnes-1.35 (06 Jul 2002)
+
+ 06 Jul 2002; Phil Bordelon <sunflare@gentoo.org> zsnes-1.35.ebuild :
+
+ Updated to the latest version. Brought the ebuild up to current repoman
+ and lintool specs. The patch in -r2 is no longer needed. The Author in
+ the ebuild was Dan Armak.
+
+*zsnes-1.337-r2 (17 May 2002)
+
+ 17 May 2002; Dan Armak <danarmak@gentoo.org> changelog:
+
+ Fix bugs #2746, #2783 - remove a comment from init.asm which confused nasm.
+
+*zsnes-1.337-r1 (7 May 2002)
+ 7 May 2002; Spider <spider@gentoo.org> zsnes-1.337-r1.ebuild zsnes-1.337.ebuild :
+ fix sourceforge mirror stuff
+
+*zsnes-1.337-r1 (12 Apr 2002)
+
+ 12 Apr 2002; Seemant Kulleen <seemant@gentoo.org> zsnes-1.337-r1.ebuild :
+
+ Compile against newest libpng
+
+*zsnes-1.337 (1 Feb 2002)
+
+ 1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :
+
+ Added initial ChangeLog which should be updated whenever the package is
+ updated in any way. This changelog is targetted to users. This means that the
+ comments should well explained and written in clean English. The details about
+ writing correct changelogs are explained in the skel.ChangeLog file which you
+ can find in the root directory of the portage repository.
diff --git a/games-emulation/zsnes/Manifest b/games-emulation/zsnes/Manifest
new file mode 100644
index 000000000..78fec716c
--- /dev/null
+++ b/games-emulation/zsnes/Manifest
@@ -0,0 +1,11 @@
+AUX zsnes-1.51-CC-quotes.patch 812 RMD160 e0ed454da3a4ceb034089d8ca8b4ad5ea634a91e SHA1 73b2b1a5536e9bd7e3d0a24f86c2ce36103cfe66 SHA256 88082857f72d10e629a0b725d7ca3b558e9e0e733e1da49494c52cafadbb48a9
+AUX zsnes-1.51-archopt-july-23-update.patch 12740 RMD160 e8004f97f795c13d51fa16c5bf386dfc8b12058f SHA1 4e59c16f0e5c57cfa6e5df2b50026598e77eab5a SHA256 4fc49ccafe46dafb1db57226e6989f6a5c97e826595df881d90bad1694a9906e
+AUX zsnes-1.51-depbuild.patch 631 RMD160 bd17f4dc521fb186a62e91350c9dcdc97c1c3256 SHA1 20568092a34c60f94038d3cc5b107e36269b4df2 SHA256 ab22b2fd1dfda5f377cafa0df19269259305aeab15d3c3ae6bf511b222dc6359
+AUX zsnes-1.51-gcc43.patch 913 RMD160 95ab52f570dd1e5c7d0852dac17d56ada4939079 SHA1 9bbececf44cc48a4d6b48ebff66ba657ef409168 SHA256 9eb0aff2be2b303295b0d0a76240facd13dca170b97fe3ee827a6c26d89d53de
+AUX zsnes-1.51-libao-thread.patch 663 RMD160 10b0ce28577e39187f98d8f392462585148d34eb SHA1 67a34c9a5f8c6abb2881007d47ba10647ca4503a SHA256 71be0bbb8b683edc7c7780b68a43e54be7a8c341bf9b2a01e5cceb53834b1a73
+AUX zsnes-1.51-libpng.patch 974 RMD160 36bdb059c6641376bee6ea5040a7045420c02870 SHA1 a4f7960de8eece5ac1c51cc8b58f6fb8964bca40 SHA256 9e5ba014ba847f7e10075dfd51b0ca42b86aa2dcc47952d569c304f3e8e15470
+DIST zsnes151src.tar.bz2 1071712 RMD160 337407bf7e5516bcd7bf310c7b17d6d12a948750 SHA1 03df35490870c9950d7010747d0546c8525c0362 SHA256 eb013f824f5a9814a714cf0daaea3ea68a1c74fd741e5b0979fcb7964236a866
+EBUILD zsnes-1.51-r1.ebuild 1969 RMD160 99296f584af1bc702f2cf0268404361383f95760 SHA1 3c70dcbabf789af7275617684a19361a4e822050 SHA256 1d314b8d58bf81be562abfee67b72770e87306fe458a46f1e82153e708b35d44
+EBUILD zsnes-1.51-r2.ebuild 2203 RMD160 cd900ca5343d45954e1ae7ff3ec271183c3a4618 SHA1 48e53e26e5f29601dcc4ab1bbac8a03ee76afec5 SHA256 252b7bda422da8a7f1aa36c6ee11eeb8e5b9c6cf62ef24ea3d0730780d7c53b0
+MISC ChangeLog 8980 RMD160 87482293efb10fb4a39dced16b53b7b9d9022583 SHA1 02ecb25194a4d12794cb1a368a48b66c9b794b68 SHA256 fd9a9803b1b1445c24500003fd07776afc6653eacb5c21033d869413c9f870d5
+MISC metadata.xml 387 RMD160 fc4ff898dd1ec7e6e03f1e59e725df49ed5ef497 SHA1 a97ad2cb867796a018c6a7a88b0cdd8fd6d08664 SHA256 dc2155768e2e46fda3aaf3d39defb802789db5f1ba3f155bcefc29cbaca60b59
diff --git a/games-emulation/zsnes/files/zsnes-1.51-CC-quotes.patch b/games-emulation/zsnes/files/zsnes-1.51-CC-quotes.patch
new file mode 100644
index 000000000..5a3b588b0
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-CC-quotes.patch
@@ -0,0 +1,20 @@
+--- src/Makefile.in.orig 2009-02-25 18:13:40.000000000 +0100
++++ src/Makefile.in 2009-02-25 18:13:16.000000000 +0100
+@@ -95,7 +95,7 @@
+ %.o: %.cpp
+ @CXX@ @CXXFLAGS@ -o $@ -c $<
+ %.o %.h: %.psr $(PSR)
+- ./$(PSR) @PSRFLAGS@ -gcc @CC@ -compile -flags "@CFLAGS@ -O1" -cheader $*.h -fname $* $*.o $<
++ ./$(PSR) @PSRFLAGS@ -gcc "@CC@" -compile -flags "@CFLAGS@ -O1" -cheader $*.h -fname $* $*.o $<
+
+ default: main
+ all: main tools--- zsnes_1_51/src/Makefile.in.orig 2009-02-25 18:02:07.000000000 +0100
+@@ -133,7 +133,7 @@
+
+ include makefile.dep
+ makefile.dep: $(TOOL_D)/depbuild Makefile
+- $(TOOL_D)/depbuild @CC@ "@CFLAGS@" @NASMPATH@ "@NFLAGS@" $(Z_OBJS) > makefile.dep
++ $(TOOL_D)/depbuild "@CC@" "@CFLAGS@" @NASMPATH@ "@NFLAGS@" $(Z_OBJS) > makefile.dep
+
+ Makefile: Makefile.in config.status
+ ./config.status
diff --git a/games-emulation/zsnes/files/zsnes-1.51-archopt-july-23-update.patch b/games-emulation/zsnes/files/zsnes-1.51-archopt-july-23-update.patch
new file mode 100644
index 000000000..cd478923b
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-archopt-july-23-update.patch
@@ -0,0 +1,502 @@
+--- tools/archopt.c.old 2006-12-29 06:50:31.000000000 +0100
++++ tools/archopt.c 2007-07-23 00:11:51.000000000 +0200
+@@ -1,8 +1,30 @@
++/*
++Copyright (C) 2005-2007 Nach, grinvader ( http://www.zsnes.com )
++
++This program is free software; you can redistribute it and/or
++modify it under the terms of the GNU General Public License
++version 2 as published by the Free Software Foundation.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program; if not, write to the Free Software
++Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++*/
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <ctype.h>
+
++#ifdef _M_X64
++#define __x86_64__
++#endif
++
++#ifdef __GNUC__
+ #ifdef __x86_64__
+ #define cpuid(in, a, b, c, d) asm volatile("cpuid": "=a" (a), "=b" (b), "=c" (c), "=d" (d) : "a" (in));
+ #else
+@@ -13,6 +35,22 @@
+ movl %%ebx,%%edi;\
+ popl %%ebx": "=a" (a), "=D" (b), "=c" (c), "=d" (d) : "a" (in));
+ #endif
++#else
++char cpubuf[256];
++int z_in, z_a, z_b, z_c, z_d;
++void cpuid_run()
++{
++ _asm {
++ mov eax,z_in
++ cpuid
++ mov z_a,eax
++ mov z_b,ebx
++ mov z_c,ecx
++ mov z_d,edx
++ };
++}
++#define cpuid(in, a, b, c, d) z_in = in; cpuid_run(); a = z_a; b = z_b; c = z_c; d = z_d;
++#endif
+
+ char *x86_flags[] =
+ { "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce",
+@@ -62,6 +100,7 @@
+ {
+ int have = 0x200000;
+ #ifndef __x86_64__
++ #ifdef __GNUC__
+ asm volatile
+ (
+ " pushfl;"
+@@ -76,6 +115,23 @@
+ : "=a" (have)
+ : "c" (have)
+ );
++ #else
++ z_c = have;
++ _asm {
++ mov ecx,z_c
++ pushfd
++ pop eax
++ mov edx,eax
++ xor eax,ecx
++ push eax
++ popfd
++ pushfd
++ pop eax
++ xor eax,edx
++ mov z_a,eax
++ };
++ have = z_a;
++ #endif
+ #endif
+ return(have);
+ }
+@@ -196,238 +252,268 @@
+ cpu = "native";
+ #endif
+ #endif
+-
+- if (!cpu && *cpu_family && *vendor_id)
++ if (!cpu)
+ {
+- if (!strcmp(vendor_id, "AuthenticAMD") || strstr(model_name, "AMD"))
++ if (!cpu && *cpu_family && *vendor_id)
+ {
+- if (strstr(flags, " mmx "))
++ #ifdef __GNUC__
++ if (!strcmp(vendor_id, "AuthenticAMD") || strstr(model_name, "AMD"))
+ {
+- #if __GNUC__ > 2
+- if (strstr(flags, " 3dnow "))
++ if (strstr(flags, " mmx "))
+ {
+- if (strstr(flags, " 3dnowext ") && (atoi(cpu_family) > 5))
++ #if __GNUC__ > 2
++ if (strstr(flags, " 3dnow "))
+ {
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 0
+- if (strstr(flags, " sse "))
++ if (strstr(flags, " 3dnowext ") && (atoi(cpu_family) > 5))
+ {
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
+- if (strstr(flags, " sse2 ") && strstr(flags, " lm ")) //Need two checks to protect Semprons
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 0
++ if (strstr(flags, " sse "))
+ {
+- if (strstr(model_name, "Opteron"))
+- {
+- cpu = "opteron";
+- }
+- else if (strstr(model_name, "Athlon(tm) 64")) //Also athlon-fx
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
++ if (strstr(flags, " sse2 ") && strstr(flags, " lm ")) //Need two checks to protect Semprons
+ {
+- cpu = "athlon64";
++ if (strstr(model_name, "Opteron"))
++ {
++ cpu = "opteron";
++ }
++ else if (strstr(model_name, "Athlon(tm) 64")) //Also athlon-fx
++ {
++ cpu = "athlon64";
++ }
++ else
++ {
++ cpu = "k8";
++ }
+ }
+- else
++ #endif
++ if (!cpu)
+ {
+- cpu = "k8";
++ if (strstr(model_name, "Athlon(tm) 4"))
++ {
++ cpu = "athlon-4";
++ }
++ else if (strstr(model_name, "Athlon(tm) MP"))
++ {
++ cpu = "athlon-mp";
++ }
++ else
++ {
++ cpu = "athlon-xp";
++ }
+ }
+ }
++
++ if (!cpu && (atoi(model) > 3))
++ {
++ cpu = "athlon-tbird";
++ }
+ #endif
++
+ if (!cpu)
+ {
+- if (strstr(model_name, "Athlon(tm) 4"))
+- {
+- cpu = "athlon-4";
+- }
+- else if (strstr(model_name, "Athlon(tm) MP"))
+- {
+- cpu = "athlon-mp";
+- }
+- else
+- {
+- cpu = "athlon-xp";
+- }
++ cpu = "athlon";
+ }
+ }
+
+- if (!cpu && (atoi(model) > 3))
+- {
+- cpu = "athlon-tbird";
+- }
+- #endif
+-
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 0
+ if (!cpu)
+ {
+- cpu = "athlon";
++ int model_num = atoi(model);
++ if ((model_num == 9) || (model_num >= 13))
++ {
++ cpu = "k6-3";
++ }
++ else
++ {
++ cpu = "k6-2";
++ }
+ }
++ #endif
+ }
++ #endif
+
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 0
+ if (!cpu)
+ {
+- int model_num = atoi(model);
+- if ((model_num == 9) || (model_num >= 13))
+- {
+- cpu = "k6-3";
+- }
+- else
+- {
+- cpu = "k6-2";
+- }
++ cpu = "k6";
+ }
+- #endif
+- }
+- #endif
+-
+- if (!cpu)
+- {
+- cpu = "k6";
+ }
+ }
+- }
+- else if (!strcmp(vendor_id, "GenuineIntel") || strstr(model_name, "Intel"))
+- {
+- #if __GNUC__ > 2
+- if (strstr(flags, " mmx "))
++ else if (!strcmp(vendor_id, "GenuineIntel") || strstr(model_name, "Intel"))
+ {
+- if (strstr(flags, " sse "))
++ #if __GNUC__ > 2
++ if (strstr(flags, " mmx "))
+ {
+- if (strstr(flags, " sse2 "))
++ if (strstr(flags, " sse "))
+ {
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 2
+- if (strstr(flags, " pni ") && strcmp(cpu_family, "6"))
++ if (strstr(flags, " sse2 "))
+ {
+- if (strstr(flags, " lm "))
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 2
++ if (strstr(flags, " pni ") && strcmp(cpu_family, "6"))
+ {
+- cpu = "nocona";
++ if (strstr(flags, " lm "))
++ {
++ cpu = "nocona";
++ }
++ else
++ {
++ cpu = "prescott";
++ }
+ }
+- else
++ #endif
++
++ if (!cpu)
+ {
+- cpu = "prescott";
++ if (!strcmp(cpu_family, "6"))
++ {
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
++ cpu = "pentium-m";
++ #else
++ cpu = "pentium3";
++ #endif
++ }
++ else
++ {
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
++ if (strstr(model_name, "Mobile"))
++ {
++ cpu = "pentium4m";
++ }
++ #endif
++
++ if (!cpu)
++ {
++ cpu = "pentium4";
++ }
++ }
+ }
+ }
+- #endif
+-
+- if (!cpu)
++ else
+ {
+- if (!strcmp(cpu_family, "6"))
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
++ if (strstr(model_name, "Mobile"))
+ {
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
+- cpu = "pentium-m";
+- #else
+- cpu = "pentium3";
+- #endif
++ cpu = "pentium3m";
+ }
+- else
+- {
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
+- if (strstr(model_name, "Mobile"))
+- {
+- cpu = "pentium4m";
+- }
+- #endif
++ #endif
+
+- if (!cpu)
+- {
+- cpu = "pentium4";
+- }
++ if (!cpu)
++ {
++ cpu = "pentium3";
+ }
+ }
+ }
+ else
+ {
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
+- if (strstr(model_name, "Mobile"))
++ if (!strcmp(cpu_family, "6"))
+ {
+- cpu = "pentium3m";
++ cpu = "pentium2";
+ }
+- #endif
+-
+- if (!cpu)
++ else
+ {
+- cpu = "pentium3";
++ cpu = "pentium-mmx";
+ }
+ }
+ }
+- else
++ #endif
++
++ if (!cpu)
++ {
++ int family = atoi(cpu_family);
++ if (family > 5)
++ {
++ cpu = "pentiumpro";
++ }
++ else if (family == 5)
++ {
++ cpu = "pentium";
++ }
++ }
++ }
++ #if __GNUC__ > 2
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 2
++ else if (!strcmp(vendor_id, "CentaurHauls") && strstr(flags, " mmx "))
++ {
++ if (strstr(flags, " 3dnow "))
+ {
+- if (!strcmp(cpu_family, "6"))
++ if (atoi(cpu_family) > 5)
+ {
+- cpu = "pentium2";
++ cpu = "c3";
+ }
+ else
+ {
+- cpu = "pentium-mmx";
++ cpu = "winchip2";
+ }
+ }
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
++ else if (strstr(flags, " sse "))
++ {
++ cpu = "c3-2";
++ }
++ #endif
++
++ if (!cpu)
++ {
++ cpu = "winchip-c6";
++ }
+ }
+ #endif
++ #endif
+
+ if (!cpu)
+ {
+ int family = atoi(cpu_family);
+ if (family > 5)
+ {
+- cpu = "pentiumpro";
++ cpu = "i686";
+ }
+ else if (family == 5)
+ {
+- cpu = "pentium";
++ cpu = "i586";
+ }
+- }
+- }
+- #if __GNUC__ > 2
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 2
+- else if (!strcmp(vendor_id, "CentaurHauls") && strstr(flags, " mmx "))
+- {
+- if (strstr(flags, " 3dnow "))
+- {
+- if (atoi(cpu_family) > 5)
++ else if (family == 4)
+ {
+- cpu = "c3";
++ cpu = "i486";
+ }
+ else
+ {
+- cpu = "winchip2";
++ cpu = "i386";
+ }
+ }
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
++ #else //MSVC
++ cpu = cpubuf;
++ *cpu = 0;
++
++ if (strstr(flags, " sse2 "))
++ {
++ strcat(cpu, " /arch:SSE2");
++ }
+ else if (strstr(flags, " sse "))
+ {
+- cpu = "c3-2";
++ strcat(cpu, " /arch:SSE");
+ }
+- #endif
+
+- if (!cpu)
++ #ifdef __x86_64__
++ if (strstr(flags, " lm ")) //64 bit
+ {
+- cpu = "winchip-c6";
++ if (!strcmp(vendor_id, "AuthenticAMD") || strstr(model_name, "AMD"))
++ {
++ strcat(cpu, " /favor:AMD64");
++ }
++ else if (!strcmp(vendor_id, "GenuineIntel") || strstr(model_name, "Intel"))
++ {
++ strcat(cpu, " /favor:EM64T");
++ }
+ }
++ #endif
++ #endif
+ }
+- #endif
+- #endif
+-
+- if (!cpu)
++ else
+ {
+- int family = atoi(cpu_family);
+- if (family > 5)
+- {
+- cpu = "i686";
+- }
+- else if (family == 5)
+- {
+- cpu = "i586";
+- }
+- else if (family == 4)
+- {
+- cpu = "i486";
+- }
+- else
+- {
+- cpu = "i386";
+- }
++ puts("Could not open /proc/cpuinfo, and CPUID instruction not available.");
++ return(1);
+ }
+- puts(cpu);
+- }
+- else
+- {
+- puts("Could not open /proc/cpuinfo, and CPUID instruction not available.");
+- return(1);
+ }
++ puts(cpu);
+
+ return(0);
+ }
diff --git a/games-emulation/zsnes/files/zsnes-1.51-depbuild.patch b/games-emulation/zsnes/files/zsnes-1.51-depbuild.patch
new file mode 100644
index 000000000..737d0c010
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-depbuild.patch
@@ -0,0 +1,24 @@
+--- src/tools/depbuild.cpp.orig 2006-12-27 12:04:05.000000000 +0100
++++ src/tools/depbuild.cpp 2009-02-02 17:24:17.980006252 +0100
+@@ -130,7 +130,20 @@
+ void dependency_calculate_asm(const char *filename)
+ {
+ string command = nasm + " " + nflags + " -M " + filename;
+- system(command.c_str());
++ FILE *fp = popen(command.c_str(), "r");
++ if (fp)
++ {
++ char line[256];
++ while (fgets(line, sizeof(line), fp)) //Process all lines of output
++ {
++ cout << line;
++ }
++ pclose(fp);
++ }
++ else
++ {
++ cerr << "Failed on: " << filename << "\n";
++ }
+ }
+
+ void dependency_calculate_psr(const char *filename)
diff --git a/games-emulation/zsnes/files/zsnes-1.51-gcc43.patch b/games-emulation/zsnes/files/zsnes-1.51-gcc43.patch
new file mode 100644
index 000000000..4650bc12a
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-gcc43.patch
@@ -0,0 +1,48 @@
+--- src/parsegen.cpp
++++ src/parsegen.cpp
+@@ -31,6 +31,7 @@
+ #include <sstream>
+ #include <set>
+ #include <stack>
++#include <cstring>
+ using namespace std;
+
+ #include <errno.h>
+@@ -1828,7 +1829,7 @@
+ }
+ }
+
+-int main(size_t argc, const char **argv)
++int main(int argc, const char **argv)
+ {
+ const char *cheader_file = 0;
+ bool compile = false;
+--- src/tools/depbuild.cpp
++++ src/tools/depbuild.cpp
+@@ -24,6 +24,7 @@
+ #include <iostream>
+ #include <string>
+ #include <cstdio>
++#include <cstdlib>
+ using namespace std;
+
+ #include "fileutil.h"
+@@ -183,7 +184,7 @@
+ }
+ }
+
+-int main(size_t argc, const char *const *const argv)
++int main(int argc, const char *const *const argv)
+ {
+ if (argc < 5)
+ {
+--- src/tools/strutil.h
++++ src/tools/strutil.h
+@@ -25,6 +25,7 @@
+ #include <string>
+ #include <vector>
+ #include <cctype>
++#include <cstring>
+
+ struct ci_char_traits : public std::char_traits<char>
+ {
diff --git a/games-emulation/zsnes/files/zsnes-1.51-libao-thread.patch b/games-emulation/zsnes/files/zsnes-1.51-libao-thread.patch
new file mode 100644
index 000000000..880e08c69
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-libao-thread.patch
@@ -0,0 +1,25 @@
+--- linux/audio.c.old 2007-01-09 20:19:12.000000000 -0500
++++ linux/audio.c 2007-12-30 20:33:07.000000000 -0500
+@@ -177,11 +177,7 @@
+ }
+ else
+ {
+- if (pthread_create(&audio_thread, 0, SoundThread_ao, 0))
+- {
+- puts("pthread_create() failed.");
+- }
+- else if (pthread_mutex_init(&audio_mutex, 0))
++ if (pthread_mutex_init(&audio_mutex, 0))
+ {
+ puts("pthread_mutex_init() failed.");
+ }
+@@ -189,6 +185,10 @@
+ {
+ puts("pthread_cond_init() failed.");
+ }
++ else if (pthread_create(&audio_thread, 0, SoundThread_ao, 0))
++ {
++ puts("pthread_create() failed.");
++ }
+ InitSampleControl();
+ }
diff --git a/games-emulation/zsnes/files/zsnes-1.51-libpng.patch b/games-emulation/zsnes/files/zsnes-1.51-libpng.patch
new file mode 100644
index 000000000..0611697c8
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-libpng.patch
@@ -0,0 +1,35 @@
+Index: acinclude.m4
+===================================================================
+--- acinclude.m4 (revisione 4838)
++++ acinclude.m4 (copia locale)
+@@ -163,21 +163,21 @@
+ libpng_prefix="")
+
+ min_libpng_version=ifelse([$1], ,1.2.0,$1)
+-tempLIBS="$LIBS"
+-tempCFLAGS="$CFLAGS"
+-if test x$libpng_prefix != x ; then
+- LIBPNG_LIBS="-L$libpng_prefix"
+- LIBPNG_CFLAGS="-I$libpng_prefix"
+-fi
+-LIBPNG_LIBS="$LIBPNG_LIBS -lpng -lm"
+-LIBS="$LIBS $LIBPNG_LIBS"
+-CFLAGS="$CFLAGS $LIBPNG_CFLAGS"
+
+ AC_MSG_CHECKING(for libpng - version >= $min_libpng_version)
+
+ dnl <--- disable for no user choice part #2
+ if test x$enable_libpng != xno; then
+ dnl --->
++ tempLIBS="$LIBS"
++ tempCFLAGS="$CFLAGS"
++ if test x$libpng_prefix != x ; then
++ LIBPNG_LIBS="-L$libpng_prefix"
++ LIBPNG_CFLAGS="-I$libpng_prefix"
++ fi
++ LIBPNG_LIBS="$LIBPNG_LIBS -lpng -lm"
++ LIBS="$LIBS $LIBPNG_LIBS"
++ CFLAGS="$CFLAGS $LIBPNG_CFLAGS"
+
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <png.h>
diff --git a/games-emulation/zsnes/metadata.xml b/games-emulation/zsnes/metadata.xml
new file mode 100644
index 000000000..455620ec8
--- /dev/null
+++ b/games-emulation/zsnes/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <maintainer restrict="&gt;=games-emulation/zsnes-1.5.0">
+ <email>drizzt@gentoo.org</email>
+ <name>Timothy Redaelli</name>
+ <description>Please assign bugs to games@gentoo.org and CC me.</description>
+ </maintainer>
+</pkgmetadata>
diff --git a/games-emulation/zsnes/zsnes-1.51-r1.ebuild b/games-emulation/zsnes/zsnes-1.51-r1.ebuild
new file mode 100644
index 000000000..17880a0dc
--- /dev/null
+++ b/games-emulation/zsnes/zsnes-1.51-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/zsnes/zsnes-1.51-r1.ebuild,v 1.7 2008/05/02 13:52:31 nyhm Exp $
+
+EAPI=2
+
+inherit eutils autotools flag-o-matic toolchain-funcs multilib games
+
+DESCRIPTION="SNES (Super Nintendo) emulator that uses x86 assembly"
+HOMEPAGE="http://www.zsnes.com/ http://ipherswipsite.com/zsnes/"
+SRC_URI="mirror://sourceforge/zsnes/${PN}${PV//./}src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* amd64 x86 ~x86-fbsd"
+IUSE="ao custom-cflags opengl png"
+
+RDEPEND="media-libs/libsdl[lib32?]
+ >=sys-libs/zlib-1.2.3-r1[lib32?]
+ ao? ( media-libs/libao[lib32?] )
+ opengl? ( virtual/opengl[lib32?] )
+ png? ( media-libs/libpng[lib32?] )"
+DEPEND="${RDEPEND}
+ dev-lang/nasm
+ amd64? ( >=sys-apps/portage-2.1 )"
+
+S=${WORKDIR}/${PN}_${PV//./_}/src
+
+src_prepare() {
+ cd "${S}"
+
+ # Fixing compilation without libpng installed
+ epatch "${FILESDIR}"/${P}-libpng.patch
+ # Fix bug #186111
+ epatch "${FILESDIR}"/${P}-archopt-july-23-update.patch
+ epatch "${FILESDIR}"/${P}-gcc43.patch
+
+ # Remove hardcoded CFLAGS and LDFLAGS
+ sed -i \
+ -e '/^CFLAGS=.*local/s:-pipe.*:-Wall -I.":' \
+ -e '/^LDFLAGS=.*local/d' \
+ -e '/\w*CFLAGS=.*fomit/s:-O3.*$STRIP::' \
+ configure.in \
+ || die "sed failed"
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC
+ use amd64 && multilib_toolchain_setup x86
+ use custom-cflags || strip-flags
+
+ egamesconf \
+ $(use_enable ao libao) \
+ $(use_enable png libpng) \
+ $(use_enable opengl) \
+ --disable-debug \
+ --disable-cpucheck \
+ --enable-release \
+ force_arch=no \
+ || die
+ emake makefile.dep || die "emake makefile.dep failed"
+}
+
+src_install() {
+ dogamesbin zsnes || die "dogamesbin failed"
+ newman linux/zsnes.1 zsnes.6
+ dodoc ../docs/{readme.1st,*.txt,README.LINUX}
+ dodoc ../docs/readme.txt/*
+ dohtml -r ../docs/readme.htm/*
+ make_desktop_entry zsnes ZSNES
+ newicon icons/48x48x32.png ${PN}.png
+ prepgamesdirs
+}
diff --git a/games-emulation/zsnes/zsnes-1.51-r2.ebuild b/games-emulation/zsnes/zsnes-1.51-r2.ebuild
new file mode 100644
index 000000000..9abc4ad2b
--- /dev/null
+++ b/games-emulation/zsnes/zsnes-1.51-r2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/zsnes/zsnes-1.51-r2.ebuild,v 1.5 2009/03/31 13:23:07 darkside Exp $
+
+EAPI=2
+
+inherit eutils autotools flag-o-matic toolchain-funcs multilib games
+
+DESCRIPTION="SNES (Super Nintendo) emulator that uses x86 assembly"
+HOMEPAGE="http://www.zsnes.com/ http://ipherswipsite.com/zsnes/"
+SRC_URI="mirror://sourceforge/zsnes/${PN}${PV//./}src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* amd64 ~x86 ~x86-fbsd"
+IUSE="ao custom-cflags opengl png"
+
+RDEPEND="media-libs/libsdl[lib32?]
+ >=sys-libs/zlib-1.2.3-r1[lib32?]
+ ao? ( media-libs/libao[lib32?] )
+ opengl? ( virtual/opengl[lib32?] )
+ png? ( media-libs/libpng[lib32?] )"
+DEPEND="${RDEPEND}
+ dev-lang/nasm
+ amd64? ( >=sys-apps/portage-2.1 )"
+
+S=${WORKDIR}/${PN}_${PV//./_}/src
+
+src_prepare() {
+ cd "${S}"
+
+ # Fixing compilation without libpng installed
+ epatch "${FILESDIR}"/${P}-libpng.patch
+ # Fix bug #186111
+ epatch "${FILESDIR}"/${P}-archopt-july-23-update.patch
+ epatch "${FILESDIR}"/${P}-gcc43.patch
+ # Fix bug #214697
+ epatch "${FILESDIR}"/${P}-libao-thread.patch
+ # Fix bug #170108
+ epatch "${FILESDIR}"/${P}-depbuild.patch
+ # Fix bug #260247
+ epatch "${FILESDIR}"/${P}-CC-quotes.patch
+
+ # Remove hardcoded CFLAGS and LDFLAGS
+ sed -i \
+ -e '/^CFLAGS=.*local/s:-pipe.*:-Wall -I.":' \
+ -e '/^LDFLAGS=.*local/d' \
+ -e '/\w*CFLAGS=.*fomit/s:-O3.*$STRIP::' \
+ configure.in \
+ || die "sed failed"
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC
+ use amd64 && multilib_toolchain_setup x86
+ use custom-cflags || strip-flags
+
+ append-flags -U_FORTIFY_SOURCE #257963
+
+ egamesconf \
+ $(use_enable ao libao) \
+ $(use_enable png libpng) \
+ $(use_enable opengl) \
+ --disable-debug \
+ --disable-cpucheck \
+ --enable-release \
+ force_arch=no \
+ || die
+ emake makefile.dep || die "emake makefile.dep failed"
+}
+
+src_install() {
+ dogamesbin zsnes || die "dogamesbin failed"
+ newman linux/zsnes.1 zsnes.6
+ dodoc ../docs/{readme.1st,*.txt,README.LINUX}
+ dodoc ../docs/readme.txt/*
+ dohtml -r ../docs/readme.htm/*
+ make_desktop_entry zsnes ZSNES
+ newicon icons/48x48x32.png ${PN}.png
+ prepgamesdirs
+}