forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <[email protected]>
- Loading branch information
Showing
3 changed files
with
183 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST xscavenger-1.4.4.tgz 193346 BLAKE2B eb86b97fad8a9d261935579d298f43e7063fbd0624e8fd654c72b4130e98db38541d54c59938375c8d6df4b50193436f86826c49b8bafe123b4be5c80d3f75d8 SHA512 5f200912b9114ea0c09f0bfcc3f06be2e7c2e1700a744319081f5f3a22c8b93663477076af27837326acf9830af6f597cf8f8fb44562db7d00128321487841ec | ||
DIST xscavenger-1.4.5.tgz 192990 BLAKE2B 5df2ca8b7b331d9c17ef8f287a8967f4f95a8737660fb42e4f5012f00ab24698d555e3f76bd82f3ba7b55423244e9d0a4392ccce99c84bed6cf80dee15ab3bf6 SHA512 ebdde5c74409dc881503ee6eeecb7194218141c6e7c169c2febd1a4339625e1532a654fc1ac2ce7b3256e8a721f656dfb7bddc4394e0513a5130e3cc8795dfe7 |
130 changes: 130 additions & 0 deletions
130
games-arcade/xscavenger/files/xscavenger-1.4.5-misc-fixes.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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++; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# Copyright 1999-2021 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
inherit desktop flag-o-matic toolchain-funcs | ||
|
||
DESCRIPTION="Lode-Runner-like arcade game" | ||
HOMEPAGE="https://www.linuxmotors.com/linux/scavenger/index.html" | ||
SRC_URI="https://www.linuxmotors.com/linux/scavenger/downloads/${P}.tgz" | ||
|
||
LICENSE="GPL-2" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~x86" | ||
|
||
RDEPEND=" | ||
media-libs/alsa-lib | ||
x11-libs/libX11" | ||
DEPEND=" | ||
${RDEPEND} | ||
x11-base/xorg-proto" | ||
BDEPEND="virtual/pkgconfig" | ||
|
||
PATCHES=( | ||
"${FILESDIR}"/${P}-misc-fixes.patch | ||
) | ||
|
||
src_compile() { | ||
tc-export CC | ||
|
||
# skip using imake for simplicity | ||
local cppargs=( | ||
-DLIBNAME="'\"${EPREFIX}/usr/share/${PN}\"'" | ||
$($(tc-getPKG_CONFIG) --cflags alsa x11) | ||
) | ||
append-cppflags "${cppargs[@]}" | ||
|
||
LDLIBS="$($(tc-getPKG_CONFIG) --libs alsa x11)" \ | ||
emake -C src -E "scav: anim.o edit.o x.o sound.o" | ||
} | ||
|
||
src_install() { | ||
newbin src/scav scavenger | ||
doman src/scavenger.6 | ||
|
||
dodoc CREDITS DOC README TODO changelog | ||
|
||
insinto /usr/share/${PN} | ||
doins -r data/. | ||
|
||
make_desktop_entry scavenger XScavenger applications-games | ||
} |