Name: darcs version: 2.10.3 License: GPL License-file: COPYING Author: David Roundy , Maintainer: 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