Cabal revisions of darcs-2.10.3
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-Name: darcs-version: 2.10.3-License: GPL-License-file: COPYING-Author: David Roundy <droundy@darcs.net>, <darcs-devel@darcs.net>-Maintainer: <darcs-devel@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.10--extra-source-files:- -- C headers- src/*.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,-- README.md, CHANGELOG-- -- 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/renameHelper.hs- 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-- -- hashed-storage- hashed-storage/LICENSE- hashed-storage/testdata.zip-- GNUmakefile--source-repository head- type: darcs- location: http://darcs.net/--flag curl- description: Use libcurl for HTTP support.---- in future this could extend to any other external libraries,--- e.g. libiconv -flag pkgconfig- description: Use pkgconfig to configure libcurl- default: False--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 executable- description: Build darcs executable- default: True--flag hpc- default: False--flag rts- default: False---- 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- manual: True- description: Build with warnings-as-errors---- To allow building with containers < 0.5, we keep a local copy of this--- module.-flag use-local-data-map-strict- default: False- description: Support containers < 0.5, by using a local copy of the- Data.Map.Strict module from containers 0.5.---- Note that the Setup script checks whether -liconv is necessary. This flag--- lets us override that decision. When it is True, we use -liconv. When it--- is False, we run tests to decide.-flag libiconv- Description: Explicitly link against the libiconv library.- Default: False--flag hashed-storage-diff- default: False---- with time>=1.5 (needed with GHC 7.10) we get defaultTimeLocale from time:Data.Time--- with time<1.5 we get defaultTimeLocale from old-locale:System.Locale-flag use-time-1point5- default: True--flag network-uri- description: Get Network.URI from the network-uri package- default: True---- ------------------------------------------------------------------------- darcs library--- ------------------------------------------------------------------------Library- default-language: Haskell2010-- hs-source-dirs: src- include-dirs: src-- exposed-modules:- Darcs.Patch- Darcs.Patch.Annotate- Darcs.Patch.Apply- Darcs.Patch.ApplyMonad- Darcs.Patch.ApplyPatches- Darcs.Patch.Bracketed- Darcs.Patch.Bracketed.Instances- Darcs.Patch.Bundle- Darcs.Patch.Choices- Darcs.Patch.Commute- Darcs.Patch.CommuteFn- Darcs.Patch.Conflict- Darcs.Patch.ConflictMarking- Darcs.Patch.Debug- Darcs.Patch.Depends- Darcs.Patch.Dummy- Darcs.Patch.Effect- Darcs.Patch.FileHunk- Darcs.Patch.Index.Monad- Darcs.Patch.Index.Types- Darcs.Patch.Format- Darcs.Patch.Info- Darcs.Patch.Inspect- Darcs.Patch.Invert- Darcs.Patch.Match- Darcs.Patch.Matchable- Darcs.Patch.MaybeInternal- Darcs.Patch.Merge- Darcs.Patch.MonadProgress- 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.Progress- Darcs.Patch.Read- Darcs.Patch.Rebase- Darcs.Patch.Rebase.Fixup- Darcs.Patch.Rebase.Name- Darcs.Patch.Rebase.NameHack- Darcs.Patch.Rebase.Recontext- Darcs.Patch.Rebase.Viewing- 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.Type- 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.Patch.Witnesses.Eq- Darcs.Patch.Witnesses.Ordered- Darcs.Patch.Witnesses.Sealed- Darcs.Patch.Witnesses.Show- Darcs.Patch.Witnesses.Unsafe- Darcs.Patch.Witnesses.WZipper- Darcs.Repository- Darcs.Repository.ApplyPatches- Darcs.Repository.Cache- Darcs.Repository.PatchIndex- Darcs.Repository.Compat- Darcs.Repository.Diff- Darcs.Repository.External- Darcs.Repository.Flags- Darcs.Repository.Format- Darcs.Repository.HashedIO- Darcs.Repository.HashedRepo- Darcs.Repository.Internal- Darcs.Repository.Job- Darcs.Repository.Lock- Darcs.Repository.LowLevel- Darcs.Repository.Merge- Darcs.Repository.InternalTypes- Darcs.Repository.Match- Darcs.Repository.Motd- Darcs.Repository.Old- Darcs.Repository.Prefs- Darcs.Repository.Rebase- Darcs.Repository.Repair- Darcs.Repository.Read- Darcs.Repository.Resolution- Darcs.Repository.Ssh- Darcs.Repository.State- Darcs.Repository.Test- Darcs.Repository.Util- Darcs.UI.ApplyPatches- Darcs.UI.Commands- Darcs.UI.Commands.Add- Darcs.UI.Commands.Amend- Darcs.UI.Commands.Annotate- Darcs.UI.Commands.Apply- Darcs.UI.CommandsAux- Darcs.UI.Commands.Clone- Darcs.UI.Commands.Convert- Darcs.UI.Commands.Diff- Darcs.UI.Commands.Dist- Darcs.UI.Commands.GZCRCs- Darcs.UI.Commands.Help- Darcs.UI.Commands.Init- Darcs.UI.Commands.Log- Darcs.UI.Commands.MarkConflicts- Darcs.UI.Commands.Move- Darcs.UI.Commands.Optimize- Darcs.UI.Commands.Pull- Darcs.UI.Commands.Push- Darcs.UI.Commands.Rebase- Darcs.UI.Commands.Record- Darcs.UI.Commands.Remove- Darcs.UI.Commands.Repair- Darcs.UI.Commands.Replace- Darcs.UI.Commands.Revert- Darcs.UI.Commands.Rollback- Darcs.UI.Commands.Send- Darcs.UI.Commands.SetPref- Darcs.UI.Commands.Show- Darcs.UI.Commands.ShowAuthors- Darcs.UI.Commands.ShowBug- Darcs.UI.Commands.ShowContents- Darcs.UI.Commands.ShowFiles- Darcs.UI.Commands.ShowIndex- Darcs.UI.Commands.ShowPatchIndex- Darcs.UI.Commands.ShowRepo- Darcs.UI.Commands.ShowTags- Darcs.UI.Commands.Tag- Darcs.UI.Commands.Test- Darcs.UI.Commands.TransferMode- Darcs.UI.Commands.Util- Darcs.UI.Commands.Util.Tree- Darcs.UI.Commands.Unrecord- Darcs.UI.Commands.Unrevert- Darcs.UI.Commands.WhatsNew- Darcs.UI.Email- Darcs.UI.External- Darcs.UI.Defaults- Darcs.UI.Flags- Darcs.UI.Options- Darcs.UI.Options.All- Darcs.UI.Options.Core- Darcs.UI.Options.Flags- Darcs.UI.Options.Iso- Darcs.UI.Options.Markdown- Darcs.UI.Options.Matching- Darcs.UI.Options.Util- Darcs.UI.PrintPatch- Darcs.UI.RemoteApply- Darcs.UI.RunCommand- Darcs.UI.SelectChanges- Darcs.UI.TheCommands- Darcs.UI.Usage- Darcs.UI.Message.Send- Darcs.Util.AtExit- Darcs.Util.Bug- Darcs.Util.ByteString- Darcs.Util.CommandLine- Darcs.Util.Crypt.SHA1- Darcs.Util.Crypt.SHA256- Darcs.Util.DateMatcher- Darcs.Util.DateTime- Darcs.Util.Diff- Darcs.Util.Diff.Myers- Darcs.Util.Diff.Patience- Darcs.Util.Download- Darcs.Util.Download.Request- Darcs.Util.Download.HTTP- Darcs.Util.English- Darcs.Util.Environment- Darcs.Util.Exception- Darcs.Util.Exec- Darcs.Util.File- Darcs.Util.Global- Darcs.Util.IsoDate- Darcs.Util.Path- Darcs.Util.Printer- Darcs.Util.Printer.Color- Darcs.Util.Progress- Darcs.Util.Prompt- Darcs.Util.Ratified- Darcs.Util.Show- Darcs.Util.SignalHandler- Darcs.Util.Ssh- Darcs.Util.Text- Darcs.Util.URL- Darcs.Util.Workaround-- other-modules: Version- Darcs.Util.Download.Curl- Darcs.Util.Encoding-- c-sources: src/atomic_create.c- src/fpstring.c- src/maybe_relink.c- src/umask.c- src/system_encoding.c-- cc-options: -D_REENTRANT-- if os(windows)- hs-source-dirs: src/win32- include-dirs: src/win32- other-modules: Darcs.Util.CtrlC- Darcs.Util.Encoding.Win32- -- These are kept outside the Darcs.* namespace as System.Posix- -- is well-established and its just trying to simulate that- -- TODO try to abstract this out better- 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 && < 0.5,- Win32 >= 2.2 && < 2.4- else- other-modules: Darcs.Util.Encoding.IConv- c-sources: src/h_iconv.c-- if flag(use-local-data-map-strict)- build-depends: containers >= 0.4 && < 0.5,- deepseq >= 1.3 && < 1.4- hs-source-dirs: containers-0.5.2.1- other-modules:- Darcs.Data.Map.Base- Darcs.Data.Map.Strict- Darcs.Data.Set.Base- Darcs.Data.StrictPair- cpp-options: -DUSE_LOCAL_DATA_MAP_STRICT- else- build-depends: containers >= 0.5 && < 0.6-- if os(solaris)- cc-options: -DHAVE_SIGINFO_H-- build-depends: base >= 4.5 && < 4.9-- build-depends: binary >= 0.5 && < 0.9,- regex-compat-tdfa >= 0.95.1 && < 0.96,- regex-applicative >= 0.2 && < 0.4,- mtl >= 2.1 && < 2.3,- transformers >= 0.3 && < 0.4.0.0 || > 0.4.0.0 && < 0.6,- -- for the Control.Monad.Error -> Control.Monad.Except- -- transition- transformers-compat >= 0.4 && < 0.6,- parsec >= 3.1 && < 3.2,- html == 1.0.*,- filepath >= 1.2.0.0 && < 1.5.0.0,- haskeline >= 0.6.3 && < 0.8,- cryptohash >= 0.4 && < 0.12,- base16-bytestring >= 0.1 && < 0.2,- utf8-string >= 0.3.6 && < 1.1,- vector >= 0.7 && < 0.12,- tar >= 0.4 && < 0.6,- data-ordlist == 0.4.*,- attoparsec >= 0.11 && < 0.14,- zip-archive >= 0.2.3 && < 0.3-- if !os(windows)- build-depends: unix >= 2.5 && < 2.8-- build-depends: bytestring >= 0.9.0 && < 0.11,- old-time >= 1.1 && < 1.2,- directory >= 1.1.0.2 && < 1.3.0.0,- process >= 1.1.0.1 && < 1.5.0.0,- array >= 0.4 && < 0.6,- random >= 1.0 && < 1.2,- hashable >= 1.0 && < 1.3-- -- release notes of GHC 7.10.2 recommends to use text >= 1.2.1.3:- -- https://mail.haskell.org/pipermail/haskell/2015-July/024641.html- if impl(ghc>=7.10)- build-depends: text >= 1.2.1.3 && < 1.3- else- build-depends: text >= 0.11.3.1 && < 1.3-- if flag(use-time-1point5)- build-depends: time >= 1.5 && < 1.7- else- build-depends: time >= 1.4 && < 1.5,- old-locale >= 1.0 && < 1.1-- 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(rts)- ghc-options: -rtsopts-- if flag(curl)- cpp-options: -DHAVE_CURL- c-sources: src/hscurl.c- cc-options: -DHAVE_CURL- if flag(pkgconfig)- pkgconfig-depends: libcurl- else- extra-libraries: curl- includes: curl/curl.h-- if flag(http)- if flag(network-uri)- build-depends: network-uri == 2.6.*, network == 2.6.*- else- build-depends: network >= 2.3 && < 2.6- build-depends: HTTP >= 4000.2.3 && < 4000.4- cpp-options: -DHAVE_HTTP- x-have-http:-- if (!flag(curl) && !flag(http))- buildable: False-- build-depends: mmap >= 0.5 && < 0.6-- build-depends: zlib >= 0.5.3.0 && < 0.7.0.0-- -- The terminfo package cannot be built on Windows.- if flag(terminfo) && !os(windows)- build-depends: terminfo >= 0.3 && < 0.5- cpp-options: -DHAVE_TERMINFO-- -- if true to work around cabal bug with flag ordering- if true- default-extensions:- BangPatterns- PatternGuards- GADTs- TypeOperators- FlexibleContexts- FlexibleInstances- ScopedTypeVariables- KindSignatures- RankNTypes- TypeFamilies- NoMonoLocalBinds-- if impl(ghc>=7.6)- -- in ghc < 7.6 we need to import Prelude hiding (catch)- -- in ghc >= 7.6 catch isn't in Prelude- -- once the minimum version of ghc is >= 7.6 we can remove the hiding- -- clauses and this flag- ghc-options: -fno-warn-dodgy-imports--- -- hashed-storage inclusion- hs-source-dirs: hashed-storage-- exposed-modules:- Storage.Hashed- Storage.Hashed.AnchoredPath- Storage.Hashed.Index- Storage.Hashed.Monad- Storage.Hashed.Tree- Storage.Hashed.Hash- Storage.Hashed.Packed-- Storage.Hashed.Plain- Storage.Hashed.Darcs-- if flag(hashed-storage-diff)- exposed-modules:- Storage.Hashed.Diff- build-depends: lcs-- other-modules:- Bundled.Posix- Storage.Hashed.Utils-- build-depends: sandi >= 0.2 && < 0.4,- unix-compat >= 0.1.2 && < 0.5,- cryptohash >= 0.4 && < 0.12-- if os(windows)- cpp-options: -DWIN32- build-depends: Win32 >= 2.2 && < 2.4-- -- end of hashed-storage inclusion---- ------------------------------------------------------------------------- darcs itself--- ------------------------------------------------------------------------Executable darcs- if !flag(executable)- buildable: False- else- buildable: True-- default-language: Haskell2010-- main-is: darcs.hs- hs-source-dirs: darcs-- 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-- if flag(rts)- ghc-options: -rtsopts-- cc-options: -D_REENTRANT-- build-depends: base >= 4.5 && < 4.9-- build-depends: darcs,- filepath >= 1.2.0.0 && < 1.5.0.0,- regex-compat-tdfa >= 0.95.1 && < 0.96-- -- if true to work around cabal bug with flag ordering- if true- default-extensions:- BangPatterns- PatternGuards- GADTs- TypeOperators- FlexibleContexts- FlexibleInstances- ScopedTypeVariables- KindSignatures- RankNTypes- TypeFamilies- NoMonoLocalBinds---- ------------------------------------------------------------------------- unit test driver--- ------------------------------------------------------------------------test-suite darcs-test- buildable: True- type: exitcode-stdio-1.0- default-language: Haskell2010- main-is: test.hs- hs-source-dirs: harness-- build-depends: base >= 4.5 && < 4.9-- if os(windows)- cpp-options: -DWIN32-- build-depends: darcs,- array >= 0.4 && < 0.6,- bytestring >= 0.9.0 && < 0.11,- cmdargs >= 0.10 && < 0.11,- containers >= 0.1 && < 0.6,- filepath >= 1.2.0.0 && < 1.5.0.0,- html == 1.0.*,- mtl >= 2.1 && < 2.3,- parsec >= 3.1 && < 3.2,- regex-compat-tdfa >= 0.95.1 && < 0.96,- shelly >= 1.6.2 && < 1.7,- split >= 0.1.4.1 && < 0.3,- directory >= 1.1.0.2 && < 1.3.0.0,- FindBin >= 0.0 && < 0.1,- QuickCheck >= 2.3 && < 2.9,- HUnit >= 1.0 && < 1.4,- test-framework >= 0.4.0 && < 0.9,- test-framework-hunit >= 0.2.2 && < 0.4,- test-framework-quickcheck2 >= 0.3 && < 0.4-- -- release notes of GHC 7.10.2 recommends to use text >= 1.2.1.3:- -- https://mail.haskell.org/pipermail/haskell/2015-July/024641.html- if impl(ghc>=7.10)- build-depends: text >= 1.2.1.3 && < 1.3- else- build-depends: text >= 0.11.3.1 && < 1.3-- -- 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.Rebase- 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(hpc)- ghc-prof-options: -fhpc -hpcdir dist/hpc/darcs-test-- if flag(rts)- ghc-options: -rtsopts-- cc-options: -D_REENTRANT-- -- if true to work around cabal bug with flag ordering- if true- default-extensions:- BangPatterns- PatternGuards- GADTs- TypeOperators- FlexibleContexts- FlexibleInstances- ScopedTypeVariables- KindSignatures- RankNTypes- TypeFamilies- NoMonoLocalBinds---- hashed-storage inclusion-test-suite hashed-storage-test- buildable: True- type: exitcode-stdio-1.0- default-language: Haskell2010-- hs-source-dirs: hashed-storage-- ghc-options: -Wall -O2 -fwarn-tabs- ghc-prof-options: -prof -auto-all -O2-- if flag(hpc)- ghc-prof-options: -fhpc-- if flag(warn-as-error)- ghc-options: -Werror-- if impl(ghc>=7.6)- -- in ghc < 7.6 we need to import Prelude hiding (catch)- -- in ghc >= 7.6 catch isn't in Prelude- -- once the minimum version of ghc is >= 7.6 we can remove the hiding- -- clauses and this flag- ghc-options: -fno-warn-dodgy-imports-- main-is: test.hs- other-modules: Bundled.Posix- Storage.Hashed.Test-- if os(windows)- cpp-options: -DWIN32- build-depends: Win32 >= 2.2 && < 2.4-- -- hashed-storage inclusion: duplicated these from the library -- -- probably needed because of the higher cabal-version in darcs.cabal- -- not using version constraints here to save on maintaining duplicates,- -- since these packages are all constrained elsewhere in the cabal file.- build-depends: base,- containers,- mtl,- directory,- filepath,- bytestring,- sandi,- cryptohash,- binary,- zlib,- mmap,- unix-compat-- build-depends: test-framework,- test-framework-hunit,- test-framework-quickcheck2,- QuickCheck,- HUnit,- process,- zip-archive---- end of hashed-storage inclusion+Name: darcs +version: 2.10.3 +x-revision: 1 +License: GPL +License-file: COPYING +Author: David Roundy <droundy@darcs.net>, <darcs-devel@darcs.net> +Maintainer: <darcs-devel@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.10 + +extra-source-files: + -- C headers + src/*.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, + + README.md, CHANGELOG + + -- 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/renameHelper.hs + 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 + + -- hashed-storage + hashed-storage/LICENSE + hashed-storage/testdata.zip + + GNUmakefile + +source-repository head + type: darcs + location: http://darcs.net/ + +flag curl + description: Use libcurl for HTTP support. + +-- in future this could extend to any other external libraries, +-- e.g. libiconv +flag pkgconfig + description: Use pkgconfig to configure libcurl + default: False + +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 executable + description: Build darcs executable + default: True + +flag hpc + default: False + +flag rts + default: False + +-- 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 + manual: True + description: Build with warnings-as-errors + +-- To allow building with containers < 0.5, we keep a local copy of this +-- module. +flag use-local-data-map-strict + default: False + description: Support containers < 0.5, by using a local copy of the + Data.Map.Strict module from containers 0.5. + +-- Note that the Setup script checks whether -liconv is necessary. This flag +-- lets us override that decision. When it is True, we use -liconv. When it +-- is False, we run tests to decide. +flag libiconv + Description: Explicitly link against the libiconv library. + Default: False + +flag hashed-storage-diff + default: False + +-- with time>=1.5 (needed with GHC 7.10) we get defaultTimeLocale from time:Data.Time +-- with time<1.5 we get defaultTimeLocale from old-locale:System.Locale +flag use-time-1point5 + default: True + +flag network-uri + description: Get Network.URI from the network-uri package + default: True + +-- ---------------------------------------------------------------------- +-- darcs library +-- ---------------------------------------------------------------------- + +Library + default-language: Haskell2010 + + hs-source-dirs: src + include-dirs: src + + exposed-modules: + Darcs.Patch + Darcs.Patch.Annotate + Darcs.Patch.Apply + Darcs.Patch.ApplyMonad + Darcs.Patch.ApplyPatches + Darcs.Patch.Bracketed + Darcs.Patch.Bracketed.Instances + Darcs.Patch.Bundle + Darcs.Patch.Choices + Darcs.Patch.Commute + Darcs.Patch.CommuteFn + Darcs.Patch.Conflict + Darcs.Patch.ConflictMarking + Darcs.Patch.Debug + Darcs.Patch.Depends + Darcs.Patch.Dummy + Darcs.Patch.Effect + Darcs.Patch.FileHunk + Darcs.Patch.Index.Monad + Darcs.Patch.Index.Types + Darcs.Patch.Format + Darcs.Patch.Info + Darcs.Patch.Inspect + Darcs.Patch.Invert + Darcs.Patch.Match + Darcs.Patch.Matchable + Darcs.Patch.MaybeInternal + Darcs.Patch.Merge + Darcs.Patch.MonadProgress + 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.Progress + Darcs.Patch.Read + Darcs.Patch.Rebase + Darcs.Patch.Rebase.Fixup + Darcs.Patch.Rebase.Name + Darcs.Patch.Rebase.NameHack + Darcs.Patch.Rebase.Recontext + Darcs.Patch.Rebase.Viewing + 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.Type + 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.Patch.Witnesses.Eq + Darcs.Patch.Witnesses.Ordered + Darcs.Patch.Witnesses.Sealed + Darcs.Patch.Witnesses.Show + Darcs.Patch.Witnesses.Unsafe + Darcs.Patch.Witnesses.WZipper + Darcs.Repository + Darcs.Repository.ApplyPatches + Darcs.Repository.Cache + Darcs.Repository.PatchIndex + Darcs.Repository.Compat + Darcs.Repository.Diff + Darcs.Repository.External + Darcs.Repository.Flags + Darcs.Repository.Format + Darcs.Repository.HashedIO + Darcs.Repository.HashedRepo + Darcs.Repository.Internal + Darcs.Repository.Job + Darcs.Repository.Lock + Darcs.Repository.LowLevel + Darcs.Repository.Merge + Darcs.Repository.InternalTypes + Darcs.Repository.Match + Darcs.Repository.Motd + Darcs.Repository.Old + Darcs.Repository.Prefs + Darcs.Repository.Rebase + Darcs.Repository.Repair + Darcs.Repository.Read + Darcs.Repository.Resolution + Darcs.Repository.Ssh + Darcs.Repository.State + Darcs.Repository.Test + Darcs.Repository.Util + Darcs.UI.ApplyPatches + Darcs.UI.Commands + Darcs.UI.Commands.Add + Darcs.UI.Commands.Amend + Darcs.UI.Commands.Annotate + Darcs.UI.Commands.Apply + Darcs.UI.CommandsAux + Darcs.UI.Commands.Clone + Darcs.UI.Commands.Convert + Darcs.UI.Commands.Diff + Darcs.UI.Commands.Dist + Darcs.UI.Commands.GZCRCs + Darcs.UI.Commands.Help + Darcs.UI.Commands.Init + Darcs.UI.Commands.Log + Darcs.UI.Commands.MarkConflicts + Darcs.UI.Commands.Move + Darcs.UI.Commands.Optimize + Darcs.UI.Commands.Pull + Darcs.UI.Commands.Push + Darcs.UI.Commands.Rebase + Darcs.UI.Commands.Record + Darcs.UI.Commands.Remove + Darcs.UI.Commands.Repair + Darcs.UI.Commands.Replace + Darcs.UI.Commands.Revert + Darcs.UI.Commands.Rollback + Darcs.UI.Commands.Send + Darcs.UI.Commands.SetPref + Darcs.UI.Commands.Show + Darcs.UI.Commands.ShowAuthors + Darcs.UI.Commands.ShowBug + Darcs.UI.Commands.ShowContents + Darcs.UI.Commands.ShowFiles + Darcs.UI.Commands.ShowIndex + Darcs.UI.Commands.ShowPatchIndex + Darcs.UI.Commands.ShowRepo + Darcs.UI.Commands.ShowTags + Darcs.UI.Commands.Tag + Darcs.UI.Commands.Test + Darcs.UI.Commands.TransferMode + Darcs.UI.Commands.Util + Darcs.UI.Commands.Util.Tree + Darcs.UI.Commands.Unrecord + Darcs.UI.Commands.Unrevert + Darcs.UI.Commands.WhatsNew + Darcs.UI.Email + Darcs.UI.External + Darcs.UI.Defaults + Darcs.UI.Flags + Darcs.UI.Options + Darcs.UI.Options.All + Darcs.UI.Options.Core + Darcs.UI.Options.Flags + Darcs.UI.Options.Iso + Darcs.UI.Options.Markdown + Darcs.UI.Options.Matching + Darcs.UI.Options.Util + Darcs.UI.PrintPatch + Darcs.UI.RemoteApply + Darcs.UI.RunCommand + Darcs.UI.SelectChanges + Darcs.UI.TheCommands + Darcs.UI.Usage + Darcs.UI.Message.Send + Darcs.Util.AtExit + Darcs.Util.Bug + Darcs.Util.ByteString + Darcs.Util.CommandLine + Darcs.Util.Crypt.SHA1 + Darcs.Util.Crypt.SHA256 + Darcs.Util.DateMatcher + Darcs.Util.DateTime + Darcs.Util.Diff + Darcs.Util.Diff.Myers + Darcs.Util.Diff.Patience + Darcs.Util.Download + Darcs.Util.Download.Request + Darcs.Util.Download.HTTP + Darcs.Util.English + Darcs.Util.Environment + Darcs.Util.Exception + Darcs.Util.Exec + Darcs.Util.File + Darcs.Util.Global + Darcs.Util.IsoDate + Darcs.Util.Path + Darcs.Util.Printer + Darcs.Util.Printer.Color + Darcs.Util.Progress + Darcs.Util.Prompt + Darcs.Util.Ratified + Darcs.Util.Show + Darcs.Util.SignalHandler + Darcs.Util.Ssh + Darcs.Util.Text + Darcs.Util.URL + Darcs.Util.Workaround + + other-modules: Version + Darcs.Util.Download.Curl + Darcs.Util.Encoding + + c-sources: src/atomic_create.c + src/fpstring.c + src/maybe_relink.c + src/umask.c + src/system_encoding.c + + cc-options: -D_REENTRANT + + if os(windows) + hs-source-dirs: src/win32 + include-dirs: src/win32 + other-modules: Darcs.Util.CtrlC + Darcs.Util.Encoding.Win32 + -- These are kept outside the Darcs.* namespace as System.Posix + -- is well-established and its just trying to simulate that + -- TODO try to abstract this out better + 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 && < 0.5, + Win32 >= 2.2 && < 2.4 + else + other-modules: Darcs.Util.Encoding.IConv + c-sources: src/h_iconv.c + + if flag(use-local-data-map-strict) + build-depends: containers >= 0.4 && < 0.5, + deepseq >= 1.3 && < 1.4 + hs-source-dirs: containers-0.5.2.1 + other-modules: + Darcs.Data.Map.Base + Darcs.Data.Map.Strict + Darcs.Data.Set.Base + Darcs.Data.StrictPair + cpp-options: -DUSE_LOCAL_DATA_MAP_STRICT + else + build-depends: containers >= 0.5 && < 0.6 + + if os(solaris) + cc-options: -DHAVE_SIGINFO_H + + build-depends: base >= 4.5 && < 4.9 + + build-depends: binary >= 0.5 && < 0.9, + regex-compat-tdfa >= 0.95.1 && < 0.96, + regex-applicative >= 0.2 && < 0.4, + mtl >= 2.1 && < 2.3, + transformers >= 0.3 && < 0.4.0.0 || > 0.4.0.0 && < 0.6, + -- for the Control.Monad.Error -> Control.Monad.Except + -- transition + transformers-compat >= 0.4 && < 0.6, + parsec >= 3.1 && < 3.2, + html == 1.0.*, + filepath >= 1.2.0.0 && < 1.5.0.0, + haskeline >= 0.6.3 && < 0.8, + cryptohash >= 0.4 && < 0.12, + base16-bytestring >= 0.1 && < 0.2, + utf8-string >= 0.3.6 && < 1.1, + vector >= 0.7 && < 0.12, + tar >= 0.4 && < 0.6, + data-ordlist == 0.4.*, + attoparsec >= 0.11 && < 0.14, + zip-archive >= 0.2.3 && < 0.4 + + if !os(windows) + build-depends: unix >= 2.5 && < 2.8 + + build-depends: bytestring >= 0.9.0 && < 0.11, + old-time >= 1.1 && < 1.2, + directory >= 1.1.0.2 && < 1.3.0.0, + process >= 1.1.0.1 && < 1.5.0.0, + array >= 0.4 && < 0.6, + random >= 1.0 && < 1.2, + hashable >= 1.0 && < 1.3 + + -- release notes of GHC 7.10.2 recommends to use text >= 1.2.1.3: + -- https://mail.haskell.org/pipermail/haskell/2015-July/024641.html + if impl(ghc>=7.10) + build-depends: text >= 1.2.1.3 && < 1.3 + else + build-depends: text >= 0.11.3.1 && < 1.3 + + if flag(use-time-1point5) + build-depends: time >= 1.5 && < 1.7 + else + build-depends: time >= 1.4 && < 1.5, + old-locale >= 1.0 && < 1.1 + + 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(rts) + ghc-options: -rtsopts + + if flag(curl) + cpp-options: -DHAVE_CURL + c-sources: src/hscurl.c + cc-options: -DHAVE_CURL + if flag(pkgconfig) + pkgconfig-depends: libcurl + else + extra-libraries: curl + includes: curl/curl.h + + if flag(http) + if flag(network-uri) + build-depends: network-uri == 2.6.*, network == 2.6.* + else + build-depends: network >= 2.3 && < 2.6 + build-depends: HTTP >= 4000.2.3 && < 4000.4 + cpp-options: -DHAVE_HTTP + x-have-http: + + if (!flag(curl) && !flag(http)) + buildable: False + + build-depends: mmap >= 0.5 && < 0.6 + + build-depends: zlib >= 0.5.3.0 && < 0.7.0.0 + + -- The terminfo package cannot be built on Windows. + if flag(terminfo) && !os(windows) + build-depends: terminfo >= 0.3 && < 0.5 + cpp-options: -DHAVE_TERMINFO + + -- if true to work around cabal bug with flag ordering + if true + default-extensions: + BangPatterns + PatternGuards + GADTs + TypeOperators + FlexibleContexts + FlexibleInstances + ScopedTypeVariables + KindSignatures + RankNTypes + TypeFamilies + NoMonoLocalBinds + + if impl(ghc>=7.6) + -- in ghc < 7.6 we need to import Prelude hiding (catch) + -- in ghc >= 7.6 catch isn't in Prelude + -- once the minimum version of ghc is >= 7.6 we can remove the hiding + -- clauses and this flag + ghc-options: -fno-warn-dodgy-imports + + + -- hashed-storage inclusion + hs-source-dirs: hashed-storage + + exposed-modules: + Storage.Hashed + Storage.Hashed.AnchoredPath + Storage.Hashed.Index + Storage.Hashed.Monad + Storage.Hashed.Tree + Storage.Hashed.Hash + Storage.Hashed.Packed + + Storage.Hashed.Plain + Storage.Hashed.Darcs + + if flag(hashed-storage-diff) + exposed-modules: + Storage.Hashed.Diff + build-depends: lcs + + other-modules: + Bundled.Posix + Storage.Hashed.Utils + + build-depends: sandi >= 0.2 && < 0.4, + unix-compat >= 0.1.2 && < 0.5, + cryptohash >= 0.4 && < 0.12 + + if os(windows) + cpp-options: -DWIN32 + build-depends: Win32 >= 2.2 && < 2.4 + + -- end of hashed-storage inclusion + +-- ---------------------------------------------------------------------- +-- darcs itself +-- ---------------------------------------------------------------------- + +Executable darcs + if !flag(executable) + buildable: False + else + buildable: True + + default-language: Haskell2010 + + main-is: darcs.hs + hs-source-dirs: darcs + + 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 + + if flag(rts) + ghc-options: -rtsopts + + cc-options: -D_REENTRANT + + build-depends: base >= 4.5 && < 4.9 + + build-depends: darcs, + filepath >= 1.2.0.0 && < 1.5.0.0, + regex-compat-tdfa >= 0.95.1 && < 0.96 + + -- if true to work around cabal bug with flag ordering + if true + default-extensions: + BangPatterns + PatternGuards + GADTs + TypeOperators + FlexibleContexts + FlexibleInstances + ScopedTypeVariables + KindSignatures + RankNTypes + TypeFamilies + NoMonoLocalBinds + +-- ---------------------------------------------------------------------- +-- unit test driver +-- ---------------------------------------------------------------------- + +test-suite darcs-test + buildable: True + type: exitcode-stdio-1.0 + default-language: Haskell2010 + main-is: test.hs + hs-source-dirs: harness + + build-depends: base >= 4.5 && < 4.9 + + if os(windows) + cpp-options: -DWIN32 + + build-depends: darcs, + array >= 0.4 && < 0.6, + bytestring >= 0.9.0 && < 0.11, + cmdargs >= 0.10 && < 0.11, + containers >= 0.1 && < 0.6, + filepath >= 1.2.0.0 && < 1.5.0.0, + html == 1.0.*, + mtl >= 2.1 && < 2.3, + parsec >= 3.1 && < 3.2, + regex-compat-tdfa >= 0.95.1 && < 0.96, + shelly >= 1.6.2 && < 1.7, + split >= 0.1.4.1 && < 0.3, + directory >= 1.1.0.2 && < 1.3.0.0, + FindBin >= 0.0 && < 0.1, + QuickCheck >= 2.3 && < 2.9, + HUnit >= 1.0 && < 1.4, + test-framework >= 0.4.0 && < 0.9, + test-framework-hunit >= 0.2.2 && < 0.4, + test-framework-quickcheck2 >= 0.3 && < 0.4 + + -- release notes of GHC 7.10.2 recommends to use text >= 1.2.1.3: + -- https://mail.haskell.org/pipermail/haskell/2015-July/024641.html + if impl(ghc>=7.10) + build-depends: text >= 1.2.1.3 && < 1.3 + else + build-depends: text >= 0.11.3.1 && < 1.3 + + -- 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.Rebase + 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(hpc) + ghc-prof-options: -fhpc -hpcdir dist/hpc/darcs-test + + if flag(rts) + ghc-options: -rtsopts + + cc-options: -D_REENTRANT + + -- if true to work around cabal bug with flag ordering + if true + default-extensions: + BangPatterns + PatternGuards + GADTs + TypeOperators + FlexibleContexts + FlexibleInstances + ScopedTypeVariables + KindSignatures + RankNTypes + TypeFamilies + NoMonoLocalBinds + +-- hashed-storage inclusion +test-suite hashed-storage-test + buildable: True + type: exitcode-stdio-1.0 + default-language: Haskell2010 + + hs-source-dirs: hashed-storage + + ghc-options: -Wall -O2 -fwarn-tabs + ghc-prof-options: -prof -auto-all -O2 + + if flag(hpc) + ghc-prof-options: -fhpc + + if flag(warn-as-error) + ghc-options: -Werror + + if impl(ghc>=7.6) + -- in ghc < 7.6 we need to import Prelude hiding (catch) + -- in ghc >= 7.6 catch isn't in Prelude + -- once the minimum version of ghc is >= 7.6 we can remove the hiding + -- clauses and this flag + ghc-options: -fno-warn-dodgy-imports + + main-is: test.hs + other-modules: Bundled.Posix + Storage.Hashed.Test + + if os(windows) + cpp-options: -DWIN32 + build-depends: Win32 >= 2.2 && < 2.4 + + -- hashed-storage inclusion: duplicated these from the library - + -- probably needed because of the higher cabal-version in darcs.cabal + -- not using version constraints here to save on maintaining duplicates, + -- since these packages are all constrained elsewhere in the cabal file. + build-depends: base, + containers, + mtl, + directory, + filepath, + bytestring, + sandi, + cryptohash, + binary, + zlib, + mmap, + unix-compat + + build-depends: test-framework, + test-framework-hunit, + test-framework-quickcheck2, + QuickCheck, + HUnit, + process, + zip-archive + +-- end of hashed-storage inclusion