packages feed

Cabal revisions of cabal-install-2.0.0.1

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
 Name:               cabal-install Version:            2.0.0.1+x-revision: 1 Synopsis:           The command-line interface for Cabal and Hackage. Description:     The \'cabal\' command-line program simplifies the process of managing     build-depends:         async      >= 2.0      && < 3,         array      >= 0.4      && < 0.6,-        base       >= 4.5      && < 5,+        base       >= 4.5      && < 4.11,         base16-bytestring >= 0.1.1 && < 0.2,         binary     >= 0.5      && < 0.9,         bytestring >= 0.9      && < 1,         time       >= 1.4      && < 1.9,         zlib       >= 0.5.3    && < 0.7,         hackage-security >= 0.5.2.2 && < 0.6++    other-extensions:+        BangPatterns+        CPP+        ConstraintKinds+        DeriveDataTypeable+        DeriveFoldable+        DeriveFunctor+        DeriveGeneric+        DeriveTraversable+        ExistentialQuantification+        FlexibleContexts+        FlexibleInstances+        GADTs+        GeneralizedNewtypeDeriving+        ImplicitParams+        LambdaCase+        MultiParamTypeClasses+        NamedFieldPuns+        NoMonoLocalBinds+        NondecreasingIndentation+        OverloadedStrings+        Rank2Types+        RankNTypes+        RecordWildCards+        ScopedTypeVariables+        StandaloneDeriving+        TypeFamilies+        ViewPatterns      if flag(old-bytestring)       build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
