darcs-2.8.0: darcs.cabal
Name: darcs
version: 2.8.0
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.8
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
doc/src/best_practices.tex, doc/src/building_darcs.tex, doc/src/configuring_darcs.tex,
doc/src/features.tex, doc/src/gpl.tex, doc/src/darcs.tex
doc/darcs.css
README, NEWS
-- release data
release/distributed-version, release/distributed-context
-- testsuite
tests/data/*.tgz tests/data/README
tests/data/*.dpatch
tests/data/convert/darcs1/*.dpatch tests/data/convert/darcs2/*.dpatch
tests/*.sh
tests/bin/trackdown-bisect-helper.hs
tests/bin/hspwd.hs
tests/network/*.sh
tests/lib
tests/data/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 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 library
description: Build darcs library
default: True
flag executable
description: Build darcs executable
default: True
flag color
description: Use ansi color escapes.
flag mmap
description: Compile with mmap support.
flag hpc
default: False
flag test
default: False
description: Build test harness
-- We need optimizations by default, regardless of what Hackage says
flag optimize
default: True
description: Build with optimizations (-O2)
flag warn-as-error
default: False
description: Build with warnings-as-errors
-- If base >= 4.4 is used, the standard directory functions
-- do Unicode translation. Use a flag so we can
-- detect this situation and use a workaround.
flag force-char8-encoding
default: False
description: Allow base 4.5 or above on Unix. base 4.4 introduces a change in
the behaviour of filenames that requires API calls in
base 4.5 to workaround. So base 4.4 is not supported at all.
-- ----------------------------------------------------------------------
-- darcs library
-- ----------------------------------------------------------------------
Library
if !flag(library)
buildable: False
else
buildable: True
build-tools: ghc >= 6.10 && < 7.6
hs-source-dirs: src
include-dirs: src
cpp-options: -DGADT_WITNESSES=1
exposed-modules: CommandLine
Crypt.SHA256
Darcs.Annotate
Darcs.ArgumentDefaults
Darcs.Arguments
Darcs.Bug
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.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.Test
Darcs.Commands.TrackDown
Darcs.Commands.TransferMode
Darcs.Commands.Util
Darcs.Commands.Unrecord
Darcs.Commands.Unrevert
Darcs.Commands.WhatsNew
Darcs.Compat
Darcs.Diff
Darcs.Email
Darcs.External
Darcs.Flags
Darcs.Global
Darcs.IO
Darcs.Lock
Darcs.Match
Darcs.MonadProgress
Darcs.Patch
Darcs.Patch.Apply
Darcs.Patch.ApplyMonad
Darcs.Patch.Bracketed
Darcs.Patch.Bracketed.Instances
Darcs.Patch.Bundle
Darcs.Patch.Choices
Darcs.Patch.Commute
Darcs.Patch.Conflict
Darcs.Patch.ConflictMarking
Darcs.Patch.Depends
Darcs.Patch.Dummy
Darcs.Patch.Effect
Darcs.Patch.FileName
Darcs.Patch.FileHunk
Darcs.Patch.Format
Darcs.Patch.Info
Darcs.Patch.Inspect
Darcs.Patch.Invert
Darcs.Patch.Match
Darcs.Patch.MatchData
Darcs.Patch.Merge
Darcs.Patch.Named
Darcs.Patch.OldDate
Darcs.Patch.PatchInfoAnd
Darcs.Patch.Patchy
Darcs.Patch.Patchy.Instances
Darcs.Patch.Permutations
Darcs.Patch.Prim
Darcs.Patch.Prim.Class
Darcs.Patch.Prim.V1
Darcs.Patch.Prim.V1.Apply
Darcs.Patch.Prim.V1.Coalesce
Darcs.Patch.Prim.V1.Commute
Darcs.Patch.Prim.V1.Core
Darcs.Patch.Prim.V1.Details
Darcs.Patch.Prim.V1.Read
Darcs.Patch.Prim.V1.Show
Darcs.Patch.Prim.V3
Darcs.Patch.Prim.V3.ObjectMap
Darcs.Patch.Prim.V3.Apply
Darcs.Patch.Prim.V3.Coalesce
Darcs.Patch.Prim.V3.Commute
Darcs.Patch.Prim.V3.Core
Darcs.Patch.Prim.V3.Details
Darcs.Patch.Prim.V3.Read
Darcs.Patch.Prim.V3.Show
Darcs.Patch.Read
Darcs.Patch.ReadMonads
Darcs.Patch.RegChars
Darcs.Patch.Repair
Darcs.Patch.RepoPatch
Darcs.Patch.Set
Darcs.Patch.Show
Darcs.Patch.Split
Darcs.Patch.Summary
Darcs.Patch.SummaryData
Darcs.Patch.TokenReplace
Darcs.Patch.TouchesFiles
Darcs.Patch.Viewing
Darcs.Patch.V1
Darcs.Patch.V1.Apply
Darcs.Patch.V1.Commute
Darcs.Patch.V1.Core
Darcs.Patch.V1.Read
Darcs.Patch.V1.Show
Darcs.Patch.V1.Viewing
Darcs.Patch.V2
Darcs.Patch.V2.Non
Darcs.Patch.V2.Real
Darcs.PrintPatch
Darcs.ProgressPatches
Darcs.RemoteApply
Darcs.RepoPath
Darcs.Repository
Darcs.Repository.ApplyPatches
Darcs.Repository.Cache
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.Old
Darcs.Repository.Prefs
Darcs.Repository.Repair
Darcs.Repository.State
Darcs.Resolution
Darcs.RunCommand
Darcs.SelectChanges
Darcs.SignalHandler
Darcs.Ssh
Darcs.Test
Darcs.TheCommands
Darcs.URL
Darcs.Utils
Darcs.Witnesses.Eq
Darcs.Witnesses.Ordered
Darcs.Witnesses.Sealed
Darcs.Witnesses.Show
Darcs.Witnesses.Unsafe
Darcs.Witnesses.WZipper
DateMatcher
English
Exec
ByteStringUtils
IsoDate
Lcs
Printer
Progress
Ratified
SHA1
URL
URL.Request
URL.HTTP
Workaround
other-modules: Version
URL.Curl
c-sources: src/atomic_create.c
src/fpstring.c
src/maybe_relink.c
src/umask.c
src/Crypt/sha2.c
src/system_encoding.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
c-sources: src/win32/send_email.c
build-depends: unix-compat >= 0.1.2,
regex-posix >= 0.95.1
if os(solaris)
cc-options: -DHAVE_SIGINFO_H
if os(windows)
build-depends: base >= 4 && < 4.6
else
if flag(force-char8-encoding)
build-depends: base >= 4.5 && < 4.6
cpp-options: -DFORCE_CHAR8_ENCODING
else
build-depends: base >= 4 && < 4.4
build-depends: extensible-exceptions >= 0.1 && < 0.2,
regex-compat >= 0.95.1,
mtl >= 1.0 && < 2.1,
parsec >= 2.0 && < 3.2,
html == 1.0.*,
filepath >= 1.1.0.0 && < 1.5.0.0,
haskeline >= 0.6.3 && < 0.7,
hashed-storage >= 0.5.6 && < 0.6,
vector >= 0.7,
tar == 0.3.*
if !os(windows)
build-depends: unix >= 1.0 && < 2.6
build-depends: bytestring >= 0.9.0 && < 0.10,
text >= 0.11.0.6 && < 0.12.0.0,
old-time >= 1.0 && < 1.2,
directory >= 1.0.0.0 && < 1.2.0.0,
process >= 1.0.0.0 && < 1.2.0.0,
containers >= 0.1 && < 0.5,
array >= 0.1 && < 0.5,
random == 1.0.*
if flag(optimize)
ghc-options: -O2
else
ghc-options: -O0
if flag(warn-as-error)
ghc-options: -Werror
-- Note: "if true" works around a cabal bug with order of flag composition
if true
ghc-options: -Wall -funbox-strict-fields -fwarn-tabs
ghc-prof-options: -prof -auto-all
if flag(hpc)
ghc-prof-options: -fhpc -hpcdir dist/hpc/libdarcs
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(http)
build-depends: network >= 2.2 && < 2.4,
HTTP >= 4000.0.8 && < 4000.3
cpp-options: -DHAVE_HTTP
x-have-http:
if (!flag(curl) && !flag(http))
buildable: False
if flag(mmap) && !os(windows)
build-depends: mmap >= 0.5 && < 0.6
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:
-- if true to work around cabal bug with flag ordering
if true
extensions:
CPP
BangPatterns
PatternGuards
GADTs
TypeOperators
FlexibleContexts
FlexibleInstances
ScopedTypeVariables
KindSignatures
RankNTypes
TypeFamilies
if impl(ghc>=7.0)
extensions:
NoMonoLocalBinds
-- ----------------------------------------------------------------------
-- darcs itself
-- ----------------------------------------------------------------------
Executable darcs
if !flag(executable)
buildable: False
else
buildable: True
build-tools: ghc >= 6.10 && < 7.6
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
src/system_encoding.c
if flag(optimize)
ghc-options: -O2
else
ghc-options: -O0
if flag(warn-as-error)
ghc-options: -Werror
-- Note: "if true" works around a cabal bug with order of flag composition
if true
ghc-options: -Wall -funbox-strict-fields -fwarn-tabs
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 -hpcdir dist/hpc/darcs
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,
regex-posix >= 0.95.1
if os(solaris)
cc-options: -DHAVE_SIGINFO_H
if os(windows)
build-depends: base >= 4 && < 4.6
else
if flag(force-char8-encoding)
build-depends: base >= 4.5 && < 4.6
cpp-options: -DFORCE_CHAR8_ENCODING
else
build-depends: base >= 4 && < 4.4
build-depends: extensible-exceptions >= 0.1 && < 0.2,
regex-compat >= 0.95.1,
mtl >= 1.0 && < 2.1,
parsec >= 2.0 && < 3.2,
html == 1.0.*,
filepath >= 1.1.0.0 && < 1.5.0.0,
haskeline >= 0.6.3 && < 0.7,
hashed-storage >= 0.5.6 && < 0.6,
vector >= 0.7,
tar == 0.3.*
if !os(windows)
build-depends: unix >= 1.0 && < 2.6
build-depends: bytestring >= 0.9.0 && < 0.10,
text >= 0.11.0.6 && < 0.12.0.0,
old-time >= 1.0 && < 1.2,
directory >= 1.0.0.0 && < 1.2.0.0,
process >= 1.0.0.0 && < 1.2.0.0,
containers >= 0.1 && < 0.5,
array >= 0.1 && < 0.5,
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(http)
build-depends: network >= 2.2 && < 2.4,
HTTP >= 4000.0.8 && < 4000.3
cpp-options: -DHAVE_HTTP
x-have-http:
if (!flag(curl) && !flag(http))
buildable: False
if flag(mmap) && !os(windows)
build-depends: mmap >= 0.5 && < 0.6
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:
-- if true to work around cabal bug with flag ordering
if true
extensions:
CPP
BangPatterns
PatternGuards
GADTs
TypeOperators
FlexibleContexts
FlexibleInstances
ScopedTypeVariables
KindSignatures
RankNTypes
TypeFamilies
if impl(ghc>=7.0)
extensions:
NoMonoLocalBinds
-- ----------------------------------------------------------------------
-- unit test driver
-- ----------------------------------------------------------------------
Executable darcs-test
main-is: test.hs
build-tools: ghc >= 6.10 && < 7.6
if !flag(test)
buildable: False
else
buildable: True
build-depends: extensible-exceptions >= 0.1 && < 0.2,
regex-compat >= 0.95.1,
mtl >= 1.0 && < 2.1,
parsec >= 2.0 && < 3.2,
html == 1.0.*,
filepath >= 1.1.0.0 && < 1.5.0.0,
QuickCheck >= 2.3,
HUnit >= 1.0,
cmdlib >= 0.2.1 && < 0.4,
shellish >= 0.1.3 && < 0.2,
test-framework >= 0.4.0,
test-framework-hunit >= 0.2.2,
test-framework-quickcheck2 >= 0.2.8
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
src/system_encoding.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.Examples.Set1
Darcs.Test.Patch.Examples.Set2Unwitnessed
Darcs.Test.Patch.WSub
Darcs.Test.Patch.Info
Darcs.Test.Patch.Properties.V1Set1
Darcs.Test.Patch.Properties.V1Set2
Darcs.Test.Patch.Properties.Generic
Darcs.Test.Patch.Properties.GenericUnwitnessed
Darcs.Test.Patch.Properties.Check
Darcs.Test.Patch.Properties.Real
Darcs.Test.Patch.Arbitrary.Generic
Darcs.Test.Patch.Arbitrary.Real
Darcs.Test.Patch.Arbitrary.PrimV1
Darcs.Test.Patch.Arbitrary.PrimV3
Darcs.Test.Patch.Arbitrary.PatchV1
Darcs.Test.Patch.RepoModel
Darcs.Test.Patch.Utils
Darcs.Test.Patch.V1Model
Darcs.Test.Patch.V3Model
Darcs.Test.Patch.WithState
Darcs.Test.Patch
Darcs.Test.Misc
Darcs.Test.Util.TestResult
Darcs.Test.Util.QuickCheck
if flag(optimize)
ghc-options: -O2
else
ghc-options: -O0
if flag(warn-as-error)
ghc-options: -Werror
-- Note: "if true" works around a cabal bug with order of flag composition
if true
ghc-options: -Wall -funbox-strict-fields -fwarn-tabs
ghc-prof-options: -prof -auto-all
if flag(threaded)
ghc-options: -threaded
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(hpc)
ghc-prof-options: -fhpc -hpcdir dist/hpc/darcs-test
cc-options: -D_REENTRANT
cpp-options: -DGADT_WITNESSES=1
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,
regex-posix >= 0.95.1
if os(solaris)
cc-options: -DHAVE_SIGINFO_H
if os(windows)
build-depends: base >= 4 && < 4.6
else
if flag(force-char8-encoding)
build-depends: base >= 4.5 && < 4.6
cpp-options: -DFORCE_CHAR8_ENCODING
else
build-depends: base >= 4 && < 4.4
if !os(windows)
build-depends: unix >= 1.0 && < 2.6
build-depends: bytestring >= 0.9.0 && < 0.10,
haskeline >= 0.6.3 && < 0.7,
text >= 0.11.0.6 && < 0.12.0.0,
old-time >= 1.0 && < 1.2,
directory >= 1.0.0.0 && < 1.2.0.0,
process >= 1.0.0.0 && < 1.2.0.0,
containers >= 0.1 && < 0.5,
array >= 0.1 && < 0.5,
hashed-storage >= 0.5.6 && < 0.6,
vector >= 0.7,
tar == 0.3.*,
random == 1.0.*
if flag(mmap) && !os(windows)
build-depends: mmap >= 0.5 && < 0.6
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(http)
build-depends: network >= 2.2 && < 2.4,
HTTP >= 4000.0.8 && < 4000.3
if flag(color)
x-use-color:
-- if true to work around cabal bug with flag ordering
if true
extensions:
CPP
BangPatterns
PatternGuards
GADTs
TypeOperators
FlexibleContexts
FlexibleInstances
ScopedTypeVariables
KindSignatures
RankNTypes
TypeFamilies
if impl(ghc>=7.0)
extensions:
NoMonoLocalBinds