20e2464
Name:           darcs
20e2464
version:        2.14.2
20e2464
x-revision: 1
20e2464
License:        GPL-2
20e2464
License-file:   COPYING
20e2464
Author:         David Roundy <droundy@darcs.net>, <darcs-devel@darcs.net>
20e2464
Maintainer:     <darcs-devel@darcs.net>
20e2464
20e2464
Stability:      Experimental
20e2464
Category:       Development
20e2464
Synopsis:       a distributed, interactive, smart revision control system
20e2464
Description:    Darcs is a free, open source revision control
20e2464
                system. It is:
20e2464
                .
20e2464
                * Distributed: Every user has access to the full
20e2464
                  command set, removing boundaries between server and
20e2464
                  client or committer and non-committers.
20e2464
                .
20e2464
                * Interactive: Darcs is easy to learn and efficient to
20e2464
                  use because it asks you questions in response to
20e2464
                  simple commands, giving you choices in your work
20e2464
                  flow. You can choose to record one change in a file,
20e2464
                  while ignoring another. As you update from upstream,
20e2464
                  you can review each patch name, even the full "diff"
20e2464
                  for interesting patches.
20e2464
                .
20e2464
                * Smart: Originally developed by physicist David
20e2464
                  Roundy, darcs is based on a unique algebra of
20e2464
                  patches.
20e2464
                .
20e2464
                  This smartness lets you respond to changing demands
20e2464
                  in ways that would otherwise not be possible. Learn
20e2464
                  more about spontaneous branches with darcs.
20e2464
Homepage:       http://darcs.net/
20e2464
20e2464
Build-Type:     Custom
20e2464
Cabal-Version:  >= 1.24
20e2464
20e2464
extra-source-files:
20e2464
  -- C headers
