diff options
author | 2006-05-02 21:53:46 +0000 | |
---|---|---|
committer | 2006-05-02 21:53:46 +0000 | |
commit | 01874206fd5b87b22b1fc464dcf43021cc088fd7 (patch) | |
tree | 1f7713f952a3d8ff6444feac301776c3cab6c121 /games-emulation | |
parent | Update to 6.1_rc2. (diff) | |
download | gentoo-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/ChangeLog | 6 | ||||
-rw-r--r-- | games-emulation/pcsx2/files/digest-pcsx2-0.6 | 2 | ||||
-rw-r--r-- | games-emulation/pcsx2/files/digest-pcsx2-0.8.1 | 2 | ||||
-rw-r--r-- | games-emulation/pcsx2/files/pcsx2-0.8.1-gcc41.patch | 293 | ||||
-rw-r--r-- | games-emulation/pcsx2/pcsx2-0.8.1.ebuild | 5 |
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):" \ |