#!/bin/bash # # test-sdist: tests the package generated by "cabal sdist". # # Copyright (c) 2015-2018 Rudy Matela. # Distributed under the 3-Clause BSD licence. pkgver=` cat *.cabal | grep "^version:" | sed -e "s/version: *//"` pkgname=`cat *.cabal | grep "^name:" | sed -e "s/name: *//"` pkg=$pkgname-$pkgver set -x cabal sdist && cd dist && if [ -d ../.git ] then # on git repo, test if files are the same git -C .. ls-files | sort > ls-git && tar -tf $pkg.tar.gz | grep -v "/$" | sed -e "s,$pkg/,," | sort > ls-cabal && diff -rud ls-git ls-cabal && rm -f ls-git ls-cabal else # outside of git repo, test build rm -rf $pkg/ && tar -xzf $pkg.tar.gz && cd $pkg/ && cabal configure --enable-tests --enable-benchmarks && cabal build && cabal test fi