20e2464
  src/*.h
20e2464
  src/win32/send_email.h src/win32/sys/mman.h
20e2464
20e2464
  -- The contrib directory would make a sensible 'darcs-contrib' package
20e2464
  contrib/_darcs.zsh, contrib/darcs_completion,
20e2464
  contrib/cygwin-wrapper.bash, contrib/update_roundup.pl, contrib/upload.cgi,
20e2464
  contrib/darcs-errors.hlint,
20e2464
  contrib/runHLint.sh,
20e2464
20e2464
  README.md, CHANGELOG
20e2464
20e2464
  -- release data
20e2464
  release/distributed-version, release/distributed-context
20e2464
20e2464
  -- testsuite
20e2464
  tests/data/*.tgz tests/data/README
20e2464
  tests/data/*.dpatch
20e2464
  tests/data/example_binary.png
20e2464
  tests/data/convert/darcs1/*.dpatch tests/data/convert/darcs2/*.dpatch
20e2464
  tests/*.sh
20e2464
  tests/README.test_maintainers.txt
20e2464
  tests/bin/*.hs
20e2464
  tests/network/sshlib
20e2464
  tests/network/*.sh
20e2464
  tests/lib
20e2464
  harness/hstestdata.zip
20e2464
20e2464
  GNUmakefile
20e2464
20e2464
source-repository head
20e2464
  type:     darcs
20e2464
  location: http://darcs.net/
20e2464
20e2464
flag curl
20e2464
  description: Use libcurl for HTTP support.
20e2464
20e2464
-- in future this could extend to any other external libraries,
20e2464
-- e.g. libiconv 
20e2464
flag pkgconfig
20e2464
  description: Use pkgconfig to configure libcurl
20e2464
  default: False
20e2464
20e2464
flag static
20e2464
  description: Build static binary
20e2464
  default:     False
20e2464
20e2464
flag terminfo
20e2464
  description: Use the terminfo package for enhanced console support.
20e2464
20e2464
flag threaded
20e2464
  description: Use threading and SMP support.
20e2464
  default:     True
20e2464
20e2464
flag executable
20e2464
  description: Build darcs executable
20e2464
  default:     True
20e2464
20e2464
flag rts
20e2464
  default:     False
20e2464
20e2464
-- We need optimizations by default, regardless of what Hackage says
20e2464
flag optimize
20e2464
  default:     True
20e2464
  description: Build with optimizations (-O2)
20e2464
20e2464
flag warn-as-error
20e2464
  default:     False
20e2464
  manual:      True
20e2464
  description: Build with warnings-as-errors
20e2464
20e2464
-- ----------------------------------------------------------------------
20e2464
-- setup
20e2464
-- ----------------------------------------------------------------------
20e2464
20e2464
custom-setup
20e2464
    setup-depends: base      >= 4.9 && < 4.13,
20e2464
                   Cabal     >= 1.24,
20e2464
                   process   >= 1.2.3.0 && < 1.7,
20e2464
                   filepath  >= 1.4.1 && < 1.5.0.0,
20e2464
                   directory >= 1.2.6.2 && < 1.4
20e2464
20e2464
-- ----------------------------------------------------------------------
20e2464
-- darcs library
20e2464
-- ----------------------------------------------------------------------
20e2464
20e2464
Library
20e2464
    default-language: Haskell2010
20e2464
20e2464
    hs-source-dirs:   src
20e2464
    include-dirs:     src
20e2464
20e2464
    exposed-modules:
20e2464
                      Darcs.Patch
20e2464
                      Darcs.Patch.Annotate
20e2464
                      Darcs.Patch.Apply
20e2464
                      Darcs.Patch.ApplyMonad
20e2464
                      Darcs.Patch.ApplyPatches
20e2464
                      Darcs.Patch.Bracketed
20e2464
                      Darcs.Patch.Bracketed.Instances
20e2464
                      Darcs.Patch.Bundle
20e2464
                      Darcs.Patch.Choices
20e2464
                      Darcs.Patch.Commute
20e2464
                      Darcs.Patch.CommuteFn
20e2464
                      Darcs.Patch.Conflict
20e2464
                      Darcs.Patch.Debug
20e2464
                      Darcs.Patch.Depends
20e2464
                      Darcs.Patch.Dummy
20e2464
                      Darcs.Patch.Effect
20e2464
                      Darcs.Patch.FileHunk
20e2464
                      Darcs.Patch.Index.Monad
20e2464
                      Darcs.Patch.Index.Types
20e2464
                      Darcs.Patch.Format
20e2464
                      Darcs.Patch.Info
20e2464
                      Darcs.Patch.Inspect
20e2464
                      Darcs.Patch.Invert
20e2464
                      Darcs.Patch.Match
20e2464
                      Darcs.Patch.Matchable
20e2464
                      Darcs.Patch.Merge
20e2464
                      Darcs.Patch.MonadProgress
20e2464
                      Darcs.Patch.Named
20e2464
                      Darcs.Patch.Named.Wrapped
20e2464
                      Darcs.Patch.PatchInfoAnd
20e2464
                      Darcs.Patch.Permutations
20e2464
                      Darcs.Patch.Prim
20e2464
                      Darcs.Patch.Prim.Class
20e2464
                      Darcs.Patch.Prim.V1
20e2464
                      Darcs.Patch.Prim.V1.Apply
20e2464
                      Darcs.Patch.Prim.V1.Coalesce
20e2464
                      Darcs.Patch.Prim.V1.Commute
20e2464
                      Darcs.Patch.Prim.V1.Core
20e2464
                      Darcs.Patch.Prim.V1.Details
20e2464
                      Darcs.Patch.Prim.V1.Read
20e2464
                      Darcs.Patch.Prim.V1.Show
20e2464
                      Darcs.Patch.Prim.FileUUID
20e2464
                      Darcs.Patch.Prim.FileUUID.ObjectMap
20e2464
                      Darcs.Patch.Prim.FileUUID.Apply
20e2464
                      Darcs.Patch.Prim.FileUUID.Coalesce
20e2464
                      Darcs.Patch.Prim.FileUUID.Commute
20e2464
                      Darcs.Patch.Prim.FileUUID.Core
20e2464
                      Darcs.Patch.Prim.FileUUID.Details
20e2464
                      Darcs.Patch.Prim.FileUUID.Read
20e2464
                      Darcs.Patch.Prim.FileUUID.Show
20e2464
                      Darcs.Patch.Progress
20e2464
                      Darcs.Patch.Read
20e2464
                      Darcs.Patch.Rebase
20e2464
                      Darcs.Patch.Rebase.Container
20e2464
                      Darcs.Patch.Rebase.Fixup
20e2464
                      Darcs.Patch.Rebase.Item
20e2464
                      Darcs.Patch.Rebase.Name
20e2464
                      Darcs.Patch.Rebase.Viewing
20e2464
                      Darcs.Patch.ReadMonads
20e2464
                      Darcs.Patch.RegChars
20e2464
                      Darcs.Patch.Repair
20e2464
                      Darcs.Patch.RepoPatch
20e2464
                      Darcs.Patch.RepoType
20e2464
                      Darcs.Patch.Set
20e2464
                      Darcs.Patch.Show
20e2464
                      Darcs.Patch.Split
20e2464
                      Darcs.Patch.Summary
20e2464
                      Darcs.Patch.SummaryData
20e2464
                      Darcs.Patch.TokenReplace
20e2464
                      Darcs.Patch.TouchesFiles
20e2464
                      Darcs.Patch.Type
20e2464
                      Darcs.Patch.Viewing
20e2464
                      Darcs.Patch.V1
20e2464
                      Darcs.Patch.V1.Apply
20e2464
                      Darcs.Patch.V1.Commute
20e2464
                      Darcs.Patch.V1.Core
20e2464
                      Darcs.Patch.V1.Prim
20e2464
                      Darcs.Patch.V1.Read
20e2464
                      Darcs.Patch.V1.Show
20e2464
                      Darcs.Patch.V1.Viewing
20e2464
                      Darcs.Patch.V2
20e2464
                      Darcs.Patch.V2.Non
20e2464
                      Darcs.Patch.V2.Prim
20e2464
                      Darcs.Patch.V2.RepoPatch
20e2464
                      Darcs.Patch.Witnesses.Eq
20e2464
                      Darcs.Patch.Witnesses.Ordered
20e2464
                      Darcs.Patch.Witnesses.Sealed
20e2464
                      Darcs.Patch.Witnesses.Show
20e2464
                      Darcs.Patch.Witnesses.Unsafe
20e2464
                      Darcs.Patch.Witnesses.WZipper
20e2464
                      Darcs.Prelude
20e2464
                      Darcs.Repository
20e2464
                      Darcs.Repository.ApplyPatches
20e2464
                      Darcs.Repository.Cache
20e2464
                      Darcs.Repository.Clone
20e2464
                      Darcs.Repository.Create
20e2464
                      Darcs.Repository.PatchIndex
20e2464
                      Darcs.Repository.Diff
20e2464
                      Darcs.Repository.Flags
20e2464
                      Darcs.Repository.Format
20e2464
                      Darcs.Repository.HashedIO
20e2464
                      Darcs.Repository.Hashed
20e2464
                      Darcs.Repository.Inventory
20e2464
                      Darcs.Repository.Identify
20e2464
                      Darcs.Repository.Job
20e2464
                      Darcs.Repository.Merge
20e2464
                      Darcs.Repository.InternalTypes
20e2464
                      Darcs.Repository.Match
20e2464
                      Darcs.Repository.Old
20e2464
                      Darcs.Repository.Packs
20e2464
                      Darcs.Repository.Pending
20e2464
                      Darcs.Repository.Prefs
20e2464
                      Darcs.Repository.Rebase
20e2464
                      Darcs.Repository.Repair
20e2464
                      Darcs.Repository.Resolution
20e2464
                      Darcs.Repository.State
20e2464
                      Darcs.Repository.Test
20e2464
                      Darcs.Repository.Working
20e2464
                      Darcs.UI.ApplyPatches
20e2464
                      Darcs.UI.Commands
20e2464
                      Darcs.UI.Commands.Add
20e2464
                      Darcs.UI.Commands.Amend
20e2464
                      Darcs.UI.Commands.Annotate
20e2464
                      Darcs.UI.Commands.Apply
20e2464
                      Darcs.UI.CommandsAux
20e2464
                      Darcs.UI.Commands.Clone
20e2464
                      Darcs.UI.Commands.Convert
20e2464
                      Darcs.UI.Commands.Diff
20e2464
                      Darcs.UI.Commands.Dist
20e2464
                      Darcs.UI.Commands.GZCRCs
20e2464
                      Darcs.UI.Commands.Help
20e2464
                      Darcs.UI.Commands.Init
20e2464
                      Darcs.UI.Commands.Log
20e2464
                      Darcs.UI.Commands.MarkConflicts
20e2464
                      Darcs.UI.Commands.Move
20e2464
                      Darcs.UI.Commands.Optimize
20e2464
                      Darcs.UI.Commands.Pull
20e2464
                      Darcs.UI.Commands.Push
20e2464
                      Darcs.UI.Commands.Rebase
20e2464
                      Darcs.UI.Commands.Record
20e2464
                      Darcs.UI.Commands.Remove
20e2464
                      Darcs.UI.Commands.Repair
20e2464
                      Darcs.UI.Commands.Replace
20e2464
                      Darcs.UI.Commands.Revert
20e2464
                      Darcs.UI.Commands.Rollback
20e2464
                      Darcs.UI.Commands.Send
20e2464
                      Darcs.UI.Commands.SetPref
20e2464
                      Darcs.UI.Commands.Show
20e2464
                      Darcs.UI.Commands.ShowAuthors
20e2464
                      Darcs.UI.Commands.ShowContents
20e2464
                      Darcs.UI.Commands.ShowDependencies
20e2464
                      Darcs.UI.Commands.ShowFiles
20e2464
                      Darcs.UI.Commands.ShowIndex
20e2464
                      Darcs.UI.Commands.ShowPatchIndex
20e2464
                      Darcs.UI.Commands.ShowRepo
20e2464
                      Darcs.UI.Commands.ShowTags
20e2464
                      Darcs.UI.Commands.Tag
20e2464
                      Darcs.UI.Commands.Test
20e2464
                      Darcs.UI.Commands.TransferMode
20e2464
                      Darcs.UI.Commands.Util
20e2464
                      Darcs.UI.Commands.Util.Tree
20e2464
                      Darcs.UI.Commands.Unrecord
20e2464
                      Darcs.UI.Commands.Unrevert
20e2464
                      Darcs.UI.Commands.WhatsNew
20e2464
                      Darcs.UI.Completion
20e2464
                      Darcs.UI.Email
20e2464
                      Darcs.UI.External
20e2464
                      Darcs.UI.Defaults
20e2464
                      Darcs.UI.Flags
20e2464
                      Darcs.UI.Options
20e2464
                      Darcs.UI.Options.All
20e2464
                      Darcs.UI.Options.Core
20e2464
                      Darcs.UI.Options.Flags
20e2464
                      Darcs.UI.Options.Iso
20e2464
                      Darcs.UI.Options.Markdown
20e2464
                      Darcs.UI.Options.Matching
20e2464
                      Darcs.UI.Options.Util
20e2464
                      Darcs.UI.PatchHeader
20e2464
                      Darcs.UI.PrintPatch
20e2464
                      Darcs.UI.RunCommand
20e2464
                      Darcs.UI.SelectChanges
20e2464
                      Darcs.UI.TheCommands
20e2464
                      Darcs.UI.Usage
20e2464
                      Darcs.Util.AtExit
20e2464
                      Darcs.Util.ByteString
20e2464
                      Darcs.Util.CommandLine
20e2464
                      Darcs.Util.Compat
20e2464
                      Darcs.Util.DateMatcher
20e2464
                      Darcs.Util.DateTime
20e2464
                      Darcs.Util.Diff
20e2464
                      Darcs.Util.Diff.Myers
20e2464
                      Darcs.Util.Diff.Patience
20e2464
                      Darcs.Util.Download
20e2464
                      Darcs.Util.Download.Request
20e2464
                      Darcs.Util.Download.HTTP
20e2464
                      Darcs.Util.Encoding
20e2464
                      Darcs.Util.English
20e2464
                      Darcs.Util.Exception
20e2464
                      Darcs.Util.Exec
20e2464
                      Darcs.Util.External
20e2464
                      Darcs.Util.File
20e2464
                      Darcs.Util.Global
20e2464
                      Darcs.Util.Hash
20e2464
                      Darcs.Util.Index
20e2464
                      Darcs.Util.IsoDate
20e2464
                      Darcs.Util.Lock
20e2464
                      Darcs.Util.Path
20e2464
                      Darcs.Util.Printer
20e2464
                      Darcs.Util.Printer.Color
20e2464
                      Darcs.Util.Progress
20e2464
                      Darcs.Util.Prompt
20e2464
                      Darcs.Util.Ratified
20e2464
                      Darcs.Util.Show
20e2464
                      Darcs.Util.SignalHandler
20e2464
                      Darcs.Util.Ssh
20e2464
                      Darcs.Util.Text
20e2464
                      Darcs.Util.Tree
20e2464
                      Darcs.Util.Tree.Hashed
20e2464
                      Darcs.Util.Tree.Monad
20e2464
                      Darcs.Util.Tree.Plain
20e2464
                      Darcs.Util.URL
20e2464
                      Darcs.Util.Workaround
20e2464
20e2464
    other-modules:    Version
20e2464
                      Darcs.Util.Download.Curl
20e2464
20e2464
    c-sources:        src/atomic_create.c
20e2464
                      src/maybe_relink.c
20e2464
                      src/umask.c
20e2464
                      src/system_encoding.c
20e2464
20e2464
    -- see http://bugs.darcs.net/issue1037
20e2464
    cc-options:       -D_REENTRANT
20e2464
20e2464
    if os(windows)
20e2464
      hs-source-dirs: src/win32
20e2464
      include-dirs:   src/win32
20e2464
      other-modules:  Darcs.Util.CtrlC
20e2464
                      Darcs.Util.Encoding.Win32
20e2464
                      -- These are kept outside the Darcs.* namespace as System.Posix
20e2464
                      -- is well-established and its just trying to simulate that
20e2464
                      -- TODO try to abstract this out better
20e2464
                      System.Posix
20e2464
                      System.Posix.Files
20e2464
                      System.Posix.IO
20e2464
      cpp-options:    -DWIN32
20e2464
      c-sources:      src/win32/send_email.c
20e2464
      build-depends:  Win32 >= 2.3.1 && < 2.4
20e2464
    else
20e2464
      build-depends:  unix >= 2.7.1.0 && < 2.8
20e2464
20e2464
    build-depends:    base              >= 4.9 && < 4.13,
20e2464
                      stm               >= 2.1 && < 2.6,
20e2464
                      binary            >= 0.5 && < 0.10,
20e2464
                      containers        >= 0.5.6.2 && < 0.7,
20e2464
                      regex-compat-tdfa >= 0.95.1 && < 0.96,
20e2464
                      regex-applicative >= 0.2 && < 0.4,
20e2464
                      mtl               >= 2.2.1 && < 2.3,
20e2464
                      transformers      >= 0.4.2.0 && < 0.6,
20e2464
                      parsec            >= 3.1.9 && < 3.2,
20e2464
                      fgl               >= 5.5.2.3 && < 5.8,
20e2464
                      graphviz          >= 2999.18.1 && < 2999.20.1,
20e2464
                      html              >= 1.0.1.2 && < 1.1,
20e2464
                      filepath          >= 1.4.1 && < 1.5.0.0,
20e2464
                      haskeline         >= 0.7.2 && < 0.8,
20e2464
                      cryptohash        >= 0.11 && < 0.12,
20e2464
                      base16-bytestring >= 0.1 && < 0.2,
20e2464
                      utf8-string       >= 1 && < 1.1,
20e2464
                      vector            >= 0.11 && < 0.13,
20e2464
                      tar               >= 0.5 && < 0.6,
20e2464
                      data-ordlist      == 0.4.*,
20e2464
                      attoparsec        >= 0.13.0.1 && < 0.14,
20e2464
                      zip-archive       >= 0.3 && < 0.5,
20e2464
                      async             >= 2.0.2 && < 2.3,
20e2464
                      sandi             >= 0.4 && < 0.6,
20e2464
                      unix-compat       >= 0.4.2 && < 0.6,
20e2464
                      bytestring        >= 0.10.6 && < 0.11,
20e2464
                      old-time          >= 1.1.0.3 && < 1.2,
20e2464
                      time              >= 1.5.0.1 && < 1.10,
20e2464
                      text              >= 1.2.1.3 && < 1.3,
20e2464
                      directory         >= 1.2.6.2 && < 1.4,
20e2464
                      process           >= 1.2.3.0 && < 1.7,
20e2464
                      array             >= 0.5.1.0 && < 0.6,
20e2464
                      random            >= 1.1 && < 1.2,
20e2464
                      hashable          >= 1.2.3.3 && < 1.3,
20e2464
                      mmap              >= 0.5.9 && < 0.6,
20e2464
                      zlib              >= 0.6.1.2 && < 0.7.0.0,
20e2464
                      network-uri       == 2.6.*,
20e2464
                      network           >= 2.6 && < 2.9,
20e2464
                      HTTP              >= 4000.2.20 && < 4000.4
20e2464
20e2464
    if flag(optimize)
20e2464
      ghc-options:    -O2
20e2464
    else
20e2464
      ghc-options:    -O0
20e2464
20e2464
    if flag(warn-as-error)
20e2464
      ghc-options:    -Werror
20e2464
20e2464
    ghc-options:      -Wall -funbox-strict-fields -fwarn-tabs
20e2464
20e2464
    if flag(curl)
20e2464
      cpp-options:          -DHAVE_CURL
20e2464
      c-sources:            src/hscurl.c
20e2464
      cc-options:           -DHAVE_CURL
20e2464
      if flag(pkgconfig)
20e2464
        pkgconfig-depends:  libcurl
20e2464
      else
20e2464
        extra-libraries:    curl
20e2464
        includes:           curl/curl.h
20e2464
20e2464
    -- The terminfo package cannot be built on Windows.
20e2464
    if flag(terminfo) && !os(windows)
20e2464
      build-depends:  terminfo >= 0.4.0.2 && < 0.5
20e2464
      cpp-options:    -DHAVE_TERMINFO
20e2464
20e2464
    default-extensions:
20e2464
        BangPatterns
20e2464
        PatternGuards
20e2464
        GADTSyntax
20e2464
        ExistentialQuantification
20e2464
        TypeOperators
20e2464
        FlexibleContexts
20e2464
        FlexibleInstances
20e2464
        ScopedTypeVariables
20e2464
        KindSignatures
20e2464
        DataKinds
20e2464
        ConstraintKinds
20e2464
        RankNTypes
20e2464
        TypeFamilies
20e2464
        NoMonoLocalBinds
20e2464
20e2464
-- ----------------------------------------------------------------------
20e2464
-- darcs itself
20e2464
-- ----------------------------------------------------------------------
20e2464
20e2464
Executable          darcs
20e2464
  if !flag(executable)
20e2464
    buildable: False
20e2464
  else
20e2464
    buildable: True
20e2464
20e2464
  default-language: Haskell2010
20e2464
20e2464
  main-is:          darcs.hs
20e2464
  hs-source-dirs:   darcs
20e2464
20e2464
  if flag(optimize)
20e2464
    ghc-options:    -O2
20e2464
  else
20e2464
    ghc-options:    -O0
20e2464
20e2464
  if flag(warn-as-error)
20e2464
    ghc-options:    -Werror
20e2464
20e2464
  ghc-options:      -Wall -funbox-strict-fields -fwarn-tabs
20e2464
20e2464
  if flag(threaded)
20e2464
    ghc-options:    -threaded
20e2464
20e2464
  if flag(static)
20e2464
    ghc-options:    -static -optl-static -optl-pthread
20e2464
20e2464
  if flag(rts)
20e2464
    ghc-options:    -rtsopts
20e2464
20e2464
  -- see http://bugs.darcs.net/issue1037
20e2464
  cc-options:       -D_REENTRANT
20e2464
20e2464
  build-depends:    darcs,
20e2464
                    base              >= 4.9 && < 4.13
20e2464
20e2464
-- ----------------------------------------------------------------------
20e2464
-- unit test driver
20e2464
-- ----------------------------------------------------------------------
20e2464
20e2464
test-suite darcs-test
20e2464
  buildable:        True
20e2464
  type:             exitcode-stdio-1.0
20e2464
  default-language: Haskell2010
20e2464
  main-is:          test.hs
20e2464
  hs-source-dirs:   harness
20e2464
20e2464
  if os(windows)
20e2464
    cpp-options:    -DWIN32
20e2464
    build-depends:  Win32 >= 2.3.1 && < 2.4
20e2464
20e2464
  build-depends:    darcs,
20e2464
                    base         >= 4.9 && < 4.13,
20e2464
                    array        >= 0.5.1.0 && < 0.6,
20e2464
                    bytestring   >= 0.10.6 && < 0.11,
20e2464
                    cmdargs      >= 0.10.10 && < 0.11,
20e2464
                    containers   >= 0.5.6.2 && < 0.7,
20e2464
                    filepath     >= 1.4.1 && < 1.5.0.0,
20e2464
                    mtl          >= 2.2.1 && < 2.3,
20e2464
                    shelly       >= 1.6.8 && < 1.9,
20e2464
                    split        >= 0.2.2 && < 0.3,
20e2464
                    text         >= 1.2.1.3 && < 1.3,
20e2464
                    directory    >= 1.2.6.2 && < 1.4,
20e2464
                    FindBin      >= 0.0.5 && < 0.1,
20e2464
                    QuickCheck   >= 2.8.2 && < 2.13,
20e2464
                    HUnit        >= 1.3 && < 1.7,
20e2464
                    test-framework             >= 0.8.1.1 && < 0.9,
20e2464
                    test-framework-hunit       >= 0.3.0.2 && < 0.4,
20e2464
                    test-framework-quickcheck2 >= 0.3.0.3 && < 0.4,
20e2464
                    zip-archive  >= 0.3 && < 0.5
20e2464
20e2464
  -- https://github.com/yesodweb/Shelly.hs/issues/177
20e2464
  if os(windows)
20e2464
    build-depends: shelly < 1.7.2
20e2464
20e2464
  -- list all unit test modules not exported by libdarcs; otherwise Cabal won't
20e2464
  -- include them in the tarball
20e2464
  other-modules:    Darcs.Test.Email
20e2464
                    Darcs.Test.HashedStorage
20e2464
                    Darcs.Test.Patch.Check
20e2464
                    Darcs.Test.Patch.Examples.Set1
20e2464
                    Darcs.Test.Patch.Examples.Set2Unwitnessed
20e2464
                    Darcs.Test.Patch.WSub
20e2464
                    Darcs.Test.Patch.Info
20e2464
                    Darcs.Test.Patch.Properties.V1Set1
20e2464
                    Darcs.Test.Patch.Properties.V1Set2
20e2464
                    Darcs.Test.Patch.Properties.Generic
20e2464
                    Darcs.Test.Patch.Properties.GenericUnwitnessed
20e2464
                    Darcs.Test.Patch.Properties.Check
20e2464
                    Darcs.Test.Patch.Properties.RepoPatchV2
20e2464
                    Darcs.Test.Patch.Arbitrary.Generic
20e2464
                    Darcs.Test.Patch.Arbitrary.PrimV1
20e2464
                    Darcs.Test.Patch.Arbitrary.PrimFileUUID
20e2464
                    Darcs.Test.Patch.Arbitrary.RepoPatchV1
20e2464
                    Darcs.Test.Patch.Arbitrary.RepoPatchV2
20e2464
                    Darcs.Test.Patch.Rebase
20e2464
                    Darcs.Test.Patch.RepoModel
20e2464
                    Darcs.Test.Patch.Selection
20e2464
                    Darcs.Test.Patch.Utils
20e2464
                    Darcs.Test.Patch.V1Model
20e2464
                    Darcs.Test.Patch.FileUUIDModel
20e2464
                    Darcs.Test.Patch.WithState
20e2464
                    Darcs.Test.Patch
20e2464
                    Darcs.Test.Misc
20e2464
                    Darcs.Test.Misc.CommandLine
20e2464
                    Darcs.Test.Misc.Encoding
20e2464
                    Darcs.Test.Repository.Inventory
20e2464
                    Darcs.Test.Util.TestResult
20e2464
                    Darcs.Test.Util.QuickCheck
20e2464
20e2464
  if flag(optimize)
20e2464
    ghc-options:    -O2
20e2464
  else
20e2464
    ghc-options:    -O0
20e2464
20e2464
  if flag(warn-as-error)
20e2464
    ghc-options:    -Werror
20e2464
20e2464
  ghc-options:      -Wall -funbox-strict-fields -fwarn-tabs -fno-warn-orphans
20e2464
20e2464
  if flag(threaded)
20e2464
    ghc-options:    -threaded
20e2464
20e2464
  if flag(rts)
20e2464
    ghc-options:    -rtsopts
20e2464
20e2464
  -- see http://bugs.darcs.net/issue1037
20e2464
  cc-options:       -D_REENTRANT
20e2464
20e2464
  default-extensions:
20e2464
      GADTSyntax
20e2464
      ExistentialQuantification
20e2464
      TypeOperators
20e2464
      FlexibleContexts
20e2464
      FlexibleInstances
20e2464
      ScopedTypeVariables
20e2464
      KindSignatures
20e2464
      DataKinds
20e2464
      ConstraintKinds
20e2464
      RankNTypes
20e2464
      TypeFamilies
20e2464
      NoMonoLocalBinds