diff options
author | B. Watson <yalhcru@gmail.com> | 2011-02-17 22:50:54 -0600 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2011-02-28 09:42:03 -0600 |
commit | f68c028e33fb9fb0d3267cd72fe26f432b1ea643 (patch) | |
tree | ffef188fedfaa9c1dd69c6e5c9c105153015e635 /games/o2em/o2em.SlackBuild | |
parent | 848cabfbeb0846e0de4597fd83f555c274740311 (diff) |
games/o2em: Added (Magnavox Odyssey II/VideoPac+ emulator)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'games/o2em/o2em.SlackBuild')
-rw-r--r-- | games/o2em/o2em.SlackBuild | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/games/o2em/o2em.SlackBuild b/games/o2em/o2em.SlackBuild new file mode 100644 index 000000000000..6916f0bb3953 --- /dev/null +++ b/games/o2em/o2em.SlackBuild @@ -0,0 +1,108 @@ +#!/bin/bash + +# Slackware build script for o2em + +# Written by B. Watson (yalhcru@gmail.com) + +PRGNAM=o2em +VERSION=${VERSION:-1.18} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +set -e + +SRC=${PRGNAM}${VERSION/./}src + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $SRC +unzip -L $CWD/$SRC.zip +cd $SRC +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 {} \; + +# Patch does this: +# make makefile.linux use allegro-config to find cflags/libs for allegro +# make various source files #include <errno.h> +# add SLKCFLAGS support to makefile.linux +patch -p1 < $CWD/compile_fix.diff + +# Patch fixes wordsize assumptions on x86_64 and makes no difference on x86 +patch -p1 < $CWD/wordsize.diff + +cd src +make -f makefile.linux SLKCFLAGS="$SLKCFLAGS" + +mkdir -p $PKG/usr/bin $PKG/usr/libexec $PKG/usr/share/pixmaps +install -s -m0755 -oroot -groot dis48 $PKG/usr/bin +install -s -m0755 -oroot -groot $PRGNAM $PKG/usr/libexec/$PRGNAM.bin +install -m0755 -oroot -groot $CWD/$PRGNAM.sh $PKG/usr/bin/$PRGNAM +install -m0644 -oroot -groot $PRGNAM.png $PKG/usr/share/pixmaps + +# There is no .desktop file because the emulator lacks a UI (if we +# launch it from the K menu, it prints an error on stdout and exits), +# and because ".bin" isn't much of a MIME type so we can't really +# do association (there's no magic header for the ROMs either). + +mkdir -p $PKG/usr/man/man1 +gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz + +mkdir -p $PKG/usr/share/$PRGNAM/{bios,voice} +if [ -e "$CWD/o2mainsamp.zip" ]; then + unzip -L $CWD/o2mainsamp.zip -d $PKG/usr/share/$PRGNAM/voice +fi + +if [ -e $CWD/odyssey2.zip ]; then + unzip $CWD/odyssey2.zip + ROMFILE=o2bios.rom +elif [ -e $CWD/o2bios.rom ]; then + ROMFILE=$CWD/o2bios.rom +elif [ -e $CWD/o2rom.bin ]; then + ROMFILE=$CWD/o2rom.bin +fi + +if [ -n "$ROMFILE" ]; then + cat $ROMFILE > $PKG/usr/share/$PRGNAM/bios/o2rom.bin +fi + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cd ../docs +for file in *; do + sed 's/\r//g' < $file > $PKG/usr/doc/$PRGNAM-$VERSION/$file +done +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} |