games/nevernoid: Added to 12.2 repository

This commit is contained in:
B. Watson 2010-05-12 23:29:28 +02:00 committed by Robby Workman
parent 301a421122
commit f9363563e6
7 changed files with 163 additions and 0 deletions

12
games/nevernoid/README Normal file
View File

@ -0,0 +1,12 @@
nevernoid - clone of the game "Arkanoid", with extra powerups.
Nevernoid is distributed as binary-only freeware; this SlackBuild
script simply packages the binary in a Slack-friendly way, including
a wrapper script to allow the game to work without being run from its
data directory.
Note: the fullscreen option is visible in the options menu, but it's
non-functional (author disabled it on purpose).
Note: the download site checks the HTTP referrer header, wget won't work
without some hackery. Easier to just use a browser.

View File

@ -0,0 +1,62 @@
#!/bin/sh
# Slackware build script for nevernoid
# Written by B. Watson (yalhcru@gmail.com)
PRGNAM=nevernoid
ARCHIVE="NeverNoid_v12_linux_x86.tar.gz"
VERSION=${VERSION:-1.2}
ARCH=i486 # which might be a lie! (we dunno how it was compiled)
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
# Binary-only package, so no CFLAGS here
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM
tar xvf $CWD/$ARCHIVE
cd $PRGNAM
chown -R root:root .
chmod -R a-s,u+w,go+r-w .
find . -type f -print0 | xargs -0 chmod 644
mkdir -p $PKG/usr/libexec $PKG/usr/games $PKG/usr/share/$PRGNAM
install -m0755 -o root -g root $PRGNAM $PKG/usr/libexec
cp -r fonts maps music sounds sprites $PKG/usr/share/$PRGNAM
# game expects to be run from within its data directory like a windows app,
# and expects to write highscore/settings data to the same place. Wrapper
# script allows system-wide installation with per-user data.
install -m0755 -o root -g root $CWD/$PRGNAM.wrapper $PKG/usr/games/$PRGNAM
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
sed 's/\r//g' readme.txt > $PKG/usr/doc/$PRGNAM-$VERSION/readme.txt
cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README_SBo.txt
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/usr/share/applications
cp $CWD/$PRGNAM.desktop $PKG/usr/share/applications
# Oddly, there's no win32 icon for this game...
# Don't laugh, I made this icon from a screenshot of the title screen
# in the gimp. Took about 10 minutes plus lots of cussing & head-scratching.
# If anyone who actually knows anything at all about graphic design would
# like to do a better icon, email me.
mkdir -p $PKG/usr/share/pixmaps
cp $CWD/$PRGNAM.png $PKG/usr/share/pixmaps
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz

View File

@ -0,0 +1,8 @@
[Desktop Entry]
Name=NeverNoid
Comment=Clone of the Arkanoid arcade game
Exec=nevernoid
Type=Application
Icon=nevernoid
GenericName=NeverNoid
Categories=Game;

View File

@ -0,0 +1,8 @@
PRGNAM="nevernoid"
VERSION="1.2"
HOMEPAGE="http://www.doubledev.com/nevernoid.html"
DOWNLOAD="http://www.sourcefiles.org/Games/Arcade/Block_Based/NeverNoid_v12_linux_x86.tar.gz"
MD5SUM="ce70344326b85c87907bba42e09c3f58"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"
APPROVED="rworkman"

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -0,0 +1,54 @@
#!/bin/sh
# Wrapper script for nevernoid to allow read-only shared data
# files, plus writable per-user highscore/settings in ~/nevernoid
# Author: B. Watson (yalhcru@gmail.com)
# How lame is this? The game opens the map files O_RDWR (read/write
# access), even though it never attempts to write to them! Also, it
# doesn't use fopen() to do this (I tried a LD_PRELOAD to fix it).
# Because it's closed-source, I can't fix it, and because of this silliness,
# the user directory needs to contain a *copy* of all the map files
# rather than just symlinks to them. Fortunately they're small files.
# A proper fix would involve either:
# - The original author fixing the source and recompiling, or
# - Someone well-versed in Linux-flavored 80x86 assembly to disassemble
# the code, find the offending O_RDWR byte, and replace with the value
# of O_RDONLY. This assumes that the call to open() is a separate call
# than the one that opens the highscores.dat/options.dat files for
# writing! This is complicated by the fact that the code was compiled
# with FreePascal instead of being written in the more familiar C...
GAME=nevernoid
USERDIR=~/.$GAME
BIN=/usr/libexec/$GAME
SHARE=/usr/share/$GAME
LINKDIRS="fonts music sounds sprites"
COPYDIRS="maps"
set -e
if [ ! -e $USERDIR ]; then
mkdir $USERDIR
echo "$0: Created $USERDIR/"
fi
cd $USERDIR
for dir in $LINKDIRS; do
if [ ! -e $dir ]; then
echo "$0: linking $SHARE/$dir/ to $USERDIR/$dir/"
ln -s $SHARE/$dir $dir
fi
done
for dir in $COPYDIRS; do
if [ ! -e $dir ]; then
echo "$0: copying $SHARE/$dir/ to $USERDIR/$dir/"
cp -r $SHARE/$dir $dir
fi
done
exec $BIN

View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
nevernoid: nevernoid (clone of the game "Arkanoid" with extra powerups)
nevernoid:
nevernoid: Nevernoid is distributed as binary-only freeware; this SlackBuild
nevernoid: script simply packages the binary in a Slack-friendly way.
nevernoid:
nevernoid:
nevernoid:
nevernoid:
nevernoid:
nevernoid:
nevernoid: