#!/bin/sh
# Set initial variables:
CWD=`pwd`
if [ "$TMP" = "" ]; then
  TMP=/tmp
fi
PKG=$TMP/package-gawk
rm -rf $PKG

VERSION=3.1.5
ARCH=${ARCH:-i486}
BUILD=${BUILD:-3}

if [ "$ARCH" = "i386" ]; then
  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2"
fi

if [ ! -d $TMP ]; then
  mkdir -p $TMP # location to build the source
fi
rm -rf $PKG
mkdir -p $PKG

cd $TMP
rm -rf gawk-$VERSION
tar xjvf $CWD/gawk-$VERSION.tar.bz2
cd gawk-$VERSION

zcat $CWD/gawk.glibc.free.diff.gz | patch -p2 -l --verbose || exit 1
zcat $CWD/gawk-3.1.5.fieldwidths.diff.gz | patch -p1 -l --verbose || exit 1

chown -R root:root .
CFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  $ARCH-slackware-linux

make -j3 || exit 1
make install DESTDIR=$PKG || exit 1

( cd $PKG
  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
( cd $PKG/usr/bin
  ln -sf gawk-$VERSION gawk
  ln -sf pgawk-$VERSION pgawk
)
mkdir -p $PKG/bin
mv $PKG/usr/bin/gawk* $PKG/bin
mv $PKG/usr/bin/awk $PKG/bin
( cd $PKG/usr/bin
  ln -sf ../../bin/awk .
  ln -sf ../../bin/gawk .
  ln -sf ../../bin/gawk-$VERSION .
)
( cd $PKG/usr/info
  rm dir
  gzip -9 *
)
( cd $PKG/usr/man/man1
  rm -f pgawk.1
  gzip -9 *
  ln -sf gawk.1.gz awk.1.gz
  ln -sf gawk.1.gz pgawk.1.gz
)
mkdir -p $PKG/usr/doc/gawk-$VERSION
cp -a \
  ABOUT-NLS AUTHORS COPYING FUTURES INSTALL LIMITATIONS NEWS POSIX.STD PROBLEMS README README_d \
  $PKG/usr/doc/gawk-$VERSION
find $PKG/usr/doc/gawk-$VERSION -type d -exec chmod 755 {} \;
find $PKG/usr/doc/gawk-$VERSION -type f -exec chmod 644 {} \;
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

# Build the package:
cd $PKG
makepkg -l y -c n $TMP/gawk-$VERSION-$ARCH-$BUILD.tgz