diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2021-06-28 12:11:06 -0400 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2021-06-28 12:42:39 -0400 |
commit | 59d9c1824d3b9a3200d298db15bd82ddb1c42987 (patch) | |
tree | e77d13d508753cbfff90f17d916cca112eaf7abd /games-arcade/xscavenger/files | |
parent | games-arcade/vor: drop 0.5.7-r1 (diff) | |
download | gentoo-59d9c1824d3b9a3200d298db15bd82ddb1c42987.tar.gz gentoo-59d9c1824d3b9a3200d298db15bd82ddb1c42987.tar.bz2 gentoo-59d9c1824d3b9a3200d298db15bd82ddb1c42987.zip |
games-arcade/xscavenger: add 1.4.5, EAPI 7->8, remove imake
imake makes something that's very simple needlessly complicated,
use an implicit make rule instead (fixes bug #739120).
Updated old patch with references and more fixes (notably for
garbled sub-menu text when using gcc7+). Also support prefix, add
previously missing man page, and updated homepage.
This version notably uses ALSA over /dev/dsp.
Closes: https://bugs.gentoo.org/612812
Closes: https://bugs.gentoo.org/739120
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'games-arcade/xscavenger/files')
-rw-r--r-- | games-arcade/xscavenger/files/xscavenger-1.4.5-misc-fixes.patch | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/games-arcade/xscavenger/files/xscavenger-1.4.5-misc-fixes.patch b/games-arcade/xscavenger/files/xscavenger-1.4.5-misc-fixes.patch new file mode 100644 index 000000000000..be45c6c4083b --- /dev/null +++ b/games-arcade/xscavenger/files/xscavenger-1.4.5-misc-fixes.patch @@ -0,0 +1,130 @@ +* Missing return value (needed by clang) +* Implicit declarations (string.h and doall) +* Datafile loading broken on architectures where sizeof(long)>4 + https://bugs.debian.org/56139 +* Scavenger leaks file descriptors + https://bugs.debian.org/175128 +* Font mapping with clang or gcc-7+ + https://svnweb.freebsd.org/ports?view=revision&revision=444423 +--- a/src/edit.c ++++ b/src/edit.c +@@ -3,2 +3,3 @@ + #include <stdio.h> ++#include <string.h> + #include <unistd.h> +--- a/src/scav.c ++++ b/src/scav.c +@@ -246,7 +246,9 @@ + +- val1=myci()<<24L; +- val1|=myci()<<16L; +- val1|=myci()<<8; +- val1|=myci(); ++ int i,j; + ++ for (i=0; i<4; i++) { ++ j = myci(); ++ if (j==-1) return -1L; ++ val1 = (val1<<8) + j; ++ } + return val1; +@@ -404,6 +406,6 @@ + got=read(input,buff,8); +- if(got!=8) return -2; +- if (strncmp(buff,"SCAV",4)) return -3; ++ if(got!=8) {close(input);return -2;} ++ if (strncmp(buff,"SCAV",4)) {close(input);return -3;} + max=(buff[4]<<24) | (buff[5]<<16) | (buff[6]<<8) | buff[7]; +- if(num>=max) return 0; ++ if(num>=max) {close(input);return 0;} + lseek(input,(num+1)<<3,SEEK_SET); +@@ -413,3 +415,3 @@ + if(len>length) len=length; +- if(!offset || !len) return 0; ++ if(!offset || !len) {close(input);return 0;} + lseek(input,offset,SEEK_SET); +@@ -450,4 +452,4 @@ + got=read(input,buff,8); +- if(got!=8) return -2; +- if(strncmp(buff,"SCAV",4)) return -3; ++ if(got!=8) {close(input);return -2;} ++ if(strncmp(buff,"SCAV",4)) {close(input);return -3;} + output=creat(bakname,00600); +@@ -475,4 +477,4 @@ + headers[i+i]+=delta; +- if (write(output,"SCAV",4) != 4) return -200; +- if (!rlout(output,max)) return -200; ++ if (write(output,"SCAV",4) != 4) {close(input);close(output);return -200;} ++ if (!rlout(output,max)) {close(input);close(output);return -200;} + headers[num+num]=0; +@@ -480,3 +482,3 @@ + for(i=0;i<max+max;i++) +- if (!rlout(output,headers[i])) return -200; ++ if (!rlout(output,headers[i])) {close(input);close(output);return -200;} + +@@ -489,4 +491,4 @@ + got=count>1024 ? 1024 : count; +- if (read(input,copybuff,got) != got) return -200; +- if (write(output,copybuff,got) != got) return -200; ++ if (read(input,copybuff,got) != got) {close(input);close(output);return -200;} ++ if (write(output,copybuff,got) != got) {close(input);close(output);return -200;} + count-=got; +@@ -500,3 +502,3 @@ + if (!got) break; +- if (write (output, copybuff, got) != got) return -200; ++ if (write (output, copybuff, got) != got) {close(input);close(output);return -200;} + offset += got; +@@ -505,8 +507,8 @@ + { +- if (write (output, take, len) != len) return -200; ++ if (write (output, take, len) != len) {close(input);close(output);return -200;} + lseek (output, (num+1) << 3, SEEK_SET); +- if (!rlout (output, offset)) return -200; ++ if (!rlout (output, offset)) {close(input);close(output);return -200;} + } + close (input); +- if (fsync(output)) return -200; ++ if (fsync(output)) {close(output);return -200;} + if (close(output)) return -200; +@@ -1384,2 +1386,3 @@ + } ++ close(file); + } +@@ -1418,2 +1421,4 @@ + } while(len); ++ close(input); ++ close(output); + return 0; +@@ -1450,3 +1455,3 @@ + } +- } ++ } else close(file); + +@@ -1487,3 +1492,3 @@ + } +- } ++ } else close(file); + } +@@ -1574,3 +1579,3 @@ + puts(err); +- return; ++ return 1; + } +--- a/src/sound.c ++++ b/src/sound.c +@@ -50,2 +50,3 @@ + ++void doall(); + void opendsp(int samplerate) +@@ -201,3 +202,3 @@ + +-doall() ++void doall() + { +--- a/src/x.c ++++ b/src/x.c +@@ -447,3 +447,3 @@ + { +- fmap[tolower(*p)]=fmap[*p++]=i++; ++ fmap[tolower(*p)]=fmap[*p]=i++; p++; + } |