Cabal-Version: 2.2 Name: darcs version: 2.16.2 License: GPL-2.0-or-later 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: Darcs was one of the first revision control systems in which 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, picking and choosing which patches are appropriate. . * Smart: Darcs is different from most revision control systems in that it is based on the notion of change (or patch), rather than version. An underlying algebra of patches determines whether changes can be re-ordered. The laws of this algebra guarantee that the result of merging depends only on the final set of patches applied in a repository and not on their order. . * Simple: As a consequence, Darcs offers a conceptually simpler view of the state of a repository: it is given by the set of patches it contains. Pulling and pushing patches merely transfers them from one set to another. So called "cherry-picking" is the default mode of operation, and it fully preserves the identity of patches. Homepage: http://darcs.net/ Build-Type: Custom extra-source-files: -- C files src/*.h src/win32/send_email.h contrib/cygwin-wrapper.bash contrib/darcs_completion contrib/darcs-errors.hlint contrib/_darcs.zsh contrib/runHLint.sh contrib/update_roundup.pl contrib/upload.cgi README.md CHANGELOG -- release data release/distributed-version release/distributed-context -- bundled shelly (the bare minimum required) shelly/LICENSE -- testsuite tests/data/*.tgz tests/data/README tests/data/cyrillic_import_stream tests/data/*.dpatch tests/data/example_binary.png tests/data/convert/darcs1/*.dpatch tests/data/convert/darcs2/*.dpatch tests/*.sh tests/README.test_maintainers.txt tests/bin/*.hs tests/network/httplib tests/network/sshlib tests/network/*.sh tests/lib harness/hstestdata.zip GNUmakefile source-repository head type: darcs location: http://darcs.net/ flag curl description: Use libcurl for HTTP support. default: False -- in future this could extend to any other external libraries, -- e.g. libiconv flag pkgconfig description: Use pkgconfig to configure libcurl default: False flag static description: Build static binary default: False manual: True flag terminfo description: Use the terminfo package for enhanced console support. flag threaded description: Use threading and SMP support. default: True manual: True flag executable description: Build darcs executable default: True manual: True flag rts default: False manual: True flag warn-as-error default: False manual: True description: Build with warnings-as-errors -- ---------------------------------------------------------------------- -- setup -- ---------------------------------------------------------------------- custom-setup setup-depends: base >= 4.10 && < 4.15, Cabal >= 2.2 && < 3.3, process >= 1.2.3.0 && < 1.7, filepath >= 1.4.1 && < 1.5.0.0, directory >= 1.2.7 && < 1.4 -- ---------------------------------------------------------------------- -- 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.Bundle Darcs.Patch.Choices Darcs.Patch.Commute Darcs.Patch.CommuteFn Darcs.Patch.CommuteNoConflicts Darcs.Patch.Conflict Darcs.Patch.Debug Darcs.Patch.Depends Darcs.Patch.Effect Darcs.Patch.FileHunk Darcs.Patch.Format Darcs.Patch.FromPrim Darcs.Patch.Ident Darcs.Patch.Index.Monad Darcs.Patch.Index.Types Darcs.Patch.Info Darcs.Patch.Inspect Darcs.Patch.Invert Darcs.Patch.Invertible Darcs.Patch.Match Darcs.Patch.Merge Darcs.Patch.MonadProgress Darcs.Patch.Named Darcs.Patch.Named.Wrapped Darcs.Patch.PatchInfoAnd Darcs.Patch.Permutations Darcs.Patch.Prim Darcs.Patch.Prim.Class Darcs.Patch.Prim.FileUUID Darcs.Patch.Prim.FileUUID.Apply Darcs.Patch.Prim.FileUUID.Coalesce Darcs.Patch.Prim.FileUUID.Commute Darcs.Patch.Prim.FileUUID.Core Darcs.Patch.Prim.FileUUID.Details Darcs.Patch.Prim.FileUUID.ObjectMap Darcs.Patch.Prim.FileUUID.Read Darcs.Patch.Prim.FileUUID.Show Darcs.Patch.Prim.Named 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.Mangle Darcs.Patch.Prim.V1.Read Darcs.Patch.Prim.V1.Show Darcs.Patch.Prim.WithName Darcs.Patch.Progress Darcs.Patch.Read Darcs.Patch.Rebase.Change Darcs.Patch.Rebase.Fixup Darcs.Patch.Rebase.Legacy.Item Darcs.Patch.Rebase.Name Darcs.Patch.Rebase.PushFixup Darcs.Patch.Rebase.Suspended Darcs.Patch.RegChars Darcs.Patch.Repair Darcs.Patch.RepoPatch Darcs.Patch.RepoType Darcs.Patch.Set Darcs.Patch.Show Darcs.Patch.Split Darcs.Patch.Summary Darcs.Patch.SummaryData Darcs.Patch.TokenReplace Darcs.Patch.TouchesFiles Darcs.Patch.Unwind Darcs.Patch.V1 Darcs.Patch.V1.Apply Darcs.Patch.V1.Commute Darcs.Patch.V1.Core Darcs.Patch.V1.Prim Darcs.Patch.V1.Read Darcs.Patch.V1.Show Darcs.Patch.V1.Viewing Darcs.Patch.V2 Darcs.Patch.V2.Non Darcs.Patch.V2.Prim Darcs.Patch.V2.RepoPatch Darcs.Patch.V3 Darcs.Patch.V3.Contexted Darcs.Patch.V3.Core Darcs.Patch.V3.Resolution Darcs.Patch.Viewing Darcs.Patch.Witnesses.Eq Darcs.Patch.Witnesses.Maybe Darcs.Patch.Witnesses.Ordered Darcs.Patch.Witnesses.Sealed Darcs.Patch.Witnesses.Show Darcs.Patch.Witnesses.Unsafe Darcs.Patch.Witnesses.WZipper Darcs.Prelude Darcs.Repository Darcs.Repository.ApplyPatches Darcs.Repository.Cache Darcs.Repository.Clone Darcs.Repository.Create Darcs.Repository.Diff Darcs.Repository.Flags Darcs.Repository.Format Darcs.Repository.Hashed Darcs.Repository.HashedIO Darcs.Repository.Identify Darcs.Repository.InternalTypes Darcs.Repository.Inventory Darcs.Repository.Job Darcs.Repository.Match Darcs.Repository.Merge Darcs.Repository.Old Darcs.Repository.Packs Darcs.Repository.PatchIndex Darcs.Repository.Paths Darcs.Repository.Pending Darcs.Repository.Prefs Darcs.Repository.Pristine Darcs.Repository.Rebase Darcs.Repository.Repair Darcs.Repository.Resolution Darcs.Repository.State Darcs.Repository.Test Darcs.Repository.Traverse Darcs.Repository.Working Darcs.Test.TestOnly Darcs.UI.ApplyPatches Darcs.UI.Commands Darcs.UI.Commands.Add Darcs.UI.Commands.Amend Darcs.UI.Commands.Annotate Darcs.UI.Commands.Apply Darcs.UI.Commands.Clone Darcs.UI.Commands.Convert Darcs.UI.Commands.Convert.Darcs2 Darcs.UI.Commands.Convert.Export Darcs.UI.Commands.Convert.Import Darcs.UI.Commands.Convert.Util 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.ShowContents Darcs.UI.Commands.ShowDependencies 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.Unrecord Darcs.UI.Commands.Unrevert Darcs.UI.Commands.Util Darcs.UI.Commands.Util.Tree Darcs.UI.Commands.WhatsNew Darcs.UI.Completion Darcs.UI.Defaults Darcs.UI.Email Darcs.UI.External 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.PatchHeader Darcs.UI.PrintPatch Darcs.UI.RunCommand Darcs.UI.SelectChanges Darcs.UI.TheCommands Darcs.UI.Usage Darcs.Util.AtExit Darcs.Util.ByteString Darcs.Util.CommandLine Darcs.Util.Compat 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.Encoding Darcs.Util.English Darcs.Util.Exception Darcs.Util.Exec Darcs.Util.External Darcs.Util.File Darcs.Util.Global Darcs.Util.Graph Darcs.Util.Hash Darcs.Util.HTTP Darcs.Util.Index Darcs.Util.IsoDate Darcs.Util.Lock Darcs.Util.Parser 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.Tree Darcs.Util.Tree.Hashed Darcs.Util.Tree.Monad Darcs.Util.Tree.Plain Darcs.Util.URL Darcs.Util.Workaround autogen-modules: Version other-modules: Version c-sources: src/atomic_create.c src/maybe_relink.c src/umask.c src/system_encoding.c -- see http://bugs.darcs.net/issue1037 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 -DHAVE_MAPI c-sources: src/win32/send_email.c build-depends: Win32 >= 2.4.0 && < 2.7 else build-depends: unix >= 2.7.1.0 && < 2.8 build-depends: base >= 4.10 && < 4.15, stm >= 2.1 && < 2.6, binary >= 0.5 && < 0.11, containers >= 0.5.6.2 && < 0.7, regex-compat-tdfa >= 0.95.1 && < 0.96, regex-applicative >= 0.2 && < 0.4, mtl >= 2.2.1 && < 2.3, transformers >= 0.4.2.0 && < 0.6, parsec >= 3.1.9 && < 3.2, fgl >= 5.5.2.3 && < 5.8, html >= 1.0.1.2 && < 1.1, filepath >= 1.4.1 && < 1.5.0.0, haskeline >= 0.7.2 && < 0.9, memory >= 0.14 && < 0.16, cryptonite >= 0.24 && < 0.28, base16-bytestring >= 0.1 && < 0.2, utf8-string >= 1 && < 1.1, vector >= 0.11 && < 0.13, tar >= 0.5 && < 0.6, data-ordlist == 0.4.*, attoparsec >= 0.13.0.1 && < 0.14, zip-archive >= 0.3 && < 0.5, async >= 2.0.2 && < 2.3, constraints >= 0.11 && < 0.13, sandi >= 0.4 && < 0.6, unix-compat >= 0.5 && < 0.6, bytestring >= 0.10.6 && < 0.11, old-time >= 1.1.0.3 && < 1.2, time >= 1.5.0.1 && < 1.10, text >= 1.2.1.3 && < 1.3, directory >= 1.2.7 && < 1.4, temporary >= 1.2.1 && < 1.4, process >= 1.2.3.0 && < 1.7, array >= 0.5.1.0 && < 0.6, hashable >= 1.2.3.3 && < 1.4, mmap >= 0.5.9 && < 0.6, zlib >= 0.6.1.2 && < 0.7.0.0, network-uri >= 2.6 && < 2.8, network >= 2.6 && < 3.2, conduit >= 1.3.0 && < 1.3.3, http-conduit >= 2.3 && < 2.4, http-types >= 0.12.1 && < 0.12.4 if flag(warn-as-error) ghc-options: -Werror ghc-options: -Wall -funbox-strict-fields -fwarn-tabs if flag(curl) other-modules: Darcs.Util.Download.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 -- The terminfo package cannot be built on Windows. if flag(terminfo) && !os(windows) build-depends: terminfo >= 0.4.0.2 && < 0.5 cpp-options: -DHAVE_TERMINFO default-extensions: BangPatterns ConstraintKinds DataKinds DefaultSignatures DeriveDataTypeable DeriveFunctor EmptyDataDecls FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving KindSignatures LambdaCase NoImplicitPrelude PatternGuards RankNTypes RecordWildCards RoleAnnotations ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications TypeFamilies TypeOperators -- this must come last because some of the -- other extensions imply MonoLocalBinds NoMonoLocalBinds -- ---------------------------------------------------------------------- -- darcs itself -- ---------------------------------------------------------------------- Executable darcs if !flag(executable) buildable: False else buildable: True default-language: Haskell2010 main-is: darcs.hs hs-source-dirs: darcs autogen-modules: Version other-modules: Version if flag(warn-as-error) ghc-options: -Werror ghc-options: -Wall -funbox-strict-fields -fwarn-tabs if flag(threaded) ghc-options: -threaded if flag(static) ghc-options: -static -optl-static -optl-pthread if flag(rts) ghc-options: -rtsopts -- see http://bugs.darcs.net/issue1037 cc-options: -D_REENTRANT build-depends: darcs, base default-extensions: NoImplicitPrelude -- ---------------------------------------------------------------------- -- 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, shelly/src if os(windows) cpp-options: -DWIN32 build-depends: Win32 >= 2.4.0 && < 2.7 build-depends: darcs, base, array, bytestring, cmdargs >= 0.10.10 && < 0.11, containers, constraints, filepath, mtl, transformers, split >= 0.2.2 && < 0.3, text, directory, FindBin >= 0.0.5 && < 0.1, QuickCheck >= 2.13 && < 2.14, leancheck >= 0.9 && < 0.10, HUnit >= 1.3 && < 1.7, test-framework >= 0.8.1.1 && < 0.9, test-framework-hunit >= 0.3.0.2 && < 0.4, test-framework-quickcheck2 >= 0.3.0.3 && < 0.4, test-framework-leancheck >= 0.0.1 && < 0.1, vector, zip-archive, -- additional dependencies needed by the shelly modules async, directory, exceptions >= 0.6, monad-control >= 0.3.2 && < 1.1, process, system-filepath >= 0.4.7 && < 0.5, system-fileio < 0.4, time, transformers-base, unix-compat, -- the tests shell out to a built darcs binary, so we depend on it to make -- sure that it's built. It's not actually required for build, just at runtime, -- but there isn't a way to express the latter and it seems harmless. build-tool-depends: darcs:darcs -- 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.HashedStorage Darcs.Test.Patch.Check Darcs.Test.Patch.Examples.Set1 Darcs.Test.Patch.Examples.Set2Unwitnessed Darcs.Test.Patch.Examples.Unwind 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.RepoPatch Darcs.Test.Patch.Properties.RepoPatchV3 Darcs.Test.Patch.Arbitrary.Generic Darcs.Test.Patch.Arbitrary.Named Darcs.Test.Patch.Arbitrary.NamedPrim Darcs.Test.Patch.Arbitrary.NamedPrimFileUUID Darcs.Test.Patch.Arbitrary.NamedPrimV1 Darcs.Test.Patch.Arbitrary.PatchTree Darcs.Test.Patch.Arbitrary.PrimFileUUID Darcs.Test.Patch.Arbitrary.PrimV1 Darcs.Test.Patch.Arbitrary.RepoPatch Darcs.Test.Patch.Arbitrary.RepoPatchV1 Darcs.Test.Patch.Arbitrary.RepoPatchV2 Darcs.Test.Patch.Arbitrary.RepoPatchV3 Darcs.Test.Patch.Arbitrary.Shrink Darcs.Test.Patch.Merge.Checked Darcs.Test.Patch.Rebase Darcs.Test.Patch.RepoModel Darcs.Test.Patch.Selection Darcs.Test.Patch.Utils Darcs.Test.Patch.V1Model Darcs.Test.Patch.FileUUIDModel Darcs.Test.Patch.Unwind Darcs.Test.Patch.WithState Darcs.Test.Patch Darcs.Test.Patch.RepoPatchV1 Darcs.Test.Misc Darcs.Test.Misc.CommandLine Darcs.Test.Misc.Encoding Darcs.Test.Misc.Graph Darcs.Test.Misc.URL Darcs.Test.Repository.Inventory Darcs.Test.TestOnly.Instance Darcs.Test.Util.TestResult Darcs.Test.Util.QuickCheck Shelly Shelly.Base Shelly.Find if flag(warn-as-error) ghc-options: -Werror ghc-options: -Wall -funbox-strict-fields -fwarn-tabs -fno-warn-orphans if flag(threaded) ghc-options: -threaded if flag(rts) ghc-options: -rtsopts -- see http://bugs.darcs.net/issue1037 cc-options: -D_REENTRANT default-extensions: AllowAmbiguousTypes BangPatterns ConstraintKinds DataKinds DefaultSignatures DeriveDataTypeable DeriveFunctor EmptyCase EmptyDataDecls FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiParamTypeClasses NoImplicitPrelude RankNTypes RoleAnnotations ScopedTypeVariables StandaloneDeriving TypeApplications TypeFamilies TypeOperators -- this must come last because some of the -- other extensions imply MonoLocalBinds NoMonoLocalBinds