revision 2
-Name:               cabal-install-Version:            2.0.0.1-x-revision: 1-Synopsis:           The command-line interface for Cabal and Hackage.-Description:-    The \'cabal\' command-line program simplifies the process of managing-    Haskell software by automating the fetching, configuration, compilation-    and installation of Haskell libraries and programs.-homepage:           http://www.haskell.org/cabal/-bug-reports:        https://github.com/haskell/cabal/issues-License:            BSD3-License-File:       LICENSE-Author:             Cabal Development Team (see AUTHORS file)-Maintainer:         Cabal Development Team <cabal-devel@haskell.org>-Copyright:          2003-2017, Cabal Development Team-Category:           Distribution-Build-type:         Custom-Cabal-Version:      >= 1.10-Extra-Source-Files:-  README.md bash-completion/cabal bootstrap.sh changelog-  tests/README.md--  -- Generated with '../Cabal/misc/gen-extra-source-files.sh'-  -- Do NOT edit this section manually; instead, run the script.-  -- BEGIN gen-extra-source-files-  tests/IntegrationTests2/build/keep-going/cabal.project-  tests/IntegrationTests2/build/keep-going/p/P.hs-  tests/IntegrationTests2/build/keep-going/p/p.cabal-  tests/IntegrationTests2/build/keep-going/q/Q.hs-  tests/IntegrationTests2/build/keep-going/q/q.cabal-  tests/IntegrationTests2/build/setup-custom1/A.hs-  tests/IntegrationTests2/build/setup-custom1/Setup.hs-  tests/IntegrationTests2/build/setup-custom1/a.cabal-  tests/IntegrationTests2/build/setup-custom2/A.hs-  tests/IntegrationTests2/build/setup-custom2/Setup.hs-  tests/IntegrationTests2/build/setup-custom2/a.cabal-  tests/IntegrationTests2/build/setup-simple/A.hs-  tests/IntegrationTests2/build/setup-simple/Setup.hs-  tests/IntegrationTests2/build/setup-simple/a.cabal-  tests/IntegrationTests2/exception/bad-config/cabal.project-  tests/IntegrationTests2/exception/build/Main.hs-  tests/IntegrationTests2/exception/build/a.cabal-  tests/IntegrationTests2/exception/configure/a.cabal-  tests/IntegrationTests2/exception/no-pkg/empty.in-  tests/IntegrationTests2/exception/no-pkg2/cabal.project-  tests/IntegrationTests2/regression/3324/cabal.project-  tests/IntegrationTests2/regression/3324/p/P.hs-  tests/IntegrationTests2/regression/3324/p/p.cabal-  tests/IntegrationTests2/regression/3324/q/Q.hs-  tests/IntegrationTests2/regression/3324/q/q.cabal-  tests/IntegrationTests2/targets/all-disabled/cabal.project-  tests/IntegrationTests2/targets/all-disabled/p.cabal-  tests/IntegrationTests2/targets/benchmarks-disabled/cabal.project-  tests/IntegrationTests2/targets/benchmarks-disabled/p.cabal-  tests/IntegrationTests2/targets/benchmarks-disabled/q/q.cabal-  tests/IntegrationTests2/targets/complex/cabal.project-  tests/IntegrationTests2/targets/complex/q/Q.hs-  tests/IntegrationTests2/targets/complex/q/q.cabal-  tests/IntegrationTests2/targets/empty-pkg/cabal.project-  tests/IntegrationTests2/targets/empty-pkg/p.cabal-  tests/IntegrationTests2/targets/empty/cabal.project-  tests/IntegrationTests2/targets/empty/foo.hs-  tests/IntegrationTests2/targets/exes-disabled/cabal.project-  tests/IntegrationTests2/targets/exes-disabled/p/p.cabal-  tests/IntegrationTests2/targets/exes-disabled/q/q.cabal-  tests/IntegrationTests2/targets/libs-disabled/cabal.project-  tests/IntegrationTests2/targets/libs-disabled/p/p.cabal-  tests/IntegrationTests2/targets/libs-disabled/q/q.cabal-  tests/IntegrationTests2/targets/multiple-exes/cabal.project-  tests/IntegrationTests2/targets/multiple-exes/p.cabal-  tests/IntegrationTests2/targets/multiple-libs/cabal.project-  tests/IntegrationTests2/targets/multiple-libs/p/p.cabal-  tests/IntegrationTests2/targets/multiple-libs/q/q.cabal-  tests/IntegrationTests2/targets/multiple-tests/cabal.project-  tests/IntegrationTests2/targets/multiple-tests/p.cabal-  tests/IntegrationTests2/targets/simple/P.hs-  tests/IntegrationTests2/targets/simple/cabal.project-  tests/IntegrationTests2/targets/simple/p.cabal-  tests/IntegrationTests2/targets/simple/q/QQ.hs-  tests/IntegrationTests2/targets/simple/q/q.cabal-  tests/IntegrationTests2/targets/test-only/p.cabal-  tests/IntegrationTests2/targets/tests-disabled/cabal.project-  tests/IntegrationTests2/targets/tests-disabled/p.cabal-  tests/IntegrationTests2/targets/tests-disabled/q/q.cabal-  tests/IntegrationTests2/targets/variety/cabal.project-  tests/IntegrationTests2/targets/variety/p.cabal-  -- END gen-extra-source-files--source-repository head-  type:     git-  location: https://github.com/haskell/cabal/-  subdir:   cabal-install--Flag old-bytestring-  description:  Use bytestring < 0.10.2 and bytestring-builder-  default: False--Flag old-directory-  description:  Use directory < 1.2 and old-time-  default:      False--Flag network-uri-  description:  Get Network.URI from the network-uri package-  default:      True--Flag debug-expensive-assertions-  description:  Enable expensive assertions for testing or debugging-  default:      False-  manual:       True--Flag debug-conflict-sets-  description:  Add additional information to ConflictSets-  default:      False-  manual:       True--Flag debug-tracetree-  description:  Compile in support for tracetree (used to debug the solver)-  default:      False-  manual:       True--flag parsec-  description:  Use parsec parser. This requires 'Cabal' library built with its parsec flag enabled.-  default:      False-  manual:       True---- When we do CI, we build our binaries on one machine, and then--- ship them to another machine for testing.  Because we use--- static linking (since it makes this sort of redeploy MUCH--- easier), if we build five executables, that means we--- need to ship ALL the Haskell libraries five times.  That's--- a waste of space!  A better strategy is to statically link--- everything into a single binary.  That's what this flag does.-flag monolithic-  description:  Build cabal-install also with all of its test and support code.  Used by our continuous integration.-  default:      False-  manual:       True--executable cabal-    main-is:        Main.hs-    ghc-options:    -Wall -fwarn-tabs -rtsopts-    if impl(ghc >= 8.0)-        ghc-options: -Wcompat-                     -Wnoncanonical-monad-instances-                     -Wnoncanonical-monadfail-instances--    other-modules:-        Distribution.Client.BuildReports.Anonymous-        Distribution.Client.BuildReports.Storage-        Distribution.Client.BuildReports.Types-        Distribution.Client.BuildReports.Upload-        Distribution.Client.Check-        Distribution.Client.CmdBench-        Distribution.Client.CmdBuild-        Distribution.Client.CmdConfigure-        Distribution.Client.CmdFreeze-        Distribution.Client.CmdHaddock-        Distribution.Client.CmdRepl-        Distribution.Client.CmdRun-        Distribution.Client.CmdTest-        Distribution.Client.CmdErrorMessages-        Distribution.Client.Config-        Distribution.Client.Configure-        Distribution.Client.Dependency-        Distribution.Client.Dependency.Types-        Distribution.Client.DistDirLayout-        Distribution.Client.Exec-        Distribution.Client.Fetch-        Distribution.Client.FetchUtils-        Distribution.Client.FileMonitor-        Distribution.Client.Freeze-        Distribution.Client.GenBounds-        Distribution.Client.Get-        Distribution.Client.Glob-        Distribution.Client.GlobalFlags-        Distribution.Client.GZipUtils-        Distribution.Client.Haddock-        Distribution.Client.HttpUtils-        Distribution.Client.IndexUtils-        Distribution.Client.IndexUtils.Timestamp-        Distribution.Client.Init-        Distribution.Client.Init.Heuristics-        Distribution.Client.Init.Licenses-        Distribution.Client.Init.Types-        Distribution.Client.Install-        Distribution.Client.InstallPlan-        Distribution.Client.InstallSymlink-        Distribution.Client.JobControl-        Distribution.Client.List-        Distribution.Client.Manpage-        Distribution.Client.Nix-        Distribution.Client.Outdated-        Distribution.Client.PackageHash-        Distribution.Client.PackageUtils-        Distribution.Client.ParseUtils-        Distribution.Client.ProjectBuilding-        Distribution.Client.ProjectBuilding.Types-        Distribution.Client.ProjectConfig-        Distribution.Client.ProjectConfig.Types-        Distribution.Client.ProjectConfig.Legacy-        Distribution.Client.ProjectOrchestration-        Distribution.Client.ProjectPlanning-        Distribution.Client.ProjectPlanning.Types-        Distribution.Client.ProjectPlanOutput-        Distribution.Client.RebuildMonad-        Distribution.Client.Reconfigure-        Distribution.Client.Run-        Distribution.Client.Sandbox-        Distribution.Client.Sandbox.Index-        Distribution.Client.Sandbox.PackageEnvironment-        Distribution.Client.Sandbox.Timestamp-        Distribution.Client.Sandbox.Types-        Distribution.Client.SavedFlags-        Distribution.Client.Security.DNS-        Distribution.Client.Security.HTTP-        Distribution.Client.Setup-        Distribution.Client.SetupWrapper-        Distribution.Client.SrcDist-        Distribution.Client.SolverInstallPlan-        Distribution.Client.SourceFiles-        Distribution.Client.Store-        Distribution.Client.Tar-        Distribution.Client.Targets-        Distribution.Client.TargetSelector-        Distribution.Client.Types-        Distribution.Client.Update-        Distribution.Client.Upload-        Distribution.Client.Utils-        Distribution.Client.Utils.Assertion-        Distribution.Client.Utils.Json-        Distribution.Client.World-        Distribution.Client.Win32SelfUpgrade-        Distribution.Client.Compat.ExecutablePath-        Distribution.Client.Compat.FileLock-        Distribution.Client.Compat.FilePerms-        Distribution.Client.Compat.Prelude-        Distribution.Client.Compat.Process-        Distribution.Client.Compat.Semaphore-        Distribution.Solver.Types.ComponentDeps-        Distribution.Solver.Types.ConstraintSource-        Distribution.Solver.Types.DependencyResolver-        Distribution.Solver.Types.Flag-        Distribution.Solver.Types.InstalledPreference-        Distribution.Solver.Types.InstSolverPackage-        Distribution.Solver.Types.LabeledPackageConstraint-        Distribution.Solver.Types.OptionalStanza-        Distribution.Solver.Types.PackageConstraint-        Distribution.Solver.Types.PackageFixedDeps-        Distribution.Solver.Types.PackageIndex-        Distribution.Solver.Types.PackagePath-        Distribution.Solver.Types.PackagePreferences-        Distribution.Solver.Types.PkgConfigDb-        Distribution.Solver.Types.Progress-        Distribution.Solver.Types.ResolverPackage-        Distribution.Solver.Types.Settings-        Distribution.Solver.Types.SolverId-        Distribution.Solver.Types.SolverPackage-        Distribution.Solver.Types.SourcePackage-        Distribution.Solver.Types.Variable-        Distribution.Solver.Modular-        Distribution.Solver.Modular.Assignment-        Distribution.Solver.Modular.Builder-        Distribution.Solver.Modular.Configured-        Distribution.Solver.Modular.ConfiguredConversion-        Distribution.Solver.Modular.ConflictSet-        Distribution.Solver.Modular.Cycles-        Distribution.Solver.Modular.Dependency-        Distribution.Solver.Modular.Explore-        Distribution.Solver.Modular.Flag-        Distribution.Solver.Modular.Index-        Distribution.Solver.Modular.IndexConversion-        Distribution.Solver.Modular.Linking-        Distribution.Solver.Modular.LabeledGraph-        Distribution.Solver.Modular.Log-        Distribution.Solver.Modular.Message-        Distribution.Solver.Modular.Package-        Distribution.Solver.Modular.Preference-        Distribution.Solver.Modular.PSQ-        Distribution.Solver.Modular.RetryLog-        Distribution.Solver.Modular.Solver-        Distribution.Solver.Modular.Tree-        Distribution.Solver.Modular.Validate-        Distribution.Solver.Modular.Var-        Distribution.Solver.Modular.Version-        Distribution.Solver.Modular.WeightedPSQ-        Paths_cabal_install--    -- NOTE: when updating build-depends, don't forget to update version regexps-    -- in bootstrap.sh.-    build-depends:-        async      >= 2.0      && < 3,-        array      >= 0.4      && < 0.6,-        base       >= 4.5      && < 4.11,-        base16-bytestring >= 0.1.1 && < 0.2,-        binary     >= 0.5      && < 0.9,-        bytestring >= 0.9      && < 1,-        Cabal      >= 2.0      && < 2.1,-        containers >= 0.4      && < 0.6,-        cryptohash-sha256 >= 0.11 && < 0.12,-        deepseq    >= 1.3      && < 1.5,-        echo       >= 0.1.3    && < 0.2,-        edit-distance >= 0.2.2 && < 0.3,-        filepath   >= 1.3      && < 1.5,-        hashable   >= 1.0      && < 2,-        HTTP       >= 4000.1.5 && < 4000.4,-        mtl        >= 2.0      && < 3,-        pretty     >= 1.1      && < 1.2,-        random     >= 1        && < 1.2,-        stm        >= 2.0      && < 3,-        tar        >= 0.5.0.3  && < 0.6,-        time       >= 1.4      && < 1.9,-        zlib       >= 0.5.3    && < 0.7,-        hackage-security >= 0.5.2.2 && < 0.6--    other-extensions:-        BangPatterns-        CPP-        ConstraintKinds-        DeriveDataTypeable-        DeriveFoldable-        DeriveFunctor-        DeriveGeneric-        DeriveTraversable-        ExistentialQuantification-        FlexibleContexts-        FlexibleInstances-        GADTs-        GeneralizedNewtypeDeriving-        ImplicitParams-        LambdaCase-        MultiParamTypeClasses-        NamedFieldPuns-        NoMonoLocalBinds-        NondecreasingIndentation-        OverloadedStrings-        Rank2Types-        RankNTypes-        RecordWildCards-        ScopedTypeVariables-        StandaloneDeriving-        TypeFamilies-        ViewPatterns--    if flag(old-bytestring)-      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1-    else-      build-depends: bytestring >= 0.10.2--    if flag(old-directory)-      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,-                     process   >= 1.0.1.1  && < 1.1.0.2-    else-      build-depends: directory >= 1.2 && < 1.4,-                     process   >= 1.1.0.2  && < 1.7--    -- NOTE: you MUST include the network dependency even when network-uri-    -- is pulled in, otherwise the constraint solver doesn't have enough-    -- information-    if flag(network-uri)-      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7-    else-      build-depends: network     >= 2.4 && < 2.6--    -- Needed for GHC.Generics before GHC 7.6-    if impl(ghc < 7.6)-      build-depends: ghc-prim >= 0.2 && < 0.3--    if os(windows)-      build-depends: Win32 >= 2 && < 3-    else-      build-depends: unix >= 2.5 && < 2.8--    if !(arch(arm) && impl(ghc < 7.6))-      ghc-options: -threaded--    -- On AIX, some legacy BSD operations such as flock(2) are provided by libbsd.a-    if os(aix)-      extra-libraries: bsd--    if flag(debug-expensive-assertions)-      cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS--    if flag(debug-conflict-sets)-      cpp-options: -DDEBUG_CONFLICT_SETS-      build-depends: base >= 4.8--    if flag(debug-tracetree)-      cpp-options: -DDEBUG_TRACETREE-      build-depends: tracetree >= 0.1 && < 0.2--    if flag(parsec)-      cpp-options: -DCABAL_PARSEC--    hs-source-dirs: .-    if flag(monolithic)-      hs-source-dirs: tests-      other-modules:-        UnitTests-        UnitTests.Distribution.Client.ArbitraryInstances-        UnitTests.Distribution.Client.FileMonitor-        UnitTests.Distribution.Client.GZipUtils-        UnitTests.Distribution.Client.Glob-        UnitTests.Distribution.Client.IndexUtils.Timestamp-        UnitTests.Distribution.Client.InstallPlan-        UnitTests.Distribution.Client.JobControl-        UnitTests.Distribution.Client.ProjectConfig-        UnitTests.Distribution.Client.Sandbox-        UnitTests.Distribution.Client.Sandbox.Timestamp-        UnitTests.Distribution.Client.Store-        UnitTests.Distribution.Client.Tar-        UnitTests.Distribution.Client.Targets-        UnitTests.Distribution.Client.UserConfig-        UnitTests.Distribution.Solver.Modular.DSL-        UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils-        UnitTests.Distribution.Solver.Modular.MemoryUsage-        UnitTests.Distribution.Solver.Modular.PSQ-        UnitTests.Distribution.Solver.Modular.QuickCheck-        UnitTests.Distribution.Solver.Modular.RetryLog-        UnitTests.Distribution.Solver.Modular.Solver-        UnitTests.Distribution.Solver.Modular.WeightedPSQ-        UnitTests.Options-        MemoryUsageTests-        SolverQuickCheck-        IntegrationTests2-      cpp-options: -DMONOLITHIC-      build-depends:-        Cabal      >= 2.0 && < 2.1,-        QuickCheck >= 2.8.2,-        array,-        async,-        bytestring,-        containers,-        deepseq,-        directory,-        edit-distance,-        filepath,-        mtl,-        network,-        network-uri,-        pretty-show,-        random,-        tagged,-        tar,-        tasty >= 0.12,-        tasty-hunit >= 0.10,-        tasty-quickcheck,-        time,-        zlib--    default-language: Haskell2010---- Small, fast running tests.-Test-Suite unit-tests-  type: exitcode-stdio-1.0-  main-is: UnitTests.hs-  hs-source-dirs: tests, .-  ghc-options: -Wall -fwarn-tabs -main-is UnitTests-  other-modules:-    Distribution.Client.BuildReports.Anonymous-    Distribution.Client.BuildReports.Storage-    Distribution.Client.BuildReports.Types-    Distribution.Client.Compat.ExecutablePath-    Distribution.Client.Compat.FileLock-    Distribution.Client.Compat.FilePerms-    Distribution.Client.Compat.Prelude-    Distribution.Client.Compat.Semaphore-    Distribution.Client.Config-    Distribution.Client.Configure-    Distribution.Client.Dependency-    Distribution.Client.Dependency.Types-    Distribution.Client.DistDirLayout-    Distribution.Client.FetchUtils-    Distribution.Client.FileMonitor-    Distribution.Client.GZipUtils-    Distribution.Client.Glob-    Distribution.Client.GlobalFlags-    Distribution.Client.Haddock-    Distribution.Client.HttpUtils-    Distribution.Client.IndexUtils-    Distribution.Client.IndexUtils.Timestamp-    Distribution.Client.Init.Types-    Distribution.Client.Install-    Distribution.Client.InstallPlan-    Distribution.Client.InstallSymlink-    Distribution.Client.JobControl-    Distribution.Client.PackageUtils-    Distribution.Client.ParseUtils-    Distribution.Client.ProjectConfig-    Distribution.Client.ProjectConfig.Legacy-    Distribution.Client.ProjectConfig.Types-    Distribution.Client.RebuildMonad-    Distribution.Client.Sandbox-    Distribution.Client.Sandbox.Index-    Distribution.Client.Sandbox.PackageEnvironment-    Distribution.Client.Sandbox.Timestamp-    Distribution.Client.Sandbox.Types-    Distribution.Client.SavedFlags-    Distribution.Client.Security.DNS-    Distribution.Client.Security.HTTP-    Distribution.Client.Setup-    Distribution.Client.SetupWrapper-    Distribution.Client.SolverInstallPlan-    Distribution.Client.SrcDist-    Distribution.Client.Store-    Distribution.Client.Tar-    Distribution.Client.Targets-    Distribution.Client.Types-    Distribution.Client.Utils-    Distribution.Client.Utils.Assertion-    Distribution.Client.Win32SelfUpgrade-    Distribution.Client.World-    Distribution.Solver.Modular-    Distribution.Solver.Modular.Assignment-    Distribution.Solver.Modular.Builder-    Distribution.Solver.Modular.Configured-    Distribution.Solver.Modular.ConfiguredConversion-    Distribution.Solver.Modular.ConflictSet-    Distribution.Solver.Modular.Cycles-    Distribution.Solver.Modular.Dependency-    Distribution.Solver.Modular.Explore-    Distribution.Solver.Modular.Flag-    Distribution.Solver.Modular.Index-    Distribution.Solver.Modular.IndexConversion-    Distribution.Solver.Modular.LabeledGraph-    Distribution.Solver.Modular.Linking-    Distribution.Solver.Modular.Log-    Distribution.Solver.Modular.Message-    Distribution.Solver.Modular.PSQ-    Distribution.Solver.Modular.Package-    Distribution.Solver.Modular.Preference-    Distribution.Solver.Modular.RetryLog-    Distribution.Solver.Modular.Solver-    Distribution.Solver.Modular.Tree-    Distribution.Solver.Modular.Validate-    Distribution.Solver.Modular.Var-    Distribution.Solver.Modular.Version-    Distribution.Solver.Modular.WeightedPSQ-    Distribution.Solver.Types.ComponentDeps-    Distribution.Solver.Types.ConstraintSource-    Distribution.Solver.Types.DependencyResolver-    Distribution.Solver.Types.Flag-    Distribution.Solver.Types.InstSolverPackage-    Distribution.Solver.Types.InstalledPreference-    Distribution.Solver.Types.LabeledPackageConstraint-    Distribution.Solver.Types.OptionalStanza-    Distribution.Solver.Types.PackageConstraint-    Distribution.Solver.Types.PackageFixedDeps-    Distribution.Solver.Types.PackageIndex-    Distribution.Solver.Types.PackagePath-    Distribution.Solver.Types.PackagePreferences-    Distribution.Solver.Types.PkgConfigDb-    Distribution.Solver.Types.Progress-    Distribution.Solver.Types.ResolverPackage-    Distribution.Solver.Types.Settings-    Distribution.Solver.Types.SolverId-    Distribution.Solver.Types.SolverPackage-    Distribution.Solver.Types.SourcePackage-    Distribution.Solver.Types.Variable-    Paths_cabal_install-    UnitTests.Distribution.Client.ArbitraryInstances-    UnitTests.Distribution.Client.FileMonitor-    UnitTests.Distribution.Client.GZipUtils-    UnitTests.Distribution.Client.Glob-    UnitTests.Distribution.Client.IndexUtils.Timestamp-    UnitTests.Distribution.Client.InstallPlan-    UnitTests.Distribution.Client.JobControl-    UnitTests.Distribution.Client.ProjectConfig-    UnitTests.Distribution.Client.Sandbox-    UnitTests.Distribution.Client.Sandbox.Timestamp-    UnitTests.Distribution.Client.Store-    UnitTests.Distribution.Client.Tar-    UnitTests.Distribution.Client.Targets-    UnitTests.Distribution.Client.UserConfig-    UnitTests.Distribution.Solver.Modular.DSL-    UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils-    UnitTests.Distribution.Solver.Modular.PSQ-    UnitTests.Distribution.Solver.Modular.RetryLog-    UnitTests.Distribution.Solver.Modular.Solver-    UnitTests.Distribution.Solver.Modular.WeightedPSQ-    UnitTests.Options--  build-depends:-        base,-        async,-        array,-        bytestring,-        Cabal,-        containers,-        deepseq,-        mtl,-        pretty,-        process,-        directory,-        filepath,-        hashable,-        stm,-        tar,-        time,-        HTTP,-        zlib,-        binary,-        random,-        hackage-security,-        tasty >= 0.12,-        tasty-hunit >= 0.10,-        tasty-quickcheck,-        tagged,-        QuickCheck >= 2.8.2--  if flag(old-directory)-    build-depends: old-time--  if flag(network-uri)-    build-depends: network-uri >= 2.6, network >= 2.6-  else-    build-depends: network-uri < 2.6, network < 2.6--  if impl(ghc < 7.6)-    build-depends: ghc-prim >= 0.2 && < 0.3--  if os(windows)-    build-depends: Win32-  else-    build-depends: unix--  ghc-options: -fno-ignore-asserts--  if !(arch(arm) && impl(ghc < 7.6))-    ghc-options: -threaded--  if flag(debug-expensive-assertions)-    cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS--  if flag(debug-conflict-sets)-    cpp-options: -DDEBUG_CONFLICT_SETS-    build-depends: base >= 4.8--  if flag(debug-tracetree)-      cpp-options: -DDEBUG_TRACETREE-      build-depends: tracetree >= 0.1 && < 0.2--  default-language: Haskell2010---- Tests to run with a limited stack and heap size-Test-Suite memory-usage-tests-  type: exitcode-stdio-1.0-  main-is: MemoryUsageTests.hs-  hs-source-dirs: tests, .-  ghc-options: -Wall -fwarn-tabs "-with-rtsopts=-M4M -K1K" -main-is MemoryUsageTests-  other-modules:-    Distribution.Client.Compat.Prelude-    Distribution.Client.Dependency-    Distribution.Client.Dependency.Types-    Distribution.Client.FetchUtils-    Distribution.Client.GZipUtils-    Distribution.Client.GlobalFlags-    Distribution.Client.HttpUtils-    Distribution.Client.PackageUtils-    Distribution.Client.Sandbox.Types-    Distribution.Client.Security.DNS-    Distribution.Client.Security.HTTP-    Distribution.Client.SolverInstallPlan-    Distribution.Client.Tar-    Distribution.Client.Targets-    Distribution.Client.Types-    Distribution.Client.Utils-    Distribution.Client.Utils.Assertion-    Distribution.Client.World-    Distribution.Solver.Modular-    Distribution.Solver.Modular.Assignment-    Distribution.Solver.Modular.Builder-    Distribution.Solver.Modular.Configured-    Distribution.Solver.Modular.ConfiguredConversion-    Distribution.Solver.Modular.ConflictSet-    Distribution.Solver.Modular.Cycles-    Distribution.Solver.Modular.Dependency-    Distribution.Solver.Modular.Explore-    Distribution.Solver.Modular.Flag-    Distribution.Solver.Modular.Index-    Distribution.Solver.Modular.IndexConversion-    Distribution.Solver.Modular.LabeledGraph-    Distribution.Solver.Modular.Linking-    Distribution.Solver.Modular.Log-    Distribution.Solver.Modular.Message-    Distribution.Solver.Modular.PSQ-    Distribution.Solver.Modular.Package-    Distribution.Solver.Modular.Preference-    Distribution.Solver.Modular.RetryLog-    Distribution.Solver.Modular.Solver-    Distribution.Solver.Modular.Tree-    Distribution.Solver.Modular.Validate-    Distribution.Solver.Modular.Var-    Distribution.Solver.Modular.Version-    Distribution.Solver.Modular.WeightedPSQ-    Distribution.Solver.Types.ComponentDeps-    Distribution.Solver.Types.ConstraintSource-    Distribution.Solver.Types.DependencyResolver-    Distribution.Solver.Types.Flag-    Distribution.Solver.Types.InstSolverPackage-    Distribution.Solver.Types.InstalledPreference-    Distribution.Solver.Types.LabeledPackageConstraint-    Distribution.Solver.Types.OptionalStanza-    Distribution.Solver.Types.PackageConstraint-    Distribution.Solver.Types.PackageFixedDeps-    Distribution.Solver.Types.PackageIndex-    Distribution.Solver.Types.PackagePath-    Distribution.Solver.Types.PackagePreferences-    Distribution.Solver.Types.PkgConfigDb-    Distribution.Solver.Types.Progress-    Distribution.Solver.Types.ResolverPackage-    Distribution.Solver.Types.Settings-    Distribution.Solver.Types.SolverId-    Distribution.Solver.Types.SolverPackage-    Distribution.Solver.Types.SourcePackage-    Distribution.Solver.Types.Variable-    Paths_cabal_install-    UnitTests.Distribution.Solver.Modular.DSL-    UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils-    UnitTests.Distribution.Solver.Modular.MemoryUsage-    UnitTests.Options-  build-depends:-        base,-        async,-        array,-        bytestring,-        Cabal,-        containers,-        deepseq,-        mtl,-        pretty,-        process,-        directory,-        filepath,-        hashable,-        stm,-        tar,-        time,-        HTTP,-        zlib,-        binary,-        random,-        hackage-security,-        tagged,-        tasty >= 0.12,-        tasty-hunit >= 0.10--  if flag(old-directory)-    build-depends: old-time--  if flag(network-uri)-    build-depends: network-uri >= 2.6, network >= 2.6-  else-    build-depends: network-uri < 2.6, network < 2.6--  if impl(ghc < 7.6)-    build-depends: ghc-prim >= 0.2 && < 0.3--  if os(windows)-    build-depends: Win32-  else-    build-depends: unix--  ghc-options: -fno-ignore-asserts--  if !(arch(arm) && impl(ghc < 7.6))-    ghc-options: -threaded--  if flag(debug-expensive-assertions)-    cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS--  if flag(debug-conflict-sets)-    cpp-options: -DDEBUG_CONFLICT_SETS-    build-depends: base >= 4.8--  if flag(debug-tracetree)-      cpp-options: -DDEBUG_TRACETREE-      build-depends: tracetree >= 0.1 && < 0.2--  default-language: Haskell2010---- Slow solver tests-Test-Suite solver-quickcheck-  type: exitcode-stdio-1.0-  main-is: SolverQuickCheck.hs-  hs-source-dirs: tests, .-  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts -main-is SolverQuickCheck-  other-modules:-    Distribution.Client.BuildReports.Types-    Distribution.Client.Compat.Prelude-    Distribution.Client.Dependency-    Distribution.Client.Dependency.Types-    Distribution.Client.FetchUtils-    Distribution.Client.GZipUtils-    Distribution.Client.GlobalFlags-    Distribution.Client.HttpUtils-    Distribution.Client.IndexUtils.Timestamp-    Distribution.Client.Init.Types-    Distribution.Client.PackageUtils-    Distribution.Client.Sandbox.Types-    Distribution.Client.Security.DNS-    Distribution.Client.Security.HTTP-    Distribution.Client.Setup-    Distribution.Client.SolverInstallPlan-    Distribution.Client.Tar-    Distribution.Client.Targets-    Distribution.Client.Types-    Distribution.Client.Utils-    Distribution.Client.Utils.Assertion-    Distribution.Client.World-    Distribution.Solver.Modular-    Distribution.Solver.Modular.Assignment-    Distribution.Solver.Modular.Builder-    Distribution.Solver.Modular.Configured-    Distribution.Solver.Modular.ConfiguredConversion-    Distribution.Solver.Modular.ConflictSet-    Distribution.Solver.Modular.Cycles-    Distribution.Solver.Modular.Dependency-    Distribution.Solver.Modular.Explore-    Distribution.Solver.Modular.Flag-    Distribution.Solver.Modular.Index-    Distribution.Solver.Modular.IndexConversion-    Distribution.Solver.Modular.LabeledGraph-    Distribution.Solver.Modular.Linking-    Distribution.Solver.Modular.Log-    Distribution.Solver.Modular.Message-    Distribution.Solver.Modular.PSQ-    Distribution.Solver.Modular.Package-    Distribution.Solver.Modular.Preference-    Distribution.Solver.Modular.RetryLog-    Distribution.Solver.Modular.Solver-    Distribution.Solver.Modular.Tree-    Distribution.Solver.Modular.Validate-    Distribution.Solver.Modular.Var-    Distribution.Solver.Modular.Version-    Distribution.Solver.Modular.WeightedPSQ-    Distribution.Solver.Types.ComponentDeps-    Distribution.Solver.Types.ConstraintSource-    Distribution.Solver.Types.DependencyResolver-    Distribution.Solver.Types.Flag-    Distribution.Solver.Types.InstSolverPackage-    Distribution.Solver.Types.InstalledPreference-    Distribution.Solver.Types.LabeledPackageConstraint-    Distribution.Solver.Types.OptionalStanza-    Distribution.Solver.Types.PackageConstraint-    Distribution.Solver.Types.PackageFixedDeps-    Distribution.Solver.Types.PackageIndex-    Distribution.Solver.Types.PackagePath-    Distribution.Solver.Types.PackagePreferences-    Distribution.Solver.Types.PkgConfigDb-    Distribution.Solver.Types.Progress-    Distribution.Solver.Types.ResolverPackage-    Distribution.Solver.Types.Settings-    Distribution.Solver.Types.SolverId-    Distribution.Solver.Types.SolverPackage-    Distribution.Solver.Types.SourcePackage-    Distribution.Solver.Types.Variable-    Paths_cabal_install-    UnitTests.Distribution.Solver.Modular.DSL-    UnitTests.Distribution.Solver.Modular.QuickCheck-  build-depends:-        base,-        async,-        array,-        bytestring,-        Cabal,-        containers,-        deepseq >= 1.2,-        mtl,-        pretty,-        process,-        directory,-        filepath,-        hashable,-        stm,-        tar,-        time,-        HTTP,-        zlib,-        binary,-        random,-        hackage-security,-        tasty >= 0.12,-        tasty-quickcheck,-        QuickCheck >= 2.8.2,-        pretty-show--  if flag(old-directory)-    build-depends: old-time--  if flag(network-uri)-    build-depends: network-uri >= 2.6, network >= 2.6-  else-    build-depends: network-uri < 2.6, network < 2.6--  if impl(ghc < 7.6)-    build-depends: ghc-prim >= 0.2 && < 0.3--  if os(windows)-    build-depends: Win32-  else-    build-depends: unix--  if !(arch(arm) && impl(ghc < 7.6))-    ghc-options: -threaded--  if flag(debug-expensive-assertions)-    cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS--  if flag(debug-conflict-sets)-    cpp-options: -DDEBUG_CONFLICT_SETS-    build-depends: base >= 4.8--  if flag(debug-tracetree)-      cpp-options: -DDEBUG_TRACETREE-      build-depends: tracetree >= 0.1 && < 0.2--  default-language: Haskell2010---- Integration tests that use the cabal-install code directly--- but still build whole projects-test-suite integration-tests2-  type: exitcode-stdio-1.0-  main-is: IntegrationTests2.hs-  hs-source-dirs: tests, .-  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts -main-is IntegrationTests2-  other-modules:-    Distribution.Client.BuildReports.Types-    Distribution.Client.CmdBench-    Distribution.Client.CmdBuild-    Distribution.Client.CmdErrorMessages-    Distribution.Client.CmdHaddock-    Distribution.Client.CmdRepl-    Distribution.Client.CmdRun-    Distribution.Client.CmdTest-    Distribution.Client.Compat.ExecutablePath-    Distribution.Client.Compat.FileLock-    Distribution.Client.Compat.Prelude-    Distribution.Client.Compat.Semaphore-    Distribution.Client.Config-    Distribution.Client.Dependency-    Distribution.Client.Dependency.Types-    Distribution.Client.DistDirLayout-    Distribution.Client.FetchUtils-    Distribution.Client.FileMonitor-    Distribution.Client.GZipUtils-    Distribution.Client.Glob-    Distribution.Client.GlobalFlags-    Distribution.Client.HttpUtils-    Distribution.Client.IndexUtils-    Distribution.Client.IndexUtils.Timestamp-    Distribution.Client.Init.Types-    Distribution.Client.InstallPlan-    Distribution.Client.JobControl-    Distribution.Client.PackageHash-    Distribution.Client.PackageUtils-    Distribution.Client.ParseUtils-    Distribution.Client.ProjectBuilding-    Distribution.Client.ProjectBuilding.Types-    Distribution.Client.ProjectConfig-    Distribution.Client.ProjectConfig.Legacy-    Distribution.Client.ProjectConfig.Types-    Distribution.Client.ProjectOrchestration-    Distribution.Client.ProjectPlanOutput-    Distribution.Client.ProjectPlanning-    Distribution.Client.ProjectPlanning.Types-    Distribution.Client.RebuildMonad-    Distribution.Client.Sandbox.Types-    Distribution.Client.Security.DNS-    Distribution.Client.Security.HTTP-    Distribution.Client.Setup-    Distribution.Client.SetupWrapper-    Distribution.Client.SolverInstallPlan-    Distribution.Client.SourceFiles-    Distribution.Client.SrcDist-    Distribution.Client.Store-    Distribution.Client.Tar-    Distribution.Client.TargetSelector-    Distribution.Client.Targets-    Distribution.Client.Types-    Distribution.Client.Utils-    Distribution.Client.Utils.Assertion-    Distribution.Client.Utils.Json-    Distribution.Client.World-    Distribution.Solver.Modular-    Distribution.Solver.Modular.Assignment-    Distribution.Solver.Modular.Builder-    Distribution.Solver.Modular.Configured-    Distribution.Solver.Modular.ConfiguredConversion-    Distribution.Solver.Modular.ConflictSet-    Distribution.Solver.Modular.Cycles-    Distribution.Solver.Modular.Dependency-    Distribution.Solver.Modular.Explore-    Distribution.Solver.Modular.Flag-    Distribution.Solver.Modular.Index-    Distribution.Solver.Modular.IndexConversion-    Distribution.Solver.Modular.LabeledGraph-    Distribution.Solver.Modular.Linking-    Distribution.Solver.Modular.Log-    Distribution.Solver.Modular.Message-    Distribution.Solver.Modular.PSQ-    Distribution.Solver.Modular.Package-    Distribution.Solver.Modular.Preference-    Distribution.Solver.Modular.RetryLog-    Distribution.Solver.Modular.Solver-    Distribution.Solver.Modular.Tree-    Distribution.Solver.Modular.Validate-    Distribution.Solver.Modular.Var-    Distribution.Solver.Modular.Version-    Distribution.Solver.Modular.WeightedPSQ-    Distribution.Solver.Types.ComponentDeps-    Distribution.Solver.Types.ConstraintSource-    Distribution.Solver.Types.DependencyResolver-    Distribution.Solver.Types.Flag-    Distribution.Solver.Types.InstSolverPackage-    Distribution.Solver.Types.InstalledPreference-    Distribution.Solver.Types.LabeledPackageConstraint-    Distribution.Solver.Types.OptionalStanza-    Distribution.Solver.Types.PackageConstraint-    Distribution.Solver.Types.PackageFixedDeps-    Distribution.Solver.Types.PackageIndex-    Distribution.Solver.Types.PackagePath-    Distribution.Solver.Types.PackagePreferences-    Distribution.Solver.Types.PkgConfigDb-    Distribution.Solver.Types.Progress-    Distribution.Solver.Types.ResolverPackage-    Distribution.Solver.Types.Settings-    Distribution.Solver.Types.SolverId-    Distribution.Solver.Types.SolverPackage-    Distribution.Solver.Types.SourcePackage-    Distribution.Solver.Types.Variable-    Paths_cabal_install-  build-depends:-        async,-        array,-        base,-        base16-bytestring,-        binary,-        bytestring,-        Cabal,-        containers,-        cryptohash-sha256,-        deepseq,-        directory,-        edit-distance,-        filepath,-        hackage-security,-        hashable,-        HTTP,-        mtl,-        network,-        network-uri,-        pretty,-        process,-        random,-        stm,-        tar,-        time,-        zlib,-        tasty >= 0.12,-        tasty-hunit >= 0.10,-        tagged--  if flag(old-bytestring)-    build-depends: bytestring-builder--  if flag(old-directory)-    build-depends: old-time--  if impl(ghc < 7.6)-    build-depends: ghc-prim >= 0.2 && < 0.3--  if os(windows)-    build-depends: Win32-  else-    build-depends: unix--  if arch(arm)-    cc-options:  -DCABAL_NO_THREADED-  else-    ghc-options: -threaded-  default-language: Haskell2010--custom-setup-  setup-depends: Cabal >= 2.0,-                 base,-                 process   >= 1.1.0.1  && < 1.7,-                 filepath   >= 1.3      && < 1.5+Name:               cabal-install
+Version:            2.0.0.1
+x-revision: 2
+Synopsis:           The command-line interface for Cabal and Hackage.
+Description:
+    The \'cabal\' command-line program simplifies the process of managing
+    Haskell software by automating the fetching, configuration, compilation
+    and installation of Haskell libraries and programs.
+homepage:           http://www.haskell.org/cabal/
+bug-reports:        https://github.com/haskell/cabal/issues
+License:            BSD3
+License-File:       LICENSE
+Author:             Cabal Development Team (see AUTHORS file)
+Maintainer:         Cabal Development Team <cabal-devel@haskell.org>
+Copyright:          2003-2017, Cabal Development Team
+Category:           Distribution
+Build-type:         Custom
+Cabal-Version:      >= 1.10
+Extra-Source-Files:
+  README.md bash-completion/cabal bootstrap.sh changelog
+  tests/README.md
+
+  -- Generated with '../Cabal/misc/gen-extra-source-files.sh'
+  -- Do NOT edit this section manually; instead, run the script.
+  -- BEGIN gen-extra-source-files
+  tests/IntegrationTests2/build/keep-going/cabal.project
+  tests/IntegrationTests2/build/keep-going/p/P.hs
+  tests/IntegrationTests2/build/keep-going/p/p.cabal
+  tests/IntegrationTests2/build/keep-going/q/Q.hs
+  tests/IntegrationTests2/build/keep-going/q/q.cabal
+  tests/IntegrationTests2/build/setup-custom1/A.hs
+  tests/IntegrationTests2/build/setup-custom1/Setup.hs
+  tests/IntegrationTests2/build/setup-custom1/a.cabal
+  tests/IntegrationTests2/build/setup-custom2/A.hs
+  tests/IntegrationTests2/build/setup-custom2/Setup.hs
+  tests/IntegrationTests2/build/setup-custom2/a.cabal
+  tests/IntegrationTests2/build/setup-simple/A.hs
+  tests/IntegrationTests2/build/setup-simple/Setup.hs
+  tests/IntegrationTests2/build/setup-simple/a.cabal
+  tests/IntegrationTests2/exception/bad-config/cabal.project
+  tests/IntegrationTests2/exception/build/Main.hs
+  tests/IntegrationTests2/exception/build/a.cabal
+  tests/IntegrationTests2/exception/configure/a.cabal
+  tests/IntegrationTests2/exception/no-pkg/empty.in
+  tests/IntegrationTests2/exception/no-pkg2/cabal.project
+  tests/IntegrationTests2/regression/3324/cabal.project
+  tests/IntegrationTests2/regression/3324/p/P.hs
+  tests/IntegrationTests2/regression/3324/p/p.cabal
+  tests/IntegrationTests2/regression/3324/q/Q.hs
+  tests/IntegrationTests2/regression/3324/q/q.cabal
+  tests/IntegrationTests2/targets/all-disabled/cabal.project
+  tests/IntegrationTests2/targets/all-disabled/p.cabal
+  tests/IntegrationTests2/targets/benchmarks-disabled/cabal.project
+  tests/IntegrationTests2/targets/benchmarks-disabled/p.cabal
+  tests/IntegrationTests2/targets/benchmarks-disabled/q/q.cabal
+  tests/IntegrationTests2/targets/complex/cabal.project
+  tests/IntegrationTests2/targets/complex/q/Q.hs
+  tests/IntegrationTests2/targets/complex/q/q.cabal
+  tests/IntegrationTests2/targets/empty-pkg/cabal.project
+  tests/IntegrationTests2/targets/empty-pkg/p.cabal
+  tests/IntegrationTests2/targets/empty/cabal.project
+  tests/IntegrationTests2/targets/empty/foo.hs
+  tests/IntegrationTests2/targets/exes-disabled/cabal.project
+  tests/IntegrationTests2/targets/exes-disabled/p/p.cabal
+  tests/IntegrationTests2/targets/exes-disabled/q/q.cabal
+  tests/IntegrationTests2/targets/libs-disabled/cabal.project
+  tests/IntegrationTests2/targets/libs-disabled/p/p.cabal
+  tests/IntegrationTests2/targets/libs-disabled/q/q.cabal
+  tests/IntegrationTests2/targets/multiple-exes/cabal.project
+  tests/IntegrationTests2/targets/multiple-exes/p.cabal
+  tests/IntegrationTests2/targets/multiple-libs/cabal.project
+  tests/IntegrationTests2/targets/multiple-libs/p/p.cabal
+  tests/IntegrationTests2/targets/multiple-libs/q/q.cabal
+  tests/IntegrationTests2/targets/multiple-tests/cabal.project
+  tests/IntegrationTests2/targets/multiple-tests/p.cabal
+  tests/IntegrationTests2/targets/simple/P.hs
+  tests/IntegrationTests2/targets/simple/cabal.project
+  tests/IntegrationTests2/targets/simple/p.cabal
+  tests/IntegrationTests2/targets/simple/q/QQ.hs
+  tests/IntegrationTests2/targets/simple/q/q.cabal
+  tests/IntegrationTests2/targets/test-only/p.cabal
+  tests/IntegrationTests2/targets/tests-disabled/cabal.project
+  tests/IntegrationTests2/targets/tests-disabled/p.cabal
+  tests/IntegrationTests2/targets/tests-disabled/q/q.cabal
+  tests/IntegrationTests2/targets/variety/cabal.project
+  tests/IntegrationTests2/targets/variety/p.cabal
+  -- END gen-extra-source-files
+
+source-repository head
+  type:     git
+  location: https://github.com/haskell/cabal/
+  subdir:   cabal-install
+
+Flag old-bytestring
+  description:  Use bytestring < 0.10.2 and bytestring-builder
+  default: False
+
+Flag old-directory
+  description:  Use directory < 1.2 and old-time
+  default:      False
+
+Flag network-uri
+  description:  Get Network.URI from the network-uri package
+  default:      True
+
+Flag debug-expensive-assertions
+  description:  Enable expensive assertions for testing or debugging
+  default:      False
+  manual:       True
+
+Flag debug-conflict-sets
+  description:  Add additional information to ConflictSets
+  default:      False
+  manual:       True
+
+Flag debug-tracetree
+  description:  Compile in support for tracetree (used to debug the solver)
+  default:      False
+  manual:       True
+
+flag parsec
+  description:  Use parsec parser. This requires 'Cabal' library built with its parsec flag enabled.
+  default:      False
+  manual:       True
+
+-- When we do CI, we build our binaries on one machine, and then
+-- ship them to another machine for testing.  Because we use
+-- static linking (since it makes this sort of redeploy MUCH
+-- easier), if we build five executables, that means we
+-- need to ship ALL the Haskell libraries five times.  That's
+-- a waste of space!  A better strategy is to statically link
+-- everything into a single binary.  That's what this flag does.
+flag monolithic
+  description:  Build cabal-install also with all of its test and support code.  Used by our continuous integration.
+  default:      False
+  manual:       True
+
+executable cabal
+    main-is:        Main.hs
+    ghc-options:    -Wall -fwarn-tabs -rtsopts
+    if impl(ghc >= 8.0)
+        ghc-options: -Wcompat
+                     -Wnoncanonical-monad-instances
+                     -Wnoncanonical-monadfail-instances
+
+    other-modules:
+        Distribution.Client.BuildReports.Anonymous
+        Distribution.Client.BuildReports.Storage
+        Distribution.Client.BuildReports.Types
+        Distribution.Client.BuildReports.Upload
+        Distribution.Client.Check
+        Distribution.Client.CmdBench
+        Distribution.Client.CmdBuild
+        Distribution.Client.CmdConfigure
+        Distribution.Client.CmdFreeze
+        Distribution.Client.CmdHaddock
+        Distribution.Client.CmdRepl
+        Distribution.Client.CmdRun
+        Distribution.Client.CmdTest
+        Distribution.Client.CmdErrorMessages
+        Distribution.Client.Config
+        Distribution.Client.Configure
+        Distribution.Client.Dependency
+        Distribution.Client.Dependency.Types
+        Distribution.Client.DistDirLayout
+        Distribution.Client.Exec
+        Distribution.Client.Fetch
+        Distribution.Client.FetchUtils
+        Distribution.Client.FileMonitor
+        Distribution.Client.Freeze
+        Distribution.Client.GenBounds
+        Distribution.Client.Get
+        Distribution.Client.Glob
+        Distribution.Client.GlobalFlags
+        Distribution.Client.GZipUtils
+        Distribution.Client.Haddock
+        Distribution.Client.HttpUtils
+        Distribution.Client.IndexUtils
+        Distribution.Client.IndexUtils.Timestamp
+        Distribution.Client.Init
+        Distribution.Client.Init.Heuristics
+        Distribution.Client.Init.Licenses
+        Distribution.Client.Init.Types
+        Distribution.Client.Install
+        Distribution.Client.InstallPlan
+        Distribution.Client.InstallSymlink
+        Distribution.Client.JobControl
+        Distribution.Client.List
+        Distribution.Client.Manpage
+        Distribution.Client.Nix
+        Distribution.Client.Outdated
+        Distribution.Client.PackageHash
+        Distribution.Client.PackageUtils
+        Distribution.Client.ParseUtils
+        Distribution.Client.ProjectBuilding
+        Distribution.Client.ProjectBuilding.Types
+        Distribution.Client.ProjectConfig
+        Distribution.Client.ProjectConfig.Types
+        Distribution.Client.ProjectConfig.Legacy
+        Distribution.Client.ProjectOrchestration
+        Distribution.Client.ProjectPlanning
+        Distribution.Client.ProjectPlanning.Types
+        Distribution.Client.ProjectPlanOutput
+        Distribution.Client.RebuildMonad
+        Distribution.Client.Reconfigure
+        Distribution.Client.Run
+        Distribution.Client.Sandbox
+        Distribution.Client.Sandbox.Index
+        Distribution.Client.Sandbox.PackageEnvironment
+        Distribution.Client.Sandbox.Timestamp
+        Distribution.Client.Sandbox.Types
+        Distribution.Client.SavedFlags
+        Distribution.Client.Security.DNS
+        Distribution.Client.Security.HTTP
+        Distribution.Client.Setup
+        Distribution.Client.SetupWrapper
+        Distribution.Client.SrcDist
+        Distribution.Client.SolverInstallPlan
+        Distribution.Client.SourceFiles
+        Distribution.Client.Store
+        Distribution.Client.Tar
+        Distribution.Client.Targets
+        Distribution.Client.TargetSelector
+        Distribution.Client.Types
+        Distribution.Client.Update
+        Distribution.Client.Upload
+        Distribution.Client.Utils
+        Distribution.Client.Utils.Assertion
+        Distribution.Client.Utils.Json
+        Distribution.Client.World
+        Distribution.Client.Win32SelfUpgrade
+        Distribution.Client.Compat.ExecutablePath
+        Distribution.Client.Compat.FileLock
+        Distribution.Client.Compat.FilePerms
+        Distribution.Client.Compat.Prelude
+        Distribution.Client.Compat.Process
+        Distribution.Client.Compat.Semaphore
+        Distribution.Solver.Types.ComponentDeps
+        Distribution.Solver.Types.ConstraintSource
+        Distribution.Solver.Types.DependencyResolver
+        Distribution.Solver.Types.Flag
+        Distribution.Solver.Types.InstalledPreference
+        Distribution.Solver.Types.InstSolverPackage
+        Distribution.Solver.Types.LabeledPackageConstraint
+        Distribution.Solver.Types.OptionalStanza
+        Distribution.Solver.Types.PackageConstraint
+        Distribution.Solver.Types.PackageFixedDeps
+        Distribution.Solver.Types.PackageIndex
+        Distribution.Solver.Types.PackagePath
+        Distribution.Solver.Types.PackagePreferences
+        Distribution.Solver.Types.PkgConfigDb
+        Distribution.Solver.Types.Progress
+        Distribution.Solver.Types.ResolverPackage
+        Distribution.Solver.Types.Settings
+        Distribution.Solver.Types.SolverId
+        Distribution.Solver.Types.SolverPackage
+        Distribution.Solver.Types.SourcePackage
+        Distribution.Solver.Types.Variable
+        Distribution.Solver.Modular
+        Distribution.Solver.Modular.Assignment
+        Distribution.Solver.Modular.Builder
+        Distribution.Solver.Modular.Configured
+        Distribution.Solver.Modular.ConfiguredConversion
+        Distribution.Solver.Modular.ConflictSet
+        Distribution.Solver.Modular.Cycles
+        Distribution.Solver.Modular.Dependency
+        Distribution.Solver.Modular.Explore
+        Distribution.Solver.Modular.Flag
+        Distribution.Solver.Modular.Index
+        Distribution.Solver.Modular.IndexConversion
+        Distribution.Solver.Modular.Linking
+        Distribution.Solver.Modular.LabeledGraph
+        Distribution.Solver.Modular.Log
+        Distribution.Solver.Modular.Message
+        Distribution.Solver.Modular.Package
+        Distribution.Solver.Modular.Preference
+        Distribution.Solver.Modular.PSQ
+        Distribution.Solver.Modular.RetryLog
+        Distribution.Solver.Modular.Solver
+        Distribution.Solver.Modular.Tree
+        Distribution.Solver.Modular.Validate
+        Distribution.Solver.Modular.Var
+        Distribution.Solver.Modular.Version
+        Distribution.Solver.Modular.WeightedPSQ
+        Paths_cabal_install
+
+    -- NOTE: when updating build-depends, don't forget to update version regexps
+    -- in bootstrap.sh.
+    build-depends:
+        async      >= 2.0      && < 3,
+        array      >= 0.4      && < 0.6,
+        base       >= 4.5      && < 4.11,
+        base16-bytestring >= 0.1.1 && < 0.2,
+        binary     >= 0.5      && < 0.9,
+        bytestring >= 0.9      && < 1,
+        Cabal      >= 2.0.1.0  && < 2.1,
+        containers >= 0.4      && < 0.6,
+        cryptohash-sha256 >= 0.11 && < 0.12,
+        deepseq    >= 1.3      && < 1.5,
+        echo       >= 0.1.3    && < 0.2,
+        edit-distance >= 0.2.2 && < 0.3,
+        filepath   >= 1.3      && < 1.5,
+        hashable   >= 1.0      && < 2,
+        HTTP       >= 4000.1.5 && < 4000.4,
+        mtl        >= 2.0      && < 3,
+        pretty     >= 1.1      && < 1.2,
+        random     >= 1        && < 1.2,
+        stm        >= 2.0      && < 3,
+        tar        >= 0.5.0.3  && < 0.6,
+        time       >= 1.4      && < 1.9,
+        zlib       >= 0.5.3    && < 0.7,
+        hackage-security >= 0.5.2.2 && < 0.6
+
+    other-extensions:
+        BangPatterns
+        CPP
+        ConstraintKinds
+        DeriveDataTypeable
+        DeriveFoldable
+        DeriveFunctor
+        DeriveGeneric
+        DeriveTraversable
+        ExistentialQuantification
+        FlexibleContexts
+        FlexibleInstances
+        GADTs
+        GeneralizedNewtypeDeriving
+        ImplicitParams
+        LambdaCase
+        MultiParamTypeClasses
+        NamedFieldPuns
+        NoMonoLocalBinds
+        NondecreasingIndentation
+        OverloadedStrings
+        Rank2Types
+        RankNTypes
+        RecordWildCards
+        ScopedTypeVariables
+        StandaloneDeriving
+        TypeFamilies
+        ViewPatterns
+
+    if flag(old-bytestring)
+      build-depends: bytestring <  0.10.2, bytestring-builder >= 0.10 && < 1
+    else
+      build-depends: bytestring >= 0.10.2
+
+    if flag(old-directory)
+      build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
+                     process   >= 1.0.1.1  && < 1.1.0.2
+    else
+      build-depends: directory >= 1.2 && < 1.4,
+                     process   >= 1.1.0.2  && < 1.7
+
+    -- NOTE: you MUST include the network dependency even when network-uri
+    -- is pulled in, otherwise the constraint solver doesn't have enough
+    -- information
+    if flag(network-uri)
+      build-depends: network-uri >= 2.6 && < 2.7, network >= 2.6 && < 2.7
+    else
+      build-depends: network     >= 2.4 && < 2.6
+
+    -- Needed for GHC.Generics before GHC 7.6
+    if impl(ghc < 7.6)
+      build-depends: ghc-prim >= 0.2 && < 0.3
+
+    if os(windows)
+      build-depends: Win32 >= 2 && < 3
+    else
+      build-depends: unix >= 2.5 && < 2.8
+
+    if !(arch(arm) && impl(ghc < 7.6))
+      ghc-options: -threaded
+
+    -- On AIX, some legacy BSD operations such as flock(2) are provided by libbsd.a
+    if os(aix)
+      extra-libraries: bsd
+
+    if flag(debug-expensive-assertions)
+      cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS
+
+    if flag(debug-conflict-sets)
+      cpp-options: -DDEBUG_CONFLICT_SETS
+      build-depends: base >= 4.8
+
+    if flag(debug-tracetree)
+      cpp-options: -DDEBUG_TRACETREE
+      build-depends: tracetree >= 0.1 && < 0.2
+
+    if flag(parsec)
+      cpp-options: -DCABAL_PARSEC
+
+    hs-source-dirs: .
+    if flag(monolithic)
+      hs-source-dirs: tests
+      other-modules:
+        UnitTests
+        UnitTests.Distribution.Client.ArbitraryInstances
+        UnitTests.Distribution.Client.FileMonitor
+        UnitTests.Distribution.Client.GZipUtils
+        UnitTests.Distribution.Client.Glob
+        UnitTests.Distribution.Client.IndexUtils.Timestamp
+        UnitTests.Distribution.Client.InstallPlan
+        UnitTests.Distribution.Client.JobControl
+        UnitTests.Distribution.Client.ProjectConfig
+        UnitTests.Distribution.Client.Sandbox
+        UnitTests.Distribution.Client.Sandbox.Timestamp
+        UnitTests.Distribution.Client.Store
+        UnitTests.Distribution.Client.Tar
+        UnitTests.Distribution.Client.Targets
+        UnitTests.Distribution.Client.UserConfig
+        UnitTests.Distribution.Solver.Modular.DSL
+        UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
+        UnitTests.Distribution.Solver.Modular.MemoryUsage
+        UnitTests.Distribution.Solver.Modular.PSQ
+        UnitTests.Distribution.Solver.Modular.QuickCheck
+        UnitTests.Distribution.Solver.Modular.RetryLog
+        UnitTests.Distribution.Solver.Modular.Solver
+        UnitTests.Distribution.Solver.Modular.WeightedPSQ
+        UnitTests.Options
+        MemoryUsageTests
+        SolverQuickCheck
+        IntegrationTests2
+      cpp-options: -DMONOLITHIC
+      build-depends:
+        Cabal      >= 2.0.1.0 && < 2.1,
+        QuickCheck >= 2.8.2,
+        array,
+        async,
+        bytestring,
+        containers,
+        deepseq,
+        directory,
+        edit-distance,
+        filepath,
+        mtl,
+        network,
+        network-uri,
+        pretty-show,
+        random,
+        tagged,
+        tar,
+        tasty >= 0.12,
+        tasty-hunit >= 0.10,
+        tasty-quickcheck,
+        time,
+        zlib
+
+    default-language: Haskell2010
+
+-- Small, fast running tests.
+Test-Suite unit-tests
+  type: exitcode-stdio-1.0
+  main-is: UnitTests.hs
+  hs-source-dirs: tests, .
+  ghc-options: -Wall -fwarn-tabs -main-is UnitTests
+  other-modules:
+    Distribution.Client.BuildReports.Anonymous
+    Distribution.Client.BuildReports.Storage
+    Distribution.Client.BuildReports.Types
+    Distribution.Client.Compat.ExecutablePath
+    Distribution.Client.Compat.FileLock
+    Distribution.Client.Compat.FilePerms
+    Distribution.Client.Compat.Prelude
+    Distribution.Client.Compat.Semaphore
+    Distribution.Client.Config
+    Distribution.Client.Configure
+    Distribution.Client.Dependency
+    Distribution.Client.Dependency.Types
+    Distribution.Client.DistDirLayout
+    Distribution.Client.FetchUtils
+    Distribution.Client.FileMonitor
+    Distribution.Client.GZipUtils
+    Distribution.Client.Glob
+    Distribution.Client.GlobalFlags
+    Distribution.Client.Haddock
+    Distribution.Client.HttpUtils
+    Distribution.Client.IndexUtils
+    Distribution.Client.IndexUtils.Timestamp
+    Distribution.Client.Init.Types
+    Distribution.Client.Install
+    Distribution.Client.InstallPlan
+    Distribution.Client.InstallSymlink
+    Distribution.Client.JobControl
+    Distribution.Client.PackageUtils
+    Distribution.Client.ParseUtils
+    Distribution.Client.ProjectConfig
+    Distribution.Client.ProjectConfig.Legacy
+    Distribution.Client.ProjectConfig.Types
+    Distribution.Client.RebuildMonad
+    Distribution.Client.Sandbox
+    Distribution.Client.Sandbox.Index
+    Distribution.Client.Sandbox.PackageEnvironment
+    Distribution.Client.Sandbox.Timestamp
+    Distribution.Client.Sandbox.Types
+    Distribution.Client.SavedFlags
+    Distribution.Client.Security.DNS
+    Distribution.Client.Security.HTTP
+    Distribution.Client.Setup
+    Distribution.Client.SetupWrapper
+    Distribution.Client.SolverInstallPlan
+    Distribution.Client.SrcDist
+    Distribution.Client.Store
+    Distribution.Client.Tar
+    Distribution.Client.Targets
+    Distribution.Client.Types
+    Distribution.Client.Utils
+    Distribution.Client.Utils.Assertion
+    Distribution.Client.Win32SelfUpgrade
+    Distribution.Client.World
+    Distribution.Solver.Modular
+    Distribution.Solver.Modular.Assignment
+    Distribution.Solver.Modular.Builder
+    Distribution.Solver.Modular.Configured
+    Distribution.Solver.Modular.ConfiguredConversion
+    Distribution.Solver.Modular.ConflictSet
+    Distribution.Solver.Modular.Cycles
+    Distribution.Solver.Modular.Dependency
+    Distribution.Solver.Modular.Explore
+    Distribution.Solver.Modular.Flag
+    Distribution.Solver.Modular.Index
+    Distribution.Solver.Modular.IndexConversion
+    Distribution.Solver.Modular.LabeledGraph
+    Distribution.Solver.Modular.Linking
+    Distribution.Solver.Modular.Log
+    Distribution.Solver.Modular.Message
+    Distribution.Solver.Modular.PSQ
+    Distribution.Solver.Modular.Package
+    Distribution.Solver.Modular.Preference
+    Distribution.Solver.Modular.RetryLog
+    Distribution.Solver.Modular.Solver
+    Distribution.Solver.Modular.Tree
+    Distribution.Solver.Modular.Validate
+    Distribution.Solver.Modular.Var
+    Distribution.Solver.Modular.Version
+    Distribution.Solver.Modular.WeightedPSQ
+    Distribution.Solver.Types.ComponentDeps
+    Distribution.Solver.Types.ConstraintSource
+    Distribution.Solver.Types.DependencyResolver
+    Distribution.Solver.Types.Flag
+    Distribution.Solver.Types.InstSolverPackage
+    Distribution.Solver.Types.InstalledPreference
+    Distribution.Solver.Types.LabeledPackageConstraint
+    Distribution.Solver.Types.OptionalStanza
+    Distribution.Solver.Types.PackageConstraint
+    Distribution.Solver.Types.PackageFixedDeps
+    Distribution.Solver.Types.PackageIndex
+    Distribution.Solver.Types.PackagePath
+    Distribution.Solver.Types.PackagePreferences
+    Distribution.Solver.Types.PkgConfigDb
+    Distribution.Solver.Types.Progress
+    Distribution.Solver.Types.ResolverPackage
+    Distribution.Solver.Types.Settings
+    Distribution.Solver.Types.SolverId
+    Distribution.Solver.Types.SolverPackage
+    Distribution.Solver.Types.SourcePackage
+    Distribution.Solver.Types.Variable
+    Paths_cabal_install
+    UnitTests.Distribution.Client.ArbitraryInstances
+    UnitTests.Distribution.Client.FileMonitor
+    UnitTests.Distribution.Client.GZipUtils
+    UnitTests.Distribution.Client.Glob
+    UnitTests.Distribution.Client.IndexUtils.Timestamp
+    UnitTests.Distribution.Client.InstallPlan
+    UnitTests.Distribution.Client.JobControl
+    UnitTests.Distribution.Client.ProjectConfig
+    UnitTests.Distribution.Client.Sandbox
+    UnitTests.Distribution.Client.Sandbox.Timestamp
+    UnitTests.Distribution.Client.Store
+    UnitTests.Distribution.Client.Tar
+    UnitTests.Distribution.Client.Targets
+    UnitTests.Distribution.Client.UserConfig
+    UnitTests.Distribution.Solver.Modular.DSL
+    UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
+    UnitTests.Distribution.Solver.Modular.PSQ
+    UnitTests.Distribution.Solver.Modular.RetryLog
+    UnitTests.Distribution.Solver.Modular.Solver
+    UnitTests.Distribution.Solver.Modular.WeightedPSQ
+    UnitTests.Options
+
+  build-depends:
+        base,
+        async,
+        array,
+        bytestring,
+        Cabal,
+        containers,
+        deepseq,
+        mtl,
+        pretty,
+        process,
+        directory,
+        filepath,
+        hashable,
+        stm,
+        tar,
+        time,
+        HTTP,
+        zlib,
+        binary,
+        random,
+        hackage-security,
+        tasty >= 0.12,
+        tasty-hunit >= 0.10,
+        tasty-quickcheck,
+        tagged,
+        QuickCheck >= 2.8.2
+
+  if flag(old-directory)
+    build-depends: old-time
+
+  if flag(network-uri)
+    build-depends: network-uri >= 2.6, network >= 2.6
+  else
+    build-depends: network-uri < 2.6, network < 2.6
+
+  if impl(ghc < 7.6)
+    build-depends: ghc-prim >= 0.2 && < 0.3
+
+  if os(windows)
+    build-depends: Win32
+  else
+    build-depends: unix
+
+  ghc-options: -fno-ignore-asserts
+
+  if !(arch(arm) && impl(ghc < 7.6))
+    ghc-options: -threaded
+
+  if flag(debug-expensive-assertions)
+    cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS
+
+  if flag(debug-conflict-sets)
+    cpp-options: -DDEBUG_CONFLICT_SETS
+    build-depends: base >= 4.8
+
+  if flag(debug-tracetree)
+      cpp-options: -DDEBUG_TRACETREE
+      build-depends: tracetree >= 0.1 && < 0.2
+
+  default-language: Haskell2010
+
+-- Tests to run with a limited stack and heap size
+Test-Suite memory-usage-tests
+  type: exitcode-stdio-1.0
+  main-is: MemoryUsageTests.hs
+  hs-source-dirs: tests, .
+  ghc-options: -Wall -fwarn-tabs "-with-rtsopts=-M4M -K1K" -main-is MemoryUsageTests
+  other-modules:
+    Distribution.Client.Compat.Prelude
+    Distribution.Client.Dependency
+    Distribution.Client.Dependency.Types
+    Distribution.Client.FetchUtils
+    Distribution.Client.GZipUtils
+    Distribution.Client.GlobalFlags
+    Distribution.Client.HttpUtils
+    Distribution.Client.PackageUtils
+    Distribution.Client.Sandbox.Types
+    Distribution.Client.Security.DNS
+    Distribution.Client.Security.HTTP
+    Distribution.Client.SolverInstallPlan
+    Distribution.Client.Tar
+    Distribution.Client.Targets
+    Distribution.Client.Types
+    Distribution.Client.Utils
+    Distribution.Client.Utils.Assertion
+    Distribution.Client.World
+    Distribution.Solver.Modular
+    Distribution.Solver.Modular.Assignment
+    Distribution.Solver.Modular.Builder
+    Distribution.Solver.Modular.Configured
+    Distribution.Solver.Modular.ConfiguredConversion
+    Distribution.Solver.Modular.ConflictSet
+    Distribution.Solver.Modular.Cycles
+    Distribution.Solver.Modular.Dependency
+    Distribution.Solver.Modular.Explore
+    Distribution.Solver.Modular.Flag
+    Distribution.Solver.Modular.Index
+    Distribution.Solver.Modular.IndexConversion
+    Distribution.Solver.Modular.LabeledGraph
+    Distribution.Solver.Modular.Linking
+    Distribution.Solver.Modular.Log
+    Distribution.Solver.Modular.Message
+    Distribution.Solver.Modular.PSQ
+    Distribution.Solver.Modular.Package
+    Distribution.Solver.Modular.Preference
+    Distribution.Solver.Modular.RetryLog
+    Distribution.Solver.Modular.Solver
+    Distribution.Solver.Modular.Tree
+    Distribution.Solver.Modular.Validate
+    Distribution.Solver.Modular.Var
+    Distribution.Solver.Modular.Version
+    Distribution.Solver.Modular.WeightedPSQ
+    Distribution.Solver.Types.ComponentDeps
+    Distribution.Solver.Types.ConstraintSource
+    Distribution.Solver.Types.DependencyResolver
+    Distribution.Solver.Types.Flag
+    Distribution.Solver.Types.InstSolverPackage
+    Distribution.Solver.Types.InstalledPreference
+    Distribution.Solver.Types.LabeledPackageConstraint
+    Distribution.Solver.Types.OptionalStanza
+    Distribution.Solver.Types.PackageConstraint
+    Distribution.Solver.Types.PackageFixedDeps
+    Distribution.Solver.Types.PackageIndex
+    Distribution.Solver.Types.PackagePath
+    Distribution.Solver.Types.PackagePreferences
+    Distribution.Solver.Types.PkgConfigDb
+    Distribution.Solver.Types.Progress
+    Distribution.Solver.Types.ResolverPackage
+    Distribution.Solver.Types.Settings
+    Distribution.Solver.Types.SolverId
+    Distribution.Solver.Types.SolverPackage
+    Distribution.Solver.Types.SourcePackage
+    Distribution.Solver.Types.Variable
+    Paths_cabal_install
+    UnitTests.Distribution.Solver.Modular.DSL
+    UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
+    UnitTests.Distribution.Solver.Modular.MemoryUsage
+    UnitTests.Options
+  build-depends:
+        base,
+        async,
+        array,
+        bytestring,
+        Cabal,
+        containers,
+        deepseq,
+        mtl,
+        pretty,
+        process,
+        directory,
+        filepath,
+        hashable,
+        stm,
+        tar,
+        time,
+        HTTP,
+        zlib,
+        binary,
+        random,
+        hackage-security,
+        tagged,
+        tasty >= 0.12,
+        tasty-hunit >= 0.10
+
+  if flag(old-directory)
+    build-depends: old-time
+
+  if flag(network-uri)
+    build-depends: network-uri >= 2.6, network >= 2.6
+  else
+    build-depends: network-uri < 2.6, network < 2.6
+
+  if impl(ghc < 7.6)
+    build-depends: ghc-prim >= 0.2 && < 0.3
+
+  if os(windows)
+    build-depends: Win32
+  else
+    build-depends: unix
+
+  ghc-options: -fno-ignore-asserts
+
+  if !(arch(arm) && impl(ghc < 7.6))
+    ghc-options: -threaded
+
+  if flag(debug-expensive-assertions)
+    cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS
+
+  if flag(debug-conflict-sets)
+    cpp-options: -DDEBUG_CONFLICT_SETS
+    build-depends: base >= 4.8
+
+  if flag(debug-tracetree)
+      cpp-options: -DDEBUG_TRACETREE
+      build-depends: tracetree >= 0.1 && < 0.2
+
+  default-language: Haskell2010
+
+-- Slow solver tests
+Test-Suite solver-quickcheck
+  type: exitcode-stdio-1.0
+  main-is: SolverQuickCheck.hs
+  hs-source-dirs: tests, .
+  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts -main-is SolverQuickCheck
+  other-modules:
+    Distribution.Client.BuildReports.Types
+    Distribution.Client.Compat.Prelude
+    Distribution.Client.Dependency
+    Distribution.Client.Dependency.Types
+    Distribution.Client.FetchUtils
+    Distribution.Client.GZipUtils
+    Distribution.Client.GlobalFlags
+    Distribution.Client.HttpUtils
+    Distribution.Client.IndexUtils.Timestamp
+    Distribution.Client.Init.Types
+    Distribution.Client.PackageUtils
+    Distribution.Client.Sandbox.Types
+    Distribution.Client.Security.DNS
+    Distribution.Client.Security.HTTP
+    Distribution.Client.Setup
+    Distribution.Client.SolverInstallPlan
+    Distribution.Client.Tar
+    Distribution.Client.Targets
+    Distribution.Client.Types
+    Distribution.Client.Utils
+    Distribution.Client.Utils.Assertion
+    Distribution.Client.World
+    Distribution.Solver.Modular
+    Distribution.Solver.Modular.Assignment
+    Distribution.Solver.Modular.Builder
+    Distribution.Solver.Modular.Configured
+    Distribution.Solver.Modular.ConfiguredConversion
+    Distribution.Solver.Modular.ConflictSet
+    Distribution.Solver.Modular.Cycles
+    Distribution.Solver.Modular.Dependency
+    Distribution.Solver.Modular.Explore
+    Distribution.Solver.Modular.Flag
+    Distribution.Solver.Modular.Index
+    Distribution.Solver.Modular.IndexConversion
+    Distribution.Solver.Modular.LabeledGraph
+    Distribution.Solver.Modular.Linking
+    Distribution.Solver.Modular.Log
+    Distribution.Solver.Modular.Message
+    Distribution.Solver.Modular.PSQ
+    Distribution.Solver.Modular.Package
+    Distribution.Solver.Modular.Preference
+    Distribution.Solver.Modular.RetryLog
+    Distribution.Solver.Modular.Solver
+    Distribution.Solver.Modular.Tree
+    Distribution.Solver.Modular.Validate
+    Distribution.Solver.Modular.Var
+    Distribution.Solver.Modular.Version
+    Distribution.Solver.Modular.WeightedPSQ
+    Distribution.Solver.Types.ComponentDeps
+    Distribution.Solver.Types.ConstraintSource
+    Distribution.Solver.Types.DependencyResolver
+    Distribution.Solver.Types.Flag
+    Distribution.Solver.Types.InstSolverPackage
+    Distribution.Solver.Types.InstalledPreference
+    Distribution.Solver.Types.LabeledPackageConstraint
+    Distribution.Solver.Types.OptionalStanza
+    Distribution.Solver.Types.PackageConstraint
+    Distribution.Solver.Types.PackageFixedDeps
+    Distribution.Solver.Types.PackageIndex
+    Distribution.Solver.Types.PackagePath
+    Distribution.Solver.Types.PackagePreferences
+    Distribution.Solver.Types.PkgConfigDb
+    Distribution.Solver.Types.Progress
+    Distribution.Solver.Types.ResolverPackage
+    Distribution.Solver.Types.Settings
+    Distribution.Solver.Types.SolverId
+    Distribution.Solver.Types.SolverPackage
+    Distribution.Solver.Types.SourcePackage
+    Distribution.Solver.Types.Variable
+    Paths_cabal_install
+    UnitTests.Distribution.Solver.Modular.DSL
+    UnitTests.Distribution.Solver.Modular.QuickCheck
+  build-depends:
+        base,
+        async,
+        array,
+        bytestring,
+        Cabal,
+        containers,
+        deepseq >= 1.2,
+        mtl,
+        pretty,
+        process,
+        directory,
+        filepath,
+        hashable,
+        stm,
+        tar,
+        time,
+        HTTP,
+        zlib,
+        binary,
+        random,
+        hackage-security,
+        tasty >= 0.12,
+        tasty-quickcheck,
+        QuickCheck >= 2.8.2,
+        pretty-show
+
+  if flag(old-directory)
+    build-depends: old-time
+
+  if flag(network-uri)
+    build-depends: network-uri >= 2.6, network >= 2.6
+  else
+    build-depends: network-uri < 2.6, network < 2.6
+
+  if impl(ghc < 7.6)
+    build-depends: ghc-prim >= 0.2 && < 0.3
+
+  if os(windows)
+    build-depends: Win32
+  else
+    build-depends: unix
+
+  if !(arch(arm) && impl(ghc < 7.6))
+    ghc-options: -threaded
+
+  if flag(debug-expensive-assertions)
+    cpp-options: -DDEBUG_EXPENSIVE_ASSERTIONS
+
+  if flag(debug-conflict-sets)
+    cpp-options: -DDEBUG_CONFLICT_SETS
+    build-depends: base >= 4.8
+
+  if flag(debug-tracetree)
+      cpp-options: -DDEBUG_TRACETREE
+      build-depends: tracetree >= 0.1 && < 0.2
+
+  default-language: Haskell2010
+
+-- Integration tests that use the cabal-install code directly
+-- but still build whole projects
+test-suite integration-tests2
+  type: exitcode-stdio-1.0
+  main-is: IntegrationTests2.hs
+  hs-source-dirs: tests, .
+  ghc-options: -Wall -fwarn-tabs -fno-ignore-asserts -main-is IntegrationTests2
+  other-modules:
+    Distribution.Client.BuildReports.Types
+    Distribution.Client.CmdBench
+    Distribution.Client.CmdBuild
+    Distribution.Client.CmdErrorMessages
+    Distribution.Client.CmdHaddock
+    Distribution.Client.CmdRepl
+    Distribution.Client.CmdRun
+    Distribution.Client.CmdTest
+    Distribution.Client.Compat.ExecutablePath
+    Distribution.Client.Compat.FileLock
+    Distribution.Client.Compat.Prelude
+    Distribution.Client.Compat.Semaphore
+    Distribution.Client.Config
+    Distribution.Client.Dependency
+    Distribution.Client.Dependency.Types
+    Distribution.Client.DistDirLayout
+    Distribution.Client.FetchUtils
+    Distribution.Client.FileMonitor
+    Distribution.Client.GZipUtils
+    Distribution.Client.Glob
+    Distribution.Client.GlobalFlags
+    Distribution.Client.HttpUtils
+    Distribution.Client.IndexUtils
+    Distribution.Client.IndexUtils.Timestamp
+    Distribution.Client.Init.Types
+    Distribution.Client.InstallPlan
+    Distribution.Client.JobControl
+    Distribution.Client.PackageHash
+    Distribution.Client.PackageUtils
+    Distribution.Client.ParseUtils
+    Distribution.Client.ProjectBuilding
+    Distribution.Client.ProjectBuilding.Types
+    Distribution.Client.ProjectConfig
+    Distribution.Client.ProjectConfig.Legacy
+    Distribution.Client.ProjectConfig.Types
+    Distribution.Client.ProjectOrchestration
+    Distribution.Client.ProjectPlanOutput
+    Distribution.Client.ProjectPlanning
+    Distribution.Client.ProjectPlanning.Types
+    Distribution.Client.RebuildMonad
+    Distribution.Client.Sandbox.Types
+    Distribution.Client.Security.DNS
+    Distribution.Client.Security.HTTP
+    Distribution.Client.Setup
+    Distribution.Client.SetupWrapper
+    Distribution.Client.SolverInstallPlan
+    Distribution.Client.SourceFiles
+    Distribution.Client.SrcDist
+    Distribution.Client.Store
+    Distribution.Client.Tar
+    Distribution.Client.TargetSelector
+    Distribution.Client.Targets
+    Distribution.Client.Types
+    Distribution.Client.Utils
+    Distribution.Client.Utils.Assertion
+    Distribution.Client.Utils.Json
+    Distribution.Client.World
+    Distribution.Solver.Modular
+    Distribution.Solver.Modular.Assignment
+    Distribution.Solver.Modular.Builder
+    Distribution.Solver.Modular.Configured
+    Distribution.Solver.Modular.ConfiguredConversion
+    Distribution.Solver.Modular.ConflictSet
+    Distribution.Solver.Modular.Cycles
+    Distribution.Solver.Modular.Dependency
+    Distribution.Solver.Modular.Explore
+    Distribution.Solver.Modular.Flag
+    Distribution.Solver.Modular.Index
+    Distribution.Solver.Modular.IndexConversion
+    Distribution.Solver.Modular.LabeledGraph
+    Distribution.Solver.Modular.Linking
+    Distribution.Solver.Modular.Log
+    Distribution.Solver.Modular.Message
+    Distribution.Solver.Modular.PSQ
+    Distribution.Solver.Modular.Package
+    Distribution.Solver.Modular.Preference
+    Distribution.Solver.Modular.RetryLog
+    Distribution.Solver.Modular.Solver
+    Distribution.Solver.Modular.Tree
+    Distribution.Solver.Modular.Validate
+    Distribution.Solver.Modular.Var
+    Distribution.Solver.Modular.Version
+    Distribution.Solver.Modular.WeightedPSQ
+    Distribution.Solver.Types.ComponentDeps
+    Distribution.Solver.Types.ConstraintSource
+    Distribution.Solver.Types.DependencyResolver
+    Distribution.Solver.Types.Flag
+    Distribution.Solver.Types.InstSolverPackage
+    Distribution.Solver.Types.InstalledPreference
+    Distribution.Solver.Types.LabeledPackageConstraint
+    Distribution.Solver.Types.OptionalStanza
+    Distribution.Solver.Types.PackageConstraint
+    Distribution.Solver.Types.PackageFixedDeps
+    Distribution.Solver.Types.PackageIndex
+    Distribution.Solver.Types.PackagePath
+    Distribution.Solver.Types.PackagePreferences
+    Distribution.Solver.Types.PkgConfigDb
+    Distribution.Solver.Types.Progress
+    Distribution.Solver.Types.ResolverPackage
+    Distribution.Solver.Types.Settings
+    Distribution.Solver.Types.SolverId
+    Distribution.Solver.Types.SolverPackage
+    Distribution.Solver.Types.SourcePackage
+    Distribution.Solver.Types.Variable
+    Paths_cabal_install
+  build-depends:
+        async,
+        array,
+        base,
+        base16-bytestring,
+        binary,
+        bytestring,
+        Cabal,
+        containers,
+        cryptohash-sha256,
+        deepseq,
+        directory,
+        edit-distance,
+        filepath,
+        hackage-security,
+        hashable,
+        HTTP,
+        mtl,
+        network,
+        network-uri,
+        pretty,
+        process,
+        random,
+        stm,
+        tar,
+        time,
+        zlib,
+        tasty >= 0.12,
+        tasty-hunit >= 0.10,
+        tagged
+
+  if flag(old-bytestring)
+    build-depends: bytestring-builder
+
+  if flag(old-directory)
+    build-depends: old-time
+
+  if impl(ghc < 7.6)
+    build-depends: ghc-prim >= 0.2 && < 0.3
+
+  if os(windows)
+    build-depends: Win32
+  else
+    build-depends: unix
+
+  if arch(arm)
+    cc-options:  -DCABAL_NO_THREADED
+  else
+    ghc-options: -threaded
+  default-language: Haskell2010
+
+custom-setup
+  setup-depends: Cabal >= 2.0,
+                 base,
+                 process   >= 1.1.0.1  && < 1.7,
+                 filepath  >= 1.3      && < 1.5
revision 3
 Name:               cabal-install
 Version:            2.0.0.1
