slackbuilds/y/xscrabble/xscrabble.SlackBuild
Gwenhael Le Moine 2d3c96f8e7 replace TMP by OUTPUT
Signed-off-by: Gwenhael Le Moine <gwenhael.le.moine@gmail.com>
2011-02-17 11:54:04 +07:00

154 lines
5 KiB
Bash
Executable file

#!/bin/sh
# Slackware build script for Xscrabble
# Written by Steven A. McIntosh (samac) (mcintosh@cotterochan.co.uk)
# Modified by Robby Workman <rworkman@slackbuilds.org>
# Modified by Gwenhael Le Moine <gwenhael.le.moine@gmail.com>
PRGNAM=xscrabble
VERSION=2.12
ARCH=${ARCH:-$(uname -m)}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
DEFAULT_LANG=${DEFAULT_LANG:-fr}
CWD=$(pwd)
TAG=cyco
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/pkg-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
rm -fr $TMP/$PRGNAM $PKG $TMP/$PRGNAM-$VERSION
mkdir -p $TMP $PKG $OUTPUT
cd $TMP || exit 1
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 || exit 1
cd $PRGNAM-$VERSION
chown -R root:root .
chmod 0755 .
chmod -R u+w,go+r-w,a-s .
# The included "build" script isn't exactly ideal, so we'll do it ourselves
printf \
"#define VERSION $(printf $VERSION|tr -d \.)
#define DICT_FILE \"/usr/share/games/scrabble/en/OSPD3.gz\"
#define SCORE_FILE \"/var/games/scrabble/en/scrabble_scores\"
#define RULES_FILE \"/usr/share/games/scrabble/en/scrabble_rules\"\n" \
> src/config.h
xmkmf -a
make
mkdir -p $PKG/usr/games
cp -a src/xscrab src/xscrabble $PKG/usr/games
chown root:games $PKG/usr/games/*
chmod 2755 $PKG/usr/games/*
mkdir -p $PKG/var/games/scrabble/{en,fr}
chown -R root:games $PKG/var/games/scrabble
chmod -R 2775 $PKG/var/games/scrabble
mkdir -p $PKG/etc/X11/app-defaults $PKG/usr/share/games/scrabble/{en,fr}
install_english() {
tar xf $CWD/xscrabble_en.tar.bz2
mv xscrabble_en/lib/* $PKG/usr/share/games/scrabble/en
rm -f $PKG/usr/share/games/scrabble/en/scrabble_scores
( cd $PKG/usr/share/games/scrabble/en
ln -fs /var/games/scrabble/en/scrabble_scores .
)
touch $PKG/var/games/scrabble/en/scrabble_scores.new
chmod 0664 $PKG/var/games/scrabble/en/scrabble_scores.new
mv xscrabble_en/app-defaults/XScrabble_en \
$PKG/etc/X11/app-defaults/XScrabble_en
( cd $PKG/etc/X11/app-defaults ; ln -fs XScrabble_en XScrabble )
}
install_french() {
tar xf $CWD/xscrabble_fr.tar.bz2
mv xscrabble_fr/lib/* $PKG/usr/share/games/scrabble/fr
rm -f $PKG/usr/share/games/scrabble/fr/scrabble_scores
( cd $PKG/usr/share/games/scrabble/fr
ln -fs /var/games/scrabble/fr/scrabble_scores .
rm ODS4.gz && cp $CWD/ODS5.gz .
)
touch $PKG/var/games/scrabble/fr/scrabble_scores.new
chmod 0664 $PKG/var/games/scrabble/fr/scrabble_scores.new
mv xscrabble_fr/app-defaults/XScrabble_fr \
$PKG/etc/X11/app-defaults/XScrabble_fr
sed -i 's|ODS4|ODS5|g' $PKG/etc/X11/app-defaults/XScrabble_fr
( cd $PKG/etc/X11/app-defaults ; ln -fs XScrabble_fr XScrabble )
}
if [ -e $CWD/xscrabble_en.tar.bz2 -a -e $CWD/xscrabble_fr.tar.bz2 ]; then
if [ "$DEFAULT_LANG" = "en" ]; then
install_french
install_english
else
install_english
install_french
fi
elif [ -e $CWD/xscrabble_fr.tar.bz2 ]; then
install_french
elif [ -e $CWD/xscrabble_en.tar.bz2 ]; then
install_english
else
printf "You need to have at least one language pack - get them here:\n"
printf "ftp://ftp.ac-grenoble.fr/ge/educational_games/xscrabble_en.tar.bz2\n"
printf "ftp://ftp.ac-grenoble.fr/ge/educational_games/xscrabble_fr.tar.bz2\n"
exit 1
fi
mkdir -p $PKG/usr/share/{applications,pixmaps}
cat <<EOF > $PKG/usr/share/applications/$PRGNAM.desktop
[Desktop Entry]
Name=xscrabble
Comment=A Scrabble-like game
Exec=xscrabble
TryExec=xscrabble
Icon=xscrabble
Terminal=false
Type=Application
Categories=Game;
EOF
cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
mkdir -p $PKG/install
cat <<EOF > $PKG/install/slack-desc
# 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-----------------------------------------------------|
xscrabble: Xscrabble (X-based Scrabble Game)
xscrabble:
xscrabble: Xscrabble project is an internationalized version of the Xscrabble
xscrabble: program. It is an enhancement of Matt Chapman's original Xscrabble
xscrabble: which is a networked scrabble implementation for the X Window System.
xscrabble: Among other things, version 2 adds internationalization features.
xscrabble: English and French are currently supported (the dictionary
xscrabble: files should be downloaded separately from the main package).
xscrabble:
xscrabble: Homepage: ftp://ftp.ac-grenoble.fr/ge/educational_games/
xscrabble: http://files.codes-sources.com/fichier.aspx?id=32452&f=ods5.txt
EOF
cat <<EOF > $PKG/install/doinst.sh
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
for i in en fr ; do
if [ -d var/games/scrabble/\$i ]; then
if [ ! -e var/games/scrabble/\$i/scrabble_scores ]; then
mv var/games/scrabble/\$i/scrabble_scores.new var/games/scrabble/\$i/scrabble_scores
else
rm -f var/games/scrabble/\$i/scrabble_scores.new
fi
fi
done
EOF
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz