#!/bin/sh

# Packager Kristos (community slacky.eu)
# Build for Slackware 13.0 32 bit stable
# http://www.slacky.eu
# In hoc signo vinces.

# Slackware build script for words

# Written by Tom Canich <tcanich@canich.net>
# Released under the BSD
# Copyright (c) 2009, Tom Canich, State College, Pennsylvania, USA
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#    * Redistributions of source code must retain the above copyright
#      notice, this list of conditions and the following disclaimer.
#    * Redistributions in binary form must reproduce the above copyright 
#      notice, this list of conditions and the following disclaimer in the
#      documentation and/or other materials provided with the distribution.
#    * Neither the name of Tom Canich nor the names of other contributors 
#      may be used to endorse or promote products derived from this 
#      software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY Tom Canich ''AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
# IN NO EVENT SHALL Tom Canich BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


PRGNAM=words
VERSION=${VERSION:-1.97FC}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-krs}

CWD=$(pwd)
TMP=${TMP:-/tmp/Krs}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

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 # Exit on most errors

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
mkdir $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
unzip -qq $CWD/wordsall.zip

for i in words makedict makestem makeinfl makeefil; do
  gnatmake $i
done

# Make the dictionary, defeat the prompt
./makedict DICTLINE.GEN << EOF
G
EOF

# Make the stem list, defeat the prompt
./makestem STEMLIST.GEN << EOF
G
EOF

# Make the EWDS list, defeat the prompt
./makeefil EWDSLIST.GEN << EOF
G
EOF

# Make the inflections list, defeat the prompt
./makeinfl INFLECTS.LAT << EOF
G
EOF

mkdir -p $PKG/usr/share/$PRGNAM
for i in \
  words DICTFILE.GEN STEMFILE.GEN INDXFILE.GEN EWDSFILE.GEN \
  INFLECTS.SEC ADDONS.LAT UNIQUES.LAT; do
    cp $i $PKG/usr/share/$PRGNAM
done

mkdir -p $PKG/usr/bin
cat << EOF > $PKG/usr/bin/$PRGNAM
#!/bin/sh
WORDSPATH=/usr/share/$PRGNAM
( cd \$WORDSPATH ; ./words $* )
EOF
chmod 0755 $PKG/usr/bin/$PRGNAM

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a HOWTO.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
requiredbuilder -v -y -s $CWD $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}

if [ "$1" = "--cleanup" ]; then
 rm -rf $TMP
fi

