Updated cabal file explictly lists source files.

The tarball on hackage will include only the files needed for cabal install;
it is NOT the full git-annex source tree. While it's totally obnoxious that
cabal files need every file listed out when basic wildcard support could
avoid hundreds of lines, and have to be maintained when files are added,
this does get the tarball size back down to 1 mb.

This also stops stack from complaining that it found modules not listed in
the cabal file.

debian/changelog, debian/NEWS, debian/copyright: Converted to symlinks
to CHANGELOG, NEWS, and COPYRIGHT, which used to symlink to these instead.
This avoids needing to include debian/ in the hackage tarball.

Setup.hs: Build man pages at install time using make and mdwn2man.
If it fails, which it probably will on windows, just skip installing
them.
This commit is contained in:
Joey Hess 2016-05-24 01:00:06 -04:00
parent cbb1dbdafc
commit f79875ef3b
Failed to extract signature
14 changed files with 6276 additions and 5513 deletions

View file

@ -46,7 +46,7 @@ getVersion = do
getChangelogVersion :: IO Version
getChangelogVersion = do
changelog <- readFile "debian/changelog"
changelog <- readFile "CHANGELOG"
let verline = takeWhile (/= '\n') changelog
return $ middle (words verline !! 1)
where

View file

@ -1,22 +0,0 @@
#!/bin/sh
#
# Workaround for `cabal sdist` requiring all included files to be listed
# in .cabal.
# Create target directory
sdist_dir=git-annex-$(grep '^Version:' git-annex.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}" \
| grep -v ':' \
| 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