summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /games-emulation/visualboyadvance
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'games-emulation/visualboyadvance')
-rw-r--r--games-emulation/visualboyadvance/Manifest2
-rw-r--r--games-emulation/visualboyadvance/files/1.7.2-gcc34.patch41
-rw-r--r--games-emulation/visualboyadvance/files/1.7.2-gcc41.patch27
-rw-r--r--games-emulation/visualboyadvance/files/1.7.2-homedir.patch11
-rw-r--r--games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-gcc47.patch32
-rw-r--r--games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-glibc2.10.patch76
-rw-r--r--games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-libpng15.patch11
-rw-r--r--games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-ovflfix.patch11
-rw-r--r--games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-sys-types.patch12
-rw-r--r--games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-uninit.patch13
-rw-r--r--games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-zlib-1.2.6.patch12
-rw-r--r--games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-zlib.patch145
-rw-r--r--games-emulation/visualboyadvance/metadata.xml8
-rw-r--r--games-emulation/visualboyadvance/visualboyadvance-1.7.2-r3.ebuild82
14 files changed, 483 insertions, 0 deletions
diff --git a/games-emulation/visualboyadvance/Manifest b/games-emulation/visualboyadvance/Manifest
new file mode 100644
index 000000000000..4eb10228933a
--- /dev/null
+++ b/games-emulation/visualboyadvance/Manifest
@@ -0,0 +1,2 @@
+DIST VisualBoyAdvance-src-1.7.2.tar.gz 1410762 SHA256 f4114f921a4fd4bf2ccfc68a46b9c5aa9c71cd94519fbe9ec0be992462e129b7 SHA512 58066cb438683c342c292c620cc87d9f2dff2b96849c46ff4c720146de5c7fb743588e42cd8de73e57866d4a191ccdadeab16da5e51da5a138199cc93ec4c932 WHIRLPOOL 05e8409f1d24022fc50ef44da462b6cc7866fa82b7de66c9cc68270912105e457a6ceeae7cb43476ae62a55c533a8e80c58d404d58cfb3b5e23b137f999c854b
+DIST visualboyadvance-1.7.2-deprecatedsigc++.patch.bz2 2892 SHA256 cf61ddf1e806d3c3152a7102414929d96614319a84481333a9fca7dc640dd74b SHA512 420df630d5472c1f1f84eb27741e059ca340300f82747f1c03cf8e6931f2cd6658df2e1e32ad5f3ac2bac4a9769e7aa48399463d4d080fc91b929e956b198ad0 WHIRLPOOL 7db1965baf94626fa0f2bb7627d9afefa6531782a4a43d9812edecb25b5f8b719ca740a6425ce574ff6d917ea8bc8f4e3d6ce35450d93b123f95c2588401d29a
diff --git a/games-emulation/visualboyadvance/files/1.7.2-gcc34.patch b/games-emulation/visualboyadvance/files/1.7.2-gcc34.patch
new file mode 100644
index 000000000000..5ce4802206af
--- /dev/null
+++ b/games-emulation/visualboyadvance/files/1.7.2-gcc34.patch
@@ -0,0 +1,41 @@
+diff -ur VisualBoyAdvance-1.7.2.orig/src/gtk/joypadconfig.h VisualBoyAdvance-1.7.2/src/gtk/joypadconfig.h
+--- VisualBoyAdvance-1.7.2.orig/src/gtk/joypadconfig.h 2004-05-10 16:43:21.000000000 +0200
++++ VisualBoyAdvance-1.7.2/src/gtk/joypadconfig.h 2004-08-12 22:30:20.838039064 +0200
+@@ -22,8 +22,8 @@
+
+ #include <vector>
+
+-#include <libglademm.h>
+ #include <gtkmm.h>
++#include <libglademm.h>
+
+ #ifndef GTKMM20
+ # include "sigccompat.h"
+diff -ur VisualBoyAdvance-1.7.2.orig/src/gtk/main.cpp VisualBoyAdvance-1.7.2/src/gtk/main.cpp
+--- VisualBoyAdvance-1.7.2.orig/src/gtk/main.cpp 2004-05-21 18:02:35.000000000 +0200
++++ VisualBoyAdvance-1.7.2/src/gtk/main.cpp 2004-08-12 22:39:08.633801912 +0200
+@@ -22,10 +22,10 @@
+
+ #include <list>
+
+-#include <libglademm.h>
+ #include <gtkmm/main.h>
+ #include <gtkmm/window.h>
+ #include <gtkmm/messagedialog.h>
++#include <libglademm.h>
+
+ #include "images/vba-wm-pixbufs.h"
+
+diff -ur VisualBoyAdvance-1.7.2.orig/src/gtk/window.h VisualBoyAdvance-1.7.2/src/gtk/window.h
+--- VisualBoyAdvance-1.7.2.orig/src/gtk/window.h 2004-05-21 15:25:41.000000000 +0200
++++ VisualBoyAdvance-1.7.2/src/gtk/window.h 2004-08-12 22:30:58.650290728 +0200
+@@ -23,8 +23,8 @@
+ #include <sys/types.h>
+ #include <stdarg.h>
+
+-#include <libglademm.h>
+ #include <gtkmm.h>
++#include <libglademm.h>
+
+ #ifndef GTKMM20
+ # include "sigccompat.h"
diff --git a/games-emulation/visualboyadvance/files/1.7.2-gcc41.patch b/games-emulation/visualboyadvance/files/1.7.2-gcc41.patch
new file mode 100644
index 000000000000..7f6cc077b24a
--- /dev/null
+++ b/games-emulation/visualboyadvance/files/1.7.2-gcc41.patch
@@ -0,0 +1,27 @@
+diff -ru /root/VisualBoyAdvance-1.7.2/src/prof/prof.cpp VisualBoyAdvance-1.7.2/src/prof/prof.cpp
+--- a/VisualBoyAdvance-1.7.2/src/prof/prof.cpp 2004-05-14 00:31:58.000000000 +1000
++++ b/VisualBoyAdvance-1.7.2/src/prof/prof.cpp 2006-06-03 13:49:41.000000000 +1000
+@@ -266,7 +266,7 @@
+ for (toindex=froms[fromindex]; toindex!=0; toindex=tos[toindex].link) {
+ if(profWrite8(fd, GMON_TAG_CG_ARC) ||
+ profWrite32(fd, (u32)frompc) ||
+- profWrite32(fd, (u32)tos[toindex].selfpc) ||
++ profWrite32(fd, (u32)(intptr_t)tos[toindex].selfpc) ||
+ profWrite32(fd, tos[toindex].count)) {
+ systemMessage(0, "mcount: arc");
+ fclose(fd);
+diff -ru /root/VisualBoyAdvance-1.7.2/src/sdl/debugger.cpp VisualBoyAdvance-1.7.2/src/sdl/debugger.cpp
+--- a/VisualBoyAdvance-1.7.2/src/sdl/debugger.cpp 2004-05-14 00:13:14.000000000 +1000
++++ b/VisualBoyAdvance-1.7.2/src/sdl/debugger.cpp 2006-06-03 13:49:57.000000000 +1000
+@@ -950,9 +950,9 @@
+ {
+ u32 address = 0;
+ if(mem >= (u32*)&workRAM[0] && mem <= (u32*)&workRAM[0x3ffff])
+- address = 0x2000000 + ((u32)mem - (u32)&workRAM[0]);
++ address = 0x2000000 + ((u32)(intptr_t)mem - (u32)(intptr_t)&workRAM[0]);
+ else
+- address = 0x3000000 + ((u32)mem - (u32)&internalRAM[0]);
++ address = 0x3000000 + ((u32)(intptr_t)mem - (u32)(intptr_t)&internalRAM[0]);
+
+ if(size == 2)
+ printf("Breakpoint (on write) address %08x old:%08x new:%08x\n",
diff --git a/games-emulation/visualboyadvance/files/1.7.2-homedir.patch b/games-emulation/visualboyadvance/files/1.7.2-homedir.patch
new file mode 100644
index 000000000000..e93d32cf54a5
--- /dev/null
+++ b/games-emulation/visualboyadvance/files/1.7.2-homedir.patch
@@ -0,0 +1,11 @@
+--- src/sdl/SDL.cpp.orig 2004-08-15 02:43:28.232750688 -0400
++++ src/sdl/SDL.cpp 2004-08-15 02:44:01.557684528 -0400
+@@ -887,7 +887,7 @@
+
+ if(home != NULL) {
+ fprintf(stderr, "Searching home directory: %s\n", home);
+- sprintf(path, "%s%c%s", home, FILE_SEP, name);
++ sprintf(path, "%s%c.%s%c%s", home, FILE_SEP, EXE_NAME, FILE_SEP, name);
+ f = fopen(path, "r");
+ if(f != NULL)
+ return f;
diff --git a/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-gcc47.patch b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-gcc47.patch
new file mode 100644
index 000000000000..816122f7f263
--- /dev/null
+++ b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-gcc47.patch
@@ -0,0 +1,32 @@
+--- src/sdl/debugger.cpp.old 2012-07-24 09:01:55.062533139 +0200
++++ src/sdl/debugger.cpp 2012-07-24 09:03:31.927731884 +0200
+@@ -1280,7 +1280,8 @@
+ if(n == 2) {
+ u32 addr = 0;
+ sscanf(args[1], "%x", &addr);
+- for(int i = 0; i < 16; i++) {
++ int i;
++ for(i = 0; i < 16; i++) {
+ int a = debuggerReadByte(addr);
+ int b = debuggerReadByte(addr+1);
+ int c = debuggerReadByte(addr+2);
+@@ -1316,7 +1317,8 @@
+ u32 addr = 0;
+ sscanf(args[1], "%x", &addr);
+ addr = addr & 0xfffffffe;
+- for(int i = 0; i < 16; i++) {
++ int i;
++ for(i = 0; i < 16; i++) {
+ int a = debuggerReadByte(addr);
+ int b = debuggerReadByte(addr+1);
+ int c = debuggerReadByte(addr+2);
+@@ -1352,7 +1354,8 @@
+ u32 addr = 0;
+ sscanf(args[1], "%x", &addr);
+ addr = addr & 0xfffffffc;
+- for(int i = 0; i < 16; i++) {
++ int i;
++ for(i = 0; i < 16; i++) {
+ int a = debuggerReadByte(addr);
+ int b = debuggerReadByte(addr+1);
+ int c = debuggerReadByte(addr+2);
diff --git a/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-glibc2.10.patch b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-glibc2.10.patch
new file mode 100644
index 000000000000..5211b362350e
--- /dev/null
+++ b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-glibc2.10.patch
@@ -0,0 +1,76 @@
+--- src/GBA.cpp
++++ src/GBA.cpp
+@@ -1130,7 +1130,7 @@
+ bool CPUIsZipFile(const char * file)
+ {
+ if(strlen(file) > 4) {
+- char * p = strrchr(file,'.');
++ const char * p = strrchr(file,'.');
+
+ if(p != NULL) {
+ if(_stricmp(p, ".zip") == 0)
+@@ -1145,7 +1145,7 @@
+ {
+ cpuIsMultiBoot = false;
+ if(strlen(file) > 4) {
+- char * p = strrchr(file,'.');
++ const char * p = strrchr(file,'.');
+
+ if(p != NULL) {
+ if(_stricmp(p, ".gba") == 0)
+@@ -1169,7 +1169,7 @@
+ bool CPUIsGBABios(const char * file)
+ {
+ if(strlen(file) > 4) {
+- char * p = strrchr(file,'.');
++ const char * p = strrchr(file,'.');
+
+ if(p != NULL) {
+ if(_stricmp(p, ".gba") == 0)
+@@ -1189,7 +1189,7 @@
+ bool CPUIsELF(const char *file)
+ {
+ if(strlen(file) > 4) {
+- char * p = strrchr(file,'.');
++ const char * p = strrchr(file,'.');
+
+ if(p != NULL) {
+ if(_stricmp(p, ".elf") == 0)
+--- src/Util.cpp
++++ src/Util.cpp
+@@ -478,7 +478,7 @@
+ {
+ cpuIsMultiBoot = false;
+ if(strlen(file) > 4) {
+- char * p = strrchr(file,'.');
++ const char * p = strrchr(file,'.');
+
+ if(p != NULL) {
+ if(_stricmp(p, ".gba") == 0)
+@@ -502,7 +502,7 @@
+ bool utilIsGBImage(const char * file)
+ {
+ if(strlen(file) > 4) {
+- char * p = strrchr(file,'.');
++ const char * p = strrchr(file,'.');
+
+ if(p != NULL) {
+ if(_stricmp(p, ".gb") == 0)
+@@ -522,7 +522,7 @@
+ bool utilIsZipFile(const char *file)
+ {
+ if(strlen(file) > 4) {
+- char * p = strrchr(file,'.');
++ const char * p = strrchr(file,'.');
+
+ if(p != NULL) {
+ if(_stricmp(p, ".zip") == 0)
+@@ -552,7 +552,7 @@
+ bool utilIsGzipFile(const char *file)
+ {
+ if(strlen(file) > 3) {
+- char * p = strrchr(file,'.');
++ const char * p = strrchr(file,'.');
+
+ if(p != NULL) {
+ if(_stricmp(p, ".gz") == 0)
diff --git a/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-libpng15.patch b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-libpng15.patch
new file mode 100644
index 000000000000..bee96dc7e5df
--- /dev/null
+++ b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-libpng15.patch
@@ -0,0 +1,11 @@
+--- src/Util.cpp
++++ src/Util.cpp
+@@ -79,7 +79,7 @@
+ return false;
+ }
+
+- if(setjmp(png_ptr->jmpbuf)) {
++ if(setjmp(png_jmpbuf(png_ptr))) {
+ png_destroy_write_struct(&png_ptr,NULL);
+ fclose(fp);
+ return false;
diff --git a/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-ovflfix.patch b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-ovflfix.patch
new file mode 100644
index 000000000000..e3a7d7bb5db5
--- /dev/null
+++ b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-ovflfix.patch
@@ -0,0 +1,11 @@
+--- src/sdl/debugger.cpp.old 2010-11-02 15:37:53.000000000 +0100
++++ src/sdl/debugger.cpp 2010-11-02 15:38:13.000000000 +0100
+@@ -1389,7 +1389,7 @@
+ {
+ char buffer[10];
+ printf("Are you sure you want to quit (y/n)? ");
+- fgets(buffer, 1024, stdin);
++ fgets(buffer, sizeof(buffer), stdin);
+
+ if(buffer[0] == 'y' || buffer[0] == 'Y') {
+ debugger = false;
diff --git a/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-sys-types.patch b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-sys-types.patch
new file mode 100644
index 000000000000..8f78d6e4fd78
--- /dev/null
+++ b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-sys-types.patch
@@ -0,0 +1,12 @@
+diff --git a/src/expr.cpp b/src/expr.cpp
+index 25c68f6..47237cb 100644
+--- a/src/expr.cpp
++++ b/src/expr.cpp
+@@ -19,6 +19,7 @@ namespace std {
+ #include <memory.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <sys/types.h>
+ }
+
+ using namespace std;
diff --git a/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-uninit.patch b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-uninit.patch
new file mode 100644
index 000000000000..5fabdf125874
--- /dev/null
+++ b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-uninit.patch
@@ -0,0 +1,13 @@
+diff -ru /root/VisualBoyAdvance-1.7.2/src/gtk/window.cpp VisualBoyAdvance-1.7.2/src/gtk/window.cpp
+--- a/VisualBoyAdvance-1.7.2/src/gtk/window.cpp 2004-05-14 00:31:58.000000000 +1000
++++ b/VisualBoyAdvance-1.7.2/src/gtk/window.cpp 2007-03-17 14:57:22.000000000 -0500
+@@ -91,7 +91,8 @@
+ m_iFilterIBMin (FirstFilterIB),
+ m_iFilterIBMax (LastFilterIB),
+ m_iJoypadMin (1),
+- m_iJoypadMax (4)
++ m_iJoypadMax (4),
++ m_poKeymap (NULL)
+ {
+ m_poXml = _poXml;
+ m_poFileOpenDialog = NULL;
diff --git a/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-zlib-1.2.6.patch b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-zlib-1.2.6.patch
new file mode 100644
index 000000000000..a24ddcba9a56
--- /dev/null
+++ b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-zlib-1.2.6.patch
@@ -0,0 +1,12 @@
+diff -ur VisualBoyAdvance-1.7.2.orig/src/Util.cpp VisualBoyAdvance-1.7.2/src/Util.cpp
+--- VisualBoyAdvance-1.7.2.orig/src/Util.cpp 2004-05-20 10:42:37.000000000 -0700
++++ VisualBoyAdvance-1.7.2/src/Util.cpp 2012-02-18 00:21:40.655194387 -0800
+@@ -984,7 +984,7 @@
+
+ gzFile utilGzOpen(const char *file, const char *mode)
+ {
+- utilGzWriteFunc = (int (*)(void *,void * const, unsigned int))gzwrite;
++ utilGzWriteFunc = (int (*)(gzFile, void * const, unsigned int))gzwrite;
+ utilGzReadFunc = gzread;
+ utilGzCloseFunc = gzclose;
+
diff --git a/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-zlib.patch b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-zlib.patch
new file mode 100644
index 000000000000..d397676c0779
--- /dev/null
+++ b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-zlib.patch
@@ -0,0 +1,145 @@
+--- src/gb/GB.cpp.old 2011-12-12 11:28:33.412463305 +0100
++++ src/gb/GB.cpp 2011-12-12 11:29:09.592463481 +0100
+@@ -29,7 +29,6 @@
+ #include "gbMemory.h"
+ #include "gbSGB.h"
+ #include "gbSound.h"
+-#include "../unzip.h"
+ #include "../Util.h"
+
+ #ifdef __GNUC__
+--- src/sdl/TestEmu.cpp.old 2011-12-12 11:49:42.802469335 +0100
++++ src/sdl/TestEmu.cpp 2011-12-12 11:49:57.682469414 +0100
+@@ -28,7 +28,7 @@
+ #include "GBA.h"
+ #include "debugger.h"
+ #include "Sound.h"
+-#include "unzip.h"
++#include <minizip/unzip.h>
+ #include "Util.h"
+ #include "gb/GB.h"
+ #include "gb/gbGlobals.h"
+--- ./src/sdl/SDL.cpp.old 2011-12-12 11:29:45.072463639 +0100
++++ ./src/sdl/SDL.cpp 2011-12-12 11:29:56.372463698 +0100
+@@ -34,7 +34,7 @@
+ #include "RTC.h"
+ #include "Sound.h"
+ #include "Text.h"
+-#include "unzip.h"
++#include <minizip/unzip.h>
+ #include "Util.h"
+ #include "gb/GB.h"
+ #include "gb/gbGlobals.h"
+--- ./src/System.h.old 2011-12-12 11:27:56.382463126 +0100
++++ ./src/System.h 2011-12-12 11:28:13.202463209 +0100
+@@ -20,7 +20,7 @@
+ #ifndef VBA_SYSTEM_H
+ #define VBA_SYSTEM_H
+
+-#include "unzip.h"
++#include <minizip/unzip.h>
+
+ #ifndef NULL
+ #define NULL 0
+--- src/memgzio.c.old 2011-12-12 11:37:12.912465774 +0100
++++ src/memgzio.c 2011-12-12 11:42:25.682467264 +0100
+@@ -66,13 +66,13 @@
+ } mem_stream;
+
+
+-local gzFile gz_open OF((char *memory, const int available, const char *mode));
+-local int do_flush OF((gzFile file, int flush));
+-local int get_byte OF((mem_stream *s));
+-local void check_header OF((mem_stream *s));
+-local int destroy OF((mem_stream *s));
+-local void putLong OF((MEMFILE *file, uLong x));
+-local uLong getLong OF((mem_stream *s));
++local gzFile gz_open _Z_OF((char *memory, const int available, const char *mode));
++local int do_flush _Z_OF((gzFile file, int flush));
++local int get_byte _Z_OF((mem_stream *s));
++local void check_header _Z_OF((mem_stream *s));
++local int destroy _Z_OF((mem_stream *s));
++local void putLong _Z_OF((MEMFILE *file, uLong x));
++local uLong getLong _Z_OF((mem_stream *s));
+
+ local MEMFILE *memOpen(char *memory, int available, char mode)
+ {
+--- src/GBA.cpp.old 2011-12-12 11:30:35.262463885 +0100
++++ src/GBA.cpp 2011-12-12 11:30:47.402463941 +0100
+@@ -31,7 +31,7 @@
+ #include "Sound.h"
+ #include "Sram.h"
+ #include "bios.h"
+-#include "unzip.h"
++#include <minizip/unzip.h>
+ #include "Cheats.h"
+ #include "NLS.h"
+ #include "elf.h"
+--- win32/include/zlib/zutil.h.old 2011-12-12 11:35:21.282465241 +0100
++++ win32/include/zlib/zutil.h 2011-12-12 12:00:51.712472515 +0100
+@@ -207,10 +207,10 @@
+ #endif
+
+
+-typedef uLong (ZEXPORT *check_func) OF((uLong check, const Bytef *buf,
++typedef uLong (ZEXPORT *check_func) _Z_OF((uLong check, const Bytef *buf,
+ uInt len));
+-voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
+-void zcfree OF((voidpf opaque, voidpf ptr));
++voidpf zcalloc _Z_OF((voidpf opaque, unsigned items, unsigned size));
++void zcfree _Z_OF((voidpf opaque, voidpf ptr));
+
+ #define ZALLOC(strm, items, size) \
+ (*((strm)->zalloc))((strm)->opaque, (items), (size))
+--- src/sdl/Makefile.am.old 2011-12-12 12:09:53.442475093 +0100
++++ src/sdl/Makefile.am 2011-12-12 12:10:31.582475274 +0100
+@@ -71,11 +71,9 @@
+ ../remote.cpp \
+ ../scanline.cpp \
+ ../simple2x.cpp \
+- ../thumb.h \
+- ../unzip.cpp \
+- ../unzip.h
++ ../thumb.h
+
+-VisualBoyAdvance_LDADD = @VBA_LIBS@ @SDL_LIBS@
++VisualBoyAdvance_LDADD = @VBA_LIBS@ @SDL_LIBS@ -lminizip
+
+ VisualBoyAdvance_DEPENDENCIES = @VBA_LIBS@
+
+@@ -143,11 +141,9 @@
+ ../remote.cpp \
+ ../scanline.cpp \
+ ../simple2x.cpp \
+- ../thumb.h \
+- ../unzip.cpp \
+- ../unzip.h
++ ../thumb.h
+
+-TestEmu_LDADD = @VBA_LIBS@ @SDL_LIBS@
++TestEmu_LDADD = @VBA_LIBS@ @SDL_LIBS@ -lminizip
+
+ TestEmu_DEPENDENCIES = @VBA_LIBS@
+
+--- src/gtk/Makefile.am.old 2011-12-12 12:13:42.552476181 +0100
++++ src/gtk/Makefile.am 2011-12-12 12:14:20.272476359 +0100
+@@ -26,7 +26,7 @@
+ window.cpp \
+ window.h
+
+-gvba_LDADD = libgba.a @VBA_LIBS@ @GTKMM_LIBS@ @LIBINTL@ @SDL_LIBS@
++gvba_LDADD = libgba.a @VBA_LIBS@ @GTKMM_LIBS@ @LIBINTL@ @SDL_LIBS@ -lminizip
+
+ gvba_DEPENDENCIES = libgba.a @VBA_LIBS@
+
+@@ -99,9 +99,7 @@
+ ../remote.cpp \
+ ../scanline.cpp \
+ ../simple2x.cpp \
+- ../thumb.h \
+- ../unzip.cpp \
+- ../unzip.h
++ ../thumb.h
+
+ libgba_a_CPPFLAGS = -DSDL
+
diff --git a/games-emulation/visualboyadvance/metadata.xml b/games-emulation/visualboyadvance/metadata.xml
new file mode 100644
index 000000000000..19b8e6d515c1
--- /dev/null
+++ b/games-emulation/visualboyadvance/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">vba</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/visualboyadvance/visualboyadvance-1.7.2-r3.ebuild b/games-emulation/visualboyadvance/visualboyadvance-1.7.2-r3.ebuild
new file mode 100644
index 000000000000..736a1e74c6b5
--- /dev/null
+++ b/games-emulation/visualboyadvance/visualboyadvance-1.7.2-r3.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic autotools games
+
+DESCRIPTION="gameboy, gameboy color, and gameboy advance emulator"
+HOMEPAGE="http://vba.ngemu.com/"
+SRC_URI="mirror://sourceforge/vba/VisualBoyAdvance-src-${PV}.tar.gz
+ mirror://gentoo/${P}-deprecatedsigc++.patch.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~x86-fbsd"
+IUSE="gtk cpu_flags_x86_mmx nls"
+
+RDEPEND="media-libs/libpng:0
+ media-libs/libsdl[sound,video]
+ sys-libs/zlib[minizip]
+ gtk? (
+ >=x11-libs/gtk+-2.4:2
+ >=dev-cpp/gtkmm-2.4:2.4
+ >=dev-cpp/libglademm-2.4:2.4
+ )
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ cpu_flags_x86_mmx? ( dev-lang/nasm )
+ nls? ( sys-devel/gettext )"
+
+S=${WORKDIR}/VisualBoyAdvance-${PV}
+
+src_prepare() {
+ cat >> src/i386/2xSaImmx.asm <<-EOF
+ %ifidn __OUTPUT_FORMAT__,elf
+ section .note.GNU-stack noalloc noexec nowrite progbits
+ %endif
+ EOF
+
+ epatch \
+ "${FILESDIR}"/${PV}-homedir.patch \
+ "${FILESDIR}"/${PV}-gcc34.patch \
+ "${FILESDIR}"/${PV}-gcc41.patch \
+ "${FILESDIR}"/${P}-gcc47.patch \
+ "${WORKDIR}"/${P}-deprecatedsigc++.patch \
+ "${FILESDIR}"/${P}-uninit.patch \
+ "${FILESDIR}"/${P}-glibc2.10.patch \
+ "${FILESDIR}"/${P}-ovflfix.patch \
+ "${FILESDIR}"/${P}-libpng15.patch \
+ "${FILESDIR}"/${P}-zlib.patch \
+ "${FILESDIR}"/${P}-zlib-1.2.6.patch \
+ "${FILESDIR}"/${P}-sys-types.patch
+
+ mv configure.in configure.ac || die
+ eautoreconf
+
+ sed -i \
+ -e 's:$(localedir):/usr/share/locale:' \
+ -e 's:$(datadir)/locale:/usr/share/locale:' \
+ $(find . -name 'Makefile.in*') || die
+}
+
+src_configure() {
+ # -O3 causes GCC to behave badly and hog memory, bug #64670.
+ replace-flags -O3 -O2
+
+ # Removed --enable-c-core as it *should* determine this based on arch
+ egamesconf \
+ $(use_with cpu_flags_x86_mmx mmx) \
+ $(use_enable gtk gtk 2.4) \
+ $(use_enable nls)
+}
+
+src_install() {
+ default
+ if use gtk ; then
+ newicon src/gtk/images/vba-64.png ${PN}.png
+ make_desktop_entry gvba VisualBoyAdvance
+ fi
+ prepgamesdirs
+}