
The existing `sed | find | perl` hack in the Makefile was not including the man pages in the generated git-annex.cabal. I couldn't figure out why it didn't work; running the `find | perl` part of the command *did* list the man pages ... So, I set up a new hack. It produces a cleaner .cabal file and includes the man pages in the sdist. I changed git-annex.cabal and its generation as follows: - git-annex.cabal is now generated by a here document in git-annex.cabal.template.sh. The here document has inline file list insertion, whereas before the file lists were inserted with sed. - The 'Extra-Source-Files:' field now only includes the non-source files: the man pages, plain text documentation, and license. - The source dependencies are now listed in 'Other-Modules' sections in the 'Executable' and 'Test-Suite' sections. The list of dependencies is generated by `gen-other-modules.sh`. - The ./debian and ./doc are no longer included in the sdist package. These were not installed anywhere by `cabal install`. A user that wants them could clone the git repo. Running the tests with cabal is not yet working, i.e. cabal configure --enable-tests && cabal build && cabal test and cabal install --enable-tests fail to find Utility.Touch. However, I did not break this: it doesn't work for the git-annex package on Hackage either. Next step is to figure out how to deal with HSC in cabal ... or not bother, because `make test` works. I'm worried this is a cabal bug. To test building from sdist, I've been running cd ../.. ; cabal sdist ; cd dist ; tar xf git-annex-3.20120605.tar.gz && cd git-annex-3.20120605 && rm -fr /tmp/git-annex && cabal install --prefix=/tmp/git-annex && tree -A /tmp/git-annex in the dist directory. Using `cabal-dev install` is a better test, but is very slow.
76 lines
2.6 KiB
Bash
Executable file
76 lines
2.6 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Template for git-annex.cabal: the 'Other-Module:' fields are
|
|
# dynamically generated.
|
|
|
|
cat <<EOF
|
|
Name: git-annex
|
|
Version: 3.20120605
|
|
Cabal-Version: >= 1.8
|
|
License: GPL
|
|
Maintainer: Joey Hess <joey@kitenet.net>
|
|
Author: Joey Hess
|
|
Stability: Stable
|
|
Copyright: 2010-2012 Joey Hess
|
|
License-File: GPL
|
|
Homepage: http://git-annex.branchable.com/
|
|
Build-type: Custom
|
|
Category: Utility
|
|
Synopsis: manage files with git, without checking their contents into git
|
|
Description:
|
|
git-annex allows managing files with git, without checking the file
|
|
contents into git. While that may seem paradoxical, it is useful when
|
|
dealing with files larger than git can currently easily handle, whether due
|
|
to limitations in memory, time, or disk space.
|
|
.
|
|
Even without file content tracking, being able to manage files with git,
|
|
move files around and delete files with versioned directory trees, and use
|
|
branches and distributed clones, are all very handy reasons to use git. And
|
|
annexed files can co-exist in the same git repository with regularly
|
|
versioned files, which is convenient for maintaining documents, Makefiles,
|
|
etc that are associated with annexed files but that benefit from full
|
|
revision control.
|
|
Extra-Source-Files:
|
|
git-annex.1 git-annex-shell.1
|
|
INSTALL README CHANGELOG NEWS GPL
|
|
|
|
Flag S3
|
|
Description: Enable S3 support
|
|
|
|
Executable git-annex
|
|
Main-Is: git-annex.hs
|
|
Build-Depends: MissingH, hslogger, directory, filepath,
|
|
unix, containers, utf8-string, network, mtl, bytestring, old-locale, time,
|
|
pcre-light, extensible-exceptions, dataenc, SHA, process, json, HTTP,
|
|
base == 4.5.*, monad-control, transformers-base, lifted-base,
|
|
IfElse, text, QuickCheck >= 2.1, bloomfilter, edit-distance
|
|
Other-Modules:
|
|
Utility.Touch
|
|
-- Auto-generated list of all Haskell modules:
|
|
`./gen-other-modules.sh | xargs -n1 -i echo ' '{}`
|
|
C-Sources: Utility/libdiskfree.c
|
|
Extensions: CPP
|
|
|
|
if flag(S3)
|
|
Build-Depends: hS3
|
|
CPP-Options: -DWITH_S3
|
|
|
|
Test-Suite test
|
|
Type: exitcode-stdio-1.0
|
|
Main-Is: test.hs
|
|
Build-Depends: testpack, HUnit, MissingH, hslogger, directory, filepath,
|
|
unix, containers, utf8-string, network, mtl, bytestring, old-locale, time,
|
|
pcre-light, extensible-exceptions, dataenc, SHA, process, json, HTTP,
|
|
base == 4.5.*, monad-control, transformers-base, lifted-base,
|
|
IfElse, text, QuickCheck >= 2.1, bloomfilter, edit-distance
|
|
C-Sources: Utility/libdiskfree.c
|
|
Other-Modules:
|
|
Utility.Touch
|
|
-- Auto-generated list of all Haskell modules:
|
|
`./gen-other-modules.sh | xargs -n1 -i echo ' '{}`
|
|
Extensions: CPP
|
|
|
|
source-repository head
|
|
type: git
|
|
location: git://git-annex.branchable.com/
|
|
EOF
|