#!/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 "============================================================"