aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/trackballs/README23
-rw-r--r--games/trackballs/doinst.sh4
-rw-r--r--games/trackballs/slack-desc19
-rw-r--r--games/trackballs/trackballs.SlackBuild127
-rw-r--r--games/trackballs/trackballs.desktop8
-rw-r--r--games/trackballs/trackballs.info10
6 files changed, 191 insertions, 0 deletions
diff --git a/games/trackballs/README b/games/trackballs/README
new file mode 100644
index 0000000000000..8eb3de525f511
--- /dev/null
+++ b/games/trackballs/README
@@ -0,0 +1,23 @@
+Trackballs is a marble game inspired by the 80s Atari classic Marble
+Madness.
+
+By steering a marble ball through a labyrinth filled with sharp objecs,
+pools of acid, and other obstacles the player collects points. When
+the destination is reached you continue on to the next, more difficult
+level. - unless the time runs out.
+
+This Slackware package can include the music and/or extra levels available
+at the trackballs home page: http://trackballs.sourceforge.net
+
+To add the music, download the file "trackballs-music-1.4.tar.bz2"
+and save it in the same directory as the SlackBuild script. If using
+a newer version of the music than 1.4, set MUSICVER in the environment
+before running trackballs.SlackBuild.
+
+To add extra levels, download the level collections you want and place
+them in the levels/ subdirectory before running trackballs.SlackBuild. The
+script can handle levels in tar or zip format. Note that some of the
+add-on levels offered on the web site are now included with the game
+source (specificallly, "Box O' Fun", "Child of Tales", and "Castles"
+are part of the main game now, and don't need to be added). Also note
+that the "Six Levels" pack doesn't work with this version of the game.
diff --git a/games/trackballs/doinst.sh b/games/trackballs/doinst.sh
new file mode 100644
index 0000000000000..4e8ba7071dea7
--- /dev/null
+++ b/games/trackballs/doinst.sh
@@ -0,0 +1,4 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/games/trackballs/slack-desc b/games/trackballs/slack-desc
new file mode 100644
index 0000000000000..55a105082f3c5
--- /dev/null
+++ b/games/trackballs/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------------------------------------------------------|
+trackballs: trackballs (marble game)
+trackballs:
+trackballs: Trackballs is a marble game inspired by the 80's Atari classic
+trackballs: Marble Madness.
+trackballs:
+trackballs: By steering a marble ball through a labyrinth filled with sharp
+trackballs: objects, pools of acid, and other obstacles the player collects
+trackballs: points. When the destination is reached you continue on to the
+trackballs: next, more difficult level. - unless the time runs out.
+trackballs:
+trackballs:
diff --git a/games/trackballs/trackballs.SlackBuild b/games/trackballs/trackballs.SlackBuild
new file mode 100644
index 0000000000000..82f4b0ee185f6
--- /dev/null
+++ b/games/trackballs/trackballs.SlackBuild
@@ -0,0 +1,127 @@
+#!/bin/sh
+
+# Slackware build script for trackballs
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+PRGNAM=trackballs
+VERSION=${VERSION:-1.1.2}
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+MUSICVER=${MUSICVER:-1.4}
+MUSICEXT=${MUSICEXT:-bz2}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux
+
+make
+make install-strip DESTDIR=$PKG
+
+gzip $PKG/usr/man/man6/$PRGNAM.6
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ README README.html AUTHORS COPYING ChangeLog FAQ TODO *.jpg \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/usr/share/applications
+cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
+
+mkdir -p $PKG/usr/share/pixmaps
+cat share/icons/$PRGNAM-64x64.png > $PKG/usr/share/pixmaps/$PRGNAM.png
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+# Include the music, if we find the music tarball
+MUSICFILE=$CWD/$PRGNAM-music-${MUSICVER}.tar.${MUSICEXT}
+if [ -e "$MUSICFILE" ]; then
+ tar xvf "$MUSICFILE"
+ chown root:root $PRGNAM-music/*.ogg
+ chmod 0644 $PRGNAM-music/*.ogg
+ cp -a $PRGNAM-music/*.ogg $PKG/usr/share/$PRGNAM/music
+ cat $PRGNAM-music/README > $PKG/usr/doc/$PRGNAM-$VERSION/README.music
+fi
+
+# Include extra levels, if we find any. This is more complex than it
+# should need to be, but some of the level archives create a top-level
+# directory and some don't...
+levels_included=""
+if [ -e $CWD/levels/ ]; then
+ for file in $CWD/levels/*; do
+ found=0
+ rm -rf tmplevels
+ mkdir -p tmplevels
+
+ case "$file" in
+ *.tar.gz|*.tar.bz2)
+ tar xvfzC "$file" tmplevels
+ found=1
+ ;;
+ *.zip)
+ ( cd tmplevels ; unzip "$file" )
+ found=1
+ ;;
+ *) # break
+ ;;
+ esac
+
+ if [ "$found" = "1" ]; then
+ levels_included="$levels_included\n$( basename $file )"
+ find tmplevels -type f -print0 | xargs -0 chmod 644
+ find tmplevels -type f -print0 | xargs -0 chown root:root
+ find tmplevels -type f -exec cp -a '{}' $PKG/usr/share/$PRGNAM/levels \;
+ fi
+ done
+
+ if [ -n "$levels_included" ]; then
+ echo -e "This package includes the following extra level packs:\n" \
+ "$levels_included" > \
+ $PKG/usr/doc/$PRGNAM-$VERSION/README.extra_levels
+ fi
+fi
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/games/trackballs/trackballs.desktop b/games/trackballs/trackballs.desktop
new file mode 100644
index 0000000000000..f408eacfed31d
--- /dev/null
+++ b/games/trackballs/trackballs.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+GenericName=Marble Madness type game
+Name=Trackballs
+Icon=trackballs
+Type=Application
+Terminal=false
+Categories=Game;ArcadeGame;
+Exec=/usr/bin/trackballs
diff --git a/games/trackballs/trackballs.info b/games/trackballs/trackballs.info
new file mode 100644
index 0000000000000..9a50dc2054af4
--- /dev/null
+++ b/games/trackballs/trackballs.info
@@ -0,0 +1,10 @@
+PRGNAM="trackballs"
+VERSION="1.1.2"
+HOMEPAGE="http://trackballs.sourceforge.net"
+DOWNLOAD="http://downloads.sourceforge.net/trackballs/trackballs-1.1.2.tar.gz"
+MD5SUM="9ea9ca93d87bb0f9ad8abca1b34af594"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
+APPROVED="rworkman"