-x-revision: 2
+x-revision: 3
 Synopsis:           The command-line interface for Cabal and Hackage.
 Description:
     The \'cabal\' command-line program simplifies the process of managing
     -- NOTE: when updating build-depends, don't forget to update version regexps
     -- in bootstrap.sh.
     build-depends:
-        async      >= 2.0      && < 3,
+        async      >= 2.0      && < 2.2,
         array      >= 0.4      && < 0.6,
         base       >= 4.5      && < 4.11,
         base16-bytestring >= 0.1.1 && < 0.2,
         binary     >= 0.5      && < 0.9,
-        bytestring >= 0.9      && < 1,
+        bytestring >= 0.9      && < 0.11,
         Cabal      >= 2.0.1.0  && < 2.1,
         containers >= 0.4      && < 0.6,
         cryptohash-sha256 >= 0.11 && < 0.12,
         filepath   >= 1.3      && < 1.5,
         hashable   >= 1.0      && < 2,
         HTTP       >= 4000.1.5 && < 4000.4,
-        mtl        >= 2.0      && < 3,
+        mtl        >= 2.0      && < 2.3,
         pretty     >= 1.1      && < 1.2,
         random     >= 1        && < 1.2,
-        stm        >= 2.0      && < 3,
+        stm        >= 2.0      && < 2.5,
         tar        >= 0.5.0.3  && < 0.6,
         time       >= 1.4      && < 1.9,
         zlib       >= 0.5.3    && < 0.7,
   setup-depends: Cabal >= 2.0,
                  base,
                  process   >= 1.1.0.1  && < 1.7,
-                 filepath  >= 1.3      && < 1.5
+                 filepath   >= 1.3      && < 1.5