diff options
Diffstat (limited to 'Build/make-sdist.sh')
-rwxr-xr-x | Build/make-sdist.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Build/make-sdist.sh b/Build/make-sdist.sh new file mode 100755 index 0000000..d4dbdb9 --- /dev/null +++ b/Build/make-sdist.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# +# Workaround for `cabal sdist` requiring all included files to be listed +# in .cabal. + +# Create target directory +sdist_dir=git-repair-$(grep '^Version:' git-repair.cabal | sed -re 's/Version: *//') +mkdir --parents dist/$sdist_dir + +find . \( -name .git -or -name dist -or -name cabal-dev \) -prune \ + -or -not -name \\*.orig -not -type d -print \ +| perl -ne "print unless length >= 100 - length q{$sdist_dir}" \ +| xargs cp --parents --target-directory dist/$sdist_dir + +cd dist +tar --format=ustar -caf $sdist_dir.tar.gz $sdist_dir + +# Check that tarball can be unpacked by cabal. +# It's picky about tar longlinks etc. +rm -rf $sdist_dir +cabal unpack $sdist_dir.tar.gz |