summaryrefslogtreecommitdiff
path: root/games-arcade/xscavenger
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-06-29 10:15:54 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-06-29 10:15:54 +0100
commit9aa80713372911cec499b3adb2cd746790920916 (patch)
treeb8e99dc5dd60ac2094a27cc52f74aada8df38f05 /games-arcade/xscavenger
parentb4d43e8c611df4a8061b6f88d9e9f6b1e3c83903 (diff)
gentoo resync : 29.06.2021
Diffstat (limited to 'games-arcade/xscavenger')
-rw-r--r--games-arcade/xscavenger/Manifest3
-rw-r--r--games-arcade/xscavenger/files/xscavenger-1.4.5-misc-fixes.patch130
-rw-r--r--games-arcade/xscavenger/xscavenger-1.4.5.ebuild52
3 files changed, 185 insertions, 0 deletions
diff --git a/games-arcade/xscavenger/Manifest b/games-arcade/xscavenger/Manifest
index 32528c761b6a..fed63d8698c4 100644
--- a/games-arcade/xscavenger/Manifest
+++ b/games-arcade/xscavenger/Manifest
@@ -1,4 +1,7 @@
AUX 1.4.4-gentoo.patch 5528 BLAKE2B 9812d8fa63b449dc207804452566a2afe1360843a9866203f7c065c60eeb5bc13c42c80af0224d073ecdf65085c813d040551d5acf43f26381481c8d0dbc682f SHA512 105c3cf3cf2e02ca3350901716b268e35dbb414c5d5eb233b6fef897fab3f969ab8eec67cfc9080df75d9372a4955be7212bfc2cfe8efd592709a460a164e5bd
+AUX xscavenger-1.4.5-misc-fixes.patch 3559 BLAKE2B 80a0718ff21af3f9d9fc9b94848b89f257dcbd0ec67452f9e0c3edb6f0b980ada6005b98637658623afcda4ed8160b233c667c1b59d552868183041baf228926 SHA512 faa216eed0c8a247c0cb0f35885bc90a5f21379925ea27e1be985fbf076be9c24eed8ae912adc37310f75ef16daeadf0035bdf399966d0975918446cc5858343
DIST xscavenger-1.4.4.tgz 193346 BLAKE2B eb86b97fad8a9d261935579d298f43e7063fbd0624e8fd654c72b4130e98db38541d54c59938375c8d6df4b50193436f86826c49b8bafe123b4be5c80d3f75d8 SHA512 5f200912b9114ea0c09f0bfcc3f06be2e7c2e1700a744319081f5f3a22c8b93663477076af27837326acf9830af6f597cf8f8fb44562db7d00128321487841ec
+DIST xscavenger-1.4.5.tgz 192990 BLAKE2B 5df2ca8b7b331d9c17ef8f287a8967f4f95a8737660fb42e4f5012f00ab24698d555e3f76bd82f3ba7b55423244e9d0a4392ccce99c84bed6cf80dee15ab3bf6 SHA512 ebdde5c74409dc881503ee6eeecb7194218141c6e7c169c2febd1a4339625e1532a654fc1ac2ce7b3256e8a721f656dfb7bddc4394e0513a5130e3cc8795dfe7
EBUILD xscavenger-1.4.4-r2.ebuild 983 BLAKE2B 6cfad2cb4b77412a3f72e1db4fa5e422b6771fa8bb0c6707c10b9920cb611cfea47dc0f1442f12d2f8d4027d74e17e0da5d8bbf6d68e5c28c95142458ca6d364 SHA512 ffdc80b3163fc43f0e6380718a2bd0d0aa7e9ecc0597ff132526c86b21495227283463467bd303d98b5869dce1f777a9dd20e5d2ed56bf207beb5ef8f2852807
+EBUILD xscavenger-1.4.5.ebuild 1093 BLAKE2B cd5503298a74fa4921ddfee1b1c79fd7fa8e54f28ccd4fa829424c6557dc01619693836d25e7a0681f490700ac81cbb978f33e59d20fb09243e65ae4160df45a SHA512 aa72bc6c601af5cedf42c16675fe6011ef1ec788b899de185f6439fabf0dd99548b5d8da31695c36d7c62dd8b1d3755b196cadc56cade784513d6e55debd1892
MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118
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++;
+ }
diff --git a/games-arcade/xscavenger/xscavenger-1.4.5.ebuild b/games-arcade/xscavenger/xscavenger-1.4.5.ebuild
new file mode 100644
index 000000000000..bb62ad68f021
--- /dev/null
+++ b/games-arcade/xscavenger/xscavenger-1.4.5.ebuild
@@ -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
+}