packages feed

enumerator-0.4.8: scripts/common.bash

PATH="$PATH:$PWD/cabal-dev/bin/"

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

CABAL_DEV=$(which cabal-dev)
ANANSI=$(which anansi)
XELATEX=$(which xelatex)
XZ=$(which xz)

require_cabal_dev()
{
	if [ -z "$CABAL_DEV" ]; then
		echo "Can't find 'cabal-dev' executable; make sure it exists on your "'$PATH'
		echo "Cowardly refusing to fuck with the global package database"
		exit 1
	fi
}

require_anansi()
{
	if [ -z "$ANANSI" ]; then
		echo "Can't find 'anansi' executable; running '$CABAL_DEV install anansi'"
		require_cabal_dev
		$CABAL_DEV install anansi &> /dev/null
		if [ "$?" -ne "0" ]; then
			echo "Installation failed; please install Anansi manually somehow"
			exit 1
		fi
		ANANSI=$(which anansi)
		echo "Success; anansi = $ANANSI"
	fi
}

require_xelatex()
{
	if [ -z "$XELATEX" ]; then
		echo "Can't find 'xelatex' executable; make sure it exists on your "'$PATH'
		exit 1
	fi
}

make_pdf()
{
	require_anansi
	require_xelatex
	
	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
	rm -f *.{aux,tex,idx,log,out,toc}
	mv enumerator.pdf "enumerator_$VERSION.pdf"
}

clean_dev_install()
{
	require_anansi
	require_cabal_dev
	
	rm -rf hs dist
	$ANANSI -o hs src/enumerator.anansi || exit 1
	$CABAL_DEV install || exit 1
}