aboutsummaryrefslogtreecommitdiff
path: root/games/nevernoid
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2010-05-12 23:29:28 +0200
committerRobby Workman <rworkman@slackbuilds.org>2010-05-12 23:29:28 +0200
commitf9363563e6d46c5ea5f8f8afa84ad94c0bc4cfb8 (patch)
treee33e7e5194f59d1d407acce22a555fb6ef889cf3 /games/nevernoid
parent301a421122f7569ffeb213c850b5218456cb2338 (diff)
games/nevernoid: Added to 12.2 repository
Diffstat (limited to 'games/nevernoid')
-rw-r--r--games/nevernoid/README12
-rw-r--r--games/nevernoid/nevernoid.SlackBuild62
-rw-r--r--games/nevernoid/nevernoid.desktop8
-rw-r--r--games/nevernoid/nevernoid.info8
-rw-r--r--games/nevernoid/nevernoid.pngbin0 -> 4511 bytes
-rw-r--r--games/nevernoid/nevernoid.wrapper54
-rw-r--r--games/nevernoid/slack-desc19
7 files changed, 163 insertions, 0 deletions
diff --git a/games/nevernoid/README b/games/nevernoid/README
new file mode 100644
index 000000000000..9eeecc4c1170
--- /dev/null
+++ b/games/nevernoid/README
@@ -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.
diff --git a/games/nevernoid/nevernoid.SlackBuild b/games/nevernoid/nevernoid.SlackBuild
new file mode 100644
index 000000000000..59c202593f1c
--- /dev/null
+++ b/games/nevernoid/nevernoid.SlackBuild
@@ -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
diff --git a/games/nevernoid/nevernoid.desktop b/games/nevernoid/nevernoid.desktop
new file mode 100644
index 000000000000..563f07725217
--- /dev/null
+++ b/games/nevernoid/nevernoid.desktop
@@ -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;
diff --git a/games/nevernoid/nevernoid.info b/games/nevernoid/nevernoid.info
new file mode 100644
index 000000000000..a127fc8f068e
--- /dev/null
+++ b/games/nevernoid/nevernoid.info
@@ -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"
diff --git a/games/nevernoid/nevernoid.png b/games/nevernoid/nevernoid.png
new file mode 100644
index 000000000000..4ee19200dd6d
--- /dev/null
+++ b/games/nevernoid/nevernoid.png
Binary files differ
diff --git a/games/nevernoid/nevernoid.wrapper b/games/nevernoid/nevernoid.wrapper
new file mode 100644
index 000000000000..ae850c92454a
--- /dev/null
+++ b/games/nevernoid/nevernoid.wrapper
@@ -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
diff --git a/games/nevernoid/slack-desc b/games/nevernoid/slack-desc
new file mode 100644
index 000000000000..dd482d0e00fe
--- /dev/null
+++ b/games/nevernoid/slack-desc
@@ -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: