diff options
author | Chris Gianelloni <wolf31o2@gentoo.org> | 2006-01-12 20:37:33 +0000 |
---|---|---|
committer | Chris Gianelloni <wolf31o2@gentoo.org> | 2006-01-12 20:37:33 +0000 |
commit | 6910f821c000649144a8087035f124b1b3fbb64b (patch) | |
tree | 90ad79017c22653396a01a06a3fa75b8238660af /games-arcade/koules | |
parent | Change gtkhtml dep prior to libgtkhmtl->gtkhtml (diff) | |
download | historical-6910f821c000649144a8087035f124b1b3fbb64b.tar.gz historical-6910f821c000649144a8087035f124b1b3fbb64b.tar.bz2 historical-6910f821c000649144a8087035f124b1b3fbb64b.zip |
Moved patch to mirrors.
Package-Manager: portage-2.1_pre3-r1
Diffstat (limited to 'games-arcade/koules')
-rw-r--r-- | games-arcade/koules/ChangeLog | 8 | ||||
-rw-r--r-- | games-arcade/koules/Manifest | 17 | ||||
-rw-r--r-- | games-arcade/koules/files/1.4-gcc3.patch | 924 | ||||
-rw-r--r-- | games-arcade/koules/files/digest-koules-1.4-r1 | 1 | ||||
-rw-r--r-- | games-arcade/koules/koules-1.4-r1.ebuild | 10 |
5 files changed, 16 insertions, 944 deletions
diff --git a/games-arcade/koules/ChangeLog b/games-arcade/koules/ChangeLog index 0e2266887a02..8fda1aa79211 100644 --- a/games-arcade/koules/ChangeLog +++ b/games-arcade/koules/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for games-arcade/koules -# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/games-arcade/koules/ChangeLog,v 1.7 2005/09/16 22:07:09 ciaranm Exp $ +# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/games-arcade/koules/ChangeLog,v 1.8 2006/01/12 20:37:33 wolf31o2 Exp $ + + 12 Jan 2006; Chris Gianelloni <wolf31o2@gentoo.org> -files/1.4-gcc3.patch, + koules-1.4-r1.ebuild: + Moved patch to mirrors. 16 Sep 2005; Ciaran McCreesh <ciaranm@gentoo.org> ChangeLog: Converted to UTF-8, fixed encoding screwups diff --git a/games-arcade/koules/Manifest b/games-arcade/koules/Manifest index 64a834f2aade..50a22741aa8f 100644 --- a/games-arcade/koules/Manifest +++ b/games-arcade/koules/Manifest @@ -1,15 +1,4 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -MD5 be2e16dbc3a05e4040dd3ed0a028319b koules-1.4-r1.ebuild 2515 +MD5 8af01d0f60c88e2970a73dd5d00039fd ChangeLog 1130 +MD5 c489ac998a0db9dabf547376a262719a files/digest-koules-1.4-r1 133 +MD5 e28585d8af9bb784f01f4d2606a0a746 koules-1.4-r1.ebuild 2613 MD5 f17b9b8fa07a38914fe1c03268f51678 metadata.xml 158 -MD5 f877b9b8479dc4fb61eba806862a829c ChangeLog 1001 -MD5 a1c0ffbf0eb8f220c9539214524f3275 files/digest-koules-1.4-r1 65 -MD5 ccc92d4ab7d61ca482d30192a5ee83ec files/1.4-gcc3.patch 24553 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.1 (GNU/Linux) - -iD8DBQFDK0JALLFUmVNQ7rkRAhxzAJ9dtwz2d/DU8zLISZAPE/fdQTF6mQCcC+0I -JEIHWsKm226uQy15QKlNeeI= -=FlCV ------END PGP SIGNATURE----- diff --git a/games-arcade/koules/files/1.4-gcc3.patch b/games-arcade/koules/files/1.4-gcc3.patch deleted file mode 100644 index e2830d94adba..000000000000 --- a/games-arcade/koules/files/1.4-gcc3.patch +++ /dev/null @@ -1,924 +0,0 @@ -diff -ur koules1.4/koules.sndsrv.linux.c koules1.4-gcc3/koules.sndsrv.linux.c ---- koules1.4/koules.sndsrv.linux.c 1998-03-04 19:59:19.000000000 +0100 -+++ koules1.4-gcc3/koules.sndsrv.linux.c 2003-04-23 01:15:16.000000000 +0200 -@@ -136,7 +136,7 @@ - Eventually I'll look at the koules signal handlers and - just trap this. - */ --int -+void - do_nothing (void) - { - fprintf (stderr, "koules.sndsrv: doing nothing, something is broken\n"); -diff -ur koules1.4/xlib/inlstring.h koules1.4-gcc3/xlib/inlstring.h ---- koules1.4/xlib/inlstring.h 1998-03-04 19:59:19.000000000 +0100 -+++ koules1.4-gcc3/xlib/inlstring.h 2003-04-23 00:53:56.000000000 +0200 -@@ -1,292 +1,348 @@ -- - /* Based on functions in linux/string.h */ - -- -+#ifndef INLSTRING_H -+#define INLSTRING_H -+#include <sys/types.h> /* for size_t */ - - #if !defined(__386__)||!defined(ASSEMBLY) - - #define __memcpy(dst,src,n) memcpy((dst),(src),(n)) --#define __memcpy_conventioanl(dst,src,n) memcpy((dst),(src),(n)) -+#define __memcpy_conventional(dst,src,n) memcpy((dst),(src),(n)) - #define __memcpyb(dst,src,n) memcpy((dst),(src),(n)) - #define __memsetb(dst,c,n) memset((dst),(c),(n)) --#define __memsetlong(dst,c,n) memset((dst),(c),(n)) - #define __memset(dst,c,n) memset((dst),(c),(n)) --#define __memset2(dst,c,n) memset((dst),(c),2*(n)) --#define __memset3(dst,c,n) memset((dst),(c),3*(n)) -+ -+static inline void *__memsetlong(void *s, long c, size_t count) { -+ long *p=s; -+ int i; -+ for(i=0;i<count;i++)*p++=c; -+ return s; -+} -+ -+static inline void *__memset2(void *s, short c, size_t count) { -+ short *p=s; -+ int i; -+ for(i=0;i<count;i++)*p++=c; -+ return s; -+} -+ -+static inline void *__memset3(void *s, short c, size_t count) { -+ unsigned char *p=s; -+ int i; -+ for(i=0;i<count;i++) { -+ *p++=c&0xff; -+ *p++=(c>>8)&0xff; -+ *p++=(c>>16)&0xff; -+ } -+ return s; -+} - - #else - --#include <linux/types.h> /* for size_t */ --static INLINE void * --__memcpy_conventional (void *to, const void *from, size_t n) -+static inline void * -+ __memcpy_conventional(void *to, const void *from, size_t n) - { -- __asm__ ("cld\n\t" -- "movl %%edi,%%ecx\n\t" -- "andl $1,%%ecx\n\t" -- "subl %%ecx,%%edx\n\t" -- "rep ; movsb\n\t" /* 16-bit align destination */ -- "movl %%edx,%%ecx\n\t" -- "shrl $2,%%ecx\n\t" -- "rep ; movsl\n\t" -- "testb $1,%%dl\n\t" -- "je 1f\n\t" -- "movsb\n" -- "1:\ttestb $2,%%dl\n\t" -- "je 2f\n\t" -- "movsw\n" -- "2:\n" --: : "d" (n), "D" ((long) to), "S" ((long) from) --: "cx", "dx", "di", "si"); -- return (to); -+ int dummy1; -+ long dummy2, dummy3; -+ __asm__ __volatile__("cld\n\t" -+ "cmpl $0,%%edx\n\t" -+ "jle 2f\n\t" -+ "movl %%edi,%%ecx\n\t" -+ "andl $1,%%ecx\n\t" -+ "subl %%ecx,%%edx\n\t" -+ "rep ; movsb\n\t" /* 16-bit align destination */ -+ "movl %%edx,%%ecx\n\t" -+ "shrl $2,%%ecx\n\t" -+ "jz 3f\n\t" -+ "rep ; movsl\n\t" -+ "3:\n\t" -+ "testb $1,%%dl\n\t" -+ "je 1f\n\t" -+ "movsb\n" -+ "1:\ttestb $2,%%dl\n\t" -+ "je 2f\n\t" -+ "movsw\n" -+ "2:\n" -+ : "=d"(dummy1), "=D"(dummy2), "=S"(dummy3) /* fake output */ -+ : "0"(n), "1"((long) to), "2"((long) from) -+ : "cx"/***rjr***, "dx", "di", "si"***/ -+ ); -+ return (to); - } - - --static INLINE void * --__memcpyb (void *to, const void *from, size_t n) -+static inline void * -+ __memcpyb(void *to, const void *from, size_t n) - { -- __asm__ ("cld\n\t" -- "rep ; movsb\n\t" --: : "c" (n), "D" ((long) to), "S" ((long) from) --: "cx", "di", "si"); -- return (to); -+ int dummy1; -+ long dummy2, dummy3; -+ __asm__ __volatile__("cld\n\t" -+ "rep ; movsb\n\t" -+ : "=c"(dummy1), "=D"(dummy2), "=S"(dummy3) /* fake output */ -+ : "0"(n), "1"((long) to), "2"((long) from) -+ /***rjr***: "cx", "di", "si"***/ -+ ); -+ return (to); - } - --static INLINE void * --__memsetb (void *s, char c, size_t count) -+static inline void * -+ __memsetb(void *s, char c, size_t count) - { -- __asm__ ("cld\n\t" -- "rep\n\t" -- "stosb" --: : "a" (c), "D" (s), "c" (count) --: "cx", "di"); -- return s; -+ __asm__("cld\n\t" -+ "rep\n\t" -+ "stosb" -+ : : "a"(c), "D"(s), "c"(count) -+ : "cx", "di"); -+ return s; - } - --static INLINE void * --__memsetlong (void *s, unsigned c, size_t count) -+static inline void * -+ __memsetlong(void *s, unsigned c, size_t count) - { -- __asm__ ("cld\n\t" -- "rep\n\t" -- "stosl" --: : "a" (c), "D" (s), "c" (count) --: "cx", "di"); -- return s; -+ long dummy1; -+ int dummy2; -+ __asm__ __volatile__("cld\n\t" -+ "rep\n\t" -+ "stosl" -+ : "=D"(dummy1), "=c"(dummy2) /* fake outputs */ -+ : "a"(c), "0"(s), "1"(count) -+ /***rjr***: "cx", "di"***/ -+ ); -+ return s; - } - --static INLINE void * --__memset (void *s, char c, size_t count) -+static inline void * -+ __memset(void *s, char c, size_t count) - { -- __asm__ ( -- "cld\n\t" -- "cmpl $12,%%edx\n\t" -- "jl 1f\n\t" /* if (count >= 12) */ -- -- "movzbl %%al,%%ax\n\t" -- "movl %%eax,%%ecx\n\t" -- "shll $8,%%ecx\n\t" /* c |= c << 8 */ -- "orl %%ecx,%%eax\n\t" -- "movl %%eax,%%ecx\n\t" -- "shll $16,%%ecx\n\t" /* c |= c << 16 */ -- "orl %%ecx,%%eax\n\t" -- -- "movl %%edx,%%ecx\n\t" -- "negl %%ecx\n\t" -- "andl $3,%%ecx\n\t" /* (-s % 4) */ -- "subl %%ecx,%%edx\n\t" /* count -= (-s % 4) */ -- "rep ; stosb\n\t" /* align to longword boundary */ -- -- "movl %%edx,%%ecx\n\t" -- "shrl $2,%%ecx\n\t" -- "rep ; stosl\n\t" /* fill longwords */ -- -- "andl $3,%%edx\n" /* fill last few bytes */ -- "1:\tmovl %%edx,%%ecx\n\t" /* <= 12 entry point */ -- "rep ; stosb\n\t" --: : "a" (c), "D" (s), "d" (count) --: "ax", "cx", "dx", "di"); -- return s; -+ int dummy1; -+ long dummy2; -+ int dummy3; -+ __asm__ __volatile__( -+ "cld\n\t" -+ "cmpl $12,%%edx\n\t" -+ "jl 1f\n\t" /* if (count >= 12) */ -+ -+ "movzbl %%al,%%ax\n\t" -+ "movl %%eax,%%ecx\n\t" -+ "shll $8,%%ecx\n\t" /* c |= c << 8 */ -+ "orl %%ecx,%%eax\n\t" -+ "movl %%eax,%%ecx\n\t" -+ "shll $16,%%ecx\n\t" /* c |= c << 16 */ -+ "orl %%ecx,%%eax\n\t" -+ -+ "movl %%edx,%%ecx\n\t" -+ "negl %%ecx\n\t" -+ "andl $3,%%ecx\n\t" /* (-s % 4) */ -+ "subl %%ecx,%%edx\n\t" /* count -= (-s % 4) */ -+ "rep ; stosb\n\t" /* align to longword boundary */ -+ -+ "movl %%edx,%%ecx\n\t" -+ "shrl $2,%%ecx\n\t" -+ "rep ; stosl\n\t" /* fill longwords */ -+ -+ "andl $3,%%edx\n" /* fill last few bytes */ -+ "1:\tmovl %%edx,%%ecx\n\t" /* <= 12 entry point */ -+ "rep ; stosb\n\t" -+ : "=a"(dummy1), "=D"(dummy2), "=d"(dummy3) /* fake outputs */ -+ : "0"(c), "1"(s), "2"(count) -+ : /***rjr***"ax",*/ "cx"/*, "dx", "di"*/ -+ ); -+ return s; - } - --static INLINE void * --__memset2 (void *s, short c, size_t count) -+static inline void * -+ __memset2(void *s, short c, size_t count) - /* count is in 16-bit pixels */ - /* s is assumed to be 16-bit aligned */ - { -- __asm__ ( -- "cld\n\t" -- "cmpl $12,%%edx\n\t" -- "jl 1f\n\t" /* if (count >= 12) */ -- -- "movzwl %%ax,%%eax\n\t" -- "movl %%eax,%%ecx\n\t" -- "shll $16,%%ecx\n\t" /* c |= c << 16 */ -- "orl %%ecx,%%eax\n\t" -- -- "movl %%edi,%%ecx\n\t" -- "andl $2,%%ecx\n\t" /* s & 2 */ -- "jz 2f\n\t" -- "decl %%edx\n\t" /* count -= 1 */ -- "stosw\n\t" /* align to longword boundary */ -- -- "2:\n\t" -- "movl %%edx,%%ecx\n\t" -- "shrl $1,%%ecx\n\t" -- "rep ; stosl\n\t" /* fill longwords */ -- -- "andl $1,%%edx\n" /* one 16-bit word left? */ -- "jz 3f\n\t" /* no, finished */ -- "1:\tmovl %%edx,%%ecx\n\t" /* <= 12 entry point */ -- "rep ; stosw\n\t" -- "3:\n\t" --: : "a" (c), "D" (s), "d" (count) --: "ax", "cx", "dx", "di"); -- return s; -+ int dummy1; -+ long dummy2; -+ int dummy3; -+ __asm__ __volatile__( -+ "cld\n\t" -+ "cmpl $12,%%edx\n\t" -+ "jl 1f\n\t" /* if (count >= 12) */ -+ -+ "movzwl %%ax,%%eax\n\t" -+ "movl %%eax,%%ecx\n\t" -+ "shll $16,%%ecx\n\t" /* c |= c << 16 */ -+ "orl %%ecx,%%eax\n\t" -+ -+ "movl %%edi,%%ecx\n\t" -+ "andl $2,%%ecx\n\t" /* s & 2 */ -+ "jz 2f\n\t" -+ "decl %%edx\n\t" /* count -= 1 */ -+ "movw %%ax,(%%edi)\n\t" /* align to longword boundary */ -+ "addl $2,%%edi\n\t" -+ -+ "2:\n\t" -+ "movl %%edx,%%ecx\n\t" -+ "shrl $1,%%ecx\n\t" -+ "rep ; stosl\n\t" /* fill longwords */ -+ -+ "andl $1,%%edx\n" /* one 16-bit word left? */ -+ "jz 3f\n\t" /* no, finished */ -+ "1:\tmovl %%edx,%%ecx\n\t" /* <= 12 entry point */ -+ "rep ; stosw\n\t" -+ "3:\n\t" -+ : "=a"(dummy1), "=D"(dummy2), "=d"(dummy3) /* fake outputs */ -+ : "0"(c), "1"(s), "2"(count) -+ : /***rjr***"ax",*/ "cx"/*, "dx", "di"*/ -+ ); -+ return s; - } - --static INLINE void * --__memset3 (void *s, int c, size_t count) -+static inline void * -+ __memset3(void *s, int c, size_t count) - /* count is in 24-bit pixels (3 bytes per pixel) */ - { -- __asm__ ( -- "cmpl $8,%%edx\n\t" -- /* "jmp 2f\n\t" *//* debug */ -- "jl 2f\n\t" -- -- "movl %%eax,%%ebx\n\t" /* eax = (low) BGR0 (high) */ -- "shll $24,%%ebx\n\t" /* ebx = 000B */ -- "orl %%ebx,%%eax\n\t" /* eax = BGRB */ -- -- "movl %%eax,%%ebx\n\t" -- "shrl $8,%%ebx\n\t" /* ebx = GRB0 */ -- "movl %%ebx,%%ecx\n\t" -- "shll $24,%%ecx\n\t" /* ecx = 000G */ -- "orl %%ecx,%%ebx\n\t" /* ebx = GRBG */ -- -- "movl %%eax,%%ecx\n\t" -- "shll $8,%%ecx\n\t" /* ecx = 0BGR */ -- "movb %%bh,%%cl\n\t" /* ecx = RBGR */ -- -- "cmpl $16,%%edx\n\t" -- "jl 1f\n\t" -- "jmp 5f\n\t" -- ".align 4,0x90\n\t" -- -- "5:\n\t" /* loop unrolling */ -- "movl %%eax,(%%edi)\n\t" /* write BGRB */ -- "movl %%ebx,4(%%edi)\n\t" /* write GRBG */ -- "movl %%ecx,8(%%edi)\n\t" /* write RBGR */ -- "movl %%eax,12(%%edi)\n\t" -- "movl %%ebx,16(%%edi)\n\t" -- "movl %%ecx,20(%%edi)\n\t" -- "movl %%eax,24(%%edi)\n\t" -- "movl %%ebx,28(%%edi)\n\t" -- "movl %%ecx,32(%%edi)\n\t" -- "movl %%eax,36(%%edi)\n\t" -- "subl $16,%%edx\n\t" /* blend end-of-loop instr. */ -- "movl %%ebx,40(%%edi)\n\t" -- "movl %%ecx,44(%%edi)\n\t" -- "addl $48,%%edi\n\t" -- "cmpl $16,%%edx\n\t" -- "jge 5b\n\t" -- "andl %%edx,%%edx\n\t" -- "jz 4f\n\t" /* finished */ -- "cmpl $4,%%edx\n\t" -- "jl 2f\n\t" /* less than 4 pixels left */ -- "jmp 1f\n\t" -- ".align 4,0x90\n\t" -- -- "1:\n\t" -- "movl %%eax,(%%edi)\n\t" /* write BGRB */ -- "movl %%ebx,4(%%edi)\n\t" /* write GRBG */ -- "movl %%ecx,8(%%edi)\n\t" /* write RBGR */ -- "addl $12,%%edi\n\t" -- "subl $4,%%edx\n\t" -- "cmpl $4,%%edx\n\t" -- "jge 1b\n\t" -- -- "2:\n\t" -- "cmpl $0,%%edx\n\t" /* none left? */ -- "jle 4f\n\t" /* finished */ -- -- "mov %%eax,%%ecx\n\t" -- "shrl $16,%%ecx\n\t" /* B in cl */ -- -- "3:\n\t" /* write last few pixels */ -- "movw %%ax,(%%edi)\n\t" /* write RG */ -- "movb %%cl,2(%%edi)\n\t" /* write B */ -- "addl $3,%%edi\n\t" -- "decl %%edx\n\t" -- "jnz 3b\n\t" -- -- "4:\n\t" --: : "a" (c), "D" (s), "d" (count) --: "ax", "bx", "cx", "dx", "di"); -- return s; -+ int dummy1; -+ long dummy2; -+ int dummy3; -+ __asm__ __volatile__( -+ "cmpl $8,%%edx\n\t" -+ /* "jmp 2f\n\t" *//* debug */ -+ "jl 2f\n\t" -+ -+ "movl %%eax,%%esi\n\t" /* esi = (low) BGR0 (high) */ -+ "shll $24,%%eax\n\t" /* eax = 000B */ -+ "orl %%eax,%%esi\n\t" /* esi = BGRB */ -+ -+ "movl %%esi,%%eax\n\t" -+ "shrl $8,%%eax\n\t" /* eax = GRB0 */ -+ "movl %%eax,%%ecx\n\t" -+ "shll $24,%%ecx\n\t" /* ecx = 000G */ -+ "orl %%ecx,%%eax\n\t" /* eax = GRBG */ -+ -+ "movl %%esi,%%ecx\n\t" -+ "shll $8,%%ecx\n\t" /* ecx = 0BGR */ -+ "movb %%ah,%%cl\n\t" /* ecx = RBGR */ -+ -+ "cmpl $16,%%edx\n\t" -+ "jl 1f\n\t" -+ "jmp 5f\n\t" -+ ".align 4,0x90\n\t" -+ -+ "5:\n\t" /* loop unrolling */ -+ "movl %%esi,(%%edi)\n\t" /* write BGRB */ -+ "movl %%eax,4(%%edi)\n\t" /* write GRBG */ -+ "movl %%ecx,8(%%edi)\n\t" /* write RBGR */ -+ "movl %%esi,12(%%edi)\n\t" -+ "movl %%eax,16(%%edi)\n\t" -+ "movl %%ecx,20(%%edi)\n\t" -+ "movl %%esi,24(%%edi)\n\t" -+ "movl %%eax,28(%%edi)\n\t" -+ "movl %%ecx,32(%%edi)\n\t" -+ "movl %%esi,36(%%edi)\n\t" -+ "subl $16,%%edx\n\t" /* blend end-of-loop instr. */ -+ "movl %%eax,40(%%edi)\n\t" -+ "movl %%ecx,44(%%edi)\n\t" -+ "addl $48,%%edi\n\t" -+ "cmpl $16,%%edx\n\t" -+ "jge 5b\n\t" -+ "andl %%edx,%%edx\n\t" -+ "jz 4f\n\t" /* finished */ -+ "cmpl $4,%%edx\n\t" -+ "jl 2f\n\t" /* less than 4 pixels left */ -+ "jmp 1f\n\t" -+ ".align 4,0x90\n\t" -+ -+ "1:\n\t" -+ "movl %%esi,(%%edi)\n\t" /* write BGRB */ -+ "movl %%eax,4(%%edi)\n\t" /* write GRBG */ -+ "movl %%ecx,8(%%edi)\n\t" /* write RBGR */ -+ "addl $12,%%edi\n\t" -+ "subl $4,%%edx\n\t" -+ "cmpl $4,%%edx\n\t" -+ "jge 1b\n\t" -+ -+ "2:\n\t" -+ "cmpl $0,%%edx\n\t" /* none left? */ -+ "jle 4f\n\t" /* finished */ -+ -+ "mov %%ecx,%%eax\n\t" -+ "shrl $8,%%ecx\n\t" /* R in cl */ -+ -+ "3:\n\t" /* write last few pixels */ -+ "movw %%cx,(%%edi)\n\t" /* write BG */ -+ "movb %%al,2(%%edi)\n\t" /* write R */ -+ "addl $3,%%edi\n\t" -+ "decl %%edx\n\t" -+ "jnz 3b\n\t" -+ -+ "4:\n\t" -+ : "=a"(dummy1), "=D"(dummy2), "=d"(dummy3) /* fake outputs */ -+ : "0"(c), "1"(s), "2"(count) -+ : /***rjr***"ax",*/ "cx", /*"dx",*/ "si"/*, "di"*/ -+ ); -+ return s; - } - --/* Functions defined in mem.S */ -- --extern memcpy4to3 (void *dest, void *src, int n); --extern memcpy32shift8 (void *dest, void *src, int n); -- - /* Functions for which arguments must be passed in %ebx, %edx, and %ecx. */ --extern __memcpyasm_regargs (); /* nu_bytes >= 3 */ --extern __memcpyasm_regargs_aligned (); /* nu_bytes >= 32 */ -+#if 0 /* Why declare 'em? Just confuses the compiler and can't be called from C -+ anyway */ -+extern __memcpyasm_regargs(); /* nu_bytes >= 3 */ -+extern __memcpyasm_regargs_aligned(); /* nu_bytes >= 32 */ -+#endif - - - /* Always 32-bit align destination, even for a small number of bytes. */ --static INLINE void * --__memcpy_aligndest (void *dest, const void *src, int n) -+static inline void * -+ __memcpy_aligndest(void *dest, const void *src, int n) - { -- __asm__ __volatile__ (" -- cmpl $3, %%ecx -- ja 1f -- call * __memcpy_jumptable (, %%ecx, 4) -- jmp 2f -- 1:call __memcpyasm_regargs -- " -- : -- :"b" (dest), "d" (src), "c" (n) -- :"ax", "0", "1", "2"); -+ __asm__ __volatile__("cmpl $3, %%ecx\n\t" -+ "ja 1f\n\t" -+ "call * __memcpy_jumptable (, %%ecx, 4)\n\t" -+ "jmp 2f\n\t" -+ "1:call __memcpyasm_regargs\n\t" -+ "2:": -+ :"S"(dest), "d"(src), "c"(n) -+ :"ax", "0", "1", "2"); -+ return dest; - } - - - /* Optimized version for 32-bit aligned destination. */ --static INLINE void * --__memcpy_destaligned (void *dest, const void *src, int n) -+static inline void * -+ __memcpy_destaligned(void *dest, const void *src, int n) - { -- __asm__ __volatile__ (" -- cmpl $32, %%ecx -- ja 1f -- call * __memcpy_jumptable (, %%ecx, 4) -- jmp 2f -- 1:call __memcpyasm_regargs_aligned -- 2: -- " -- : -- :"b" (dest), "d" (src), "c" (n) -- :"ax", "0", "1", "2"); -+ __asm__ __volatile__("cmpl $32, %%ecx\n\t" -+ "ja 1f\n\t" -+ "call * __memcpy_jumptable (, %%ecx, 4)\n\t" -+ "jmp 2f\n\t" -+ "1:call __memcpyasm_regargs_aligned\n\t" -+ "2:\n\t": -+ :"S"(dest), "d"(src), "c"(n) -+ :"ax", "0", "1", "2"); -+ return dest; - } - - --/* Balanced INLINE memcpy; 32-bit align destination if nu_bytes >= 20. */ --static INLINE void * --__memcpy_balanced (void *dest, const void *src, int n) -+/* Balanced inline memcpy; 32-bit align destination if nu_bytes >= 20. */ -+static inline void * -+ __memcpy_balanced(void *dest, const void *src, int n) - { -- __asm__ __volatile__ (" -- cmpl $19, %%ecx -- ja 1f -- call * __memcpy_jumptable (, %%ecx, 4) -- jmp 2f -- 1:call __memcpyasm_regargs -- 2: -- " -- : -- :"b" ((long) dest), "d" ((long) src), "c" ((long) n) -- :"ax", "bx", "cx", "dx"); -+ __asm__ __volatile__("cmpl $19, %%ecx\n\t" -+ "ja 1f\n\t" -+ "call * __memcpy_jumptable (, %%ecx, 4)\n\t" -+ "jmp 2f\n\t" -+ "1:call __memcpyasm_regargs\n\t" -+ "2:\n\t" -+ : -+ :"S"((long) dest), "d"((long) src), "c"((long) n) -+ :"ax", "0", "1", "2"); -+ return dest; - } - - - #define __memcpy __memcpy_conventional - - #endif -+ -+/* Functions defined in mem.S or mem.c */ -+ -+extern void __memcpy4to3(void *dest, void *src, int n); -+extern void __memcpy32shift8(void *dest, void *src, int n); -+ -+#endif -+ -diff -ur koules1.4/xlib/shmbitmap.c koules1.4-gcc3/xlib/shmbitmap.c ---- koules1.4/xlib/shmbitmap.c 1998-03-04 19:59:19.000000000 +0100 -+++ koules1.4-gcc3/xlib/shmbitmap.c 2003-04-23 01:11:02.000000000 +0200 -@@ -139,23 +139,37 @@ - count = *dp++; - /* __memcpy gives severe bug here */ - if (y >= ny) -+ { - if (x >= nx) -+ { - if (x + count > __clipx2 + 1) - { - if (x <= __clipx2) -- __memcpyb (vp, dp, __clipx2 - x + 1); -+ { -+ __memcpyb (vp, dp, __clipx2 - x + 1); -+ } - } - else -- __memcpyb (vp, dp, count); -+ { -+ __memcpyb (vp, dp, count); -+ } -+ } - else if (x + count > __clipx1) -+ { - if (x + count > __clipx2 + 1) -+ { - __memcpyb (vp + __clipx1 - x, - dp + __clipx1 - x, - __clipx2 - __clipx1 + 1); -+ } - else -+ { - __memcpy (vp + __clipx1 - x, - dp + __clipx1 - x, - count - __clipx1 + x); -+ } -+ } -+ } - x += count; - vp += count; - dp += count; -@@ -224,11 +238,7 @@ - - - /*following routines are ripped from vgagl library */ --/* We use the 32-bit to 64-bit multiply and 64-bit to 32-bit divide of the */ --/* 386 (which gcc doesn't know well enough) to efficiently perform integer */ --/* scaling without having to worry about overflows. */ - #define swap(x, y) { int temp = x; x = y; y = temp; } --#define setpixel (*(backscreen->ff.driver_setpixel_func)) - #undef __clipx2 - #define __clipx2 (MAPWIDTH-1) - #undef __clipx1 -@@ -237,23 +247,15 @@ - #define __clipy1 0 - #undef __clipy2 - #define __clipy2 (MAPHEIGHT+19) --#ifdef __i386__ -+ - static INLINE int --muldiv64 (int CONST m1, int CONST m2, int CONST d) -+muldiv64(int m1, int m2, int d) - { --/* int32 * int32 -> int64 / int32 -> int32 */ -- int result; -- __asm__ ( -- "imull %%edx\n\t" -- "idivl %3\n\t" --: "=a" (result) /* out */ --: "a" (m1), "d" (m2), "g" (d) /* in */ --: "ax", "dx" /* mod */ -- ); -- return result; -+ return (float) m1 * (float) m2 / ((float) d); - } - --#define INC_IF_NEG(y) \ -+#ifdef __i386__ -+#define INC_IF_NEG(y, result) \ - { \ - __asm__("btl $31,%1\n\t" \ - "adcl $0,%0" \ -@@ -264,20 +266,20 @@ - static INLINE int - gl_regioncode (CONST int x, CONST int y) - { -- int dx1, dx2, dy1, dy2; -- int result; -+ int dx1, dx2, dy1, dy2; -+ int result; - result = 0; - dy2 = __clipy2 - y; -- INC_IF_NEG (dy2); -+ INC_IF_NEG (dy2, result); - result <<= 1; - dy1 = y - __clipy1; -- INC_IF_NEG (dy1); -+ INC_IF_NEG (dy1, result); - result <<= 1; - dx2 = __clipx2 - x; -- INC_IF_NEG (dx2); -+ INC_IF_NEG (dx2, result); - result <<= 1; - dx1 = x - __clipx1; -- INC_IF_NEG (dx1); -+ INC_IF_NEG (dx1, result); - return result; - } - -@@ -287,7 +289,7 @@ - static INLINE int - gl_regioncode (CONST int x, CONST int y) - { -- int result = 0; -+ int result = 0; - if (x < 0) - result |= 1; - else if (x > __clipx2) -@@ -300,15 +302,44 @@ - } - #endif - --/* Partly based on vgalib by Tommy Frandsen */ --/* This would be a lot faster if setpixel was inlined */ -+#define line_loop_linear_a(m,i,u,v) \ -+ { \ -+ int d = ay - (ax >> 1); \ -+ if ((x = abs (dx))) \ -+ do { \ -+ i; \ -+ if (d m 0) { \ -+ vp v; \ -+ d -= ax; \ -+ } \ -+ vp u; \ -+ d += ay; \ -+ } while (--x); \ -+ } -+ -+#define line_loop_linear_b(m,i,u,v) \ -+ { \ -+ int d = ax - (ay >> 1); \ -+ if ((y = abs (dy))) \ -+ do { \ -+ i; \ -+ if (d m 0) { \ -+ vp u; \ -+ d -= ay; \ -+ } \ -+ vp v; \ -+ d += ax; \ -+ } while (--y); \ -+ } -+ -+/* Partly based on the work which was partly based on vgalib by Tommy Frandsen */ -+/* This is a lot faster now that setpixel is inlined */ - - void - Line (int x1, int y1, int x2, int y2, int c) - { -- int dx, dy, ax, ay, sx, sy, x, y; -- int syp; -- char *point; -+ int dx, dy, ax, ay, sx, sy, x, y; -+ unsigned char *vp = NULL; - if (!shm) - { - qLine (x1, y1, x2, y2, c); -@@ -319,8 +350,8 @@ - if (Clipping) - for (;;) - { -- int r1 = gl_regioncode (x1, y1); -- int r2 = gl_regioncode (x2, y2); -+ int r1 = gl_regioncode (x1, y1); -+ int r2 = gl_regioncode (x2, y2); - if (!(r1 | r2)) - break; /* completely inside */ - if (r1 & r2) -@@ -333,38 +364,22 @@ - } - if (r1 & 1) - { /* left */ --#ifdef __i386__ - y1 += muldiv64 (__clipx1 - x1, y2 - y1, x2 - x1); --#else -- y1 += (long) (__clipx1 - x1) * (long) (y2 - y1) / (long) (x2 - x1); --#endif - x1 = __clipx1; - } - else if (r1 & 2) - { /* right */ --#ifdef __i386__ - y1 += muldiv64 (__clipx2 - x1, y2 - y1, x2 - x1); --#else -- y1 += (long) (__clipx2 - x1) * (long) (y2 - y1) / (long) (x2 - x1); --#endif - x1 = __clipx2; - } - else if (r1 & 4) - { /* top */ --#ifdef __i386__ - x1 += muldiv64 (__clipy1 - y1, x2 - x1, y2 - y1); --#else -- x1 += (long) (__clipy1 - y1) * (long) (x2 - x1) / (long) (y2 - y1); --#endif - y1 = __clipy1; - } - else if (r1 & 8) - { /* bottom */ --#ifdef __i386__ - x1 += muldiv64 (__clipy2 - y1, x2 - x1, y2 - y1); --#else -- x1 += (long) (__clipy2 - y1) * (long) (x2 - x1) / (long) (y2 - y1); --#endif - y1 = __clipy2; - } - } -@@ -377,45 +392,66 @@ - x = x1; - y = y1; - -- point = VScreenToBuffer (backscreen) + x + y * MAPWIDTH; -+#define insert_pixel_1 *((unsigned char *) vp) = c; -+ -+ vp = VScreenToBuffer (backscreen) + y * MAPWIDTH + x; - if (ax > ay) - { -- int d = ay - (ax >> 1); -- syp = sy * MAPWIDTH; -- while (x != x2) -+ if(sx > 0) - { -- *point = c; -- if (d > 0 || (d == 0 && sx == 1)) -- { -- y += sy; -- point += syp; -- d -= ax; -- } -- x += sx; -- point += sx; -- d += ay; -+ line_loop_linear_a(>=,insert_pixel_1,++,+=MAPWIDTH*sy); -+ } -+ else -+ { -+ line_loop_linear_a(>,insert_pixel_1,--,+=MAPWIDTH*sy); - } - } - else - { -- int sy = (dy >= 0) ? 1 : -1; -- int d = ax - (ay >> 1); -- syp = sy * MAPWIDTH; -- while (y != y2) -+ if(sy > 0) -+ { -+ line_loop_linear_b(>=,insert_pixel_1,+=sx,+=MAPWIDTH); -+ } -+ else - { -- *(point) = c; -- if (d > 0 || (d == 0 && sy == 1)) -+ line_loop_linear_b(>,insert_pixel_1,+=sx,-=MAPWIDTH); -+ } -+ } -+ insert_pixel_1; -+ -+ if (!vp) -+ { -+ if (ax > ay) -+ { -+ int d = ay - (ax >> 1); -+ while (x != x2) - { -+ insert_pixel_1; -+ if (d > 0 || (d == 0 && sx == 1)) -+ { -+ y += sy; -+ d -= ax; -+ } - x += sx; -- point += sx; -- d -= ay; -+ d += ay; -+ } -+ } -+ else -+ { -+ int d = ax - (ay >> 1); -+ while (y != y2) -+ { -+ insert_pixel_1; -+ if (d > 0 || (d == 0 && sy == 1)) -+ { -+ x += sx; -+ d -= ay; -+ } -+ y += sy; -+ d += ax; - } -- y += sy; -- point += syp; -- d += ax; - } -+ insert_pixel_1; - } -- *(point) = c; -- point++; - } - #endif ---- koules1.4/Iconfig 2003-07-12 00:20:13.000000000 -0400 -+++ koules1.4-gcc3/Iconfig 2003-07-12 00:20:45.000000000 -0400 -@@ -36,7 +36,7 @@ - /* directories*/ - KOULESDIR =/usr/bin/X11 - SOUNDDIR =/usr/local/lib/koules --MANDIR =/usr/local/man/man6 -+MANDIR =/usr/share/man/man6 - - /*You need some extra libraryes for BSD sockets compatibility?*/ - /* TOP_INCLUDES = /* Sun users with GCC need this */ diff --git a/games-arcade/koules/files/digest-koules-1.4-r1 b/games-arcade/koules/files/digest-koules-1.4-r1 index 877a5f92c1f8..e29bd123155f 100644 --- a/games-arcade/koules/files/digest-koules-1.4-r1 +++ b/games-arcade/koules/files/digest-koules-1.4-r1 @@ -1 +1,2 @@ +MD5 b16677698a084e11e78324098b7a9e57 koules-1.4-gcc3.patch.bz2 5635 MD5 0a5ac9e57c8b72e9fc200bc98273235c koules1.4-src.tar.gz 315386 diff --git a/games-arcade/koules/koules-1.4-r1.ebuild b/games-arcade/koules/koules-1.4-r1.ebuild index e509ab936fa7..1f8bc967723d 100644 --- a/games-arcade/koules/koules-1.4-r1.ebuild +++ b/games-arcade/koules/koules-1.4-r1.ebuild @@ -1,12 +1,14 @@ -# Copyright 1999-2005 Gentoo Foundation +# Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/games-arcade/koules/koules-1.4-r1.ebuild,v 1.9 2005/08/11 23:57:04 tester Exp $ +# $Header: /var/cvsroot/gentoo-x86/games-arcade/koules/koules-1.4-r1.ebuild,v 1.10 2006/01/12 20:37:33 wolf31o2 Exp $ inherit eutils games DESCRIPTION="fast action arcade-style game w/sound and network support" HOMEPAGE="http://www.ucw.cz/~hubicka/koules/English/" -SRC_URI="http://www.ucw.cz/~hubicka/koules/packages/koules${PV}-src.tar.gz" +SRC_URI="http://www.ucw.cz/~hubicka/koules/packages/koules${PV}-src.tar.gz + mirror://gentoo/${P}-gcc3.patch.bz2 + http://dev.gentoo.org/~wolf31o2/sources/dump/${P}-gcc3.patch.bz2" LICENSE="GPL-2" SLOT="0" @@ -30,7 +32,7 @@ S="${WORKDIR}/${PN}${PV}" src_unpack() { unpack ${A} cd ${S} - epatch "${FILESDIR}/${PV}-gcc3.patch" + epatch "${S}/${P}-gcc3.patch" sed -i \ -e "/^KOULESDIR/s:=.*:=${GAMES_BINDIR}:" \ -e "/^SOUNDDIR/s:=.*:=${GAMES_DATADIR}/${PN}:" Iconfig \ |