summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Tupone <tupone@gentoo.org>2006-05-02 21:53:46 +0000
committerAlfredo Tupone <tupone@gentoo.org>2006-05-02 21:53:46 +0000
commit01874206fd5b87b22b1fc464dcf43021cc088fd7 (patch)
tree1f7713f952a3d8ff6444feac301776c3cab6c121 /games-emulation
parentUpdate to 6.1_rc2. (diff)
downloadgentoo-2-01874206fd5b87b22b1fc464dcf43021cc088fd7.tar.gz
gentoo-2-01874206fd5b87b22b1fc464dcf43021cc088fd7.tar.bz2
gentoo-2-01874206fd5b87b22b1fc464dcf43021cc088fd7.zip
Fix for gcc-4.1
(Portage version: 2.1_pre10-r2)
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/pcsx2/ChangeLog6
-rw-r--r--games-emulation/pcsx2/files/digest-pcsx2-0.62
-rw-r--r--games-emulation/pcsx2/files/digest-pcsx2-0.8.12
-rw-r--r--games-emulation/pcsx2/files/pcsx2-0.8.1-gcc41.patch293
-rw-r--r--games-emulation/pcsx2/pcsx2-0.8.1.ebuild5
5 files changed, 305 insertions, 3 deletions
diff --git a/games-emulation/pcsx2/ChangeLog b/games-emulation/pcsx2/ChangeLog
index 6f75b200eb83..7e549c062bca 100644
--- a/games-emulation/pcsx2/ChangeLog
+++ b/games-emulation/pcsx2/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for games-emulation/pcsx2
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-emulation/pcsx2/ChangeLog,v 1.10 2006/02/11 19:55:21 wolf31o2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/pcsx2/ChangeLog,v 1.11 2006/05/02 21:53:46 tupone Exp $
+
+ 02 May 2006; <Tupone@gentoo.org> +files/pcsx2-0.8.1-gcc41.patch,
+ pcsx2-0.8.1.ebuild:
+ Fix for gcc-4.1
11 Feb 2006; Chris Gianelloni <wolf31o2@gentoo.org> pcsx2-0.6.ebuild,
pcsx2-0.8.1.ebuild:
diff --git a/games-emulation/pcsx2/files/digest-pcsx2-0.6 b/games-emulation/pcsx2/files/digest-pcsx2-0.6
index 50f033709722..3026d7fff353 100644
--- a/games-emulation/pcsx2/files/digest-pcsx2-0.6
+++ b/games-emulation/pcsx2/files/digest-pcsx2-0.6
@@ -1 +1,3 @@
MD5 f2c33ea25514a773f5b8fef301bce787 pcsx2_0.6src.zip 1207739
+RMD160 f4db133106cbe6d83899343c015ef35968b98e86 pcsx2_0.6src.zip 1207739
+SHA256 1a07aa7b00fade7f8f57dec9d631b5e3a2efe415a8c72c64ef8da6ea6db45217 pcsx2_0.6src.zip 1207739
diff --git a/games-emulation/pcsx2/files/digest-pcsx2-0.8.1 b/games-emulation/pcsx2/files/digest-pcsx2-0.8.1
index 71e02b96fe8b..f68cf4b730f8 100644
--- a/games-emulation/pcsx2/files/digest-pcsx2-0.8.1
+++ b/games-emulation/pcsx2/files/digest-pcsx2-0.8.1
@@ -1 +1,3 @@
MD5 25ce544329c34b520a664af5206f8e44 pcsx2-0.8.1src.7z 551500
+RMD160 b9241ad6c59a5e62ff556ac5935dec93dca77875 pcsx2-0.8.1src.7z 551500
+SHA256 473f6e278c51770260174026d5c26183dd3ae0083c905a9bedfc2c56321d99e1 pcsx2-0.8.1src.7z 551500
diff --git a/games-emulation/pcsx2/files/pcsx2-0.8.1-gcc41.patch b/games-emulation/pcsx2/files/pcsx2-0.8.1-gcc41.patch
new file mode 100644
index 000000000000..eba8cc72ce6a
--- /dev/null
+++ b/games-emulation/pcsx2/files/pcsx2-0.8.1-gcc41.patch
@@ -0,0 +1,293 @@
+--- FiFo.c.old 2006-05-02 22:31:47.000000000 +0200
++++ FiFo.c 2006-05-02 22:39:29.000000000 +0200
+@@ -61,6 +61,7 @@
+ void fifo_get3(struct fifo *fifo, void *value, u32 size, int type){
+ struct item * p;
+ register u32 q;
++ u8* u8Value;
+ if ( value == NULL ) return;
+
+ if(fifo->first->next == NULL) memset(value, 0, size);
+@@ -72,7 +73,8 @@
+ q = min(p->size - fifo->used, size);
+ memcpy(value,(u8*)p->data + fifo->used, q);
+ size -= q;
+- (u8*)value += q;
++ u8Value = (u8*)value + q;
++ value = u8Value;
+ if(type)
+ {
+ fifo->count -= q;
+@@ -94,6 +96,7 @@
+ void fifo_get(struct fifo *fifo, void *value, u32 size){
+ struct item *p;
+ register u32 q;
++ u8* u8Value;
+
+ if (value==NULL) return;
+
+@@ -107,7 +110,8 @@
+ fifo->used+=q;
+ fifo->count-=q;
+ size-=q;
+- (u8*)value+=q;
++ u8Value = (u8*)value + q;
++ value = u8Value;
+ if (fifo->used>=p->size){
+ fifo->used=0;
+ fifo->first->next=p->next;
+@@ -124,6 +128,7 @@
+ void fifo_get2(struct fifo *fifo, void *value, u32 size){
+ struct item *p;
+ register u32 q;
++ u8* u8Value;
+
+ if (value==NULL) return;
+
+@@ -135,7 +140,8 @@
+ q=min(p->size-fifo->used, size);
+ memcpy(value, (u8*)p->data+fifo->used, q);
+ size-=q;
+- (u8*)value+=q;
++ u8Value = (u8*)value + q;
++ value = u8Value;
+ p=fifo->first->next;
+ }
+ memset(value, 0, size);
+--- CDVDiso.c.old 2006-05-02 22:44:47.000000000 +0200
++++ CDVDiso.c 2006-05-02 23:29:19.000000000 +0200
+@@ -198,7 +198,7 @@
+ // case CdSecS2064:
+ ((u32*)buf)[0] = i + 0x30000;
+ memcpy((u8*)buf+12, buff, 2048);
+- (u8*)buf+= 2064; break;
++ buf+= 2064; break;
+ // default:
+ // return 0;
+ // }
+@@ -300,14 +300,13 @@
+ //CdSync(0x00);
+
+ // point the tocEntryPointer at the first real toc entry
+- (char*)tocEntryPointer = toc;
++ tocEntryPointer = (struct dirTocEntry *)toc;
+
+ num_dir_sectors = (tocEntryPointer->fileSize+2047) >> 11; //round up fix
+ current_sector = tocEntryPointer->fileLBA;
+
+- (char*)tocEntryPointer += tocEntryPointer->length;
+- (char*)tocEntryPointer += tocEntryPointer->length;
+-
++ tocEntryPointer = (struct dirTocEntry *)((char *)tocEntryPointer + tocEntryPointer->length);
++ tocEntryPointer = (struct dirTocEntry *)((char *)tocEntryPointer + tocEntryPointer->length);
+
+ localTocEntry.fileLBA = CDVolDesc.rootToc.tocLBA;
+ // while (there are more dir names in the path)
+@@ -360,7 +359,7 @@
+ }
+ // CdSync(0x00);
+
+- (char*)tocEntryPointer = toc;
++ tocEntryPointer = (struct dirTocEntry *)toc;
+ }
+ else
+ {
+@@ -385,7 +384,7 @@
+ }
+
+ // point to the next entry
+- (char*)tocEntryPointer += tocEntryPointer->length;
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
+ }
+
+ // If we havent found the directory name we wanted then fail
+@@ -410,23 +409,23 @@
+ current_sector = localTocEntry.fileLBA;
+
+ // and point the tocEntryPointer at the first real toc entry
+- (char*)tocEntryPointer = toc;
+- (char*)tocEntryPointer += tocEntryPointer->length;
+- (char*)tocEntryPointer += tocEntryPointer->length;
++ tocEntryPointer = (struct dirTocEntry *)toc;
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
+ }
+
+ #ifdef DEBUG
+ printf("CDVD_findfile: found dir, now looking for file\n");
+ #endif
+
+- (char*)tocEntryPointer = toc;
++ tocEntryPointer = (struct dirTocEntry *)toc;
+
+ num_dir_sectors = (tocEntryPointer->fileSize+2047) >> 11; //round up fix
+ dir_lba = tocEntryPointer->fileLBA;
+
+- (char*)tocEntryPointer = toc;
+- (char*)tocEntryPointer += tocEntryPointer->length;
+- (char*)tocEntryPointer += tocEntryPointer->length;
++ tocEntryPointer = (struct dirTocEntry *)toc;
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
+
+ while (num_dir_sectors > 0)
+ {
+@@ -455,7 +454,7 @@
+ return TRUE;
+ }
+
+- (char*)tocEntryPointer += tocEntryPointer->length;
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
+ }
+
+ num_dir_sectors--;
+@@ -470,7 +469,7 @@
+ }
+ // CdSync(0x00);
+
+- (char*)tocEntryPointer = toc;
++ tocEntryPointer = (struct dirTocEntry *) toc;
+ }
+ }
+
+@@ -521,13 +520,13 @@
+ //CdSync(0x00);
+
+ // point the tocEntryPointer at the first real toc entry
+- (char*)tocEntryPointer = toc;
++ tocEntryPointer = (struct dirTocEntry *)toc;
+
+ num_dir_sectors = (tocEntryPointer->fileSize+2047) >> 11;
+ current_sector = tocEntryPointer->fileLBA;
+
+- (char*)tocEntryPointer += tocEntryPointer->length;
+- (char*)tocEntryPointer += tocEntryPointer->length;
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
+
+ // use strtok to get the next dir name
+
+@@ -563,7 +562,7 @@
+ }
+ //CdSync(0x00);
+
+- (char*)tocEntryPointer = toc;
++ tocEntryPointer = (struct dirTocEntry *)toc;
+ }
+ else{
+ // Couldnt find the directory, and got to end of directory
+@@ -588,7 +587,7 @@
+ }
+
+ // point to the next entry
+- (char*)tocEntryPointer += tocEntryPointer->length;
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
+ }
+
+ // If we havent found the directory name we wanted then fail
+@@ -611,9 +610,9 @@
+ current_sector = localTocEntry.fileLBA;
+
+ // and point the tocEntryPointer at the first real toc entry
+- (char*)tocEntryPointer = toc;
+- (char*)tocEntryPointer += tocEntryPointer->length;
+- (char*)tocEntryPointer += tocEntryPointer->length;
++ tocEntryPointer = (struct dirTocEntry *)toc;
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
+ }
+
+ // We know how much data we need to read in from the DirTocHeader
+@@ -625,7 +624,7 @@
+ // This is a bit of a waste of reads since we're not actually copying the data out yet,
+ // but we dont know how big this TOC might be, so we cant allocate a specific size
+
+- (char*)tocEntryPointer = toc;
++ tocEntryPointer = (struct dirTocEntry *)toc;
+
+ // Need to STORE the start LBA and number of Sectors, for use by the retrieve func.
+ getDirTocData.start_LBA = localTocEntry.fileLBA;
+@@ -637,9 +636,9 @@
+
+ num_dir_sectors = getDirTocData.num_sectors;
+
+- (char*)tocEntryPointer = toc;
+- (char*)tocEntryPointer += tocEntryPointer->length;
+- (char*)tocEntryPointer += tocEntryPointer->length;
++ tocEntryPointer = (struct dirTocEntry *)toc;
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
+
+ toc_entry_num=0;
+
+@@ -661,7 +660,7 @@
+ }
+ //CdSync(0x00);
+
+- (char*)tocEntryPointer = toc;
++ tocEntryPointer = (struct dirTocEntry *)toc;
+
+ // continue;
+ }
+@@ -694,7 +693,7 @@
+ }
+ }
+
+- (char*)tocEntryPointer += tocEntryPointer->length;
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
+
+ }
+
+@@ -731,14 +730,14 @@
+
+ if (getDirTocData.current_entry == 0){
+ // if this is the first read then make sure we point to the first real entry
+- (char*)tocEntryPointer = toc;
+- (char*)tocEntryPointer += tocEntryPointer->length;
+- (char*)tocEntryPointer += tocEntryPointer->length;
++ tocEntryPointer = (struct dirTocEntry *)toc;
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
++ tocEntryPointer = (struct dirTocEntry *) ((char *)tocEntryPointer + tocEntryPointer->length);
+
+ getDirTocData.current_sector_offset = (char*)tocEntryPointer - toc;
+ }
+ else{
+- (char*)tocEntryPointer = toc + getDirTocData.current_sector_offset;
++ tocEntryPointer = (struct dirTocEntry *)(toc + getDirTocData.current_sector_offset);
+ }
+
+ if (req_entries > 128)
+@@ -763,7 +762,7 @@
+ //CdSync(0x00);
+
+ getDirTocData.current_sector_offset = 0;
+- (char*)tocEntryPointer = toc + getDirTocData.current_sector_offset;
++ tocEntryPointer = (struct dirTocEntry *)(toc + getDirTocData.current_sector_offset);
+
+ // continue;
+ }
+@@ -789,7 +788,7 @@
+ }
+
+ getDirTocData.current_sector_offset += tocEntryPointer->length;
+- (char*)tocEntryPointer = toc + getDirTocData.current_sector_offset;
++ tocEntryPointer = (struct dirTocEntry *)(toc + getDirTocData.current_sector_offset);
+ }
+ else{
+ if (strlen(getDirTocData.extension_list) > 0){
+@@ -799,13 +798,13 @@
+ }
+
+ getDirTocData.current_sector_offset += tocEntryPointer->length;
+- (char*)tocEntryPointer = toc + getDirTocData.current_sector_offset;
++ tocEntryPointer = (struct dirTocEntry *)(toc + getDirTocData.current_sector_offset);
+
+ }
+ else{
+ toc_entry_num++;
+ getDirTocData.current_sector_offset += tocEntryPointer->length;
+- (char*)tocEntryPointer = toc + getDirTocData.current_sector_offset;
++ tocEntryPointer = (struct dirTocEntry *)(toc + getDirTocData.current_sector_offset);
+ }
+ }
+ /*
diff --git a/games-emulation/pcsx2/pcsx2-0.8.1.ebuild b/games-emulation/pcsx2/pcsx2-0.8.1.ebuild
index f06c99e4fe4b..b9fc7aba6357 100644
--- a/games-emulation/pcsx2/pcsx2-0.8.1.ebuild
+++ b/games-emulation/pcsx2/pcsx2-0.8.1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/games-emulation/pcsx2/pcsx2-0.8.1.ebuild,v 1.6 2006/02/11 19:55:21 wolf31o2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/pcsx2/pcsx2-0.8.1.ebuild,v 1.7 2006/05/02 21:53:46 tupone Exp $
inherit eutils toolchain-funcs games
@@ -31,7 +31,8 @@ S=${WORKDIR}/${P}src
src_unpack() {
7z x "${DISTDIR}/${P}src.7z" || die "unpack failed"
cd "${S}"
- epatch "${FILESDIR}"/${P}-amd64.patch
+ epatch "${FILESDIR}"/${P}-amd64.patch \
+ "${FILESDIR}/${P}"-gcc41.patch
sed -i \
-e '/^CC/d' \
-e "/^CPU/s:=.*:=$(tc-arch-kernel):" \