diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /games-arcade/xscavenger | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'games-arcade/xscavenger')
-rw-r--r-- | games-arcade/xscavenger/Manifest | 4 | ||||
-rw-r--r-- | games-arcade/xscavenger/files/1.4.4-gentoo.patch | 200 | ||||
-rw-r--r-- | games-arcade/xscavenger/metadata.xml | 8 | ||||
-rw-r--r-- | games-arcade/xscavenger/xscavenger-1.4.4-r1.ebuild | 48 |
4 files changed, 260 insertions, 0 deletions
diff --git a/games-arcade/xscavenger/Manifest b/games-arcade/xscavenger/Manifest new file mode 100644 index 000000000000..07b8dfa819a5 --- /dev/null +++ b/games-arcade/xscavenger/Manifest @@ -0,0 +1,4 @@ +AUX 1.4.4-gentoo.patch 5762 BLAKE2B 626debb4f67b0c9b90a783887ae2601cf2750c7358ba03638176e0afe7f2b51fe1e450e6ad56dbdfadbfd4413a31e6014c22b46409afec5ea438546b12338b78 SHA512 95e5c803b4d60b110be44254d1ceb78ea4ba3c7c72d6d95d856616902160141975ee57ee40c4a8c785220d71821531a02d2b823cfa5dca2cbbdd6b8b9bb842a5 +DIST xscavenger-1.4.4.tgz 193346 BLAKE2B eb86b97fad8a9d261935579d298f43e7063fbd0624e8fd654c72b4130e98db38541d54c59938375c8d6df4b50193436f86826c49b8bafe123b4be5c80d3f75d8 SHA512 5f200912b9114ea0c09f0bfcc3f06be2e7c2e1700a744319081f5f3a22c8b93663477076af27837326acf9830af6f597cf8f8fb44562db7d00128321487841ec +EBUILD xscavenger-1.4.4-r1.ebuild 894 BLAKE2B 0eb536645b6e2fedd209d7236a87034c48e2f96857f20be25cfe708670f09f5d7baf7b5cb9239f5b9055443d08617e08c887f5ad60768617c897769a1e007fd6 SHA512 74ca79787d535b16b741ce5fa3c9a5856aabfc0e51b4ff9cdd3bf1be068a700ce263eee5fa497575986aeb19b9cf8ad1d22815742669db262c17c03857a89020 +MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 diff --git a/games-arcade/xscavenger/files/1.4.4-gentoo.patch b/games-arcade/xscavenger/files/1.4.4-gentoo.patch new file mode 100644 index 000000000000..df5936ed3de8 --- /dev/null +++ b/games-arcade/xscavenger/files/1.4.4-gentoo.patch @@ -0,0 +1,200 @@ +diff -urN xscavenger-1.4.4.orig/src/Imakefile xscavenger-1.4.4/src/Imakefile +--- xscavenger-1.4.4.orig/src/Imakefile ++++ xscavenger-1.4.4/src/Imakefile +@@ -1,20 +1,36 @@ + # set this to the path where data files should be stored. LIBDIR + # is automatically defined by imake, usually to /usr/X11R6/lib/X11, so + # this should be a good default. +-LIBNAME = $(LIBDIR)/scavenger ++LIBNAME = GENTOO_DATADIR/scavenger + + SRCS = anim.c edit.c scav.c x.c sound.c + OBJS = $(SRCS:.c=.o) + ++# the "subst" hack below is because imake uses the C preprocessor, which ++# will interpret an unquoted "/*" as a comment beginning. ++#LIB_DATA = $(subst S,/,..SdataS*) + LIB_DATA = \ +- ../data/badguy.lbm ../data/brownblue.lbm ../data/death.raw \ +- ../data/dig.raw ../data/fall.raw ../data/levels.scl \ +- ../data/microman.lbm ../data/pop.raw ../data/redbrick.lbm \ +- ../data/reddevil.lbm ../data/regularguy.lbm ../data/spiralthing.lbm \ ++ ../data/badguy.lbm \ ++ ../data/brownblue.lbm \ ++ ../data/death.raw \ ++ ../data/dig.raw \ ++ ../data/fall.raw \ ++ ../data/flashspiral.lbm \ ++ ../data/gems.lbm \ ++ ../data/jungle.lbm \ ++ ../data/levels.scl \ ++ ../data/microman.lbm \ ++ ../data/pop.raw \ ++ ../data/redbrick.lbm \ ++ ../data/reddevil.lbm \ ++ ../data/regularguy.lbm \ ++ ../data/spiralthing.lbm \ + ../data/victory.raw + + LOCAL_LIBRARIES = $(XLIB) + EXTRA_DEFINES = -DLIBNAME=\"$(LIBNAME)\" + +-ComplexProgramTarget(scavenger) ++AllTarget(scavenger) ++NormalProgramTarget(scavenger,$(OBJS),,,$(XLIB)) ++InstallProgram(scavenger,GENTOO_BINDIR) + InstallMultipleFlags($(LIB_DATA),$(LIBNAME),-m 644) +diff -urN xscavenger-1.4.4.orig/src/scav.c xscavenger-1.4.4/src/scav.c +--- xscavenger-1.4.4.orig/src/scav.c ++++ xscavenger-1.4.4/src/scav.c +@@ -240,15 +240,19 @@ + + + ++/* 14 Dec 2002: re-wrote to be more portable - don't assume two's-complement ++ * representation for integers, and fix bug when sizeof(long) > 4. ++ */ + long readlong() + { +-long val1=0; +- +- val1=myci()<<24L; +- val1|=myci()<<16L; +- val1|=myci()<<8; +- val1|=myci(); ++ long val1=0; ++ int i,j; + ++ for (i=0; i<4; i++) { ++ j = myci(); ++ if (j==-1) return -1L; ++ val1 = (val1<<8) + j; ++ } + return val1; + } + int rbs() +@@ -309,7 +313,7 @@ + bmw=bmh=byteswide=0; + while( (type=readlong()) ) + { +- if(type==0xffffffffL) break; ++ if(type==-1L) break; + size=readlong(); + if(size&1) size++; + if(type==BMHD) +@@ -402,16 +406,16 @@ + input=open(resourcename,O_RDONLY); + if(input<0) return -1; + 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); + got=read(input,buff,8); + offset=(buff[0]<<24) | (buff[1]<<16) | (buff[2]<<8) | buff[3]; + length=(buff[4]<<24) | (buff[5]<<16) | (buff[6]<<8) | buff[7]; + if(len>length) len=length; +- if(!offset || !len) return 0; ++ if(!offset || !len) {close(input);return 0;} + lseek(input,offset,SEEK_SET); + got=read(input,put,len); + close(input); +@@ -448,8 +452,8 @@ + input=open(resourcename,O_RDONLY); + if(input==-1) return -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); + if(output==-1) {close(input);return -6;} + +@@ -473,12 +477,12 @@ + for(i=0;i<max;i++) + if(headers[i+i]) + 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; + headers[num+num+1]=len; + 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;} + + if(offset) + { +@@ -487,8 +491,8 @@ + while(count) + { + 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; + } + lseek(input,length,SEEK_CUR); +@@ -498,17 +502,17 @@ + { + got=read(input, copybuff, 1024); + 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; + } + if(len) + { +- 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; + err=rename(bakname,resourcename); + if(err) return -1; +@@ -1382,6 +1386,7 @@ + break; + } + } ++ close(file); + } + + void remslash(char *str) +@@ -1416,6 +1421,8 @@ + return -3; + } + } while(len); ++ close(input); ++ close(output); + return 0; + } + +@@ -1448,7 +1455,7 @@ + printf("Failed to create directory %s, exiting\n",temp); + exit(1); + } +- } ++ } else close(file); + + sprintf(resourcename,"%s/%s/%s",localname,localdirname,LEVELSNAME); + file=open(resourcename,O_RDONLY); +@@ -1485,7 +1492,7 @@ + printf("Couldn't create %s\n",temp); + exit(1); + } +- } ++ } else close(file); + } + + void makercname(char *str) diff --git a/games-arcade/xscavenger/metadata.xml b/games-arcade/xscavenger/metadata.xml new file mode 100644 index 000000000000..78274e0fa550 --- /dev/null +++ b/games-arcade/xscavenger/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> +</maintainer> +</pkgmetadata> diff --git a/games-arcade/xscavenger/xscavenger-1.4.4-r1.ebuild b/games-arcade/xscavenger/xscavenger-1.4.4-r1.ebuild new file mode 100644 index 000000000000..6a578398112d --- /dev/null +++ b/games-arcade/xscavenger/xscavenger-1.4.4-r1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit desktop epatch toolchain-funcs + +DESCRIPTION="Lode-Runner-like arcade game" +HOMEPAGE="http://www.xdr.com/dash/scavenger.html" +SRC_URI="http://www.xdr.com/dash/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="x11-libs/libXext" +DEPEND="${RDEPEND} + x11-misc/imake +" + +S="${WORKDIR}/${P}/src" + +src_prepare() { + default + epatch "${FILESDIR}/${PV}-gentoo.patch" + sed -i \ + -e "s:GENTOO_DATADIR:/usr/share:" \ + -e "s:GENTOO_BINDIR:/usr/bin:" \ + Imakefile \ + || die +} + +src_configure() { + xmkmf || die +} + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + CDEBUGFLAGS="${CFLAGS}" \ + EXTRA_LDOPTIONS="${LDFLAGS}" +} + +src_install() { + emake DESTDIR="${D}" install + dodoc ../{CREDITS,DOC,README,TODO,changelog} + make_desktop_entry scavenger "XScavenger" +} |