darcs-2.4.4: darcs.cabal
Name: darcs
version: 2.4.4
License: GPL
License-file: COPYING
Author: David Roundy <droundy@darcs.net>, <darcs-users@darcs.net>
Maintainer: <darcs-users@darcs.net>
Stability: Experimental
Category: Development
Synopsis: a distributed, interactive, smart revision control system
Description: Darcs is a free, open source revision control
system. It is:
.
* Distributed: Every user has access to the full
command set, removing boundaries between server and
client or committer and non-committers.
.
* Interactive: Darcs is easy to learn and efficient to
use because it asks you questions in response to
simple commands, giving you choices in your work
flow. You can choose to record one change in a file,
while ignoring another. As you update from upstream,
you can review each patch name, even the full "diff"
for interesting patches.
.
* Smart: Originally developed by physicist David
Roundy, darcs is based on a unique algebra of
patches.
.
This smartness lets you respond to changing demands
in ways that would otherwise not be possible. Learn
more about spontaneous branches with darcs.
Homepage: http://darcs.net/
Build-Type: Custom
Cabal-Version: >= 1.6
Tested-with: GHC==6.8.2
extra-source-files:
-- C headers
src/*.h src/Crypt/sha2.h
src/win32/send_email.h src/win32/sys/mman.h
-- The contrib directory would make a sensible 'darcs-contrib' package
contrib/_darcs.zsh, contrib/darcs_completion,
contrib/cygwin-wrapper.bash, contrib/update_roundup.pl, contrib/upload.cgi,
contrib/darcs-errors.hlint,
-- documentation files
src/best_practices.tex, src/building_darcs.tex, src/configuring_darcs.tex,
src/features.tex, src/formats.tex, src/gpl.tex, src/switching.tex, src/darcs.tex
doc/darcs.css
README, NEWS
-- release data
release/distributed-version, release/distributed-context
-- testsuite
Distribution/ShellHarness.hs
tests/repos/*.tgz tests/repos/README
tests/*.sh
tests/hspwd.hs
tests/network/*.sh
tests/lib
tests/example_binary.png
tests/README.test_maintainers.txt
GNUmakefile
source-repository head
type: darcs
location: http://darcs.net/
flag curl
description: Use libcurl for HTTP support.
flag curl-pipelining
description: Use libcurl's HTTP pipelining.
default: False
--TODO: needs Cabal ticket #342 to allow default True
-- and decide on this automatically
flag http
description: Use the pure Haskell HTTP package for HTTP support.
flag static
description: Build static binary
default: False
flag terminfo
description: Use the terminfo package for enhanced console support.
flag threaded
description: Use threading and SMP support.
default: True
flag type-witnesses
description: Use GADT type witnesses.
default: False
flag color
description: Use ansi color escapes.
flag mmap
description: Compile with mmap support.
flag test
description: Compile unit tests (requires QuickCheck >= 2.1.0.0).
default: False
flag hpc
default: False
flag deps-only
default: False
description: A cunning trick to have cabal install build dependencies
Executable witnesses
main-is: witnesses.hs
hs-source-dirs: src
include-dirs: src
cpp-options: -DGADT_WITNESSES=1
-- FIXME...
c-sources: src/atomic_create.c
src/fpstring.c
src/maybe_relink.c
src/umask.c
src/Crypt/sha2.c
-- this module isn't exported by libdarcs, so not included in the tarball
-- if not mentioned
other-modules: Darcs.Test.Patch.Check
extensions:
CPP
UndecidableInstances
ScopedTypeVariables
RankNTypes
GADTs
ImpredicativeTypes
if !flag(type-witnesses)
buildable: False
if os(windows)
hs-source-dirs: src/win32
include-dirs: src/win32
other-modules: CtrlC
System.Posix
System.Posix.Files
System.Posix.IO
cpp-options: -DWIN32
c-sources: src/win32/send_email.c
build-depends: unix-compat >= 0.1.2
-- ----------------------------------------------------------------------
-- darcs library
-- ----------------------------------------------------------------------
Library
hs-source-dirs: src
include-dirs: src
exposed-modules: CommandLine
Crypt.SHA256
Darcs.ArgumentDefaults
Darcs.Arguments
Darcs.Bug
Darcs.CheckFileSystem
Darcs.ColorPrinter
Darcs.Commands
Darcs.Commands.Add
Darcs.Commands.AmendRecord
Darcs.Commands.Annotate
Darcs.Commands.Apply
Darcs.CommandsAux
Darcs.Commands.Changes
Darcs.Commands.Check
Darcs.Commands.Convert
Darcs.Commands.Diff
Darcs.Commands.Dist
Darcs.Commands.Get
Darcs.Commands.GZCRCs
Darcs.Commands.Help
Darcs.Commands.Init
Darcs.Commands.MarkConflicts
Darcs.Commands.Move
Darcs.Commands.Optimize
Darcs.Commands.Pull
Darcs.Commands.Push
Darcs.Commands.Put
Darcs.Commands.Record
Darcs.Commands.Remove
Darcs.Commands.Repair
Darcs.Commands.Replace
Darcs.Commands.Revert
Darcs.Commands.Rollback
Darcs.Commands.Send
Darcs.Commands.SetPref
Darcs.Commands.Show
Darcs.Commands.ShowAuthors
Darcs.Commands.ShowBug
Darcs.Commands.ShowContents
Darcs.Commands.ShowFiles
Darcs.Commands.ShowIndex
Darcs.Commands.ShowRepo
Darcs.Commands.ShowTags
Darcs.Commands.Tag
Darcs.Commands.TrackDown
Darcs.Commands.TransferMode
Darcs.Commands.Unrecord
Darcs.Commands.Unrevert
Darcs.Commands.WhatsNew
Darcs.Compat
Darcs.Diff
Darcs.Email
Darcs.External
Darcs.FilePathMonad
Darcs.Flags
Darcs.Global
Darcs.Hopefully
Darcs.IO
Darcs.Lock
Darcs.Match
Darcs.Witnesses.Ordered
Darcs.Patch
Darcs.Patch.Apply
Darcs.Patch.Bundle
Darcs.Patch.Choices
Darcs.Patch.Commute
Darcs.Patch.Core
Darcs.Patch.Depends
Darcs.Patch.FileName
Darcs.Patch.Info
Darcs.Patch.Match
Darcs.Patch.MatchData
Darcs.Patch.Non
Darcs.Patch.OldDate
Darcs.Patch.Patchy
Darcs.Patch.Permutations
Darcs.Patch.Prim
Darcs.Patch.Properties
Darcs.Patch.Read
Darcs.Patch.ReadMonads
Darcs.Patch.Real
Darcs.Patch.RegChars
Darcs.Patch.Set
Darcs.Patch.Show
Darcs.Patch.Split
Darcs.Patch.TouchesFiles
Darcs.Patch.Viewing
Darcs.Population
Darcs.PopulationData
Darcs.PrintPatch
Darcs.ProgressPatches
Darcs.RemoteApply
Darcs.RepoPath
Darcs.Repository
Darcs.Repository.ApplyPatches
Darcs.Repository.Cache
Darcs.Repository.Checkpoint
Darcs.Repository.DarcsRepo
Darcs.Repository.Format
Darcs.Repository.HashedIO
Darcs.Repository.HashedRepo
Darcs.Repository.Internal
Darcs.Repository.LowLevel
Darcs.Repository.Merge
Darcs.Repository.InternalTypes
Darcs.Repository.Motd
Darcs.Repository.Prefs
Darcs.Repository.Pristine
Darcs.Repository.Repair
Darcs.Repository.State
Darcs.Resolution
Darcs.RunCommand
Darcs.Witnesses.Sealed
Darcs.SelectChanges
Darcs.Witnesses.Show
Darcs.SignalHandler
Darcs.SlurpDirectory
Darcs.SlurpDirectory.Internal
Darcs.Test
Darcs.TheCommands
Darcs.URL
Darcs.Utils
DateMatcher
English
Exec
ByteStringUtils
HTTP
IsoDate
Lcs
Printer
Progress
Ratified
SHA1
Ssh
URL
Workaround
other-modules: Version
c-sources: src/atomic_create.c
src/fpstring.c
src/maybe_relink.c
src/umask.c
src/Crypt/sha2.c
cc-options: -D_REENTRANT
if os(windows)
hs-source-dirs: src/win32
include-dirs: src/win32
other-modules: CtrlC
System.Posix
System.Posix.Files
System.Posix.IO
cpp-options: -DWIN32
build-depends: unix-compat >= 0.1.2
if os(solaris)
cc-options: -DHAVE_SIGINFO_H
build-depends: base < 4,
regex-compat >= 0.71 && < 0.94,
mtl >= 1.0 && < 1.2,
parsec >= 2.0 && < 3.1,
html == 1.0.*,
filepath == 1.1.*,
haskeline >= 0.6.1 && < 0.7,
hashed-storage == 0.4.13
if !os(windows)
build-depends: unix >= 1.0 && < 2.5
build-depends: base >= 3,
bytestring >= 0.9.0 && < 0.10,
utf8-string == 0.3.*,
old-time == 1.0.*,
directory == 1.0.*,
process == 1.0.*,
containers >= 0.1 && < 0.4,
array >= 0.1 && < 0.4,
random == 1.0.*
-- We need optimizations, regardless of what Hackage says
ghc-options: -Wall -O2 -funbox-strict-fields -fwarn-tabs
ghc-prof-options: -prof -auto-all
if flag(hpc)
ghc-prof-options: -fhpc
if flag(curl)
extra-libraries: curl
includes: curl/curl.h
cpp-options: -DHAVE_CURL
c-sources: src/hscurl.c
cc-options: -DHAVE_CURL
if flag(curl-pipelining)
-- curl 7.19.1 has bug-free pipelining
if !os(windows)
pkgconfig-depends: libcurl >= 7.19.1
cpp-options: -DCURL_PIPELINING -DCURL_PIPELINING_DEFAULT
if flag(http)
build-depends: network == 2.2.*,
HTTP >= 3000.0 && < 4000.1
cpp-options: -DHAVE_HTTP
x-have-http:
if (!flag(curl) && !flag(http)) || flag(deps-only)
buildable: False
if flag(mmap) && !os(windows)
build-depends: mmap >= 0.2 && < 0.5
cpp-options: -DHAVE_MMAP
build-depends: zlib >= 0.5.1.0 && < 0.6.0.0
-- The terminfo package cannot be built on Windows.
if flag(terminfo) && !os(windows)
build-depends: terminfo == 0.3.*
cpp-options: -DHAVE_TERMINFO
if flag(color)
x-use-color:
extensions:
CPP,
ForeignFunctionInterface,
BangPatterns,
PatternGuards,
MagicHash,
UndecidableInstances,
DeriveDataTypeable,
GADTs,
ImpredicativeTypes,
TypeOperators,
ExistentialQuantification,
FlexibleContexts,
FlexibleInstances,
ScopedTypeVariables,
KindSignatures,
TypeSynonymInstances,
Rank2Types,
RankNTypes,
GeneralizedNewtypeDeriving,
MultiParamTypeClasses
-- ----------------------------------------------------------------------
-- darcs itself
-- ----------------------------------------------------------------------
Executable darcs
main-is: darcs.hs
hs-source-dirs: src
include-dirs: src
c-sources: src/atomic_create.c
src/fpstring.c
src/maybe_relink.c
src/umask.c
src/Crypt/sha2.c
-- We need optimizations, regardless of what Hackage says
ghc-options: -Wall -O2 -funbox-strict-fields
ghc-prof-options: -prof -auto-all
if flag(threaded)
ghc-options: -threaded
if flag(static)
ghc-options: -static -optl-static -optl-pthread
if flag(hpc)
ghc-prof-options: -fhpc
cc-options: -D_REENTRANT
if os(windows)
hs-source-dirs: src/win32
include-dirs: src/win32
other-modules: CtrlC
System.Posix
System.Posix.Files
System.Posix.IO
Preproc
cpp-options: -DWIN32
c-sources: src/win32/send_email.c
build-depends: unix-compat >= 0.1.2
if os(solaris)
cc-options: -DHAVE_SIGINFO_H
build-depends: base < 4,
regex-compat >= 0.71 && < 0.94,
mtl >= 1.0 && < 1.2,
parsec >= 2.0 && < 3.1,
html == 1.0.*,
filepath == 1.1.*,
haskeline >= 0.6.1 && < 0.7,
hashed-storage == 0.4.13
if !os(windows)
build-depends: unix >= 1.0 && < 2.5
build-depends: base >= 3,
bytestring >= 0.9.0 && < 0.10,
utf8-string == 0.3.*,
old-time == 1.0.*,
directory == 1.0.*,
process == 1.0.*,
containers >= 0.1 && < 0.4,
array >= 0.1 && < 0.4,
random == 1.0.*
if flag(curl)
extra-libraries: curl
includes: curl/curl.h
cpp-options: -DHAVE_CURL
c-sources: src/hscurl.c
cc-options: -DHAVE_CURL
if flag(curl-pipelining)
-- curl 7.19.1 has bug-free pipelining
if !os(windows)
pkgconfig-depends: libcurl >= 7.19.1
cpp-options: -DCURL_PIPELINING -DCURL_PIPELINING_DEFAULT
if flag(http)
build-depends: network == 2.2.*,
HTTP >= 3000.0 && < 4000.1
cpp-options: -DHAVE_HTTP
x-have-http:
if (!flag(curl) && !flag(http)) || flag(deps-only)
buildable: False
if flag(mmap) && !os(windows)
build-depends: mmap >= 0.2 && < 0.5
cpp-options: -DHAVE_MMAP
build-depends: zlib >= 0.5.1.0 && < 0.6.0.0
-- The terminfo package cannot be built on Windows.
if flag(terminfo) && !os(windows)
build-depends: terminfo == 0.3.*
cpp-options: -DHAVE_TERMINFO
if flag(color)
x-use-color:
extensions:
CPP,
ForeignFunctionInterface,
BangPatterns,
PatternGuards,
MagicHash,
UndecidableInstances,
DeriveDataTypeable,
GADTs,
ImpredicativeTypes,
TypeOperators,
ExistentialQuantification,
FlexibleContexts,
FlexibleInstances,
ScopedTypeVariables,
KindSignatures,
TypeSynonymInstances,
Rank2Types,
RankNTypes,
GeneralizedNewtypeDeriving,
MultiParamTypeClasses
-- ----------------------------------------------------------------------
-- unit test driver
-- ----------------------------------------------------------------------
Executable unit
main-is: unit.lhs
hs-source-dirs: src
include-dirs: src
c-sources: src/atomic_create.c
src/fpstring.c
src/maybe_relink.c
src/umask.c
src/Crypt/sha2.c
-- list all unit test modules not exported by libdarcs; otherwise Cabal won't
-- include them in the tarball
other-modules: Darcs.Test.Email
Darcs.Test.Patch.Check
Darcs.Test.Patch.QuickCheck
Darcs.Test.Patch.Test
Darcs.Test.Patch.Unit
-- We need optimizations, regardless of what Hackage says
ghc-options: -Wall -O2 -funbox-strict-fields
ghc-prof-options: -prof -auto-all
if flag(threaded)
ghc-options: -threaded
if !flag(test)
buildable: False
else
buildable: True
build-depends: base < 4,
regex-compat >= 0.71 && < 0.94,
mtl >= 1.0 && < 1.2,
parsec >= 2.0 && < 3.1,
html == 1.0.*,
filepath == 1.1.*,
QuickCheck >= 2.1.0.0,
HUnit >= 1.0,
test-framework >= 0.2.2,
test-framework-hunit >= 0.2.2,
test-framework-quickcheck2 >= 0.2.2
cc-options: -D_REENTRANT
if os(windows)
hs-source-dirs: src/win32
include-dirs: src/win32
other-modules: CtrlC
System.Posix
System.Posix.Files
System.Posix.IO
cpp-options: -DWIN32
c-sources: src/win32/send_email.c
build-depends: unix-compat >= 0.1.2
if os(solaris)
cc-options: -DHAVE_SIGINFO_H
if !os(windows)
build-depends: unix >= 1.0 && < 2.5
build-depends: base >= 3,
bytestring >= 0.9.0 && < 0.10,
old-time == 1.0.*,
directory == 1.0.*,
process == 1.0.*,
containers >= 0.1 && < 0.4,
array >= 0.1 && < 0.4,
random == 1.0.*
if flag(mmap) && !os(windows)
build-depends: mmap >= 0.2 && < 0.5
cpp-options: -DHAVE_MMAP
build-depends: zlib >= 0.5.1.0 && < 0.6.0.0
-- The terminfo package cannot be built on Windows.
if flag(terminfo) && !os(windows)
build-depends: terminfo == 0.3.*
cpp-options: -DHAVE_TERMINFO
if flag(color)
x-use-color:
extensions:
CPP,
ForeignFunctionInterface,
BangPatterns,
PatternGuards,
MagicHash,
UndecidableInstances,
DeriveDataTypeable,
GADTs,
TypeOperators,
ExistentialQuantification,
FlexibleContexts,
FlexibleInstances,
ScopedTypeVariables,
KindSignatures,
TypeSynonymInstances,
Rank2Types,
RankNTypes,
GeneralizedNewtypeDeriving,
MultiParamTypeClasses
OverlappingInstances