packages feed

enumerator-0.4.5: scripts/cabal-dist

#!/bin/bash
if [ ! -f 'enumerator.cabal' ]; then
	echo -n "Can't find enumerator.cabal; please run this script as"
	echo -n " ./scripts/cabal-dist from within the enumerator source"
	echo " directory"
	exit 1
fi

XZ=$(which xz)
XELATEX=$(which xelatex)
if [ -d 'cabal-dev' ]; then
	CABAL=$(which cabal-dev)
	PATH="$PATH:$PWD/cabal-dev/bin/"
else
	CABAL=$(which cabal)
fi

ANANSI=$(which anansi)
if [ -z "$ANANSI" ]; then
	echo "Can't find 'anansi' executable; make sure it exists on your "'$PATH'
	exit 1
fi

VERSION=$(awk '/^version:/{print $2}' enumerator.cabal)

echo "Building dist for enumerator-$VERSION using $CABAL"

rm -rf hs dist
anansi --noline -o hs src/enumerator.anansi || exit 1
$CABAL configure || exit 1
$CABAL build || exit 1
$CABAL sdist || exit 1
mv "dist/enumerator-$VERSION.tar.gz" "./enumerator_$VERSION.tar.gz"
if [ -n "$XZ" ]; then
  gzip -dfc "enumerator_$VERSION.tar.gz" > "enumerator_$VERSION.tar"
  xz -f -C sha256 -9 "enumerator_$VERSION.tar"
fi

if [ -n "$XELATEX" ]; then
  rm -f *.{aux,tex,idx,log,out,toc,pdf}
  anansi -w -l latex-noweb -o enumerator.tex src/enumerator.anansi || exit 1
  xelatex enumerator.tex > /dev/null || exit 1
  xelatex enumerator.tex > /dev/null || exit 1

  mv enumerator.pdf "enumerator_$VERSION.pdf"
fi

echo ""
echo "============================================================"
if [ -n "$XELATEX" ]; then
	echo "  woven source        : enumerator_$VERSION.pdf"
fi
echo "  source tarball (gz) : enumerator_$VERSION.tar.gz"
if [ -n "$XZ" ]; then
	echo "  source archive (xz) : enumerator_$VERSION.tar.xz"
fi
echo "============================================================"