From a64b9aea0839cd7183dfae1e94455b870a3d5812 Mon Sep 17 00:00:00 2001 From: Patrick Dougherty Date: Thu, 2 Sep 2021 20:37:30 -0500 Subject: [PATCH] Create Cabal-syntax for .cabal parsing and types --- Cabal-QuickCheck/Cabal-QuickCheck.cabal | 5 +- Cabal-described/Cabal-described.cabal | 1 + Cabal-syntax/Cabal-syntax.cabal | 251 ++++++++++++++ Cabal-syntax/ChangeLog.md | 0 Cabal-syntax/LICENSE | 34 ++ Cabal-syntax/README.md | 67 ++++ Cabal-syntax/Setup.hs | 3 + .../src/Distribution/Backpack.hs | 0 .../src/Distribution/CabalSpecVersion.hs | 0 .../src/Distribution/Compat/Binary.hs | 0 .../src/Distribution/Compat/Binary/Class.hs | 0 .../src/Distribution/Compat/Binary/Generic.hs | 0 .../src/Distribution/Compat/CharParsing.hs | 0 .../src/Distribution/Compat/DList.hs | 0 .../src/Distribution/Compat/Exception.hs | 0 .../src/Distribution/Compat/Graph.hs | 0 .../src/Distribution/Compat/Lens.hs | 0 .../src/Distribution/Compat/MonadFail.hs | 0 .../src/Distribution/Compat/Newtype.hs | 0 .../src/Distribution/Compat/NonEmptySet.hs | 0 .../src/Distribution/Compat/Parsing.hs | 0 .../src/Distribution/Compat/Prelude.hs | 0 .../src/Distribution/Compat/Semigroup.hs | 0 .../src/Distribution/Compat/Typeable.hs | 0 .../src/Distribution/Compiler.hs | 0 .../src/Distribution/FieldGrammar.hs | 0 .../src/Distribution/FieldGrammar/Class.hs | 0 .../Distribution/FieldGrammar/FieldDescrs.hs | 2 +- .../src/Distribution/FieldGrammar/Newtypes.hs | 0 .../src/Distribution/FieldGrammar/Parsec.hs | 2 +- .../src/Distribution/FieldGrammar/Pretty.hs | 2 +- .../src/Distribution/Fields.hs | 1 - .../src/Distribution/Fields/ConfVar.hs | 0 .../src/Distribution/Fields/Field.hs | 2 +- .../src/Distribution/Fields/Lexer.hs | 0 .../src/Distribution/Fields/LexerMonad.hs | 0 .../src/Distribution/Fields/ParseResult.hs | 44 +-- .../src/Distribution/Fields/Parser.hs | 0 .../src/Distribution/Fields/Pretty.hs | 4 +- .../src/Distribution/InstalledPackageInfo.hs | 0 .../src/Distribution/License.hs | 0 .../src/Distribution/ModuleName.hs | 0 .../src/Distribution/Package.hs | 0 .../src/Distribution/PackageDescription.hs | 0 .../PackageDescription/Configuration.hs | 2 +- .../PackageDescription/FieldGrammar.hs | 0 .../Distribution/PackageDescription/Parsec.hs | 17 +- .../PackageDescription/PrettyPrint.hs | 2 +- .../Distribution/PackageDescription/Quirks.hs | 0 .../Distribution/PackageDescription/Utils.hs | 0 .../src/Distribution/Parsec.hs | 0 .../src/Distribution/Parsec/Error.hs | 0 .../Distribution/Parsec/FieldLineStream.hs | 0 .../src/Distribution/Parsec/Position.hs | 0 .../src/Distribution/Parsec/Warning.hs | 0 .../src/Distribution/Pretty.hs | 0 .../src/Distribution/SPDX.hs | 0 .../src/Distribution/SPDX/License.hs | 0 .../Distribution/SPDX/LicenseExceptionId.hs | 0 .../Distribution/SPDX/LicenseExpression.hs | 0 .../src/Distribution/SPDX/LicenseId.hs | 0 .../Distribution/SPDX/LicenseListVersion.hs | 0 .../src/Distribution/SPDX/LicenseReference.hs | 0 .../src/Distribution/System.hs | 0 .../src/Distribution/Text.hs | 0 .../src/Distribution/Types/AbiDependency.hs | 0 .../src/Distribution/Types/AbiHash.hs | 0 .../src/Distribution/Types/Benchmark.hs | 0 .../src/Distribution/Types/Benchmark/Lens.hs | 0 .../Distribution/Types/BenchmarkInterface.hs | 0 .../src/Distribution/Types/BenchmarkType.hs | 0 .../src/Distribution/Types/BuildInfo.hs | 0 .../src/Distribution/Types/BuildInfo/Lens.hs | 0 .../src/Distribution/Types/BuildType.hs | 0 .../src/Distribution/Types/Component.hs | 0 .../src/Distribution/Types/ComponentId.hs | 0 .../src/Distribution/Types/ComponentName.hs | 0 .../Types/ComponentRequestedSpec.hs | 0 .../src/Distribution/Types/CondTree.hs | 0 .../src/Distribution/Types/Condition.hs | 0 .../src/Distribution/Types/ConfVar.hs | 0 .../src/Distribution/Types/Dependency.hs | 0 .../src/Distribution/Types/DependencyMap.hs | 0 .../src/Distribution/Types/ExeDependency.hs | 0 .../src/Distribution/Types/Executable.hs | 0 .../src/Distribution/Types/Executable/Lens.hs | 0 .../src/Distribution/Types/ExecutableScope.hs | 0 .../src/Distribution/Types/ExposedModule.hs | 0 .../src/Distribution/Types/Flag.hs | 0 .../src/Distribution/Types/ForeignLib.hs | 0 .../src/Distribution/Types/ForeignLib/Lens.hs | 0 .../Distribution/Types/ForeignLibOption.hs | 0 .../src/Distribution/Types/ForeignLibType.hs | 0 .../Types/GenericPackageDescription.hs | 0 .../Types/GenericPackageDescription/Lens.hs | 0 .../src/Distribution/Types/HookedBuildInfo.hs | 0 .../src/Distribution/Types/IncludeRenaming.hs | 0 .../Types/InstalledPackageInfo.hs | 0 .../InstalledPackageInfo/FieldGrammar.hs | 0 .../Types/InstalledPackageInfo/Lens.hs | 0 .../Distribution/Types/LegacyExeDependency.hs | 0 .../src/Distribution/Types/Lens.hs | 0 .../src/Distribution/Types/Library.hs | 0 .../src/Distribution/Types/Library/Lens.hs | 0 .../src/Distribution/Types/LibraryName.hs | 0 .../Distribution/Types/LibraryVisibility.hs | 0 .../src/Distribution/Types/Mixin.hs | 0 .../src/Distribution/Types/Module.hs | 0 .../src/Distribution/Types/ModuleReexport.hs | 0 .../src/Distribution/Types/ModuleRenaming.hs | 0 .../src/Distribution/Types/MungedPackageId.hs | 0 .../Distribution/Types/MungedPackageName.hs | 0 .../Distribution/Types/PackageDescription.hs | 0 .../Types/PackageDescription/Lens.hs | 0 .../src/Distribution/Types/PackageId.hs | 0 .../src/Distribution/Types/PackageId/Lens.hs | 0 .../src/Distribution/Types/PackageName.hs | 0 .../Types/PackageVersionConstraint.hs | 0 .../Distribution/Types/PkgconfigDependency.hs | 0 .../src/Distribution/Types/PkgconfigName.hs | 0 .../Distribution/Types/PkgconfigVersion.hs | 0 .../Types/PkgconfigVersionRange.hs | 0 .../src/Distribution/Types/SetupBuildInfo.hs | 0 .../Distribution/Types/SetupBuildInfo/Lens.hs | 0 .../src/Distribution/Types/SourceRepo.hs | 0 .../src/Distribution/Types/SourceRepo/Lens.hs | 0 .../src/Distribution/Types/TestSuite.hs | 0 .../src/Distribution/Types/TestSuite/Lens.hs | 0 .../Distribution/Types/TestSuiteInterface.hs | 0 .../src/Distribution/Types/TestType.hs | 0 .../src/Distribution/Types/UnitId.hs | 0 .../Distribution/Types/UnqualComponentName.hs | 0 .../src/Distribution/Types/Version.hs | 0 .../src/Distribution/Types/VersionInterval.hs | 0 .../Types/VersionInterval/Legacy.hs | 0 .../src/Distribution/Types/VersionRange.hs | 0 .../Types/VersionRange/Internal.hs | 0 .../src/Distribution/Utils/Base62.hs | 0 .../src/Distribution/Utils/Generic.hs | 2 +- .../src/Distribution/Utils/MD5.hs | 0 .../src/Distribution/Utils/Path.hs | 0 .../src/Distribution/Utils/ShortText.hs | 0 .../src/Distribution/Utils/String.hs | 0 .../src/Distribution/Utils/Structured.hs | 0 .../src/Distribution/Version.hs | 0 .../src/Language/Haskell/Extension.hs | 0 Cabal-tests/Cabal-tests.cabal | 10 +- Cabal-tree-diff/Cabal-tree-diff.cabal | 5 +- Cabal/Cabal.cabal | 156 +-------- Cabal/src/Distribution/Simple.hs | 2 +- .../Distribution/Simple/PackageDescription.hs | 74 +++++ Makefile | 12 +- README.md | 1 + bootstrap/bootstrap.py | 2 + bootstrap/linux-8.10.7.json | 298 +++++++++-------- bootstrap/linux-8.10.7.plan.json | 2 +- bootstrap/linux-8.6.5.json | 310 +++++++++--------- bootstrap/linux-8.6.5.plan.json | 2 +- bootstrap/linux-8.8.4.json | 310 +++++++++--------- bootstrap/linux-8.8.4.plan.json | 2 +- cabal-benchmarks/cabal-benchmarks.cabal | 2 +- .../cabal-install-solver.cabal | 2 + cabal-install/cabal-install.cabal | 17 +- cabal-install/main/Main.hs | 2 +- .../src/Distribution/Client/CmdOutdated.hs | 4 +- .../src/Distribution/Client/Configure.hs | 4 +- .../src/Distribution/Client/GenBounds.hs | 4 +- .../src/Distribution/Client/IndexUtils.hs | 1 + .../src/Distribution/Client/ScriptUtils.hs | 4 +- .../src/Distribution/Client/SetupWrapper.hs | 4 +- .../src/Distribution/Client/SrcDist.hs | 2 +- .../src/Distribution/Client/Targets.hs | 4 +- cabal-testsuite/cabal-testsuite.cabal | 1 + cabal-testsuite/src/Test/Cabal/Prelude.hs | 2 +- cabal.project | 2 +- cabal.project.buildinfo | 1 + cabal.project.coverage | 7 +- cabal.project.libonly | 4 +- cabal.project.release | 1 + cabal.project.validate | 3 + cabal.project.validate.libonly | 3 + cabal.project.weeder | 1 + changelog.d/cabal-syntax | 7 + ghc-packages | 2 +- solver-benchmarks/solver-benchmarks.cabal | 2 +- stack.yaml | 1 + .../cabal-doctest-1.0.8/cabal-doctest.cabal | 5 +- 187 files changed, 1008 insertions(+), 711 deletions(-) create mode 100644 Cabal-syntax/Cabal-syntax.cabal create mode 100644 Cabal-syntax/ChangeLog.md create mode 100644 Cabal-syntax/LICENSE create mode 100644 Cabal-syntax/README.md create mode 100644 Cabal-syntax/Setup.hs rename {Cabal => Cabal-syntax}/src/Distribution/Backpack.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/CabalSpecVersion.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/Binary.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/Binary/Class.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/Binary/Generic.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/CharParsing.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/DList.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/Exception.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/Graph.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/MonadFail.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/Newtype.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/NonEmptySet.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/Parsing.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/Prelude.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/Semigroup.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compat/Typeable.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Compiler.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/FieldGrammar.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/FieldGrammar/Class.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/FieldGrammar/FieldDescrs.hs (98%) rename {Cabal => Cabal-syntax}/src/Distribution/FieldGrammar/Newtypes.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/FieldGrammar/Parsec.hs (99%) rename {Cabal => Cabal-syntax}/src/Distribution/FieldGrammar/Pretty.hs (98%) rename {Cabal => Cabal-syntax}/src/Distribution/Fields.hs (98%) rename {Cabal => Cabal-syntax}/src/Distribution/Fields/ConfVar.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Fields/Field.hs (98%) rename {Cabal => Cabal-syntax}/src/Distribution/Fields/Lexer.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Fields/LexerMonad.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Fields/ParseResult.hs (75%) rename {Cabal => Cabal-syntax}/src/Distribution/Fields/Parser.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Fields/Pretty.hs (98%) rename {Cabal => Cabal-syntax}/src/Distribution/InstalledPackageInfo.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/License.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/ModuleName.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Package.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/PackageDescription.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/PackageDescription/Configuration.hs (99%) rename {Cabal => Cabal-syntax}/src/Distribution/PackageDescription/FieldGrammar.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/PackageDescription/Parsec.hs (98%) rename {Cabal => Cabal-syntax}/src/Distribution/PackageDescription/PrettyPrint.hs (99%) rename {Cabal => Cabal-syntax}/src/Distribution/PackageDescription/Quirks.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/PackageDescription/Utils.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Parsec.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Parsec/Error.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Parsec/FieldLineStream.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Parsec/Position.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Parsec/Warning.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Pretty.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/SPDX.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/SPDX/License.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/SPDX/LicenseExceptionId.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/SPDX/LicenseExpression.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/SPDX/LicenseId.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/SPDX/LicenseListVersion.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/SPDX/LicenseReference.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/System.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Text.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/AbiDependency.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/AbiHash.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Benchmark.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Benchmark/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/BenchmarkInterface.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/BenchmarkType.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/BuildInfo.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/BuildInfo/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/BuildType.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Component.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ComponentId.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ComponentName.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ComponentRequestedSpec.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/CondTree.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Condition.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ConfVar.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Dependency.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/DependencyMap.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ExeDependency.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Executable.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Executable/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ExecutableScope.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ExposedModule.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Flag.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ForeignLib.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ForeignLib/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ForeignLibOption.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ForeignLibType.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/GenericPackageDescription.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/GenericPackageDescription/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/HookedBuildInfo.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/IncludeRenaming.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/InstalledPackageInfo.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/InstalledPackageInfo/FieldGrammar.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/InstalledPackageInfo/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/LegacyExeDependency.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Library.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Library/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/LibraryName.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/LibraryVisibility.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Mixin.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Module.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ModuleReexport.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/ModuleRenaming.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/MungedPackageId.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/MungedPackageName.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/PackageDescription.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/PackageDescription/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/PackageId.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/PackageId/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/PackageName.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/PackageVersionConstraint.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/PkgconfigDependency.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/PkgconfigName.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/PkgconfigVersion.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/PkgconfigVersionRange.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/SetupBuildInfo.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/SetupBuildInfo/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/SourceRepo.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/SourceRepo/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/TestSuite.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/TestSuite/Lens.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/TestSuiteInterface.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/TestType.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/UnitId.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/UnqualComponentName.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/Version.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/VersionInterval.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/VersionInterval/Legacy.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/VersionRange.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Types/VersionRange/Internal.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Utils/Base62.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Utils/Generic.hs (99%) rename {Cabal => Cabal-syntax}/src/Distribution/Utils/MD5.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Utils/Path.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Utils/ShortText.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Utils/String.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Utils/Structured.hs (100%) rename {Cabal => Cabal-syntax}/src/Distribution/Version.hs (100%) rename {Cabal => Cabal-syntax}/src/Language/Haskell/Extension.hs (100%) create mode 100644 Cabal/src/Distribution/Simple/PackageDescription.hs create mode 100644 changelog.d/cabal-syntax diff --git a/Cabal-QuickCheck/Cabal-QuickCheck.cabal b/Cabal-QuickCheck/Cabal-QuickCheck.cabal index 0f4d2d0c34e..da2042de816 100644 --- a/Cabal-QuickCheck/Cabal-QuickCheck.cabal +++ b/Cabal-QuickCheck/Cabal-QuickCheck.cabal @@ -13,8 +13,9 @@ library build-depends: , base , bytestring - , Cabal ^>=3.7.0.0 - , QuickCheck ^>=2.13.2 || ^>=2.14 + , Cabal ^>=3.7.0.0 + , Cabal-syntax ^>=3.7.0.0 + , QuickCheck ^>=2.13.2 || ^>=2.14 if !impl(ghc >= 8.0) build-depends: semigroups diff --git a/Cabal-described/Cabal-described.cabal b/Cabal-described/Cabal-described.cabal index 92344b62183..de7a1f4e66e 100644 --- a/Cabal-described/Cabal-described.cabal +++ b/Cabal-described/Cabal-described.cabal @@ -12,6 +12,7 @@ library build-depends: , base , Cabal ^>=3.7.0.0 + , Cabal-syntax ^>=3.7.0.0 , containers , pretty , QuickCheck diff --git a/Cabal-syntax/Cabal-syntax.cabal b/Cabal-syntax/Cabal-syntax.cabal new file mode 100644 index 00000000000..91181e13efc --- /dev/null +++ b/Cabal-syntax/Cabal-syntax.cabal @@ -0,0 +1,251 @@ +cabal-version: >=1.10 +name: Cabal-syntax +version: 3.7.0.0 +copyright: 2003-2021, Cabal Development Team (see AUTHORS file) +license: BSD3 +license-file: LICENSE +author: Cabal Development Team +maintainer: cabal-devel@haskell.org +homepage: http://www.haskell.org/cabal/ +bug-reports: https://github.com/haskell/cabal/issues +synopsis: A library for working with .cabal files +description: + This library provides tools for reading and manipulating the .cabal file + format. +category: Distribution +build-type: Simple + +extra-source-files: + README.md ChangeLog.md + +source-repository head + type: git + location: https://github.com/haskell/cabal/ + subdir: Cabal-syntax + +flag bundled-binary-generic + default: False + +library + default-language: Haskell2010 + hs-source-dirs: src + + build-depends: + array >= 0.4.0.1 && < 0.6, + base >= 4.6 && < 5, + bytestring >= 0.10.0.0 && < 0.12, + containers >= 0.5.0.0 && < 0.7, + deepseq >= 1.3.0.1 && < 1.5, + directory >= 1.2 && < 1.4, + filepath >= 1.3.0.1 && < 1.5, + mtl >= 2.1 && < 2.3, + parsec >= 3.1.13.0 && < 3.2, + pretty >= 1.1.1 && < 1.2, + text (>= 1.2.3.0 && < 1.3) || (>= 2.0 && < 2.1), + time >= 1.4.0.1 && < 1.13, + -- transformers-0.4.0.0 doesn't have record syntax e.g. for Identity + -- See also https://github.com/ekmett/transformers-compat/issues/35 + transformers (>= 0.3 && < 0.4) || (>=0.4.1.0 && <0.6) + + if flag(bundled-binary-generic) + build-depends: binary >= 0.5.1.1 && < 0.7 + else + build-depends: binary >= 0.7 && < 0.9 + + if os(windows) + build-depends: Win32 >= 2.3.0.0 && < 2.13 + else + build-depends: unix >= 2.6.0.0 && < 2.8 + + ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates + if impl(ghc >= 8.0) + ghc-options: -Wcompat -Wnoncanonical-monad-instances + + if impl(ghc <8.8) + ghc-options: -Wnoncanonical-monadfail-instances + + if !impl(ghc >= 8.0) + -- at least one of lib:Cabal's dependency (i.e. `parsec`) + -- already depends on `fail` and `semigroups` transitively + build-depends: fail == 4.9.*, semigroups >= 0.18.3 && < 0.20 + + if !impl(ghc >= 7.10) + build-depends: void >= 0.7.3 && < 0.8 + + if !impl(ghc >= 7.8) + -- semigroups depends on tagged. + build-depends: tagged >=0.8.6 && <0.9, bytestring-builder >= 0.10.8 && <0.11 + + exposed-modules: + Distribution.Backpack + Distribution.CabalSpecVersion + Distribution.Compat.Binary + Distribution.Compat.CharParsing + Distribution.Compat.DList + Distribution.Compat.Exception + Distribution.Compat.Graph + Distribution.Compat.Lens + Distribution.Compat.MonadFail + Distribution.Compat.Newtype + Distribution.Compat.NonEmptySet + Distribution.Compat.Parsing + Distribution.Compat.Prelude + Distribution.Compat.Semigroup + Distribution.Compat.Typeable + Distribution.Compiler + Distribution.FieldGrammar + Distribution.FieldGrammar.Class + Distribution.FieldGrammar.FieldDescrs + Distribution.FieldGrammar.Newtypes + Distribution.FieldGrammar.Parsec + Distribution.FieldGrammar.Pretty + Distribution.Fields + Distribution.Fields.ConfVar + Distribution.Fields.Field + Distribution.Fields.Lexer + Distribution.Fields.LexerMonad + Distribution.Fields.ParseResult + Distribution.Fields.Parser + Distribution.Fields.Pretty + Distribution.InstalledPackageInfo + Distribution.License + Distribution.ModuleName + Distribution.Package + Distribution.PackageDescription + Distribution.PackageDescription.Configuration + Distribution.PackageDescription.FieldGrammar + Distribution.PackageDescription.Parsec + Distribution.PackageDescription.PrettyPrint + Distribution.PackageDescription.Quirks + Distribution.PackageDescription.Utils + Distribution.Parsec + Distribution.Parsec.Error + Distribution.Parsec.FieldLineStream + Distribution.Parsec.Position + Distribution.Parsec.Warning + Distribution.Pretty + Distribution.SPDX + Distribution.SPDX.License + Distribution.SPDX.LicenseExceptionId + Distribution.SPDX.LicenseExpression + Distribution.SPDX.LicenseId + Distribution.SPDX.LicenseListVersion + Distribution.SPDX.LicenseReference + Distribution.System + Distribution.Text + Distribution.Types.AbiDependency + Distribution.Types.AbiHash + Distribution.Types.Benchmark + Distribution.Types.Benchmark.Lens + Distribution.Types.BenchmarkInterface + Distribution.Types.BenchmarkType + Distribution.Types.BuildInfo + Distribution.Types.BuildInfo.Lens + Distribution.Types.BuildType + Distribution.Types.Component + Distribution.Types.ComponentId + Distribution.Types.ComponentName + Distribution.Types.ComponentRequestedSpec + Distribution.Types.CondTree + Distribution.Types.Condition + Distribution.Types.ConfVar + Distribution.Types.Dependency + Distribution.Types.DependencyMap + Distribution.Types.ExeDependency + Distribution.Types.Executable + Distribution.Types.Executable.Lens + Distribution.Types.ExecutableScope + Distribution.Types.ExposedModule + Distribution.Types.Flag + Distribution.Types.ForeignLib + Distribution.Types.ForeignLib.Lens + Distribution.Types.ForeignLibOption + Distribution.Types.ForeignLibType + Distribution.Types.GenericPackageDescription + Distribution.Types.GenericPackageDescription.Lens + Distribution.Types.HookedBuildInfo + Distribution.Types.IncludeRenaming + Distribution.Types.InstalledPackageInfo + Distribution.Types.InstalledPackageInfo.Lens + Distribution.Types.InstalledPackageInfo.FieldGrammar + Distribution.Types.LegacyExeDependency + Distribution.Types.Lens + Distribution.Types.Library + Distribution.Types.Library.Lens + Distribution.Types.LibraryName + Distribution.Types.LibraryVisibility + Distribution.Types.Mixin + Distribution.Types.Module + Distribution.Types.ModuleReexport + Distribution.Types.ModuleRenaming + Distribution.Types.MungedPackageId + Distribution.Types.MungedPackageName + Distribution.Types.PackageDescription + Distribution.Types.PackageDescription.Lens + Distribution.Types.PackageId + Distribution.Types.PackageId.Lens + Distribution.Types.PackageName + Distribution.Types.PackageVersionConstraint + Distribution.Types.PkgconfigDependency + Distribution.Types.PkgconfigName + Distribution.Types.PkgconfigVersion + Distribution.Types.PkgconfigVersionRange + Distribution.Types.SetupBuildInfo + Distribution.Types.SetupBuildInfo.Lens + Distribution.Types.SourceRepo + Distribution.Types.SourceRepo.Lens + Distribution.Types.TestSuite + Distribution.Types.TestSuite.Lens + Distribution.Types.TestSuiteInterface + Distribution.Types.TestType + Distribution.Types.UnitId + Distribution.Types.UnqualComponentName + Distribution.Types.Version + Distribution.Types.VersionInterval + Distribution.Types.VersionInterval.Legacy + Distribution.Types.VersionRange + Distribution.Types.VersionRange.Internal + Distribution.Utils.Base62 + Distribution.Utils.Generic + Distribution.Utils.MD5 + Distribution.Utils.Path + Distribution.Utils.ShortText + Distribution.Utils.String + Distribution.Utils.Structured + Distribution.Version + Language.Haskell.Extension + + if flag(bundled-binary-generic) + exposed-modules: + Distribution.Compat.Binary.Class + Distribution.Compat.Binary.Generic + + other-extensions: + BangPatterns + CPP + DefaultSignatures + DeriveDataTypeable + DeriveFoldable + DeriveFunctor + DeriveGeneric + DeriveTraversable + ExistentialQuantification + FlexibleContexts + FlexibleInstances + GeneralizedNewtypeDeriving + ImplicitParams + KindSignatures + NondecreasingIndentation + OverloadedStrings + RankNTypes + RecordWildCards + ScopedTypeVariables + StandaloneDeriving + Trustworthy + TypeFamilies + TypeOperators + TypeSynonymInstances + UndecidableInstances + + if impl(ghc >= 7.11) + other-extensions: PatternSynonyms diff --git a/Cabal-syntax/ChangeLog.md b/Cabal-syntax/ChangeLog.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Cabal-syntax/LICENSE b/Cabal-syntax/LICENSE new file mode 100644 index 00000000000..d311ab42e10 --- /dev/null +++ b/Cabal-syntax/LICENSE @@ -0,0 +1,34 @@ +Copyright (c) 2003-2020, Cabal Development Team. +See the AUTHORS file for the full list of copyright holders. + +See */LICENSE for the copyright holders of the subcomponents. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of Isaac Jones nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Cabal-syntax/README.md b/Cabal-syntax/README.md new file mode 100644 index 00000000000..1ec4f6b47f2 --- /dev/null +++ b/Cabal-syntax/README.md @@ -0,0 +1,67 @@ +The Cabal-syntax package +======================== + +See the [Cabal web site] for more information. + +The `Cabal-syntax` package defines the syntax of the `.cabal` file format +and provides tools for parsing `.cabal` files. + +More information +================ + +Please see the [Cabal web site] for the [user guide] and [API +documentation]. There is additional information available on the +[development wiki]. + +[user guide]: http://www.haskell.org/cabal/users-guide +[API documentation]: http://www.haskell.org/cabal/release/cabal-latest/doc/API/Cabal/Distribution-Simple.html +[development wiki]: https://github.com/haskell/cabal/wiki + + +Bugs +==== + +Please report bugs and feature requests to Cabal's [bug tracker]. + + +Your help +--------- + +To help Cabal's development, it is enormously helpful to know from +Cabal's users what their most pressing problems are with Cabal and +[Hackage]. You may have a favourite Cabal bug or limitation. Look at +Cabal's [bug tracker]. Ensure that the problem is reported there and +adequately described. Comment on the issue to report how much of a +problem the bug is for you. Subscribe to the issues's notifications to +discussed requirements and keep informed on progress. For feature +requests, it is helpful if there is a description of how you would +expect to interact with the new feature. + +[Hackage]: http://hackage.haskell.org + + +Source code +=========== + +You can get the master development branch using: + + $ git clone https://github.com/haskell/cabal.git + + +Credits +======= + +See the `AUTHORS` file. + +Authors of the [original Cabal +specification](https://www.haskell.org/cabal/proposal/pkg-spec.pdf): + +- Isaac Jones +- Simon Marlow +- Ross Patterson +- Simon Peyton Jones +- Malcolm Wallace + + +[bug tracker]: https://github.com/haskell/cabal/issues +[Cabal web site]: http://www.haskell.org/cabal/ diff --git a/Cabal-syntax/Setup.hs b/Cabal-syntax/Setup.hs new file mode 100644 index 00000000000..b55cb169539 --- /dev/null +++ b/Cabal-syntax/Setup.hs @@ -0,0 +1,3 @@ +import Distribution.Simple +main :: IO () +main = defaultMain diff --git a/Cabal/src/Distribution/Backpack.hs b/Cabal-syntax/src/Distribution/Backpack.hs similarity index 100% rename from Cabal/src/Distribution/Backpack.hs rename to Cabal-syntax/src/Distribution/Backpack.hs diff --git a/Cabal/src/Distribution/CabalSpecVersion.hs b/Cabal-syntax/src/Distribution/CabalSpecVersion.hs similarity index 100% rename from Cabal/src/Distribution/CabalSpecVersion.hs rename to Cabal-syntax/src/Distribution/CabalSpecVersion.hs diff --git a/Cabal/src/Distribution/Compat/Binary.hs b/Cabal-syntax/src/Distribution/Compat/Binary.hs similarity index 100% rename from Cabal/src/Distribution/Compat/Binary.hs rename to Cabal-syntax/src/Distribution/Compat/Binary.hs diff --git a/Cabal/src/Distribution/Compat/Binary/Class.hs b/Cabal-syntax/src/Distribution/Compat/Binary/Class.hs similarity index 100% rename from Cabal/src/Distribution/Compat/Binary/Class.hs rename to Cabal-syntax/src/Distribution/Compat/Binary/Class.hs diff --git a/Cabal/src/Distribution/Compat/Binary/Generic.hs b/Cabal-syntax/src/Distribution/Compat/Binary/Generic.hs similarity index 100% rename from Cabal/src/Distribution/Compat/Binary/Generic.hs rename to Cabal-syntax/src/Distribution/Compat/Binary/Generic.hs diff --git a/Cabal/src/Distribution/Compat/CharParsing.hs b/Cabal-syntax/src/Distribution/Compat/CharParsing.hs similarity index 100% rename from Cabal/src/Distribution/Compat/CharParsing.hs rename to Cabal-syntax/src/Distribution/Compat/CharParsing.hs diff --git a/Cabal/src/Distribution/Compat/DList.hs b/Cabal-syntax/src/Distribution/Compat/DList.hs similarity index 100% rename from Cabal/src/Distribution/Compat/DList.hs rename to Cabal-syntax/src/Distribution/Compat/DList.hs diff --git a/Cabal/src/Distribution/Compat/Exception.hs b/Cabal-syntax/src/Distribution/Compat/Exception.hs similarity index 100% rename from Cabal/src/Distribution/Compat/Exception.hs rename to Cabal-syntax/src/Distribution/Compat/Exception.hs diff --git a/Cabal/src/Distribution/Compat/Graph.hs b/Cabal-syntax/src/Distribution/Compat/Graph.hs similarity index 100% rename from Cabal/src/Distribution/Compat/Graph.hs rename to Cabal-syntax/src/Distribution/Compat/Graph.hs diff --git a/Cabal/src/Distribution/Compat/Lens.hs b/Cabal-syntax/src/Distribution/Compat/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Compat/Lens.hs rename to Cabal-syntax/src/Distribution/Compat/Lens.hs diff --git a/Cabal/src/Distribution/Compat/MonadFail.hs b/Cabal-syntax/src/Distribution/Compat/MonadFail.hs similarity index 100% rename from Cabal/src/Distribution/Compat/MonadFail.hs rename to Cabal-syntax/src/Distribution/Compat/MonadFail.hs diff --git a/Cabal/src/Distribution/Compat/Newtype.hs b/Cabal-syntax/src/Distribution/Compat/Newtype.hs similarity index 100% rename from Cabal/src/Distribution/Compat/Newtype.hs rename to Cabal-syntax/src/Distribution/Compat/Newtype.hs diff --git a/Cabal/src/Distribution/Compat/NonEmptySet.hs b/Cabal-syntax/src/Distribution/Compat/NonEmptySet.hs similarity index 100% rename from Cabal/src/Distribution/Compat/NonEmptySet.hs rename to Cabal-syntax/src/Distribution/Compat/NonEmptySet.hs diff --git a/Cabal/src/Distribution/Compat/Parsing.hs b/Cabal-syntax/src/Distribution/Compat/Parsing.hs similarity index 100% rename from Cabal/src/Distribution/Compat/Parsing.hs rename to Cabal-syntax/src/Distribution/Compat/Parsing.hs diff --git a/Cabal/src/Distribution/Compat/Prelude.hs b/Cabal-syntax/src/Distribution/Compat/Prelude.hs similarity index 100% rename from Cabal/src/Distribution/Compat/Prelude.hs rename to Cabal-syntax/src/Distribution/Compat/Prelude.hs diff --git a/Cabal/src/Distribution/Compat/Semigroup.hs b/Cabal-syntax/src/Distribution/Compat/Semigroup.hs similarity index 100% rename from Cabal/src/Distribution/Compat/Semigroup.hs rename to Cabal-syntax/src/Distribution/Compat/Semigroup.hs diff --git a/Cabal/src/Distribution/Compat/Typeable.hs b/Cabal-syntax/src/Distribution/Compat/Typeable.hs similarity index 100% rename from Cabal/src/Distribution/Compat/Typeable.hs rename to Cabal-syntax/src/Distribution/Compat/Typeable.hs diff --git a/Cabal/src/Distribution/Compiler.hs b/Cabal-syntax/src/Distribution/Compiler.hs similarity index 100% rename from Cabal/src/Distribution/Compiler.hs rename to Cabal-syntax/src/Distribution/Compiler.hs diff --git a/Cabal/src/Distribution/FieldGrammar.hs b/Cabal-syntax/src/Distribution/FieldGrammar.hs similarity index 100% rename from Cabal/src/Distribution/FieldGrammar.hs rename to Cabal-syntax/src/Distribution/FieldGrammar.hs diff --git a/Cabal/src/Distribution/FieldGrammar/Class.hs b/Cabal-syntax/src/Distribution/FieldGrammar/Class.hs similarity index 100% rename from Cabal/src/Distribution/FieldGrammar/Class.hs rename to Cabal-syntax/src/Distribution/FieldGrammar/Class.hs diff --git a/Cabal/src/Distribution/FieldGrammar/FieldDescrs.hs b/Cabal-syntax/src/Distribution/FieldGrammar/FieldDescrs.hs similarity index 98% rename from Cabal/src/Distribution/FieldGrammar/FieldDescrs.hs rename to Cabal-syntax/src/Distribution/FieldGrammar/FieldDescrs.hs index af8f8511c73..efb6d368f95 100644 --- a/Cabal/src/Distribution/FieldGrammar/FieldDescrs.hs +++ b/Cabal-syntax/src/Distribution/FieldGrammar/FieldDescrs.hs @@ -21,7 +21,7 @@ import Distribution.Pretty (Pretty (..), showFreeText) import qualified Data.Map as Map import qualified Distribution.Compat.CharParsing as C -import qualified Distribution.Fields.Field as P +import qualified Distribution.Fields as P import qualified Distribution.Parsec as P import qualified Text.PrettyPrint as Disp diff --git a/Cabal/src/Distribution/FieldGrammar/Newtypes.hs b/Cabal-syntax/src/Distribution/FieldGrammar/Newtypes.hs similarity index 100% rename from Cabal/src/Distribution/FieldGrammar/Newtypes.hs rename to Cabal-syntax/src/Distribution/FieldGrammar/Newtypes.hs diff --git a/Cabal/src/Distribution/FieldGrammar/Parsec.hs b/Cabal-syntax/src/Distribution/FieldGrammar/Parsec.hs similarity index 99% rename from Cabal/src/Distribution/FieldGrammar/Parsec.hs rename to Cabal-syntax/src/Distribution/FieldGrammar/Parsec.hs index b86c8803e88..77a94456acf 100644 --- a/Cabal/src/Distribution/FieldGrammar/Parsec.hs +++ b/Cabal-syntax/src/Distribution/FieldGrammar/Parsec.hs @@ -67,7 +67,7 @@ module Distribution.FieldGrammar.Parsec ( import Distribution.Compat.Newtype import Distribution.Compat.Prelude -import Distribution.Simple.Utils (fromUTF8BS) +import Distribution.Utils.Generic (fromUTF8BS) import Distribution.Utils.String (trim) import Prelude () diff --git a/Cabal/src/Distribution/FieldGrammar/Pretty.hs b/Cabal-syntax/src/Distribution/FieldGrammar/Pretty.hs similarity index 98% rename from Cabal/src/Distribution/FieldGrammar/Pretty.hs rename to Cabal-syntax/src/Distribution/FieldGrammar/Pretty.hs index 7c104d51067..fdd236b0e9e 100644 --- a/Cabal/src/Distribution/FieldGrammar/Pretty.hs +++ b/Cabal-syntax/src/Distribution/FieldGrammar/Pretty.hs @@ -12,7 +12,7 @@ import Distribution.Compat.Prelude import Distribution.Fields.Field (FieldName) import Distribution.Fields.Pretty (PrettyField (..)) import Distribution.Pretty (Pretty (..), showFreeText, showFreeTextV3) -import Distribution.Simple.Utils (toUTF8BS) +import Distribution.Utils.Generic (toUTF8BS) import Prelude () import Text.PrettyPrint (Doc) import qualified Text.PrettyPrint as PP diff --git a/Cabal/src/Distribution/Fields.hs b/Cabal-syntax/src/Distribution/Fields.hs similarity index 98% rename from Cabal/src/Distribution/Fields.hs rename to Cabal-syntax/src/Distribution/Fields.hs index 0236cf799c2..88addc88a77 100644 --- a/Cabal/src/Distribution/Fields.hs +++ b/Cabal-syntax/src/Distribution/Fields.hs @@ -14,7 +14,6 @@ module Distribution.Fields ( -- ** ParseResult ParseResult, runParseResult, - parseString, parseWarning, parseWarnings, parseFailure, diff --git a/Cabal/src/Distribution/Fields/ConfVar.hs b/Cabal-syntax/src/Distribution/Fields/ConfVar.hs similarity index 100% rename from Cabal/src/Distribution/Fields/ConfVar.hs rename to Cabal-syntax/src/Distribution/Fields/ConfVar.hs diff --git a/Cabal/src/Distribution/Fields/Field.hs b/Cabal-syntax/src/Distribution/Fields/Field.hs similarity index 98% rename from Cabal/src/Distribution/Fields/Field.hs rename to Cabal-syntax/src/Distribution/Fields/Field.hs index f0f260c6d98..4c06342ed06 100644 --- a/Cabal/src/Distribution/Fields/Field.hs +++ b/Cabal-syntax/src/Distribution/Fields/Field.hs @@ -31,7 +31,7 @@ import qualified Data.ByteString.Char8 as B import qualified Data.Char as Char import Distribution.Compat.Prelude import Distribution.Pretty (showTokenStr) -import Distribution.Simple.Utils (fromUTF8BS) +import Distribution.Utils.Generic (fromUTF8BS) import Prelude () diff --git a/Cabal/src/Distribution/Fields/Lexer.hs b/Cabal-syntax/src/Distribution/Fields/Lexer.hs similarity index 100% rename from Cabal/src/Distribution/Fields/Lexer.hs rename to Cabal-syntax/src/Distribution/Fields/Lexer.hs diff --git a/Cabal/src/Distribution/Fields/LexerMonad.hs b/Cabal-syntax/src/Distribution/Fields/LexerMonad.hs similarity index 100% rename from Cabal/src/Distribution/Fields/LexerMonad.hs rename to Cabal-syntax/src/Distribution/Fields/LexerMonad.hs diff --git a/Cabal/src/Distribution/Fields/ParseResult.hs b/Cabal-syntax/src/Distribution/Fields/ParseResult.hs similarity index 75% rename from Cabal/src/Distribution/Fields/ParseResult.hs rename to Cabal-syntax/src/Distribution/Fields/ParseResult.hs index a70211385d4..b7dbcf4a220 100644 --- a/Cabal/src/Distribution/Fields/ParseResult.hs +++ b/Cabal-syntax/src/Distribution/Fields/ParseResult.hs @@ -14,21 +14,15 @@ module Distribution.Fields.ParseResult ( parseFatalFailure', getCabalSpecVersion, setCabalSpecVersion, - readAndParseFile, - parseString, withoutWarnings, ) where -import qualified Data.ByteString.Char8 as BS import Distribution.Compat.Prelude -import Distribution.Parsec.Error (PError (..), showPError) +import Distribution.Parsec.Error (PError (..)) import Distribution.Parsec.Position (Position (..), zeroPos) -import Distribution.Parsec.Warning (PWarnType (..), PWarning (..), showPWarning) -import Distribution.Simple.Utils (die', warn) -import Distribution.Verbosity (Verbosity) +import Distribution.Parsec.Warning (PWarnType (..), PWarning (..)) import Distribution.Version (Version) import Prelude () -import System.Directory (doesFileExist) #if MIN_VERSION_base(4,10,0) import Control.Applicative (Applicative (..)) @@ -160,37 +154,3 @@ parseFatalFailure' = PR pr pr s failure _success = failure s err = PError zeroPos "Unknown fatal error" - --- | Helper combinator to do parsing plumbing for files. --- --- Given a parser and a filename, return the parse of the file, --- after checking if the file exists. --- --- Argument order is chosen to encourage partial application. -readAndParseFile - :: (BS.ByteString -> ParseResult a) -- ^ File contents to final value parser - -> Verbosity -- ^ Verbosity level - -> FilePath -- ^ File to read - -> IO a -readAndParseFile parser verbosity fpath = do - exists <- doesFileExist fpath - unless exists $ - die' verbosity $ - "Error Parsing: file \"" ++ fpath ++ "\" doesn't exist. Cannot continue." - bs <- BS.readFile fpath - parseString parser verbosity fpath bs - -parseString - :: (BS.ByteString -> ParseResult a) -- ^ File contents to final value parser - -> Verbosity -- ^ Verbosity level - -> String -- ^ File name - -> BS.ByteString - -> IO a -parseString parser verbosity name bs = do - let (warnings, result) = runParseResult (parser bs) - traverse_ (warn verbosity . showPWarning name) warnings - case result of - Right x -> return x - Left (_, errors) -> do - traverse_ (warn verbosity . showPError name) errors - die' verbosity $ "Failed parsing \"" ++ name ++ "\"." diff --git a/Cabal/src/Distribution/Fields/Parser.hs b/Cabal-syntax/src/Distribution/Fields/Parser.hs similarity index 100% rename from Cabal/src/Distribution/Fields/Parser.hs rename to Cabal-syntax/src/Distribution/Fields/Parser.hs diff --git a/Cabal/src/Distribution/Fields/Pretty.hs b/Cabal-syntax/src/Distribution/Fields/Pretty.hs similarity index 98% rename from Cabal/src/Distribution/Fields/Pretty.hs rename to Cabal-syntax/src/Distribution/Fields/Pretty.hs index dc3985cf912..2c6d6148340 100644 --- a/Cabal/src/Distribution/Fields/Pretty.hs +++ b/Cabal-syntax/src/Distribution/Fields/Pretty.hs @@ -26,8 +26,8 @@ import Distribution.Compat.Prelude import Distribution.Pretty (showToken) import Prelude () -import Distribution.Fields.Field (FieldName) -import Distribution.Simple.Utils (fromUTF8BS) +import Distribution.Fields.Field (FieldName) +import Distribution.Utils.Generic (fromUTF8BS) import qualified Distribution.Fields.Parser as P diff --git a/Cabal/src/Distribution/InstalledPackageInfo.hs b/Cabal-syntax/src/Distribution/InstalledPackageInfo.hs similarity index 100% rename from Cabal/src/Distribution/InstalledPackageInfo.hs rename to Cabal-syntax/src/Distribution/InstalledPackageInfo.hs diff --git a/Cabal/src/Distribution/License.hs b/Cabal-syntax/src/Distribution/License.hs similarity index 100% rename from Cabal/src/Distribution/License.hs rename to Cabal-syntax/src/Distribution/License.hs diff --git a/Cabal/src/Distribution/ModuleName.hs b/Cabal-syntax/src/Distribution/ModuleName.hs similarity index 100% rename from Cabal/src/Distribution/ModuleName.hs rename to Cabal-syntax/src/Distribution/ModuleName.hs diff --git a/Cabal/src/Distribution/Package.hs b/Cabal-syntax/src/Distribution/Package.hs similarity index 100% rename from Cabal/src/Distribution/Package.hs rename to Cabal-syntax/src/Distribution/Package.hs diff --git a/Cabal/src/Distribution/PackageDescription.hs b/Cabal-syntax/src/Distribution/PackageDescription.hs similarity index 100% rename from Cabal/src/Distribution/PackageDescription.hs rename to Cabal-syntax/src/Distribution/PackageDescription.hs diff --git a/Cabal/src/Distribution/PackageDescription/Configuration.hs b/Cabal-syntax/src/Distribution/PackageDescription/Configuration.hs similarity index 99% rename from Cabal/src/Distribution/PackageDescription/Configuration.hs rename to Cabal-syntax/src/Distribution/PackageDescription/Configuration.hs index fdb621add6b..3a52ca783db 100644 --- a/Cabal/src/Distribution/PackageDescription/Configuration.hs +++ b/Cabal-syntax/src/Distribution/PackageDescription/Configuration.hs @@ -51,13 +51,13 @@ import Distribution.PackageDescription import Distribution.PackageDescription.Utils import Distribution.Parsec import Distribution.Pretty -import Distribution.Simple.Utils import Distribution.System import Distribution.Types.Component import Distribution.Utils.Path import Distribution.Types.ComponentRequestedSpec import Distribution.Types.DependencyMap import Distribution.Types.PackageVersionConstraint +import Distribution.Utils.Generic import Distribution.Version import qualified Data.Map.Lazy as Map diff --git a/Cabal/src/Distribution/PackageDescription/FieldGrammar.hs b/Cabal-syntax/src/Distribution/PackageDescription/FieldGrammar.hs similarity index 100% rename from Cabal/src/Distribution/PackageDescription/FieldGrammar.hs rename to Cabal-syntax/src/Distribution/PackageDescription/FieldGrammar.hs diff --git a/Cabal/src/Distribution/PackageDescription/Parsec.hs b/Cabal-syntax/src/Distribution/PackageDescription/Parsec.hs similarity index 98% rename from Cabal/src/Distribution/PackageDescription/Parsec.hs rename to Cabal-syntax/src/Distribution/PackageDescription/Parsec.hs index d5631a775cf..b4a8a6dae1d 100644 --- a/Cabal/src/Distribution/PackageDescription/Parsec.hs +++ b/Cabal-syntax/src/Distribution/PackageDescription/Parsec.hs @@ -16,7 +16,6 @@ module Distribution.PackageDescription.Parsec ( -- * Package descriptions - readGenericPackageDescription, parseGenericPackageDescription, parseGenericPackageDescriptionMaybe, @@ -28,7 +27,6 @@ module Distribution.PackageDescription.Parsec ( scanSpecVersion, -- ** Supplementary build information - readHookedBuildInfo, parseHookedBuildInfo, ) where @@ -55,9 +53,7 @@ import Distribution.Parsec.FieldLineStream (fieldLineStreamFromBS) import Distribution.Parsec.Position (Position (..), zeroPos) import Distribution.Parsec.Warning (PWarnType (..)) import Distribution.Pretty (prettyShow) -import Distribution.Simple.Utils (fromUTF8BS, toUTF8BS) -import Distribution.Utils.Generic (breakMaybe, unfoldrM, validateUTF8) -import Distribution.Verbosity (Verbosity) +import Distribution.Utils.Generic (breakMaybe, fromUTF8BS, toUTF8BS, unfoldrM, validateUTF8) import Distribution.Version (Version, mkVersion, versionNumbers) import qualified Data.ByteString as BS @@ -74,14 +70,6 @@ import qualified Distribution.Types.PackageDescription.Lens as L import qualified Distribution.Types.SetupBuildInfo.Lens as L import qualified Text.Parsec as P --- --------------------------------------------------------------- --- Parsing --- --------------------------------------------------------------- - --- | Parse the given package file. -readGenericPackageDescription :: Verbosity -> FilePath -> IO GenericPackageDescription -readGenericPackageDescription = readAndParseFile parseGenericPackageDescription - ------------------------------------------------------------------------------ -- | Parses the given file into a 'GenericPackageDescription'. -- @@ -874,9 +862,6 @@ libFieldNames = fieldGrammarKnownFieldList (libraryFieldGrammar LMainLibName) -- Suplementary build information ------------------------------------------------------------------------------- -readHookedBuildInfo :: Verbosity -> FilePath -> IO HookedBuildInfo -readHookedBuildInfo = readAndParseFile parseHookedBuildInfo - parseHookedBuildInfo :: BS.ByteString -> ParseResult HookedBuildInfo parseHookedBuildInfo bs = case readFields' bs of Right (fs, lexWarnings) -> do diff --git a/Cabal/src/Distribution/PackageDescription/PrettyPrint.hs b/Cabal-syntax/src/Distribution/PackageDescription/PrettyPrint.hs similarity index 99% rename from Cabal/src/Distribution/PackageDescription/PrettyPrint.hs rename to Cabal-syntax/src/Distribution/PackageDescription/PrettyPrint.hs index 2529a020779..4a2f5409695 100644 --- a/Cabal/src/Distribution/PackageDescription/PrettyPrint.hs +++ b/Cabal-syntax/src/Distribution/PackageDescription/PrettyPrint.hs @@ -36,12 +36,12 @@ import Distribution.Fields.Pretty import Distribution.Compat.Lens import Distribution.PackageDescription import Distribution.Pretty -import Distribution.Simple.Utils (writeFileAtomic, writeUTF8File) import Distribution.FieldGrammar (PrettyFieldGrammar', prettyFieldGrammar) import Distribution.PackageDescription.Configuration (transformAllBuildInfos) import Distribution.PackageDescription.FieldGrammar (benchmarkFieldGrammar, buildInfoFieldGrammar, executableFieldGrammar, flagFieldGrammar, foreignLibFieldGrammar, libraryFieldGrammar, packageDescriptionFieldGrammar, setupBInfoFieldGrammar, sourceRepoFieldGrammar, testSuiteFieldGrammar) +import Distribution.Utils.Generic (writeFileAtomic, writeUTF8File) import qualified Distribution.PackageDescription.FieldGrammar as FG import qualified Distribution.Types.BuildInfo.Lens as L diff --git a/Cabal/src/Distribution/PackageDescription/Quirks.hs b/Cabal-syntax/src/Distribution/PackageDescription/Quirks.hs similarity index 100% rename from Cabal/src/Distribution/PackageDescription/Quirks.hs rename to Cabal-syntax/src/Distribution/PackageDescription/Quirks.hs diff --git a/Cabal/src/Distribution/PackageDescription/Utils.hs b/Cabal-syntax/src/Distribution/PackageDescription/Utils.hs similarity index 100% rename from Cabal/src/Distribution/PackageDescription/Utils.hs rename to Cabal-syntax/src/Distribution/PackageDescription/Utils.hs diff --git a/Cabal/src/Distribution/Parsec.hs b/Cabal-syntax/src/Distribution/Parsec.hs similarity index 100% rename from Cabal/src/Distribution/Parsec.hs rename to Cabal-syntax/src/Distribution/Parsec.hs diff --git a/Cabal/src/Distribution/Parsec/Error.hs b/Cabal-syntax/src/Distribution/Parsec/Error.hs similarity index 100% rename from Cabal/src/Distribution/Parsec/Error.hs rename to Cabal-syntax/src/Distribution/Parsec/Error.hs diff --git a/Cabal/src/Distribution/Parsec/FieldLineStream.hs b/Cabal-syntax/src/Distribution/Parsec/FieldLineStream.hs similarity index 100% rename from Cabal/src/Distribution/Parsec/FieldLineStream.hs rename to Cabal-syntax/src/Distribution/Parsec/FieldLineStream.hs diff --git a/Cabal/src/Distribution/Parsec/Position.hs b/Cabal-syntax/src/Distribution/Parsec/Position.hs similarity index 100% rename from Cabal/src/Distribution/Parsec/Position.hs rename to Cabal-syntax/src/Distribution/Parsec/Position.hs diff --git a/Cabal/src/Distribution/Parsec/Warning.hs b/Cabal-syntax/src/Distribution/Parsec/Warning.hs similarity index 100% rename from Cabal/src/Distribution/Parsec/Warning.hs rename to Cabal-syntax/src/Distribution/Parsec/Warning.hs diff --git a/Cabal/src/Distribution/Pretty.hs b/Cabal-syntax/src/Distribution/Pretty.hs similarity index 100% rename from Cabal/src/Distribution/Pretty.hs rename to Cabal-syntax/src/Distribution/Pretty.hs diff --git a/Cabal/src/Distribution/SPDX.hs b/Cabal-syntax/src/Distribution/SPDX.hs similarity index 100% rename from Cabal/src/Distribution/SPDX.hs rename to Cabal-syntax/src/Distribution/SPDX.hs diff --git a/Cabal/src/Distribution/SPDX/License.hs b/Cabal-syntax/src/Distribution/SPDX/License.hs similarity index 100% rename from Cabal/src/Distribution/SPDX/License.hs rename to Cabal-syntax/src/Distribution/SPDX/License.hs diff --git a/Cabal/src/Distribution/SPDX/LicenseExceptionId.hs b/Cabal-syntax/src/Distribution/SPDX/LicenseExceptionId.hs similarity index 100% rename from Cabal/src/Distribution/SPDX/LicenseExceptionId.hs rename to Cabal-syntax/src/Distribution/SPDX/LicenseExceptionId.hs diff --git a/Cabal/src/Distribution/SPDX/LicenseExpression.hs b/Cabal-syntax/src/Distribution/SPDX/LicenseExpression.hs similarity index 100% rename from Cabal/src/Distribution/SPDX/LicenseExpression.hs rename to Cabal-syntax/src/Distribution/SPDX/LicenseExpression.hs diff --git a/Cabal/src/Distribution/SPDX/LicenseId.hs b/Cabal-syntax/src/Distribution/SPDX/LicenseId.hs similarity index 100% rename from Cabal/src/Distribution/SPDX/LicenseId.hs rename to Cabal-syntax/src/Distribution/SPDX/LicenseId.hs diff --git a/Cabal/src/Distribution/SPDX/LicenseListVersion.hs b/Cabal-syntax/src/Distribution/SPDX/LicenseListVersion.hs similarity index 100% rename from Cabal/src/Distribution/SPDX/LicenseListVersion.hs rename to Cabal-syntax/src/Distribution/SPDX/LicenseListVersion.hs diff --git a/Cabal/src/Distribution/SPDX/LicenseReference.hs b/Cabal-syntax/src/Distribution/SPDX/LicenseReference.hs similarity index 100% rename from Cabal/src/Distribution/SPDX/LicenseReference.hs rename to Cabal-syntax/src/Distribution/SPDX/LicenseReference.hs diff --git a/Cabal/src/Distribution/System.hs b/Cabal-syntax/src/Distribution/System.hs similarity index 100% rename from Cabal/src/Distribution/System.hs rename to Cabal-syntax/src/Distribution/System.hs diff --git a/Cabal/src/Distribution/Text.hs b/Cabal-syntax/src/Distribution/Text.hs similarity index 100% rename from Cabal/src/Distribution/Text.hs rename to Cabal-syntax/src/Distribution/Text.hs diff --git a/Cabal/src/Distribution/Types/AbiDependency.hs b/Cabal-syntax/src/Distribution/Types/AbiDependency.hs similarity index 100% rename from Cabal/src/Distribution/Types/AbiDependency.hs rename to Cabal-syntax/src/Distribution/Types/AbiDependency.hs diff --git a/Cabal/src/Distribution/Types/AbiHash.hs b/Cabal-syntax/src/Distribution/Types/AbiHash.hs similarity index 100% rename from Cabal/src/Distribution/Types/AbiHash.hs rename to Cabal-syntax/src/Distribution/Types/AbiHash.hs diff --git a/Cabal/src/Distribution/Types/Benchmark.hs b/Cabal-syntax/src/Distribution/Types/Benchmark.hs similarity index 100% rename from Cabal/src/Distribution/Types/Benchmark.hs rename to Cabal-syntax/src/Distribution/Types/Benchmark.hs diff --git a/Cabal/src/Distribution/Types/Benchmark/Lens.hs b/Cabal-syntax/src/Distribution/Types/Benchmark/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/Benchmark/Lens.hs rename to Cabal-syntax/src/Distribution/Types/Benchmark/Lens.hs diff --git a/Cabal/src/Distribution/Types/BenchmarkInterface.hs b/Cabal-syntax/src/Distribution/Types/BenchmarkInterface.hs similarity index 100% rename from Cabal/src/Distribution/Types/BenchmarkInterface.hs rename to Cabal-syntax/src/Distribution/Types/BenchmarkInterface.hs diff --git a/Cabal/src/Distribution/Types/BenchmarkType.hs b/Cabal-syntax/src/Distribution/Types/BenchmarkType.hs similarity index 100% rename from Cabal/src/Distribution/Types/BenchmarkType.hs rename to Cabal-syntax/src/Distribution/Types/BenchmarkType.hs diff --git a/Cabal/src/Distribution/Types/BuildInfo.hs b/Cabal-syntax/src/Distribution/Types/BuildInfo.hs similarity index 100% rename from Cabal/src/Distribution/Types/BuildInfo.hs rename to Cabal-syntax/src/Distribution/Types/BuildInfo.hs diff --git a/Cabal/src/Distribution/Types/BuildInfo/Lens.hs b/Cabal-syntax/src/Distribution/Types/BuildInfo/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/BuildInfo/Lens.hs rename to Cabal-syntax/src/Distribution/Types/BuildInfo/Lens.hs diff --git a/Cabal/src/Distribution/Types/BuildType.hs b/Cabal-syntax/src/Distribution/Types/BuildType.hs similarity index 100% rename from Cabal/src/Distribution/Types/BuildType.hs rename to Cabal-syntax/src/Distribution/Types/BuildType.hs diff --git a/Cabal/src/Distribution/Types/Component.hs b/Cabal-syntax/src/Distribution/Types/Component.hs similarity index 100% rename from Cabal/src/Distribution/Types/Component.hs rename to Cabal-syntax/src/Distribution/Types/Component.hs diff --git a/Cabal/src/Distribution/Types/ComponentId.hs b/Cabal-syntax/src/Distribution/Types/ComponentId.hs similarity index 100% rename from Cabal/src/Distribution/Types/ComponentId.hs rename to Cabal-syntax/src/Distribution/Types/ComponentId.hs diff --git a/Cabal/src/Distribution/Types/ComponentName.hs b/Cabal-syntax/src/Distribution/Types/ComponentName.hs similarity index 100% rename from Cabal/src/Distribution/Types/ComponentName.hs rename to Cabal-syntax/src/Distribution/Types/ComponentName.hs diff --git a/Cabal/src/Distribution/Types/ComponentRequestedSpec.hs b/Cabal-syntax/src/Distribution/Types/ComponentRequestedSpec.hs similarity index 100% rename from Cabal/src/Distribution/Types/ComponentRequestedSpec.hs rename to Cabal-syntax/src/Distribution/Types/ComponentRequestedSpec.hs diff --git a/Cabal/src/Distribution/Types/CondTree.hs b/Cabal-syntax/src/Distribution/Types/CondTree.hs similarity index 100% rename from Cabal/src/Distribution/Types/CondTree.hs rename to Cabal-syntax/src/Distribution/Types/CondTree.hs diff --git a/Cabal/src/Distribution/Types/Condition.hs b/Cabal-syntax/src/Distribution/Types/Condition.hs similarity index 100% rename from Cabal/src/Distribution/Types/Condition.hs rename to Cabal-syntax/src/Distribution/Types/Condition.hs diff --git a/Cabal/src/Distribution/Types/ConfVar.hs b/Cabal-syntax/src/Distribution/Types/ConfVar.hs similarity index 100% rename from Cabal/src/Distribution/Types/ConfVar.hs rename to Cabal-syntax/src/Distribution/Types/ConfVar.hs diff --git a/Cabal/src/Distribution/Types/Dependency.hs b/Cabal-syntax/src/Distribution/Types/Dependency.hs similarity index 100% rename from Cabal/src/Distribution/Types/Dependency.hs rename to Cabal-syntax/src/Distribution/Types/Dependency.hs diff --git a/Cabal/src/Distribution/Types/DependencyMap.hs b/Cabal-syntax/src/Distribution/Types/DependencyMap.hs similarity index 100% rename from Cabal/src/Distribution/Types/DependencyMap.hs rename to Cabal-syntax/src/Distribution/Types/DependencyMap.hs diff --git a/Cabal/src/Distribution/Types/ExeDependency.hs b/Cabal-syntax/src/Distribution/Types/ExeDependency.hs similarity index 100% rename from Cabal/src/Distribution/Types/ExeDependency.hs rename to Cabal-syntax/src/Distribution/Types/ExeDependency.hs diff --git a/Cabal/src/Distribution/Types/Executable.hs b/Cabal-syntax/src/Distribution/Types/Executable.hs similarity index 100% rename from Cabal/src/Distribution/Types/Executable.hs rename to Cabal-syntax/src/Distribution/Types/Executable.hs diff --git a/Cabal/src/Distribution/Types/Executable/Lens.hs b/Cabal-syntax/src/Distribution/Types/Executable/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/Executable/Lens.hs rename to Cabal-syntax/src/Distribution/Types/Executable/Lens.hs diff --git a/Cabal/src/Distribution/Types/ExecutableScope.hs b/Cabal-syntax/src/Distribution/Types/ExecutableScope.hs similarity index 100% rename from Cabal/src/Distribution/Types/ExecutableScope.hs rename to Cabal-syntax/src/Distribution/Types/ExecutableScope.hs diff --git a/Cabal/src/Distribution/Types/ExposedModule.hs b/Cabal-syntax/src/Distribution/Types/ExposedModule.hs similarity index 100% rename from Cabal/src/Distribution/Types/ExposedModule.hs rename to Cabal-syntax/src/Distribution/Types/ExposedModule.hs diff --git a/Cabal/src/Distribution/Types/Flag.hs b/Cabal-syntax/src/Distribution/Types/Flag.hs similarity index 100% rename from Cabal/src/Distribution/Types/Flag.hs rename to Cabal-syntax/src/Distribution/Types/Flag.hs diff --git a/Cabal/src/Distribution/Types/ForeignLib.hs b/Cabal-syntax/src/Distribution/Types/ForeignLib.hs similarity index 100% rename from Cabal/src/Distribution/Types/ForeignLib.hs rename to Cabal-syntax/src/Distribution/Types/ForeignLib.hs diff --git a/Cabal/src/Distribution/Types/ForeignLib/Lens.hs b/Cabal-syntax/src/Distribution/Types/ForeignLib/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/ForeignLib/Lens.hs rename to Cabal-syntax/src/Distribution/Types/ForeignLib/Lens.hs diff --git a/Cabal/src/Distribution/Types/ForeignLibOption.hs b/Cabal-syntax/src/Distribution/Types/ForeignLibOption.hs similarity index 100% rename from Cabal/src/Distribution/Types/ForeignLibOption.hs rename to Cabal-syntax/src/Distribution/Types/ForeignLibOption.hs diff --git a/Cabal/src/Distribution/Types/ForeignLibType.hs b/Cabal-syntax/src/Distribution/Types/ForeignLibType.hs similarity index 100% rename from Cabal/src/Distribution/Types/ForeignLibType.hs rename to Cabal-syntax/src/Distribution/Types/ForeignLibType.hs diff --git a/Cabal/src/Distribution/Types/GenericPackageDescription.hs b/Cabal-syntax/src/Distribution/Types/GenericPackageDescription.hs similarity index 100% rename from Cabal/src/Distribution/Types/GenericPackageDescription.hs rename to Cabal-syntax/src/Distribution/Types/GenericPackageDescription.hs diff --git a/Cabal/src/Distribution/Types/GenericPackageDescription/Lens.hs b/Cabal-syntax/src/Distribution/Types/GenericPackageDescription/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/GenericPackageDescription/Lens.hs rename to Cabal-syntax/src/Distribution/Types/GenericPackageDescription/Lens.hs diff --git a/Cabal/src/Distribution/Types/HookedBuildInfo.hs b/Cabal-syntax/src/Distribution/Types/HookedBuildInfo.hs similarity index 100% rename from Cabal/src/Distribution/Types/HookedBuildInfo.hs rename to Cabal-syntax/src/Distribution/Types/HookedBuildInfo.hs diff --git a/Cabal/src/Distribution/Types/IncludeRenaming.hs b/Cabal-syntax/src/Distribution/Types/IncludeRenaming.hs similarity index 100% rename from Cabal/src/Distribution/Types/IncludeRenaming.hs rename to Cabal-syntax/src/Distribution/Types/IncludeRenaming.hs diff --git a/Cabal/src/Distribution/Types/InstalledPackageInfo.hs b/Cabal-syntax/src/Distribution/Types/InstalledPackageInfo.hs similarity index 100% rename from Cabal/src/Distribution/Types/InstalledPackageInfo.hs rename to Cabal-syntax/src/Distribution/Types/InstalledPackageInfo.hs diff --git a/Cabal/src/Distribution/Types/InstalledPackageInfo/FieldGrammar.hs b/Cabal-syntax/src/Distribution/Types/InstalledPackageInfo/FieldGrammar.hs similarity index 100% rename from Cabal/src/Distribution/Types/InstalledPackageInfo/FieldGrammar.hs rename to Cabal-syntax/src/Distribution/Types/InstalledPackageInfo/FieldGrammar.hs diff --git a/Cabal/src/Distribution/Types/InstalledPackageInfo/Lens.hs b/Cabal-syntax/src/Distribution/Types/InstalledPackageInfo/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/InstalledPackageInfo/Lens.hs rename to Cabal-syntax/src/Distribution/Types/InstalledPackageInfo/Lens.hs diff --git a/Cabal/src/Distribution/Types/LegacyExeDependency.hs b/Cabal-syntax/src/Distribution/Types/LegacyExeDependency.hs similarity index 100% rename from Cabal/src/Distribution/Types/LegacyExeDependency.hs rename to Cabal-syntax/src/Distribution/Types/LegacyExeDependency.hs diff --git a/Cabal/src/Distribution/Types/Lens.hs b/Cabal-syntax/src/Distribution/Types/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/Lens.hs rename to Cabal-syntax/src/Distribution/Types/Lens.hs diff --git a/Cabal/src/Distribution/Types/Library.hs b/Cabal-syntax/src/Distribution/Types/Library.hs similarity index 100% rename from Cabal/src/Distribution/Types/Library.hs rename to Cabal-syntax/src/Distribution/Types/Library.hs diff --git a/Cabal/src/Distribution/Types/Library/Lens.hs b/Cabal-syntax/src/Distribution/Types/Library/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/Library/Lens.hs rename to Cabal-syntax/src/Distribution/Types/Library/Lens.hs diff --git a/Cabal/src/Distribution/Types/LibraryName.hs b/Cabal-syntax/src/Distribution/Types/LibraryName.hs similarity index 100% rename from Cabal/src/Distribution/Types/LibraryName.hs rename to Cabal-syntax/src/Distribution/Types/LibraryName.hs diff --git a/Cabal/src/Distribution/Types/LibraryVisibility.hs b/Cabal-syntax/src/Distribution/Types/LibraryVisibility.hs similarity index 100% rename from Cabal/src/Distribution/Types/LibraryVisibility.hs rename to Cabal-syntax/src/Distribution/Types/LibraryVisibility.hs diff --git a/Cabal/src/Distribution/Types/Mixin.hs b/Cabal-syntax/src/Distribution/Types/Mixin.hs similarity index 100% rename from Cabal/src/Distribution/Types/Mixin.hs rename to Cabal-syntax/src/Distribution/Types/Mixin.hs diff --git a/Cabal/src/Distribution/Types/Module.hs b/Cabal-syntax/src/Distribution/Types/Module.hs similarity index 100% rename from Cabal/src/Distribution/Types/Module.hs rename to Cabal-syntax/src/Distribution/Types/Module.hs diff --git a/Cabal/src/Distribution/Types/ModuleReexport.hs b/Cabal-syntax/src/Distribution/Types/ModuleReexport.hs similarity index 100% rename from Cabal/src/Distribution/Types/ModuleReexport.hs rename to Cabal-syntax/src/Distribution/Types/ModuleReexport.hs diff --git a/Cabal/src/Distribution/Types/ModuleRenaming.hs b/Cabal-syntax/src/Distribution/Types/ModuleRenaming.hs similarity index 100% rename from Cabal/src/Distribution/Types/ModuleRenaming.hs rename to Cabal-syntax/src/Distribution/Types/ModuleRenaming.hs diff --git a/Cabal/src/Distribution/Types/MungedPackageId.hs b/Cabal-syntax/src/Distribution/Types/MungedPackageId.hs similarity index 100% rename from Cabal/src/Distribution/Types/MungedPackageId.hs rename to Cabal-syntax/src/Distribution/Types/MungedPackageId.hs diff --git a/Cabal/src/Distribution/Types/MungedPackageName.hs b/Cabal-syntax/src/Distribution/Types/MungedPackageName.hs similarity index 100% rename from Cabal/src/Distribution/Types/MungedPackageName.hs rename to Cabal-syntax/src/Distribution/Types/MungedPackageName.hs diff --git a/Cabal/src/Distribution/Types/PackageDescription.hs b/Cabal-syntax/src/Distribution/Types/PackageDescription.hs similarity index 100% rename from Cabal/src/Distribution/Types/PackageDescription.hs rename to Cabal-syntax/src/Distribution/Types/PackageDescription.hs diff --git a/Cabal/src/Distribution/Types/PackageDescription/Lens.hs b/Cabal-syntax/src/Distribution/Types/PackageDescription/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/PackageDescription/Lens.hs rename to Cabal-syntax/src/Distribution/Types/PackageDescription/Lens.hs diff --git a/Cabal/src/Distribution/Types/PackageId.hs b/Cabal-syntax/src/Distribution/Types/PackageId.hs similarity index 100% rename from Cabal/src/Distribution/Types/PackageId.hs rename to Cabal-syntax/src/Distribution/Types/PackageId.hs diff --git a/Cabal/src/Distribution/Types/PackageId/Lens.hs b/Cabal-syntax/src/Distribution/Types/PackageId/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/PackageId/Lens.hs rename to Cabal-syntax/src/Distribution/Types/PackageId/Lens.hs diff --git a/Cabal/src/Distribution/Types/PackageName.hs b/Cabal-syntax/src/Distribution/Types/PackageName.hs similarity index 100% rename from Cabal/src/Distribution/Types/PackageName.hs rename to Cabal-syntax/src/Distribution/Types/PackageName.hs diff --git a/Cabal/src/Distribution/Types/PackageVersionConstraint.hs b/Cabal-syntax/src/Distribution/Types/PackageVersionConstraint.hs similarity index 100% rename from Cabal/src/Distribution/Types/PackageVersionConstraint.hs rename to Cabal-syntax/src/Distribution/Types/PackageVersionConstraint.hs diff --git a/Cabal/src/Distribution/Types/PkgconfigDependency.hs b/Cabal-syntax/src/Distribution/Types/PkgconfigDependency.hs similarity index 100% rename from Cabal/src/Distribution/Types/PkgconfigDependency.hs rename to Cabal-syntax/src/Distribution/Types/PkgconfigDependency.hs diff --git a/Cabal/src/Distribution/Types/PkgconfigName.hs b/Cabal-syntax/src/Distribution/Types/PkgconfigName.hs similarity index 100% rename from Cabal/src/Distribution/Types/PkgconfigName.hs rename to Cabal-syntax/src/Distribution/Types/PkgconfigName.hs diff --git a/Cabal/src/Distribution/Types/PkgconfigVersion.hs b/Cabal-syntax/src/Distribution/Types/PkgconfigVersion.hs similarity index 100% rename from Cabal/src/Distribution/Types/PkgconfigVersion.hs rename to Cabal-syntax/src/Distribution/Types/PkgconfigVersion.hs diff --git a/Cabal/src/Distribution/Types/PkgconfigVersionRange.hs b/Cabal-syntax/src/Distribution/Types/PkgconfigVersionRange.hs similarity index 100% rename from Cabal/src/Distribution/Types/PkgconfigVersionRange.hs rename to Cabal-syntax/src/Distribution/Types/PkgconfigVersionRange.hs diff --git a/Cabal/src/Distribution/Types/SetupBuildInfo.hs b/Cabal-syntax/src/Distribution/Types/SetupBuildInfo.hs similarity index 100% rename from Cabal/src/Distribution/Types/SetupBuildInfo.hs rename to Cabal-syntax/src/Distribution/Types/SetupBuildInfo.hs diff --git a/Cabal/src/Distribution/Types/SetupBuildInfo/Lens.hs b/Cabal-syntax/src/Distribution/Types/SetupBuildInfo/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/SetupBuildInfo/Lens.hs rename to Cabal-syntax/src/Distribution/Types/SetupBuildInfo/Lens.hs diff --git a/Cabal/src/Distribution/Types/SourceRepo.hs b/Cabal-syntax/src/Distribution/Types/SourceRepo.hs similarity index 100% rename from Cabal/src/Distribution/Types/SourceRepo.hs rename to Cabal-syntax/src/Distribution/Types/SourceRepo.hs diff --git a/Cabal/src/Distribution/Types/SourceRepo/Lens.hs b/Cabal-syntax/src/Distribution/Types/SourceRepo/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/SourceRepo/Lens.hs rename to Cabal-syntax/src/Distribution/Types/SourceRepo/Lens.hs diff --git a/Cabal/src/Distribution/Types/TestSuite.hs b/Cabal-syntax/src/Distribution/Types/TestSuite.hs similarity index 100% rename from Cabal/src/Distribution/Types/TestSuite.hs rename to Cabal-syntax/src/Distribution/Types/TestSuite.hs diff --git a/Cabal/src/Distribution/Types/TestSuite/Lens.hs b/Cabal-syntax/src/Distribution/Types/TestSuite/Lens.hs similarity index 100% rename from Cabal/src/Distribution/Types/TestSuite/Lens.hs rename to Cabal-syntax/src/Distribution/Types/TestSuite/Lens.hs diff --git a/Cabal/src/Distribution/Types/TestSuiteInterface.hs b/Cabal-syntax/src/Distribution/Types/TestSuiteInterface.hs similarity index 100% rename from Cabal/src/Distribution/Types/TestSuiteInterface.hs rename to Cabal-syntax/src/Distribution/Types/TestSuiteInterface.hs diff --git a/Cabal/src/Distribution/Types/TestType.hs b/Cabal-syntax/src/Distribution/Types/TestType.hs similarity index 100% rename from Cabal/src/Distribution/Types/TestType.hs rename to Cabal-syntax/src/Distribution/Types/TestType.hs diff --git a/Cabal/src/Distribution/Types/UnitId.hs b/Cabal-syntax/src/Distribution/Types/UnitId.hs similarity index 100% rename from Cabal/src/Distribution/Types/UnitId.hs rename to Cabal-syntax/src/Distribution/Types/UnitId.hs diff --git a/Cabal/src/Distribution/Types/UnqualComponentName.hs b/Cabal-syntax/src/Distribution/Types/UnqualComponentName.hs similarity index 100% rename from Cabal/src/Distribution/Types/UnqualComponentName.hs rename to Cabal-syntax/src/Distribution/Types/UnqualComponentName.hs diff --git a/Cabal/src/Distribution/Types/Version.hs b/Cabal-syntax/src/Distribution/Types/Version.hs similarity index 100% rename from Cabal/src/Distribution/Types/Version.hs rename to Cabal-syntax/src/Distribution/Types/Version.hs diff --git a/Cabal/src/Distribution/Types/VersionInterval.hs b/Cabal-syntax/src/Distribution/Types/VersionInterval.hs similarity index 100% rename from Cabal/src/Distribution/Types/VersionInterval.hs rename to Cabal-syntax/src/Distribution/Types/VersionInterval.hs diff --git a/Cabal/src/Distribution/Types/VersionInterval/Legacy.hs b/Cabal-syntax/src/Distribution/Types/VersionInterval/Legacy.hs similarity index 100% rename from Cabal/src/Distribution/Types/VersionInterval/Legacy.hs rename to Cabal-syntax/src/Distribution/Types/VersionInterval/Legacy.hs diff --git a/Cabal/src/Distribution/Types/VersionRange.hs b/Cabal-syntax/src/Distribution/Types/VersionRange.hs similarity index 100% rename from Cabal/src/Distribution/Types/VersionRange.hs rename to Cabal-syntax/src/Distribution/Types/VersionRange.hs diff --git a/Cabal/src/Distribution/Types/VersionRange/Internal.hs b/Cabal-syntax/src/Distribution/Types/VersionRange/Internal.hs similarity index 100% rename from Cabal/src/Distribution/Types/VersionRange/Internal.hs rename to Cabal-syntax/src/Distribution/Types/VersionRange/Internal.hs diff --git a/Cabal/src/Distribution/Utils/Base62.hs b/Cabal-syntax/src/Distribution/Utils/Base62.hs similarity index 100% rename from Cabal/src/Distribution/Utils/Base62.hs rename to Cabal-syntax/src/Distribution/Utils/Base62.hs diff --git a/Cabal/src/Distribution/Utils/Generic.hs b/Cabal-syntax/src/Distribution/Utils/Generic.hs similarity index 99% rename from Cabal/src/Distribution/Utils/Generic.hs rename to Cabal-syntax/src/Distribution/Utils/Generic.hs index f3a8a9a5c97..081410a5d06 100644 --- a/Cabal/src/Distribution/Utils/Generic.hs +++ b/Cabal-syntax/src/Distribution/Utils/Generic.hs @@ -7,7 +7,7 @@ ----------------------------------------------------------------------------- -- | --- Module : Distribution.Simple.Utils +-- Module : Distribution.Utils.Generic -- Copyright : Isaac Jones, Simon Marlow 2003-2004 -- License : BSD3 -- portions Copyright (c) 2007, Galois Inc. diff --git a/Cabal/src/Distribution/Utils/MD5.hs b/Cabal-syntax/src/Distribution/Utils/MD5.hs similarity index 100% rename from Cabal/src/Distribution/Utils/MD5.hs rename to Cabal-syntax/src/Distribution/Utils/MD5.hs diff --git a/Cabal/src/Distribution/Utils/Path.hs b/Cabal-syntax/src/Distribution/Utils/Path.hs similarity index 100% rename from Cabal/src/Distribution/Utils/Path.hs rename to Cabal-syntax/src/Distribution/Utils/Path.hs diff --git a/Cabal/src/Distribution/Utils/ShortText.hs b/Cabal-syntax/src/Distribution/Utils/ShortText.hs similarity index 100% rename from Cabal/src/Distribution/Utils/ShortText.hs rename to Cabal-syntax/src/Distribution/Utils/ShortText.hs diff --git a/Cabal/src/Distribution/Utils/String.hs b/Cabal-syntax/src/Distribution/Utils/String.hs similarity index 100% rename from Cabal/src/Distribution/Utils/String.hs rename to Cabal-syntax/src/Distribution/Utils/String.hs diff --git a/Cabal/src/Distribution/Utils/Structured.hs b/Cabal-syntax/src/Distribution/Utils/Structured.hs similarity index 100% rename from Cabal/src/Distribution/Utils/Structured.hs rename to Cabal-syntax/src/Distribution/Utils/Structured.hs diff --git a/Cabal/src/Distribution/Version.hs b/Cabal-syntax/src/Distribution/Version.hs similarity index 100% rename from Cabal/src/Distribution/Version.hs rename to Cabal-syntax/src/Distribution/Version.hs diff --git a/Cabal/src/Language/Haskell/Extension.hs b/Cabal-syntax/src/Language/Haskell/Extension.hs similarity index 100% rename from Cabal/src/Language/Haskell/Extension.hs rename to Cabal-syntax/src/Language/Haskell/Extension.hs diff --git a/Cabal-tests/Cabal-tests.cabal b/Cabal-tests/Cabal-tests.cabal index b22fc40a8ef..8ac703d8b30 100644 --- a/Cabal-tests/Cabal-tests.cabal +++ b/Cabal-tests/Cabal-tests.cabal @@ -57,6 +57,7 @@ test-suite unit-tests , bytestring , Cabal , Cabal-described + , Cabal-syntax , Cabal-QuickCheck , containers , deepseq @@ -92,7 +93,7 @@ test-suite parser-tests base , base-compat >=0.11.0 && <0.13 , bytestring - , Cabal + , Cabal-syntax , Cabal-tree-diff , Diff >=0.4 && <0.5 , directory @@ -119,6 +120,7 @@ test-suite check-tests base , bytestring , Cabal + , Cabal-syntax , Diff >=0.4 && <0.5 , directory , filepath @@ -142,6 +144,7 @@ test-suite custom-setup-tests build-depends: base , Cabal + , Cabal-syntax , directory , filepath , process @@ -160,6 +163,7 @@ test-suite hackage-tests base , bytestring , Cabal + , Cabal-syntax , Cabal-tree-diff , containers , deepseq @@ -188,7 +192,7 @@ test-suite rpmvercmp build-depends: base , bytestring - , Cabal + , Cabal-syntax build-depends: QuickCheck @@ -210,7 +214,7 @@ test-suite no-thunks-test build-depends: base , bytestring - , Cabal + , Cabal-syntax , tasty >=1.2.3 && <1.5 , tasty-hunit diff --git a/Cabal-tree-diff/Cabal-tree-diff.cabal b/Cabal-tree-diff/Cabal-tree-diff.cabal index 75b932207ca..1affd598cbb 100644 --- a/Cabal-tree-diff/Cabal-tree-diff.cabal +++ b/Cabal-tree-diff/Cabal-tree-diff.cabal @@ -11,8 +11,9 @@ library ghc-options: -Wall build-depends: , base - , Cabal ^>=3.7.0.0 - , tree-diff ^>=0.1 || ^>=0.2 + , Cabal-syntax ^>=3.7.0.0 + , Cabal ^>=3.7.0.0 + , tree-diff ^>=0.1 || ^>=0.2 exposed-modules: Data.TreeDiff.Instances.Cabal other-modules: diff --git a/Cabal/Cabal.cabal b/Cabal/Cabal.cabal index e9cdefc6299..32be4e244ca 100644 --- a/Cabal/Cabal.cabal +++ b/Cabal/Cabal.cabal @@ -29,14 +29,12 @@ source-repository head location: https://github.com/haskell/cabal/ subdir: Cabal -flag bundled-binary-generic - default: False - library default-language: Haskell2010 hs-source-dirs: src build-depends: + Cabal-syntax >= 3.7 && < 3.8, array >= 0.4.0.1 && < 0.6, base >= 4.6 && < 5, bytestring >= 0.10.0.0 && < 0.12, @@ -48,11 +46,6 @@ library process >= 1.1.0.2 && < 1.7, time >= 1.4.0.1 && < 1.13 - if flag(bundled-binary-generic) - build-depends: binary >= 0.5.1.1 && < 0.7 - else - build-depends: binary >= 0.7 && < 0.9 - if os(windows) build-depends: Win32 >= 2.3.0.0 && < 2.13 else @@ -78,7 +71,6 @@ library build-depends: tagged >=0.8.6 && <0.9, bytestring-builder >= 0.10.8 && <0.11 exposed-modules: - Distribution.Backpack Distribution.Backpack.Configure Distribution.Backpack.ComponentsGraph Distribution.Backpack.ConfiguredComponent @@ -88,46 +80,21 @@ library Distribution.Backpack.ModSubst Distribution.Backpack.ModuleShape Distribution.Backpack.PreModuleShape - Distribution.CabalSpecVersion Distribution.Utils.IOData - Distribution.Utils.Path Distribution.Utils.LogProgress Distribution.Utils.MapAccum - Distribution.Utils.MD5 - Distribution.Utils.String - Distribution.Utils.Structured Distribution.Compat.CreatePipe Distribution.Compat.Directory Distribution.Compat.Environment - Distribution.Compat.Exception Distribution.Compat.FilePath - Distribution.Compat.Graph Distribution.Compat.Internal.TempFile - Distribution.Compat.Newtype - Distribution.Compat.NonEmptySet Distribution.Compat.ResponseFile Distribution.Compat.Prelude.Internal Distribution.Compat.Process - Distribution.Compat.Semigroup Distribution.Compat.Stack Distribution.Compat.Time - Distribution.Compat.Typeable - Distribution.Compat.DList - Distribution.Compiler - Distribution.InstalledPackageInfo - Distribution.Types.AbiDependency - Distribution.Types.ExposedModule - Distribution.Types.InstalledPackageInfo - Distribution.Types.InstalledPackageInfo.FieldGrammar - Distribution.License Distribution.Make - Distribution.ModuleName - Distribution.Package - Distribution.PackageDescription Distribution.PackageDescription.Check - Distribution.PackageDescription.Configuration - Distribution.PackageDescription.PrettyPrint - Distribution.PackageDescription.Utils Distribution.ReadE Distribution.Simple Distribution.Simple.Bench @@ -152,6 +119,7 @@ library Distribution.Simple.InstallDirs Distribution.Simple.InstallDirs.Internal Distribution.Simple.LocalBuildInfo + Distribution.Simple.PackageDescription Distribution.Simple.PackageIndex Distribution.Simple.PreProcess Distribution.Simple.PreProcess.Unlit @@ -181,90 +149,20 @@ library Distribution.Simple.UHC Distribution.Simple.UserHooks Distribution.Simple.Utils - Distribution.SPDX - Distribution.SPDX.License - Distribution.SPDX.LicenseId - Distribution.SPDX.LicenseExceptionId - Distribution.SPDX.LicenseExpression - Distribution.SPDX.LicenseListVersion - Distribution.SPDX.LicenseReference - Distribution.System Distribution.TestSuite - Distribution.Text - Distribution.Pretty - Distribution.Types.AbiHash Distribution.Types.AnnotatedId - Distribution.Types.Benchmark - Distribution.Types.BenchmarkInterface - Distribution.Types.BenchmarkType - Distribution.Types.BuildInfo - Distribution.Types.BuildType Distribution.Types.ComponentInclude - Distribution.Types.ConfVar - Distribution.Types.Dependency Distribution.Types.DumpBuildInfo - Distribution.Types.ExeDependency - Distribution.Types.LegacyExeDependency - Distribution.Types.PkgconfigDependency - Distribution.Types.DependencyMap - Distribution.Types.ComponentId - Distribution.Types.MungedPackageId - Distribution.Types.PackageId - Distribution.Types.UnitId - Distribution.Types.Executable - Distribution.Types.ExecutableScope - Distribution.Types.Library - Distribution.Types.LibraryVisibility - Distribution.Types.Flag - Distribution.Types.ForeignLib - Distribution.Types.ForeignLibType - Distribution.Types.ForeignLibOption - Distribution.Types.Module - Distribution.Types.ModuleReexport - Distribution.Types.ModuleRenaming - Distribution.Types.ComponentName - Distribution.Types.LibraryName - Distribution.Types.MungedPackageName - Distribution.Types.PackageName Distribution.Types.PackageName.Magic - Distribution.Types.PkgconfigName - Distribution.Types.PkgconfigVersion - Distribution.Types.PkgconfigVersionRange - Distribution.Types.UnqualComponentName - Distribution.Types.IncludeRenaming - Distribution.Types.Mixin - Distribution.Types.SetupBuildInfo - Distribution.Types.TestSuite - Distribution.Types.TestSuiteInterface - Distribution.Types.TestType - Distribution.Types.GenericPackageDescription - Distribution.Types.Condition - Distribution.Types.CondTree - Distribution.Types.HookedBuildInfo - Distribution.Types.PackageDescription - Distribution.Types.SourceRepo - Distribution.Types.Component Distribution.Types.ComponentLocalBuildInfo Distribution.Types.LocalBuildInfo - Distribution.Types.ComponentRequestedSpec Distribution.Types.TargetInfo - Distribution.Types.Version - Distribution.Types.VersionRange - Distribution.Types.VersionRange.Internal - Distribution.Types.VersionInterval - Distribution.Types.VersionInterval.Legacy Distribution.Types.GivenComponent - Distribution.Types.PackageVersionConstraint - Distribution.Utils.Generic Distribution.Utils.Json Distribution.Utils.NubList - Distribution.Utils.ShortText Distribution.Utils.Progress Distribution.Verbosity Distribution.Verbosity.Internal - Distribution.Version - Language.Haskell.Extension - Distribution.Compat.Binary -- Parsec parser-related modules build-depends: @@ -274,48 +172,6 @@ library mtl >= 2.1 && < 2.3, text (>= 1.2.3.0 && < 1.3) || (>= 2.0 && < 2.1), parsec >= 3.1.13.0 && < 3.2 - exposed-modules: - Distribution.Compat.Parsing - Distribution.Compat.CharParsing - Distribution.FieldGrammar - Distribution.FieldGrammar.Class - Distribution.FieldGrammar.FieldDescrs - Distribution.FieldGrammar.Newtypes - Distribution.FieldGrammar.Parsec - Distribution.FieldGrammar.Pretty - Distribution.PackageDescription.FieldGrammar - Distribution.PackageDescription.Parsec - Distribution.PackageDescription.Quirks - Distribution.Parsec - Distribution.Parsec.Error - Distribution.Parsec.Position - Distribution.Parsec.Warning - Distribution.Parsec.FieldLineStream - Distribution.Fields - Distribution.Fields.ConfVar - Distribution.Fields.Field - Distribution.Fields.Lexer - Distribution.Fields.LexerMonad - Distribution.Fields.ParseResult - Distribution.Fields.Parser - Distribution.Fields.Pretty - - -- Lens functionality - exposed-modules: - Distribution.Compat.Lens - Distribution.Types.Lens - Distribution.Types.Benchmark.Lens - Distribution.Types.BuildInfo.Lens - Distribution.Types.Executable.Lens - Distribution.Types.ForeignLib.Lens - Distribution.Types.GenericPackageDescription.Lens - Distribution.Types.InstalledPackageInfo.Lens - Distribution.Types.Library.Lens - Distribution.Types.PackageDescription.Lens - Distribution.Types.PackageId.Lens - Distribution.Types.SetupBuildInfo.Lens - Distribution.Types.SourceRepo.Lens - Distribution.Types.TestSuite.Lens other-modules: Distribution.Backpack.PreExistingComponent @@ -325,12 +181,9 @@ library Distribution.Backpack.UnifyM Distribution.Backpack.Id Distribution.Utils.UnionFind - Distribution.Utils.Base62 Distribution.Compat.Async Distribution.Compat.CopyFile Distribution.Compat.GetShortPathName - Distribution.Compat.MonadFail - Distribution.Compat.Prelude Distribution.Compat.SnocList Distribution.GetOpt Distribution.Lex @@ -342,11 +195,6 @@ library Distribution.ZinzaPrelude Paths_Cabal - if flag(bundled-binary-generic) - other-modules: - Distribution.Compat.Binary.Class - Distribution.Compat.Binary.Generic - other-extensions: BangPatterns CPP diff --git a/Cabal/src/Distribution/Simple.hs b/Cabal/src/Distribution/Simple.hs index a8e6aeb373e..be2d71d564f 100644 --- a/Cabal/src/Distribution/Simple.hs +++ b/Cabal/src/Distribution/Simple.hs @@ -67,6 +67,7 @@ import Distribution.Simple.UserHooks import Distribution.Package import Distribution.PackageDescription import Distribution.PackageDescription.Configuration +import Distribution.Simple.PackageDescription import Distribution.Simple.Program import Distribution.Simple.Program.Db import Distribution.Simple.PreProcess @@ -110,7 +111,6 @@ import Distribution.Compat.GetShortPathName (getShortPathName) import Data.List (unionBy, (\\)) -import Distribution.PackageDescription.Parsec -- | A simple implementation of @main@ for a Cabal setup script. -- It reads the package description file using IO, and performs the diff --git a/Cabal/src/Distribution/Simple/PackageDescription.hs b/Cabal/src/Distribution/Simple/PackageDescription.hs new file mode 100644 index 00000000000..4c64aedf767 --- /dev/null +++ b/Cabal/src/Distribution/Simple/PackageDescription.hs @@ -0,0 +1,74 @@ +----------------------------------------------------------------------------- +-- | +-- Module : Distribution.Simple.PackageDescription +-- Copyright : Isaac Jones 2003-2005 +-- License : BSD3 +-- +-- Maintainer : cabal-devel@haskell.org +-- Portability : portable +-- +-- This defines parsers for the @.cabal@ format + +module Distribution.Simple.PackageDescription ( + -- * Read and Parse files + readGenericPackageDescription, + readHookedBuildInfo, + + -- * Utility Parsing function + parseString, + ) where + +import Prelude () +import Distribution.Compat.Prelude + +import Distribution.Fields.ParseResult +import Distribution.PackageDescription +import Distribution.PackageDescription.Parsec +import Distribution.Parsec.Error (showPError) +import Distribution.Parsec.Warning (showPWarning) +import Distribution.Simple.Utils +import Distribution.Verbosity + +import qualified Data.ByteString as BS +import System.Directory (doesFileExist) + +readGenericPackageDescription :: Verbosity -> FilePath -> IO GenericPackageDescription +readGenericPackageDescription = readAndParseFile parseGenericPackageDescription + +readHookedBuildInfo :: Verbosity -> FilePath -> IO HookedBuildInfo +readHookedBuildInfo = readAndParseFile parseHookedBuildInfo + +-- | Helper combinator to do parsing plumbing for files. +-- +-- Given a parser and a filename, return the parse of the file, +-- after checking if the file exists. +-- +-- Argument order is chosen to encourage partial application. +readAndParseFile + :: (BS.ByteString -> ParseResult a) -- ^ File contents to final value parser + -> Verbosity -- ^ Verbosity level + -> FilePath -- ^ File to read + -> IO a +readAndParseFile parser verbosity fpath = do + exists <- doesFileExist fpath + unless exists $ + die' verbosity $ + "Error Parsing: file \"" ++ fpath ++ "\" doesn't exist. Cannot continue." + bs <- BS.readFile fpath + parseString parser verbosity fpath bs + +parseString + :: (BS.ByteString -> ParseResult a) -- ^ File contents to final value parser + -> Verbosity -- ^ Verbosity level + -> String -- ^ File name + -> BS.ByteString + -> IO a +parseString parser verbosity name bs = do + let (warnings, result) = runParseResult (parser bs) + traverse_ (warn verbosity . showPWarning name) warnings + case result of + Right x -> return x + Left (_, errors) -> do + traverse_ (warn verbosity . showPError name) errors + die' verbosity $ "Failed parsing \"" ++ name ++ "\"." + diff --git a/Makefile b/Makefile index da57dcc4e7d..9af2ede2215 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ lib-ghc-7.8 : # source generation: Lexer -LEXER_HS:=Cabal/src/Distribution/Fields/Lexer.hs +LEXER_HS:=Cabal-syntax/src/Distribution/Fields/Lexer.hs lexer : $(LEXER_HS) @@ -34,8 +34,8 @@ $(LEXER_HS) : templates/Lexer.x # source generation: SPDX -SPDX_LICENSE_HS:=Cabal/src/Distribution/SPDX/LicenseId.hs -SPDX_EXCEPTION_HS:=Cabal/src/Distribution/SPDX/LicenseExceptionId.hs +SPDX_LICENSE_HS:=Cabal-syntax/src/Distribution/SPDX/LicenseId.hs +SPDX_EXCEPTION_HS:=Cabal-syntax/src/Distribution/SPDX/LicenseExceptionId.hs spdx : $(SPDX_LICENSE_HS) $(SPDX_EXCEPTION_HS) @@ -68,7 +68,7 @@ buildinfo-fields-reference : phony # analyse-imports analyse-imports : phony - find Cabal/src cabal-install/src -type f -name '*.hs' | xargs cabal v2-run --builddir=dist-newstyle-meta --project-file=cabal.project.meta analyse-imports -- + find Cabal-syntax/src Cabal/src cabal-install/src -type f -name '*.hs' | xargs cabal v2-run --builddir=dist-newstyle-meta --project-file=cabal.project.meta analyse-imports -- # github actions github-actions : .github/workflows/quick-jobs.yml @@ -91,7 +91,7 @@ ghcid-cli : # doctests (relies on .ghc.environment files) doctest : - doctest --fast Cabal/src + doctest --fast Cabal-syntax/src Cabal/src # This is not run as part of validate.sh (we need hackage-security, which is tricky to get). doctest-cli : @@ -208,7 +208,7 @@ weeder : # tags .PHONY : tags tags : - hasktags -b Cabal/src Cabal-described/src cabal-install/src cabal-testsuite/src + hasktags -b Cabal-syntax/src Cabal/src Cabal-described/src cabal-install/src cabal-testsuite/src # boostrapping ############################################################################## diff --git a/README.md b/README.md index da10194360a..430fa9bc117 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ This Cabal Git repository contains the following packages: * [Cabal](Cabal/README.md): the Cabal library package ([license](Cabal/LICENSE)) + * [Cabal-syntax](Cabal-syntax/README.md): the `.cabal` file format library ([license](Cabal-syntax/LICENSE) * [cabal-install](cabal-install/README.md): the package containing the `cabal` tool ([license](cabal-install/LICENSE)) The canonical upstream repository is located at diff --git a/bootstrap/bootstrap.py b/bootstrap/bootstrap.py index be98776ae26..8658dad306b 100755 --- a/bootstrap/bootstrap.py +++ b/bootstrap/bootstrap.py @@ -187,6 +187,8 @@ def install_dep(dep: BootstrapDep, ghc: Compiler) -> None: elif dep.source == PackageSource.LOCAL: if dep.package == 'Cabal': sdist_dir = Path('Cabal').resolve() + elif dep.package == 'Cabal-syntax': + sdist_dir = Path('Cabal-syntax').resolve() elif dep.package == 'cabal-install-solver': sdist_dir = Path('cabal-install-solver').resolve() elif dep.package == 'cabal-install': diff --git a/bootstrap/linux-8.10.7.json b/bootstrap/linux-8.10.7.json index 7b5d5026525..8e6055aee78 100644 --- a/bootstrap/linux-8.10.7.json +++ b/bootstrap/linux-8.10.7.json @@ -1,49 +1,58 @@ { "dependencies": [ { - "source": "local", - "package": "Cabal", - "version": "3.7.0.0", + "cabal_sha256": null, + "revision": null, + "src_sha256": null, "flags": [ "-bundled-binary-generic" ], + "package": "Cabal-syntax", + "source": "local", + "version": "3.7.0.0" + }, + { "cabal_sha256": null, + "revision": null, "src_sha256": null, - "revision": null + "flags": [], + "package": "Cabal", + "source": "local", + "version": "3.7.0.0" }, { - "source": "hackage", - "package": "network", - "version": "3.1.2.2", + "cabal_sha256": "e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568", + "revision": 0, + "src_sha256": "7f7620fef1a1af3d3d6747f510e73223a5c600e7d7fd9ace073d1222bdc63d85", "flags": [ "-devel" ], - "cabal_sha256": "218e2968e03d99c40f32a2ef7cc41a848969096ba1c780ff2e57997a00246b06", - "src_sha256": "55012c0b22f9c7548b1f7b3bacc2c6ec7058c7f92238a69561528f1a0fa60eb6", - "revision": 0 + "package": "network", + "source": "hackage", + "version": "3.1.2.7" }, { - "source": "hackage", - "package": "th-compat", - "version": "0.1.3", - "flags": [], "cabal_sha256": "a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993", + "revision": 0, "src_sha256": "6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6", - "revision": 0 + "flags": [], + "package": "th-compat", + "source": "hackage", + "version": "0.1.3" }, { - "source": "hackage", - "package": "network-uri", - "version": "2.6.4.1", - "flags": [], "cabal_sha256": "a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d", + "revision": 0, "src_sha256": "57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584", - "revision": 0 + "flags": [], + "package": "network-uri", + "source": "hackage", + "version": "2.6.4.1" }, { - "source": "hackage", - "package": "HTTP", - "version": "4000.3.16", + "cabal_sha256": "6042643c15a0b43e522a6693f1e322f05000d519543a84149cb80aeffee34f71", + "revision": 1, + "src_sha256": "d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d", "flags": [ "-conduit10", "-mtl1", @@ -51,233 +60,234 @@ "-warn-as-error", "-warp-tests" ], - "cabal_sha256": "4265b1966b2bbb302a8a80d7b485197694785ec1496d5d9314b4b5931ffbd093", - "src_sha256": "d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d", - "revision": 0 + "package": "HTTP", + "source": "hackage", + "version": "4000.3.16" }, { - "source": "hackage", - "package": "hashable", - "version": "1.3.3.0", + "cabal_sha256": "3a2beeafb220f9de706568a7e4a5b3c762cc4c9f25c94d7ef795b8c2d6a691d7", + "revision": 1, + "src_sha256": "baaad82cd4271b197016bdbe76f22d5c3d3913fe38534cec7d817db9bae19886", "flags": [ "+integer-gmp", "-random-initial-seed" ], - "cabal_sha256": "7f3b67151162a1dfe8472dc30430af98ed5470801d3f4b6c9b8d7a7443c920d4", - "src_sha256": "99a578e58fb6a869593841e4b3184f5b52c921bcb0d661d2b3a06e6526cb85dc", - "revision": 0 + "package": "hashable", + "source": "hackage", + "version": "1.3.5.0" }, { - "source": "hackage", - "package": "async", - "version": "2.2.3", + "cabal_sha256": "b83dec34a53520de84c6dd3dc7aae45d22409b46eb471c478b98108215a370f0", + "revision": 1, + "src_sha256": "484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725", "flags": [ "-bench" ], - "cabal_sha256": "0cbefb8247308b38e397e675f832b9bd5317ff1872001d5358f213654423c55b", - "src_sha256": "467af3a0037947a5232ecf5f4efbd4cf2118aaa2310566d7f40ac82b0e32935c", - "revision": 0 + "package": "async", + "source": "hackage", + "version": "2.2.4" }, { - "source": "hackage", - "package": "base16-bytestring", - "version": "1.0.1.0", + "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a", + "revision": 0, + "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784", "flags": [], - "cabal_sha256": "33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54", - "src_sha256": "c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa", - "revision": 0 + "package": "base16-bytestring", + "source": "hackage", + "version": "1.0.2.0" }, { - "source": "hackage", - "package": "base64-bytestring", - "version": "1.2.1.0", - "flags": [], "cabal_sha256": "50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8", + "revision": 0, "src_sha256": "fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9", - "revision": 0 + "flags": [], + "package": "base64-bytestring", + "source": "hackage", + "version": "1.2.1.0" }, { - "source": "hackage", - "package": "splitmix", - "version": "0.1.0.3", + "cabal_sha256": "714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1", + "revision": 0, + "src_sha256": "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa", "flags": [ "-optimised-mixer" ], - "cabal_sha256": "fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c", - "src_sha256": "46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35", - "revision": 0 + "package": "splitmix", + "source": "hackage", + "version": "0.1.0.4" }, { - "source": "hackage", - "package": "random", - "version": "1.2.0", + "cabal_sha256": "8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2", + "revision": 0, + "src_sha256": "265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457", "flags": [], - "cabal_sha256": "195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3", - "src_sha256": "e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de", - "revision": 6 + "package": "random", + "source": "hackage", + "version": "1.2.1" }, { - "source": "hackage", - "package": "edit-distance", - "version": "0.2.2.1", - "flags": [], "cabal_sha256": "4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee", + "revision": 1, "src_sha256": "3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a", - "revision": 1 + "flags": [], + "package": "edit-distance", + "source": "hackage", + "version": "0.2.2.1" }, { - "source": "local", - "package": "cabal-install-solver", - "version": "3.7.0.0", + "cabal_sha256": null, + "revision": null, + "src_sha256": null, "flags": [ "-debug-conflict-sets", "-debug-expensive-assertions", "-debug-tracetree" ], - "cabal_sha256": null, - "src_sha256": null, - "revision": null + "package": "cabal-install-solver", + "source": "local", + "version": "3.7.0.0" }, { - "source": "hackage", - "package": "cryptohash-sha256", - "version": "0.11.102.0", + "cabal_sha256": "188d0b5a0491e8b686b32d9b144c9287760ba333d2509bf3f17e3d846fbc2332", + "revision": 0, + "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6", "flags": [ "-exe", "+use-cbits" ], - "cabal_sha256": "797a0af7b8a0e654cbddd3df6b9de02d2cbfcb2292cf001399ab53910fbbb76c", - "src_sha256": "8ad6e9875a9128f6cd66d65d80f9f85dd0559c73ac00bb37f71fbee820d10519", - "revision": 1 + "package": "cryptohash-sha256", + "source": "hackage", + "version": "0.11.102.1" }, { - "source": "hackage", - "package": "echo", - "version": "0.1.4", + "cabal_sha256": "ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42", + "revision": 0, + "src_sha256": "c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43", "flags": [ "-example" ], - "cabal_sha256": "ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42", - "src_sha256": "c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43", - "revision": 0 + "package": "echo", + "source": "hackage", + "version": "0.1.4" }, { - "source": "hackage", - "package": "ed25519", - "version": "0.0.5.0", + "cabal_sha256": "b6d9e5729b3053671700ecd02b4b95a4f315fe1b983aeb2d64cd25c3e7d828cb", + "revision": 4, + "src_sha256": "d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d", "flags": [ "+no-donna", "+test-doctests", "+test-hlint", "+test-properties" ], - "cabal_sha256": "fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa", - "src_sha256": "d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d", - "revision": 3 + "package": "ed25519", + "source": "hackage", + "version": "0.0.5.0" }, { - "source": "hackage", - "package": "lukko", - "version": "0.1.1.3", + "cabal_sha256": "c084c043a40632d3cafcac50fb5eeff84d91edb070a54baa94945f1c976f97c0", + "revision": 2, + "src_sha256": "a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f", "flags": [ "+ofd-locking" ], - "cabal_sha256": "2db49b6cb6632a46ec446fc51870cd0d49e0a66d1c5d2063f46ae52a100eb856", - "src_sha256": "a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f", - "revision": 1 + "package": "lukko", + "source": "hackage", + "version": "0.1.1.3" }, { - "source": "hackage", - "package": "tar", - "version": "0.5.1.1", + "cabal_sha256": "d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d", + "revision": 4, + "src_sha256": "b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de", "flags": [ "-old-bytestring", "-old-time" ], - "cabal_sha256": "d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d", - "src_sha256": "b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de", - "revision": 4 + "package": "tar", + "source": "hackage", + "version": "0.5.1.1" }, { - "source": "hackage", - "package": "zlib", - "version": "0.6.2.3", + "cabal_sha256": "262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4", + "revision": 1, + "src_sha256": "807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88", "flags": [ "-bundled-c-zlib", "-non-blocking-ffi", "-pkg-config" ], - "cabal_sha256": "262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4", - "src_sha256": "807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88", - "revision": 1 + "package": "zlib", + "source": "hackage", + "version": "0.6.2.3" }, { - "source": "hackage", - "package": "hackage-security", - "version": "0.6.0.1", + "cabal_sha256": "c71b22bb336502341325767ae3d4fb9623d846e7e78511ea8c8cda383e839137", + "revision": 0, + "src_sha256": "081725bb1e5c0e399ad5b1327b4c42a63c3db36bbb70cca2dbb7c7ac2feb17cb", "flags": [ "+base48", + "+cabal-syntax", "+lukko", "-mtl21", "-old-directory", "+use-network-uri" ], - "cabal_sha256": "ae6cdda307237c0b7efeebfb0bf23ff8a26c30f5ba295dce5e4f81ef6e63fff6", - "src_sha256": "9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17", - "revision": 8 + "package": "hackage-security", + "source": "hackage", + "version": "0.6.2.0" }, { - "source": "hackage", - "package": "regex-base", - "version": "0.94.0.1", + "cabal_sha256": "2561adac8ce373910948066debe090a22b336b129ba5af18c0332524d16e72ce", + "revision": 0, + "src_sha256": "7b99408f580f5bb67a1c413e0bc735886608251331ad36322020f2169aea2ef1", "flags": [], - "cabal_sha256": "35ff2d13c0e3ac364469c19e4c7c8775f5148977d8fcef58a424df0a10a53fa7", - "src_sha256": "71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9", - "revision": 1 + "package": "regex-base", + "source": "hackage", + "version": "0.94.0.2" }, { - "source": "hackage", - "package": "regex-posix", - "version": "0.96.0.1", + "cabal_sha256": "b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca", + "revision": 0, + "src_sha256": "c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c", "flags": [ "-_regex-posix-clib" ], - "cabal_sha256": "b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca", - "src_sha256": "c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c", - "revision": 0 + "package": "regex-posix", + "source": "hackage", + "version": "0.96.0.1" }, { - "source": "hackage", - "package": "resolv", - "version": "0.1.2.0", - "flags": [], - "cabal_sha256": "25c6e802dc342307e78e5e60433f5e20d03aa783b08b009a399100eb9b6ec529", + "cabal_sha256": "2088eb9368b920f80bbe4e3b03c3b8484090208f5c3b31645bd67a9ef7d26db4", + "revision": 4, "src_sha256": "81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671", - "revision": 3 + "flags": [], + "package": "resolv", + "source": "hackage", + "version": "0.1.2.0" }, { - "source": "local", - "package": "cabal-install", - "version": "3.7.0.0", + "cabal_sha256": null, + "revision": null, + "src_sha256": null, "flags": [ "+lukko", "+native-dns" ], - "cabal_sha256": null, - "src_sha256": null, - "revision": null + "package": "cabal-install", + "source": "local", + "version": "3.7.0.0" }, { - "source": "local", - "package": "cabal-install", - "version": "3.7.0.0", + "cabal_sha256": null, + "revision": null, + "src_sha256": null, "flags": [ "+lukko", "+native-dns" ], - "cabal_sha256": null, - "src_sha256": null, - "revision": null + "package": "cabal-install", + "source": "local", + "version": "3.7.0.0" } ], "builtin": [ diff --git a/bootstrap/linux-8.10.7.plan.json b/bootstrap/linux-8.10.7.plan.json index ed407e5c0da..ee62a1e8c74 100644 --- a/bootstrap/linux-8.10.7.plan.json +++ b/bootstrap/linux-8.10.7.plan.json @@ -1 +1 @@ -{"cabal-version":"3.4.0.0","cabal-lib-version":"3.4.0.0","compiler-id":"ghc-8.10.7","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.7.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.7.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/mikolaj/r/cabal/Cabal"},"dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/Cabal-3.7.0.0","depends":["array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"HTTP-4000.3.16-5f6275caecf12e48f2f9d06c53a350d94b720cb4adb35ff683a388d13ba52990","pkg-name":"HTTP","pkg-version":"4000.3.16","flags":{"conduit10":false,"mtl1":false,"network-uri":true,"warn-as-error":false,"warp-tests":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4265b1966b2bbb302a8a80d7b485197694785ec1496d5d9314b4b5931ffbd093","pkg-src-sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","mtl-2.2.2","network-3.1.2.2-262febe9ef65c35ced416bacadd25d649d9ab8c2a9a504839ff86de761757f4a","network-uri-2.6.4.1-83ef2aa9e12d97ddc73af743c315b887e7060efd79836112c6521d8d9d36b32f","parsec-3.1.14.0","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.3.0"]},{"type":"configured","id":"async-2.2.3-da75efb87ab7f2c69a101643f42f1d30b2728f802b30b2730accc0175acf016f","pkg-name":"async","pkg-version":"2.2.3","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cbefb8247308b38e397e675f832b9bd5317ff1872001d5358f213654423c55b","pkg-src-sha256":"467af3a0037947a5232ecf5f4efbd4cf2118aaa2310566d7f40ac82b0e32935c","depends":["base-4.14.3.0","hashable-1.3.3.0-c0a83c9c666c94a79beac26cd24fc04e8dc31aa85c322e17cd0027b0166ce8e6","stm-2.5.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.14.3.0","pkg-name":"base","pkg-version":"4.14.3.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.1.0-9f7154b7f7d06919d79343ebbbbe280334d69830821da9445ad3e00eacd30fb3","pkg-name":"base16-bytestring","pkg-version":"1.0.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54","pkg-src-sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","depends":["base-4.14.3.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.1.0-3545a003991d706deff106a156708d03bce06cbc505ffc2e134f4db41d4ee516","pkg-name":"base64-bytestring","pkg-version":"1.2.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8","pkg-src-sha256":"fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9","depends":["base-4.14.3.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"cabal-install-3.7.0.0-inplace","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/mikolaj/r/cabal/cabal-install"},"dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/cabal-install-3.7.0.0","depends":["Cabal-3.7.0.0-inplace","HTTP-4000.3.16-5f6275caecf12e48f2f9d06c53a350d94b720cb4adb35ff683a388d13ba52990","array-0.5.4.0","async-2.2.3-da75efb87ab7f2c69a101643f42f1d30b2728f802b30b2730accc0175acf016f","base-4.14.3.0","base16-bytestring-1.0.1.0-9f7154b7f7d06919d79343ebbbbe280334d69830821da9445ad3e00eacd30fb3","binary-0.8.8.0","bytestring-0.10.12.0","cabal-install-solver-3.7.0.0-inplace","containers-0.6.5.1","cryptohash-sha256-0.11.102.0-7ede55e8f681c4bbc4f5d9a648ce190900523cd894b8d10f67ccbf83d4ccd23f","deepseq-1.4.4.0","directory-1.3.6.0","echo-0.1.4-7ee54070fd174539a296bbc77835204facc0491ba831396041bbe74e8939fe61","edit-distance-0.2.2.1-cd09713a9167df2f517b6f7ca3fca0adeea52cdfee278163f94d16190cd83471","exceptions-0.10.4","filepath-1.4.2.1","hackage-security-0.6.0.1-inplace","hashable-1.3.3.0-c0a83c9c666c94a79beac26cd24fc04e8dc31aa85c322e17cd0027b0166ce8e6","lukko-0.1.1.3-a3ea51561117192240c4423ac62c7f6e82fd5d4825df2f632af4060e08bcf80d","mtl-2.2.2","network-uri-2.6.4.1-83ef2aa9e12d97ddc73af743c315b887e7060efd79836112c6521d8d9d36b32f","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.13.2","random-1.2.0-2243011942dde842d48362369219b18eb7cc062f1688de6916b30e595e924a4f","regex-base-0.94.0.1-aec0d1cd77c52ad52bb81a441e0796b77bcfc931a47279a760d00b5aa5d1dd4c","regex-posix-0.96.0.1-b01c35d5901f0e00932574b92090724cbef08dfb70433d0bf47d4cb40bfbfaaa","resolv-0.1.2.0-fa5d5cb715ba5691e47799dacf9a47c356bdfa2966301a030531d89096a6167d","stm-2.5.0.1","tar-0.5.1.1-13b72cfc0dd17a5610bf310d94e58bf563420a9714095f04e966cb92173d2b24","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-def443548e978facc1ac2e0de278eca4693b87b4f14d6e73f4b00178d6270d82"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"cabal-install-3.7.0.0-inplace-cabal","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/mikolaj/r/cabal/cabal-install"},"dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/cabal-install-3.7.0.0/x/cabal","depends":["Cabal-3.7.0.0-inplace","base-4.14.3.0","cabal-install-3.7.0.0-inplace","directory-1.3.6.0","filepath-1.4.2.1"],"exe-depends":[],"component-name":"exe:cabal","bin-file":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/cabal-install-3.7.0.0/x/cabal/build/cabal/cabal"},{"type":"configured","id":"cabal-install-solver-3.7.0.0-inplace","pkg-name":"cabal-install-solver","pkg-version":"3.7.0.0","flags":{"debug-conflict-sets":false,"debug-expensive-assertions":false,"debug-tracetree":false},"style":"local","pkg-src":{"type":"local","path":"/home/mikolaj/r/cabal/cabal-install-solver"},"dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/cabal-install-solver-3.7.0.0","depends":["Cabal-3.7.0.0-inplace","array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.5.1","edit-distance-0.2.2.1-cd09713a9167df2f517b6f7ca3fca0adeea52cdfee278163f94d16190cd83471","filepath-1.4.2.1","mtl-2.2.2","pretty-1.1.3.6","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.0-7ede55e8f681c4bbc4f5d9a648ce190900523cd894b8d10f67ccbf83d4ccd23f","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.0","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"797a0af7b8a0e654cbddd3df6b9de02d2cbfcb2292cf001399ab53910fbbb76c","pkg-src-sha256":"8ad6e9875a9128f6cd66d65d80f9f85dd0559c73ac00bb37f71fbee820d10519","depends":["base-4.14.3.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.3.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.3.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-7ee54070fd174539a296bbc77835204facc0491ba831396041bbe74e8939fe61","pkg-name":"echo","pkg-version":"0.1.4","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","pkg-src-sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","depends":["base-4.14.3.0","process-1.6.13.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-4ae151eea836514248981a8a7fe1e1cf84de2cc9b054f6d836ce1317368af85e","pkg-name":"ed25519","pkg-version":"0.0.5.0","flags":{"no-donna":true,"test-doctests":true,"test-hlint":true,"test-properties":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa","pkg-src-sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","depends":["base-4.14.3.0","bytestring-0.10.12.0","ghc-prim-0.6.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"edit-distance-0.2.2.1-cd09713a9167df2f517b6f7ca3fca0adeea52cdfee278163f94d16190cd83471","pkg-name":"edit-distance","pkg-version":"0.2.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","pkg-src-sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","depends":["array-0.5.4.0","base-4.14.3.0","containers-0.6.5.1","random-1.2.0-2243011942dde842d48362369219b18eb7cc062f1688de6916b30e595e924a4f"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"exceptions-0.10.4","pkg-name":"exceptions","pkg-version":"0.10.4","depends":["base-4.14.3.0","mtl-2.2.2","stm-2.5.0.1","template-haskell-2.16.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.10.7","pkg-name":"ghc-boot-th","pkg-version":"8.10.7","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hackage-security-0.6.0.1-inplace","pkg-name":"hackage-security","pkg-version":"0.6.0.1","flags":{"base48":true,"lukko":true,"mtl21":false,"old-directory":false,"use-network-uri":true},"style":"inplace","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae6cdda307237c0b7efeebfb0bf23ff8a26c30f5ba295dce5e4f81ef6e63fff6","pkg-src-sha256":"9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17","dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/hackage-security-0.6.0.1","depends":["Cabal-3.7.0.0-inplace","base-4.14.3.0","base16-bytestring-1.0.1.0-9f7154b7f7d06919d79343ebbbbe280334d69830821da9445ad3e00eacd30fb3","base64-bytestring-1.2.1.0-3545a003991d706deff106a156708d03bce06cbc505ffc2e134f4db41d4ee516","bytestring-0.10.12.0","containers-0.6.5.1","cryptohash-sha256-0.11.102.0-7ede55e8f681c4bbc4f5d9a648ce190900523cd894b8d10f67ccbf83d4ccd23f","directory-1.3.6.0","ed25519-0.0.5.0-4ae151eea836514248981a8a7fe1e1cf84de2cc9b054f6d836ce1317368af85e","filepath-1.4.2.1","ghc-prim-0.6.1","lukko-0.1.1.3-a3ea51561117192240c4423ac62c7f6e82fd5d4825df2f632af4060e08bcf80d","mtl-2.2.2","network-3.1.2.2-262febe9ef65c35ced416bacadd25d649d9ab8c2a9a504839ff86de761757f4a","network-uri-2.6.4.1-83ef2aa9e12d97ddc73af743c315b887e7060efd79836112c6521d8d9d36b32f","parsec-3.1.14.0","pretty-1.1.3.6","tar-0.5.1.1-13b72cfc0dd17a5610bf310d94e58bf563420a9714095f04e966cb92173d2b24","template-haskell-2.16.0.0","time-1.9.3","transformers-0.5.6.2","zlib-0.6.2.3-def443548e978facc1ac2e0de278eca4693b87b4f14d6e73f4b00178d6270d82"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.3.0-c0a83c9c666c94a79beac26cd24fc04e8dc31aa85c322e17cd0027b0166ce8e6","pkg-name":"hashable","pkg-version":"1.3.3.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"7f3b67151162a1dfe8472dc30430af98ed5470801d3f4b6c9b8d7a7443c920d4","pkg-src-sha256":"99a578e58fb6a869593841e4b3184f5b52c921bcb0d661d2b3a06e6526cb85dc","depends":["base-4.14.3.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.7-e-hsc2hs-942b72c285cd1add7568e1b55b618d53063a7389d5646db06036773fbe1a6107","pkg-name":"hsc2hs","pkg-version":"0.68.7","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4a0f6860a17e7c245646975e3c2981416afdcb6a7b3553c31005eb3641a7f55b","pkg-src-sha256":"fd7915e41e3ed3bc7750fee0e8add2b4f32dcac8b7c544cfdf5542293223894a","depends":["base-4.14.3.0","containers-0.6.5.1","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.13.2"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/home/mikolaj/.cabal/store/ghc-8.10.7/hsc2hs-0.68.7-e-hsc2hs-942b72c285cd1add7568e1b55b618d53063a7389d5646db06036773fbe1a6107/bin/hsc2hs"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"lukko-0.1.1.3-a3ea51561117192240c4423ac62c7f6e82fd5d4825df2f632af4060e08bcf80d","pkg-name":"lukko","pkg-version":"0.1.1.3","flags":{"ofd-locking":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2db49b6cb6632a46ec446fc51870cd0d49e0a66d1c5d2063f46ae52a100eb856","pkg-src-sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","depends":["base-4.14.3.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-942b72c285cd1add7568e1b55b618d53063a7389d5646db06036773fbe1a6107"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.3.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.2-262febe9ef65c35ced416bacadd25d649d9ab8c2a9a504839ff86de761757f4a","pkg-name":"network","pkg-version":"3.1.2.2","flags":{"devel":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"218e2968e03d99c40f32a2ef7cc41a848969096ba1c780ff2e57997a00246b06","pkg-src-sha256":"55012c0b22f9c7548b1f7b3bacc2c6ec7058c7f92238a69561528f1a0fa60eb6","components":{"lib":{"depends":["base-4.14.3.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-942b72c285cd1add7568e1b55b618d53063a7389d5646db06036773fbe1a6107"]}}},{"type":"configured","id":"network-uri-2.6.4.1-83ef2aa9e12d97ddc73af743c315b887e7060efd79836112c6521d8d9d36b32f","pkg-name":"network-uri","pkg-version":"2.6.4.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","pkg-src-sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","depends":["base-4.14.3.0","deepseq-1.4.4.0","parsec-3.1.14.0","template-haskell-2.16.0.0","th-compat-0.1.3-d507952cde6d55d939b1b2ff34361d8e74e0ef8337a11eee106f6cd982028e56"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.3.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.14.3.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-2243011942dde842d48362369219b18eb7cc062f1688de6916b30e595e924a4f","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.3.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-ea3085a505c71722909b9aaac572a309c1a1430c785391ad5df25c21334bd11f"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.1-aec0d1cd77c52ad52bb81a441e0796b77bcfc931a47279a760d00b5aa5d1dd4c","pkg-name":"regex-base","pkg-version":"0.94.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"35ff2d13c0e3ac364469c19e4c7c8775f5148977d8fcef58a424df0a10a53fa7","pkg-src-sha256":"71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","mtl-2.2.2","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-b01c35d5901f0e00932574b92090724cbef08dfb70433d0bf47d4cb40bfbfaaa","pkg-name":"regex-posix","pkg-version":"0.96.0.1","flags":{"_regex-posix-clib":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","pkg-src-sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","regex-base-0.94.0.1-aec0d1cd77c52ad52bb81a441e0796b77bcfc931a47279a760d00b5aa5d1dd4c"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-fa5d5cb715ba5691e47799dacf9a47c356bdfa2966301a030531d89096a6167d","pkg-name":"resolv","pkg-version":"0.1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"25c6e802dc342307e78e5e60433f5e20d03aa783b08b009a399100eb9b6ec529","pkg-src-sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","components":{"lib":{"depends":["base-4.14.3.0","base16-bytestring-1.0.1.0-9f7154b7f7d06919d79343ebbbbe280334d69830821da9445ad3e00eacd30fb3","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.5.1"],"exe-depends":[]}}},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.1","depends":[]},{"type":"configured","id":"splitmix-0.1.0.3-ea3085a505c71722909b9aaac572a309c1a1430c785391ad5df25c21334bd11f","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.3.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.0.1","pkg-name":"stm","pkg-version":"2.5.0.1","depends":["array-0.5.4.0","base-4.14.3.0"]},{"type":"configured","id":"tar-0.5.1.1-13b72cfc0dd17a5610bf310d94e58bf563420a9714095f04e966cb92173d2b24","pkg-name":"tar","pkg-version":"0.5.1.1","flags":{"old-bytestring":false,"old-time":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.3.0","ghc-boot-th-8.10.7","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"configured","id":"th-compat-0.1.3-d507952cde6d55d939b1b2ff34361d8e74e0ef8337a11eee106f6cd982028e56","pkg-name":"th-compat","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993","pkg-src-sha256":"6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6","depends":["base-4.14.3.0","template-haskell-2.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.3.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"zlib-0.6.2.3-def443548e978facc1ac2e0de278eca4693b87b4f14d6e73f4b00178d6270d82","pkg-name":"zlib","pkg-version":"0.6.2.3","flags":{"bundled-c-zlib":false,"non-blocking-ffi":false,"pkg-config":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.14.3.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file +{"cabal-version":"3.4.0.0","cabal-lib-version":"3.4.0.0","compiler-id":"ghc-8.10.7","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.7.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.7.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/Cabal"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/Cabal-3.7.0.0","depends":["Cabal-syntax-3.7.0.0-inplace","array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"Cabal-syntax-3.7.0.0-inplace","pkg-name":"Cabal-syntax","pkg-version":"3.7.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/Cabal-syntax"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/Cabal-syntax-3.7.0.0","depends":["array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"HTTP-4000.3.16-9e81527472935e8dd33d388978208a63c2c663a192aef318739595e97485726d","pkg-name":"HTTP","pkg-version":"4000.3.16","flags":{"conduit10":false,"mtl1":false,"network-uri":true,"warn-as-error":false,"warp-tests":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6042643c15a0b43e522a6693f1e322f05000d519543a84149cb80aeffee34f71","pkg-src-sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","mtl-2.2.2","network-3.1.2.7-2d72df787370b1f16d6201e748b2276c2e80f11c5a492979e113b32cf6851dd5","network-uri-2.6.4.1-83ef2aa9e12d97ddc73af743c315b887e7060efd79836112c6521d8d9d36b32f","parsec-3.1.14.0","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.3.0"]},{"type":"configured","id":"async-2.2.4-38402ff980e55904b4ab722869d878d87179f57f62aa1941c5b99f6485d395dc","pkg-name":"async","pkg-version":"2.2.4","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b83dec34a53520de84c6dd3dc7aae45d22409b46eb471c478b98108215a370f0","pkg-src-sha256":"484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725","depends":["base-4.14.3.0","hashable-1.3.5.0-38ac512a8fca7331205e4a466b18225a1140d2f7309381fd440283069fc8b154","stm-2.5.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.14.3.0","pkg-name":"base","pkg-version":"4.14.3.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-70aa3bac4d0b73533e1209155fdef8d1d52241185b590a3762ddab4fe7278b61","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.14.3.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.1.0-3545a003991d706deff106a156708d03bce06cbc505ffc2e134f4db41d4ee516","pkg-name":"base64-bytestring","pkg-version":"1.2.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8","pkg-src-sha256":"fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9","depends":["base-4.14.3.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"cabal-install-3.7.0.0-inplace","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/cabal-install"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/cabal-install-3.7.0.0","depends":["Cabal-3.7.0.0-inplace","Cabal-syntax-3.7.0.0-inplace","HTTP-4000.3.16-9e81527472935e8dd33d388978208a63c2c663a192aef318739595e97485726d","array-0.5.4.0","async-2.2.4-38402ff980e55904b4ab722869d878d87179f57f62aa1941c5b99f6485d395dc","base-4.14.3.0","base16-bytestring-1.0.2.0-70aa3bac4d0b73533e1209155fdef8d1d52241185b590a3762ddab4fe7278b61","binary-0.8.8.0","bytestring-0.10.12.0","cabal-install-solver-3.7.0.0-inplace","containers-0.6.5.1","cryptohash-sha256-0.11.102.1-b7a551372a693f86d20a41b71c855fc42fda023dffe9c298ae27a04d47c48de8","deepseq-1.4.4.0","directory-1.3.6.0","echo-0.1.4-7ee54070fd174539a296bbc77835204facc0491ba831396041bbe74e8939fe61","edit-distance-0.2.2.1-0a65876af340225be4724335ee6559c9d7dcb5adefe9439b0c720e0709f192e8","exceptions-0.10.4","filepath-1.4.2.1","hackage-security-0.6.2.0-inplace","hashable-1.3.5.0-38ac512a8fca7331205e4a466b18225a1140d2f7309381fd440283069fc8b154","lukko-0.1.1.3-195fd1edcb01903fdb8723aaf4d8e621608926c56eb1d3987e143cb0f61c3c65","mtl-2.2.2","network-uri-2.6.4.1-83ef2aa9e12d97ddc73af743c315b887e7060efd79836112c6521d8d9d36b32f","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.13.2","random-1.2.1-9241b7d4b7bedafddc08af1f75ab0cf10f6509e30a6ca9372df2a6af5d56c821","regex-base-0.94.0.2-85b27aba5c4c8c05a3e5d9719e49e080d06e9e8e205800e5b62856a178a3ea9f","regex-posix-0.96.0.1-a15011b9fb031ddbd0acd4da982b836deac36835bd0ff14f2512d5b86b24f734","resolv-0.1.2.0-d5ed78dd184b16d14586f7efc0f4d608fb48494d5e484f4dd7d47ce6eb7bc941","stm-2.5.0.1","tar-0.5.1.1-13b72cfc0dd17a5610bf310d94e58bf563420a9714095f04e966cb92173d2b24","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-def443548e978facc1ac2e0de278eca4693b87b4f14d6e73f4b00178d6270d82"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"cabal-install-3.7.0.0-inplace-cabal","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/cabal-install"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/cabal-install-3.7.0.0/x/cabal","depends":["Cabal-3.7.0.0-inplace","Cabal-syntax-3.7.0.0-inplace","base-4.14.3.0","cabal-install-3.7.0.0-inplace","directory-1.3.6.0","filepath-1.4.2.1"],"exe-depends":[],"component-name":"exe:cabal","bin-file":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/cabal-install-3.7.0.0/x/cabal/build/cabal/cabal"},{"type":"configured","id":"cabal-install-solver-3.7.0.0-inplace","pkg-name":"cabal-install-solver","pkg-version":"3.7.0.0","flags":{"debug-conflict-sets":false,"debug-expensive-assertions":false,"debug-tracetree":false},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/cabal-install-solver"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/cabal-install-solver-3.7.0.0","depends":["Cabal-3.7.0.0-inplace","Cabal-syntax-3.7.0.0-inplace","array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.5.1","edit-distance-0.2.2.1-0a65876af340225be4724335ee6559c9d7dcb5adefe9439b0c720e0709f192e8","filepath-1.4.2.1","mtl-2.2.2","pretty-1.1.3.6","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-b7a551372a693f86d20a41b71c855fc42fda023dffe9c298ae27a04d47c48de8","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"188d0b5a0491e8b686b32d9b144c9287760ba333d2509bf3f17e3d846fbc2332","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.14.3.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.3.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.3.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-7ee54070fd174539a296bbc77835204facc0491ba831396041bbe74e8939fe61","pkg-name":"echo","pkg-version":"0.1.4","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","pkg-src-sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","depends":["base-4.14.3.0","process-1.6.13.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-4ae151eea836514248981a8a7fe1e1cf84de2cc9b054f6d836ce1317368af85e","pkg-name":"ed25519","pkg-version":"0.0.5.0","flags":{"no-donna":true,"test-doctests":true,"test-hlint":true,"test-properties":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6d9e5729b3053671700ecd02b4b95a4f315fe1b983aeb2d64cd25c3e7d828cb","pkg-src-sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","depends":["base-4.14.3.0","bytestring-0.10.12.0","ghc-prim-0.6.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"edit-distance-0.2.2.1-0a65876af340225be4724335ee6559c9d7dcb5adefe9439b0c720e0709f192e8","pkg-name":"edit-distance","pkg-version":"0.2.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","pkg-src-sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","depends":["array-0.5.4.0","base-4.14.3.0","containers-0.6.5.1","random-1.2.1-9241b7d4b7bedafddc08af1f75ab0cf10f6509e30a6ca9372df2a6af5d56c821"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"exceptions-0.10.4","pkg-name":"exceptions","pkg-version":"0.10.4","depends":["base-4.14.3.0","mtl-2.2.2","stm-2.5.0.1","template-haskell-2.16.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.10.7","pkg-name":"ghc-boot-th","pkg-version":"8.10.7","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hackage-security-0.6.2.0-inplace","pkg-name":"hackage-security","pkg-version":"0.6.2.0","flags":{"base48":true,"cabal-syntax":true,"lukko":true,"mtl21":false,"old-directory":false,"use-network-uri":true},"style":"inplace","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"c71b22bb336502341325767ae3d4fb9623d846e7e78511ea8c8cda383e839137","pkg-src-sha256":"081725bb1e5c0e399ad5b1327b4c42a63c3db36bbb70cca2dbb7c7ac2feb17cb","dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.7/hackage-security-0.6.2.0","depends":["Cabal-syntax-3.7.0.0-inplace","base-4.14.3.0","base16-bytestring-1.0.2.0-70aa3bac4d0b73533e1209155fdef8d1d52241185b590a3762ddab4fe7278b61","base64-bytestring-1.2.1.0-3545a003991d706deff106a156708d03bce06cbc505ffc2e134f4db41d4ee516","bytestring-0.10.12.0","containers-0.6.5.1","cryptohash-sha256-0.11.102.1-b7a551372a693f86d20a41b71c855fc42fda023dffe9c298ae27a04d47c48de8","directory-1.3.6.0","ed25519-0.0.5.0-4ae151eea836514248981a8a7fe1e1cf84de2cc9b054f6d836ce1317368af85e","filepath-1.4.2.1","ghc-prim-0.6.1","lukko-0.1.1.3-195fd1edcb01903fdb8723aaf4d8e621608926c56eb1d3987e143cb0f61c3c65","mtl-2.2.2","network-3.1.2.7-2d72df787370b1f16d6201e748b2276c2e80f11c5a492979e113b32cf6851dd5","network-uri-2.6.4.1-83ef2aa9e12d97ddc73af743c315b887e7060efd79836112c6521d8d9d36b32f","parsec-3.1.14.0","pretty-1.1.3.6","tar-0.5.1.1-13b72cfc0dd17a5610bf310d94e58bf563420a9714095f04e966cb92173d2b24","template-haskell-2.16.0.0","time-1.9.3","transformers-0.5.6.2","zlib-0.6.2.3-def443548e978facc1ac2e0de278eca4693b87b4f14d6e73f4b00178d6270d82"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.5.0-38ac512a8fca7331205e4a466b18225a1140d2f7309381fd440283069fc8b154","pkg-name":"hashable","pkg-version":"1.3.5.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3a2beeafb220f9de706568a7e4a5b3c762cc4c9f25c94d7ef795b8c2d6a691d7","pkg-src-sha256":"baaad82cd4271b197016bdbe76f22d5c3d3913fe38534cec7d817db9bae19886","depends":["base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.8-e-hsc2hs-d18ce01474ef463552864ad1bba448558b2bdd3f8c058d7ed1ebcc62c9423db9","pkg-name":"hsc2hs","pkg-version":"0.68.8","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"27a5e694efcc2133761de2a0c8079596b0fb62aef0be472afad7d60df6fa68d5","pkg-src-sha256":"78341efbc917a84a07f2143bee9203e2555072054d495717aa73d89d9df77a52","depends":["base-4.14.3.0","containers-0.6.5.1","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.13.2"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/home/patrick/.cabal/store/ghc-8.10.7/hsc2hs-0.68.8-e-hsc2hs-d18ce01474ef463552864ad1bba448558b2bdd3f8c058d7ed1ebcc62c9423db9/bin/hsc2hs"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"lukko-0.1.1.3-195fd1edcb01903fdb8723aaf4d8e621608926c56eb1d3987e143cb0f61c3c65","pkg-name":"lukko","pkg-version":"0.1.1.3","flags":{"ofd-locking":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"c084c043a40632d3cafcac50fb5eeff84d91edb070a54baa94945f1c976f97c0","pkg-src-sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","depends":["base-4.14.3.0"],"exe-depends":["hsc2hs-0.68.8-e-hsc2hs-d18ce01474ef463552864ad1bba448558b2bdd3f8c058d7ed1ebcc62c9423db9"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.3.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.7-2d72df787370b1f16d6201e748b2276c2e80f11c5a492979e113b32cf6851dd5","pkg-name":"network","pkg-version":"3.1.2.7","flags":{"devel":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568","pkg-src-sha256":"7f7620fef1a1af3d3d6747f510e73223a5c600e7d7fd9ace073d1222bdc63d85","components":{"lib":{"depends":["base-4.14.3.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0"],"exe-depends":["hsc2hs-0.68.8-e-hsc2hs-d18ce01474ef463552864ad1bba448558b2bdd3f8c058d7ed1ebcc62c9423db9"]}}},{"type":"configured","id":"network-uri-2.6.4.1-83ef2aa9e12d97ddc73af743c315b887e7060efd79836112c6521d8d9d36b32f","pkg-name":"network-uri","pkg-version":"2.6.4.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","pkg-src-sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","depends":["base-4.14.3.0","deepseq-1.4.4.0","parsec-3.1.14.0","template-haskell-2.16.0.0","th-compat-0.1.3-d507952cde6d55d939b1b2ff34361d8e74e0ef8337a11eee106f6cd982028e56"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.3.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.14.3.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1-9241b7d4b7bedafddc08af1f75ab0cf10f6509e30a6ca9372df2a6af5d56c821","pkg-name":"random","pkg-version":"1.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","pkg-src-sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","depends":["base-4.14.3.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.4-ecf05af7ba88b161057dd38db998065e9449310e23cbacac97d6a6e83c32b8d5"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.2-85b27aba5c4c8c05a3e5d9719e49e080d06e9e8e205800e5b62856a178a3ea9f","pkg-name":"regex-base","pkg-version":"0.94.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2561adac8ce373910948066debe090a22b336b129ba5af18c0332524d16e72ce","pkg-src-sha256":"7b99408f580f5bb67a1c413e0bc735886608251331ad36322020f2169aea2ef1","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-a15011b9fb031ddbd0acd4da982b836deac36835bd0ff14f2512d5b86b24f734","pkg-name":"regex-posix","pkg-version":"0.96.0.1","flags":{"_regex-posix-clib":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","pkg-src-sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","regex-base-0.94.0.2-85b27aba5c4c8c05a3e5d9719e49e080d06e9e8e205800e5b62856a178a3ea9f"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-d5ed78dd184b16d14586f7efc0f4d608fb48494d5e484f4dd7d47ce6eb7bc941","pkg-name":"resolv","pkg-version":"0.1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2088eb9368b920f80bbe4e3b03c3b8484090208f5c3b31645bd67a9ef7d26db4","pkg-src-sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","components":{"lib":{"depends":["base-4.14.3.0","base16-bytestring-1.0.2.0-70aa3bac4d0b73533e1209155fdef8d1d52241185b590a3762ddab4fe7278b61","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.5.1"],"exe-depends":[]}}},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.1","depends":[]},{"type":"configured","id":"splitmix-0.1.0.4-ecf05af7ba88b161057dd38db998065e9449310e23cbacac97d6a6e83c32b8d5","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.14.3.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.0.1","pkg-name":"stm","pkg-version":"2.5.0.1","depends":["array-0.5.4.0","base-4.14.3.0"]},{"type":"configured","id":"tar-0.5.1.1-13b72cfc0dd17a5610bf310d94e58bf563420a9714095f04e966cb92173d2b24","pkg-name":"tar","pkg-version":"0.5.1.1","flags":{"old-bytestring":false,"old-time":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.3.0","ghc-boot-th-8.10.7","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"configured","id":"th-compat-0.1.3-d507952cde6d55d939b1b2ff34361d8e74e0ef8337a11eee106f6cd982028e56","pkg-name":"th-compat","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993","pkg-src-sha256":"6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6","depends":["base-4.14.3.0","template-haskell-2.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.3.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"zlib-0.6.2.3-def443548e978facc1ac2e0de278eca4693b87b4f14d6e73f4b00178d6270d82","pkg-name":"zlib","pkg-version":"0.6.2.3","flags":{"bundled-c-zlib":false,"non-blocking-ffi":false,"pkg-config":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.14.3.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file diff --git a/bootstrap/linux-8.6.5.json b/bootstrap/linux-8.6.5.json index daa71a4990b..be20af83981 100644 --- a/bootstrap/linux-8.6.5.json +++ b/bootstrap/linux-8.6.5.json @@ -1,49 +1,58 @@ { "dependencies": [ { - "source": "local", - "package": "Cabal", - "version": "3.7.0.0", + "cabal_sha256": null, + "revision": null, + "src_sha256": null, "flags": [ "-bundled-binary-generic" ], + "package": "Cabal-syntax", + "source": "local", + "version": "3.7.0.0" + }, + { "cabal_sha256": null, + "revision": null, "src_sha256": null, - "revision": null + "flags": [], + "package": "Cabal", + "source": "local", + "version": "3.7.0.0" }, { - "source": "hackage", - "package": "network", - "version": "3.1.2.2", + "cabal_sha256": "e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568", + "revision": 0, + "src_sha256": "7f7620fef1a1af3d3d6747f510e73223a5c600e7d7fd9ace073d1222bdc63d85", "flags": [ "-devel" ], - "cabal_sha256": "218e2968e03d99c40f32a2ef7cc41a848969096ba1c780ff2e57997a00246b06", - "src_sha256": "55012c0b22f9c7548b1f7b3bacc2c6ec7058c7f92238a69561528f1a0fa60eb6", - "revision": 0 + "package": "network", + "source": "hackage", + "version": "3.1.2.7" }, { - "source": "hackage", - "package": "th-compat", - "version": "0.1.3", - "flags": [], "cabal_sha256": "a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993", + "revision": 0, "src_sha256": "6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6", - "revision": 0 + "flags": [], + "package": "th-compat", + "source": "hackage", + "version": "0.1.3" }, { - "source": "hackage", - "package": "network-uri", - "version": "2.6.4.1", - "flags": [], "cabal_sha256": "a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d", + "revision": 0, "src_sha256": "57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584", - "revision": 0 + "flags": [], + "package": "network-uri", + "source": "hackage", + "version": "2.6.4.1" }, { - "source": "hackage", - "package": "HTTP", - "version": "4000.3.16", + "cabal_sha256": "6042643c15a0b43e522a6693f1e322f05000d519543a84149cb80aeffee34f71", + "revision": 1, + "src_sha256": "d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d", "flags": [ "-conduit10", "-mtl1", @@ -51,244 +60,245 @@ "-warn-as-error", "-warp-tests" ], - "cabal_sha256": "4265b1966b2bbb302a8a80d7b485197694785ec1496d5d9314b4b5931ffbd093", - "src_sha256": "d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d", - "revision": 0 + "package": "HTTP", + "source": "hackage", + "version": "4000.3.16" }, { - "source": "hackage", - "package": "hashable", - "version": "1.3.3.0", + "cabal_sha256": "3a2beeafb220f9de706568a7e4a5b3c762cc4c9f25c94d7ef795b8c2d6a691d7", + "revision": 1, + "src_sha256": "baaad82cd4271b197016bdbe76f22d5c3d3913fe38534cec7d817db9bae19886", "flags": [ "+integer-gmp", "-random-initial-seed" ], - "cabal_sha256": "7f3b67151162a1dfe8472dc30430af98ed5470801d3f4b6c9b8d7a7443c920d4", - "src_sha256": "99a578e58fb6a869593841e4b3184f5b52c921bcb0d661d2b3a06e6526cb85dc", - "revision": 0 + "package": "hashable", + "source": "hackage", + "version": "1.3.5.0" }, { - "source": "hackage", - "package": "async", - "version": "2.2.3", + "cabal_sha256": "b83dec34a53520de84c6dd3dc7aae45d22409b46eb471c478b98108215a370f0", + "revision": 1, + "src_sha256": "484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725", "flags": [ "-bench" ], - "cabal_sha256": "0cbefb8247308b38e397e675f832b9bd5317ff1872001d5358f213654423c55b", - "src_sha256": "467af3a0037947a5232ecf5f4efbd4cf2118aaa2310566d7f40ac82b0e32935c", - "revision": 0 + "package": "async", + "source": "hackage", + "version": "2.2.4" }, { - "source": "hackage", - "package": "base16-bytestring", - "version": "1.0.1.0", + "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a", + "revision": 0, + "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784", "flags": [], - "cabal_sha256": "33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54", - "src_sha256": "c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa", - "revision": 0 + "package": "base16-bytestring", + "source": "hackage", + "version": "1.0.2.0" }, { - "source": "hackage", - "package": "base64-bytestring", - "version": "1.2.1.0", - "flags": [], "cabal_sha256": "50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8", + "revision": 0, "src_sha256": "fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9", - "revision": 0 + "flags": [], + "package": "base64-bytestring", + "source": "hackage", + "version": "1.2.1.0" }, { - "source": "hackage", - "package": "splitmix", - "version": "0.1.0.3", + "cabal_sha256": "714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1", + "revision": 0, + "src_sha256": "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa", "flags": [ "-optimised-mixer" ], - "cabal_sha256": "fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c", - "src_sha256": "46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35", - "revision": 0 + "package": "splitmix", + "source": "hackage", + "version": "0.1.0.4" }, { - "source": "hackage", - "package": "random", - "version": "1.2.0", + "cabal_sha256": "8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2", + "revision": 0, + "src_sha256": "265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457", "flags": [], - "cabal_sha256": "195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3", - "src_sha256": "e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de", - "revision": 6 + "package": "random", + "source": "hackage", + "version": "1.2.1" }, { - "source": "hackage", - "package": "edit-distance", - "version": "0.2.2.1", - "flags": [], "cabal_sha256": "4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee", + "revision": 1, "src_sha256": "3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a", - "revision": 1 + "flags": [], + "package": "edit-distance", + "source": "hackage", + "version": "0.2.2.1" }, { - "source": "local", - "package": "cabal-install-solver", - "version": "3.7.0.0", + "cabal_sha256": null, + "revision": null, + "src_sha256": null, "flags": [ "-debug-conflict-sets", "-debug-expensive-assertions", "-debug-tracetree" ], - "cabal_sha256": null, - "src_sha256": null, - "revision": null + "package": "cabal-install-solver", + "source": "local", + "version": "3.7.0.0" }, { - "source": "hackage", - "package": "cryptohash-sha256", - "version": "0.11.102.0", + "cabal_sha256": "188d0b5a0491e8b686b32d9b144c9287760ba333d2509bf3f17e3d846fbc2332", + "revision": 0, + "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6", "flags": [ "-exe", "+use-cbits" ], - "cabal_sha256": "797a0af7b8a0e654cbddd3df6b9de02d2cbfcb2292cf001399ab53910fbbb76c", - "src_sha256": "8ad6e9875a9128f6cd66d65d80f9f85dd0559c73ac00bb37f71fbee820d10519", - "revision": 1 + "package": "cryptohash-sha256", + "source": "hackage", + "version": "0.11.102.1" }, { - "source": "hackage", - "package": "echo", - "version": "0.1.4", + "cabal_sha256": "ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42", + "revision": 0, + "src_sha256": "c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43", "flags": [ "-example" ], - "cabal_sha256": "ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42", - "src_sha256": "c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43", - "revision": 0 + "package": "echo", + "source": "hackage", + "version": "0.1.4" }, { - "source": "hackage", - "package": "exceptions", - "version": "0.10.4", + "cabal_sha256": "7ed09aed03683d5b4337088061106c2389d274b3472031a330ff1b220bad2b2d", + "revision": 3, + "src_sha256": "4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf", "flags": [ "+transformers-0-4" ], - "cabal_sha256": "d2546046d7ba4b460d3bc7fd269cd2c52d0b7fb3cfecc038715dd0881b78a484", - "src_sha256": "4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf", - "revision": 2 + "package": "exceptions", + "source": "hackage", + "version": "0.10.4" }, { - "source": "hackage", - "package": "ed25519", - "version": "0.0.5.0", + "cabal_sha256": "b6d9e5729b3053671700ecd02b4b95a4f315fe1b983aeb2d64cd25c3e7d828cb", + "revision": 4, + "src_sha256": "d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d", "flags": [ "+no-donna", "+test-doctests", "+test-hlint", "+test-properties" ], - "cabal_sha256": "fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa", - "src_sha256": "d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d", - "revision": 3 + "package": "ed25519", + "source": "hackage", + "version": "0.0.5.0" }, { - "source": "hackage", - "package": "lukko", - "version": "0.1.1.3", + "cabal_sha256": "c084c043a40632d3cafcac50fb5eeff84d91edb070a54baa94945f1c976f97c0", + "revision": 2, + "src_sha256": "a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f", "flags": [ "+ofd-locking" ], - "cabal_sha256": "2db49b6cb6632a46ec446fc51870cd0d49e0a66d1c5d2063f46ae52a100eb856", - "src_sha256": "a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f", - "revision": 1 + "package": "lukko", + "source": "hackage", + "version": "0.1.1.3" }, { - "source": "hackage", - "package": "tar", - "version": "0.5.1.1", + "cabal_sha256": "d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d", + "revision": 4, + "src_sha256": "b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de", "flags": [ "-old-bytestring", "-old-time" ], - "cabal_sha256": "d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d", - "src_sha256": "b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de", - "revision": 4 + "package": "tar", + "source": "hackage", + "version": "0.5.1.1" }, { - "source": "hackage", - "package": "zlib", - "version": "0.6.2.3", + "cabal_sha256": "262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4", + "revision": 1, + "src_sha256": "807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88", "flags": [ "-bundled-c-zlib", "-non-blocking-ffi", "-pkg-config" ], - "cabal_sha256": "262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4", - "src_sha256": "807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88", - "revision": 1 + "package": "zlib", + "source": "hackage", + "version": "0.6.2.3" }, { - "source": "hackage", - "package": "hackage-security", - "version": "0.6.0.1", + "cabal_sha256": "c71b22bb336502341325767ae3d4fb9623d846e7e78511ea8c8cda383e839137", + "revision": 0, + "src_sha256": "081725bb1e5c0e399ad5b1327b4c42a63c3db36bbb70cca2dbb7c7ac2feb17cb", "flags": [ "+base48", + "+cabal-syntax", "+lukko", "-mtl21", "-old-directory", "+use-network-uri" ], - "cabal_sha256": "ae6cdda307237c0b7efeebfb0bf23ff8a26c30f5ba295dce5e4f81ef6e63fff6", - "src_sha256": "9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17", - "revision": 8 + "package": "hackage-security", + "source": "hackage", + "version": "0.6.2.0" }, { - "source": "hackage", - "package": "regex-base", - "version": "0.94.0.1", + "cabal_sha256": "2561adac8ce373910948066debe090a22b336b129ba5af18c0332524d16e72ce", + "revision": 0, + "src_sha256": "7b99408f580f5bb67a1c413e0bc735886608251331ad36322020f2169aea2ef1", "flags": [], - "cabal_sha256": "35ff2d13c0e3ac364469c19e4c7c8775f5148977d8fcef58a424df0a10a53fa7", - "src_sha256": "71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9", - "revision": 1 + "package": "regex-base", + "source": "hackage", + "version": "0.94.0.2" }, { - "source": "hackage", - "package": "regex-posix", - "version": "0.96.0.1", + "cabal_sha256": "b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca", + "revision": 0, + "src_sha256": "c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c", "flags": [ "-_regex-posix-clib" ], - "cabal_sha256": "b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca", - "src_sha256": "c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c", - "revision": 0 + "package": "regex-posix", + "source": "hackage", + "version": "0.96.0.1" }, { - "source": "hackage", - "package": "resolv", - "version": "0.1.2.0", - "flags": [], - "cabal_sha256": "25c6e802dc342307e78e5e60433f5e20d03aa783b08b009a399100eb9b6ec529", + "cabal_sha256": "2088eb9368b920f80bbe4e3b03c3b8484090208f5c3b31645bd67a9ef7d26db4", + "revision": 4, "src_sha256": "81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671", - "revision": 3 + "flags": [], + "package": "resolv", + "source": "hackage", + "version": "0.1.2.0" }, { - "source": "local", - "package": "cabal-install", - "version": "3.7.0.0", + "cabal_sha256": null, + "revision": null, + "src_sha256": null, "flags": [ "+lukko", "+native-dns" ], - "cabal_sha256": null, - "src_sha256": null, - "revision": null + "package": "cabal-install", + "source": "local", + "version": "3.7.0.0" }, { - "source": "local", - "package": "cabal-install", - "version": "3.7.0.0", + "cabal_sha256": null, + "revision": null, + "src_sha256": null, "flags": [ "+lukko", "+native-dns" ], - "cabal_sha256": null, - "src_sha256": null, - "revision": null + "package": "cabal-install", + "source": "local", + "version": "3.7.0.0" } ], "builtin": [ diff --git a/bootstrap/linux-8.6.5.plan.json b/bootstrap/linux-8.6.5.plan.json index 59bd2d48f56..b265ba8b964 100644 --- a/bootstrap/linux-8.6.5.plan.json +++ b/bootstrap/linux-8.6.5.plan.json @@ -1 +1 @@ -{"cabal-version":"3.4.0.0","cabal-lib-version":"3.4.0.0","compiler-id":"ghc-8.6.5","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.7.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.7.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/mikolaj/r/cabal/Cabal"},"dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/Cabal-3.7.0.0","depends":["array-0.5.3.0","base-4.12.0.0","binary-0.8.6.0","bytestring-0.10.8.2","containers-0.6.0.1","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.13.0","pretty-1.1.3.6","process-1.6.5.0","text-1.2.3.1","time-1.8.0.2","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"HTTP-4000.3.16-3772b289391b85de3f38f4dc62bcf7b47c3a6d5037d66240c90e09ad75a8be87","pkg-name":"HTTP","pkg-version":"4000.3.16","flags":{"conduit10":false,"mtl1":false,"network-uri":true,"warn-as-error":false,"warp-tests":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4265b1966b2bbb302a8a80d7b485197694785ec1496d5d9314b4b5931ffbd093","pkg-src-sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","mtl-2.2.2","network-3.1.2.2-e8d4773e65d0f16d3942eb1877af759e0a58a9aaef78126451fa386eedff18d4","network-uri-2.6.4.1-1ea82a3597d0b27f910fe28cd07d2295bf4279881a22385691ec6e13df200f23","parsec-3.1.13.0","time-1.8.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.3.0","pkg-name":"array","pkg-version":"0.5.3.0","depends":["base-4.12.0.0"]},{"type":"configured","id":"async-2.2.3-0c4091e504ff98e8c820c0865b3e3b6eddd24b20180944c90fbc3ed5e9775e03","pkg-name":"async","pkg-version":"2.2.3","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cbefb8247308b38e397e675f832b9bd5317ff1872001d5358f213654423c55b","pkg-src-sha256":"467af3a0037947a5232ecf5f4efbd4cf2118aaa2310566d7f40ac82b0e32935c","depends":["base-4.12.0.0","hashable-1.3.3.0-b8dd70fc149835278463564d165c0f0e95d5dc026ad4c6e566275f5872a57471","stm-2.5.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.12.0.0","pkg-name":"base","pkg-version":"4.12.0.0","depends":["ghc-prim-0.5.3","integer-gmp-1.0.2.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.1.0-1746bcc67bba177c17e33a8fba687adf44ffb730cb52632e82c956e36819a4f9","pkg-name":"base16-bytestring","pkg-version":"1.0.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54","pkg-src-sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.1.0-e1989b0c1836f2ac91441b02489a8f60fd9e999173e0514288fd57f7dd0829de","pkg-name":"base64-bytestring","pkg-version":"1.2.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8","pkg-src-sha256":"fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.6.0","pkg-name":"binary","pkg-version":"0.8.6.0","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1"]},{"type":"pre-existing","id":"bytestring-0.10.8.2","pkg-name":"bytestring","pkg-version":"0.10.8.2","depends":["base-4.12.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0"]},{"type":"configured","id":"cabal-install-3.7.0.0-inplace","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/mikolaj/r/cabal/cabal-install"},"dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0","depends":["Cabal-3.7.0.0-inplace","HTTP-4000.3.16-3772b289391b85de3f38f4dc62bcf7b47c3a6d5037d66240c90e09ad75a8be87","array-0.5.3.0","async-2.2.3-0c4091e504ff98e8c820c0865b3e3b6eddd24b20180944c90fbc3ed5e9775e03","base-4.12.0.0","base16-bytestring-1.0.1.0-1746bcc67bba177c17e33a8fba687adf44ffb730cb52632e82c956e36819a4f9","binary-0.8.6.0","bytestring-0.10.8.2","cabal-install-solver-3.7.0.0-inplace","containers-0.6.0.1","cryptohash-sha256-0.11.102.0-1788be3651f34f47baf624f708f86ea7d6db2d13268558e536d0a1bd2b97e074","deepseq-1.4.4.0","directory-1.3.3.0","echo-0.1.4-f2f39bb54e76ea77d5753fd796c4b4126a9c4a7d8b34fbeb350261c52821e0f3","edit-distance-0.2.2.1-7bd6af1f732ef2a1f2b04b4f27ad793f3ed3fa5623ddc8e07a4e489f60cbcee8","exceptions-0.10.4-2e686fdff7a6bdbd62e24641169087c094e991de8ab3f6381a859306fd258e32","filepath-1.4.2.1","hackage-security-0.6.0.1-inplace","hashable-1.3.3.0-b8dd70fc149835278463564d165c0f0e95d5dc026ad4c6e566275f5872a57471","lukko-0.1.1.3-4c76677eee1fcca961ba3794c92e0a1f4e9c3ced333a9c3f048e6f3f312cb890","mtl-2.2.2","network-uri-2.6.4.1-1ea82a3597d0b27f910fe28cd07d2295bf4279881a22385691ec6e13df200f23","parsec-3.1.13.0","pretty-1.1.3.6","process-1.6.5.0","random-1.2.0-f975454f78491c8b834a9026806b59ad4e6cbebac633684d977c1bf1bb394421","regex-base-0.94.0.1-8daf12dc69a5224d3cb7813e6280b915706276fe3b3671583aa6b7ad031b7344","regex-posix-0.96.0.1-eba6c312f830e3ee4415cc4d263d6351a350a7d7b5aa3c618242a1bc64eeeece","resolv-0.1.2.0-839f45c81c7fff34820bc93f39bf071c78acc518c5fdaa3e3cfdbf27d1f5e16d","stm-2.5.0.0","tar-0.5.1.1-2bac801a527e5793b7752115b282082cf46ce8f20e48fb17bd96599f96366b21","text-1.2.3.1","time-1.8.0.2","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-ed437c4dad11e2d9e8074a8f3cc6b184779db7ddfdf413b593887e96726d7450"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"cabal-install-3.7.0.0-inplace-cabal","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/mikolaj/r/cabal/cabal-install"},"dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0/x/cabal","depends":["Cabal-3.7.0.0-inplace","base-4.12.0.0","cabal-install-3.7.0.0-inplace","directory-1.3.3.0","filepath-1.4.2.1"],"exe-depends":[],"component-name":"exe:cabal","bin-file":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0/x/cabal/build/cabal/cabal"},{"type":"configured","id":"cabal-install-solver-3.7.0.0-inplace","pkg-name":"cabal-install-solver","pkg-version":"3.7.0.0","flags":{"debug-conflict-sets":false,"debug-expensive-assertions":false,"debug-tracetree":false},"style":"local","pkg-src":{"type":"local","path":"/home/mikolaj/r/cabal/cabal-install-solver"},"dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-solver-3.7.0.0","depends":["Cabal-3.7.0.0-inplace","array-0.5.3.0","base-4.12.0.0","binary-0.8.6.0","bytestring-0.10.8.2","containers-0.6.0.1","edit-distance-0.2.2.1-7bd6af1f732ef2a1f2b04b4f27ad793f3ed3fa5623ddc8e07a4e489f60cbcee8","filepath-1.4.2.1","mtl-2.2.2","pretty-1.1.3.6","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.0.1","pkg-name":"containers","pkg-version":"0.6.0.1","depends":["array-0.5.3.0","base-4.12.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.0-1788be3651f34f47baf624f708f86ea7d6db2d13268558e536d0a1bd2b97e074","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.0","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"797a0af7b8a0e654cbddd3df6b9de02d2cbfcb2292cf001399ab53910fbbb76c","pkg-src-sha256":"8ad6e9875a9128f6cd66d65d80f9f85dd0559c73ac00bb37f71fbee820d10519","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.3.0","base-4.12.0.0"]},{"type":"pre-existing","id":"directory-1.3.3.0","pkg-name":"directory","pkg-version":"1.3.3.0","depends":["base-4.12.0.0","filepath-1.4.2.1","time-1.8.0.2","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-f2f39bb54e76ea77d5753fd796c4b4126a9c4a7d8b34fbeb350261c52821e0f3","pkg-name":"echo","pkg-version":"0.1.4","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","pkg-src-sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","depends":["base-4.12.0.0","process-1.6.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-751e5a5744fdd2d7ce2245bc124b15133d0dff1db6b0441d93ced591450d9edb","pkg-name":"ed25519","pkg-version":"0.0.5.0","flags":{"no-donna":true,"test-doctests":true,"test-hlint":true,"test-properties":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa","pkg-src-sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","depends":["base-4.12.0.0","bytestring-0.10.8.2","ghc-prim-0.5.3"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"edit-distance-0.2.2.1-7bd6af1f732ef2a1f2b04b4f27ad793f3ed3fa5623ddc8e07a4e489f60cbcee8","pkg-name":"edit-distance","pkg-version":"0.2.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","pkg-src-sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","depends":["array-0.5.3.0","base-4.12.0.0","containers-0.6.0.1","random-1.2.0-f975454f78491c8b834a9026806b59ad4e6cbebac633684d977c1bf1bb394421"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"exceptions-0.10.4-2e686fdff7a6bdbd62e24641169087c094e991de8ab3f6381a859306fd258e32","pkg-name":"exceptions","pkg-version":"0.10.4","flags":{"transformers-0-4":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d2546046d7ba4b460d3bc7fd269cd2c52d0b7fb3cfecc038715dd0881b78a484","pkg-src-sha256":"4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf","depends":["base-4.12.0.0","mtl-2.2.2","stm-2.5.0.0","template-haskell-2.14.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.12.0.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.6.5","pkg-name":"ghc-boot-th","pkg-version":"8.6.5","depends":["base-4.12.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.5.3","pkg-name":"ghc-prim","pkg-version":"0.5.3","depends":["rts"]},{"type":"configured","id":"hackage-security-0.6.0.1-inplace","pkg-name":"hackage-security","pkg-version":"0.6.0.1","flags":{"base48":true,"lukko":true,"mtl21":false,"old-directory":false,"use-network-uri":true},"style":"inplace","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae6cdda307237c0b7efeebfb0bf23ff8a26c30f5ba295dce5e4f81ef6e63fff6","pkg-src-sha256":"9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17","dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/hackage-security-0.6.0.1","depends":["Cabal-3.7.0.0-inplace","base-4.12.0.0","base16-bytestring-1.0.1.0-1746bcc67bba177c17e33a8fba687adf44ffb730cb52632e82c956e36819a4f9","base64-bytestring-1.2.1.0-e1989b0c1836f2ac91441b02489a8f60fd9e999173e0514288fd57f7dd0829de","bytestring-0.10.8.2","containers-0.6.0.1","cryptohash-sha256-0.11.102.0-1788be3651f34f47baf624f708f86ea7d6db2d13268558e536d0a1bd2b97e074","directory-1.3.3.0","ed25519-0.0.5.0-751e5a5744fdd2d7ce2245bc124b15133d0dff1db6b0441d93ced591450d9edb","filepath-1.4.2.1","ghc-prim-0.5.3","lukko-0.1.1.3-4c76677eee1fcca961ba3794c92e0a1f4e9c3ced333a9c3f048e6f3f312cb890","mtl-2.2.2","network-3.1.2.2-e8d4773e65d0f16d3942eb1877af759e0a58a9aaef78126451fa386eedff18d4","network-uri-2.6.4.1-1ea82a3597d0b27f910fe28cd07d2295bf4279881a22385691ec6e13df200f23","parsec-3.1.13.0","pretty-1.1.3.6","tar-0.5.1.1-2bac801a527e5793b7752115b282082cf46ce8f20e48fb17bd96599f96366b21","template-haskell-2.14.0.0","time-1.8.0.2","transformers-0.5.6.2","zlib-0.6.2.3-ed437c4dad11e2d9e8074a8f3cc6b184779db7ddfdf413b593887e96726d7450"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.3.0-b8dd70fc149835278463564d165c0f0e95d5dc026ad4c6e566275f5872a57471","pkg-name":"hashable","pkg-version":"1.3.3.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"7f3b67151162a1dfe8472dc30430af98ed5470801d3f4b6c9b8d7a7443c920d4","pkg-src-sha256":"99a578e58fb6a869593841e4b3184f5b52c921bcb0d661d2b3a06e6526cb85dc","depends":["base-4.12.0.0","bytestring-0.10.8.2","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0","text-1.2.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.7-e-hsc2hs-0c4585ed41291b35ebc895b38398cb967e27e28d827b43b63adf9034d1517144","pkg-name":"hsc2hs","pkg-version":"0.68.7","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4a0f6860a17e7c245646975e3c2981416afdcb6a7b3553c31005eb3641a7f55b","pkg-src-sha256":"fd7915e41e3ed3bc7750fee0e8add2b4f32dcac8b7c544cfdf5542293223894a","depends":["base-4.12.0.0","containers-0.6.0.1","directory-1.3.3.0","filepath-1.4.2.1","process-1.6.5.0"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/home/mikolaj/.cabal/store/ghc-8.6.5/hsc2hs-0.68.7-e-hsc2hs-0c4585ed41291b35ebc895b38398cb967e27e28d827b43b63adf9034d1517144/bin/hsc2hs"},{"type":"pre-existing","id":"integer-gmp-1.0.2.0","pkg-name":"integer-gmp","pkg-version":"1.0.2.0","depends":["ghc-prim-0.5.3"]},{"type":"configured","id":"lukko-0.1.1.3-4c76677eee1fcca961ba3794c92e0a1f4e9c3ced333a9c3f048e6f3f312cb890","pkg-name":"lukko","pkg-version":"0.1.1.3","flags":{"ofd-locking":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2db49b6cb6632a46ec446fc51870cd0d49e0a66d1c5d2063f46ae52a100eb856","pkg-src-sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","depends":["base-4.12.0.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-0c4585ed41291b35ebc895b38398cb967e27e28d827b43b63adf9034d1517144"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.12.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.2-e8d4773e65d0f16d3942eb1877af759e0a58a9aaef78126451fa386eedff18d4","pkg-name":"network","pkg-version":"3.1.2.2","flags":{"devel":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"218e2968e03d99c40f32a2ef7cc41a848969096ba1c780ff2e57997a00246b06","pkg-src-sha256":"55012c0b22f9c7548b1f7b3bacc2c6ec7058c7f92238a69561528f1a0fa60eb6","components":{"lib":{"depends":["base-4.12.0.0","bytestring-0.10.8.2","deepseq-1.4.4.0","directory-1.3.3.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-0c4585ed41291b35ebc895b38398cb967e27e28d827b43b63adf9034d1517144"]}}},{"type":"configured","id":"network-uri-2.6.4.1-1ea82a3597d0b27f910fe28cd07d2295bf4279881a22385691ec6e13df200f23","pkg-name":"network-uri","pkg-version":"2.6.4.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","pkg-src-sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","depends":["base-4.12.0.0","deepseq-1.4.4.0","parsec-3.1.13.0","template-haskell-2.14.0.0","th-compat-0.1.3-3993e898202db77d5b0e79335b47707ded51b247ac894267abbadc505eec7786"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.13.0","pkg-name":"parsec","pkg-version":"3.1.13.0","depends":["base-4.12.0.0","bytestring-0.10.8.2","mtl-2.2.2","text-1.2.3.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.12.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3"]},{"type":"pre-existing","id":"process-1.6.5.0","pkg-name":"process","pkg-version":"1.6.5.0","depends":["base-4.12.0.0","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-f975454f78491c8b834a9026806b59ad4e6cbebac633684d977c1bf1bb394421","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.12.0.0","bytestring-0.10.8.2","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-495ff5a958a036b388c5fb1ec95d09b6e221914366e7c53f4e181bd8dbef71f9"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.1-8daf12dc69a5224d3cb7813e6280b915706276fe3b3671583aa6b7ad031b7344","pkg-name":"regex-base","pkg-version":"0.94.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"35ff2d13c0e3ac364469c19e4c7c8775f5148977d8fcef58a424df0a10a53fa7","pkg-src-sha256":"71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","mtl-2.2.2","text-1.2.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-eba6c312f830e3ee4415cc4d263d6351a350a7d7b5aa3c618242a1bc64eeeece","pkg-name":"regex-posix","pkg-version":"0.96.0.1","flags":{"_regex-posix-clib":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","pkg-src-sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","regex-base-0.94.0.1-8daf12dc69a5224d3cb7813e6280b915706276fe3b3671583aa6b7ad031b7344"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-839f45c81c7fff34820bc93f39bf071c78acc518c5fdaa3e3cfdbf27d1f5e16d","pkg-name":"resolv","pkg-version":"0.1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"25c6e802dc342307e78e5e60433f5e20d03aa783b08b009a399100eb9b6ec529","pkg-src-sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","components":{"lib":{"depends":["base-4.12.0.0","base16-bytestring-1.0.1.0-1746bcc67bba177c17e33a8fba687adf44ffb730cb52632e82c956e36819a4f9","binary-0.8.6.0","bytestring-0.10.8.2","containers-0.6.0.1"],"exe-depends":[]}}},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"splitmix-0.1.0.3-495ff5a958a036b388c5fb1ec95d09b6e221914366e7c53f4e181bd8dbef71f9","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.12.0.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.0.0","pkg-name":"stm","pkg-version":"2.5.0.0","depends":["array-0.5.3.0","base-4.12.0.0"]},{"type":"configured","id":"tar-0.5.1.1-2bac801a527e5793b7752115b282082cf46ce8f20e48fb17bd96599f96366b21","pkg-name":"tar","pkg-version":"0.5.1.1","flags":{"old-bytestring":false,"old-time":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","time-1.8.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.14.0.0","pkg-name":"template-haskell","pkg-version":"2.14.0.0","depends":["base-4.12.0.0","ghc-boot-th-8.6.5","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.3.1","pkg-name":"text","pkg-version":"1.2.3.1","depends":["array-0.5.3.0","base-4.12.0.0","binary-0.8.6.0","bytestring-0.10.8.2","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0"]},{"type":"configured","id":"th-compat-0.1.3-3993e898202db77d5b0e79335b47707ded51b247ac894267abbadc505eec7786","pkg-name":"th-compat","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993","pkg-src-sha256":"6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6","depends":["base-4.12.0.0","template-haskell-2.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.8.0.2","pkg-name":"time","pkg-version":"1.8.0.2","depends":["base-4.12.0.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.12.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.12.0.0","bytestring-0.10.8.2","time-1.8.0.2"]},{"type":"configured","id":"zlib-0.6.2.3-ed437c4dad11e2d9e8074a8f3cc6b184779db7ddfdf413b593887e96726d7450","pkg-name":"zlib","pkg-version":"0.6.2.3","flags":{"bundled-c-zlib":false,"non-blocking-ffi":false,"pkg-config":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file +{"cabal-version":"3.4.0.0","cabal-lib-version":"3.4.0.0","compiler-id":"ghc-8.6.5","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.7.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.7.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/Cabal"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/Cabal-3.7.0.0","depends":["Cabal-syntax-3.7.0.0-inplace","array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.13.0","pretty-1.1.3.6","process-1.6.5.0","text-1.2.3.1","time-1.8.0.2","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"Cabal-syntax-3.7.0.0-inplace","pkg-name":"Cabal-syntax","pkg-version":"3.7.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/Cabal-syntax"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/Cabal-syntax-3.7.0.0","depends":["array-0.5.3.0","base-4.12.0.0","binary-0.8.6.0","bytestring-0.10.8.2","containers-0.6.0.1","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.13.0","pretty-1.1.3.6","text-1.2.3.1","time-1.8.0.2","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"HTTP-4000.3.16-9ad93847fde247438a6e2984fb6b7c7aa11d6e6d95022b2dbf65f59799ce31ca","pkg-name":"HTTP","pkg-version":"4000.3.16","flags":{"conduit10":false,"mtl1":false,"network-uri":true,"warn-as-error":false,"warp-tests":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6042643c15a0b43e522a6693f1e322f05000d519543a84149cb80aeffee34f71","pkg-src-sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","mtl-2.2.2","network-3.1.2.7-2b4cb4cf705bab7155e00b699103a19f122a11522725929835b8206424c153fa","network-uri-2.6.4.1-1ea82a3597d0b27f910fe28cd07d2295bf4279881a22385691ec6e13df200f23","parsec-3.1.13.0","time-1.8.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.3.0","pkg-name":"array","pkg-version":"0.5.3.0","depends":["base-4.12.0.0"]},{"type":"configured","id":"async-2.2.4-eaf6ead38a715a9a80a863a19ae4eb6b02adcefb56778cec4a968f62dd6f81bc","pkg-name":"async","pkg-version":"2.2.4","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b83dec34a53520de84c6dd3dc7aae45d22409b46eb471c478b98108215a370f0","pkg-src-sha256":"484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725","depends":["base-4.12.0.0","hashable-1.3.5.0-cf90108c6ac3d94069f72313e840b7fbed69afe6bd4f4ee67b119bb6bc0cbd44","stm-2.5.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.12.0.0","pkg-name":"base","pkg-version":"4.12.0.0","depends":["ghc-prim-0.5.3","integer-gmp-1.0.2.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-42e3145ac00f8d6082796b716cd7b1ec62b612e16b6813fcff3a6c6ea1913a0f","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.1.0-e1989b0c1836f2ac91441b02489a8f60fd9e999173e0514288fd57f7dd0829de","pkg-name":"base64-bytestring","pkg-version":"1.2.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8","pkg-src-sha256":"fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.6.0","pkg-name":"binary","pkg-version":"0.8.6.0","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1"]},{"type":"pre-existing","id":"bytestring-0.10.8.2","pkg-name":"bytestring","pkg-version":"0.10.8.2","depends":["base-4.12.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0"]},{"type":"configured","id":"cabal-install-3.7.0.0-inplace","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/cabal-install"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0","depends":["Cabal-3.7.0.0-inplace","Cabal-syntax-3.7.0.0-inplace","HTTP-4000.3.16-9ad93847fde247438a6e2984fb6b7c7aa11d6e6d95022b2dbf65f59799ce31ca","array-0.5.3.0","async-2.2.4-eaf6ead38a715a9a80a863a19ae4eb6b02adcefb56778cec4a968f62dd6f81bc","base-4.12.0.0","base16-bytestring-1.0.2.0-42e3145ac00f8d6082796b716cd7b1ec62b612e16b6813fcff3a6c6ea1913a0f","binary-0.8.6.0","bytestring-0.10.8.2","cabal-install-solver-3.7.0.0-inplace","containers-0.6.0.1","cryptohash-sha256-0.11.102.1-57321b4bc321fb32a1c95ecc18f3445aa4db8bea827c853dbe35da89df226e40","deepseq-1.4.4.0","directory-1.3.3.0","echo-0.1.4-f2f39bb54e76ea77d5753fd796c4b4126a9c4a7d8b34fbeb350261c52821e0f3","edit-distance-0.2.2.1-5d98a22d4fe40b42c9b89319fec5f0083c5925a92eb2df1f85a076fcc6122c20","exceptions-0.10.4-2e686fdff7a6bdbd62e24641169087c094e991de8ab3f6381a859306fd258e32","filepath-1.4.2.1","hackage-security-0.6.2.0-inplace","hashable-1.3.5.0-cf90108c6ac3d94069f72313e840b7fbed69afe6bd4f4ee67b119bb6bc0cbd44","lukko-0.1.1.3-a8256bbf263179966e62334bb2ce29fac956558b5fd1e8eeeb552abf2729fefe","mtl-2.2.2","network-uri-2.6.4.1-1ea82a3597d0b27f910fe28cd07d2295bf4279881a22385691ec6e13df200f23","parsec-3.1.13.0","pretty-1.1.3.6","process-1.6.5.0","random-1.2.1-d6e065809f4766c9fe07e4e79441d59dcc1314f981f4f64060cfc731e3f076d1","regex-base-0.94.0.2-cd3a978a9e3ea5c98e9c97a570ec78ef7a1ebc2123b1aa09a0a8bfc008813ba5","regex-posix-0.96.0.1-a02094608736314eec3f6ff2b04df07d939e04ba1753a570e07de7875ef5189c","resolv-0.1.2.0-43c8b63a21ecc378d443a8b2a00b0c9cb675240d5584576d4b14e6c7742e92dc","stm-2.5.0.0","tar-0.5.1.1-2bac801a527e5793b7752115b282082cf46ce8f20e48fb17bd96599f96366b21","text-1.2.3.1","time-1.8.0.2","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-ed437c4dad11e2d9e8074a8f3cc6b184779db7ddfdf413b593887e96726d7450"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"cabal-install-3.7.0.0-inplace-cabal","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/cabal-install"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0/x/cabal","depends":["Cabal-3.7.0.0-inplace","Cabal-syntax-3.7.0.0-inplace","base-4.12.0.0","cabal-install-3.7.0.0-inplace","directory-1.3.3.0","filepath-1.4.2.1"],"exe-depends":[],"component-name":"exe:cabal","bin-file":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0/x/cabal/build/cabal/cabal"},{"type":"configured","id":"cabal-install-solver-3.7.0.0-inplace","pkg-name":"cabal-install-solver","pkg-version":"3.7.0.0","flags":{"debug-conflict-sets":false,"debug-expensive-assertions":false,"debug-tracetree":false},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/cabal-install-solver"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-solver-3.7.0.0","depends":["Cabal-3.7.0.0-inplace","Cabal-syntax-3.7.0.0-inplace","array-0.5.3.0","base-4.12.0.0","binary-0.8.6.0","bytestring-0.10.8.2","containers-0.6.0.1","edit-distance-0.2.2.1-5d98a22d4fe40b42c9b89319fec5f0083c5925a92eb2df1f85a076fcc6122c20","filepath-1.4.2.1","mtl-2.2.2","pretty-1.1.3.6","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.0.1","pkg-name":"containers","pkg-version":"0.6.0.1","depends":["array-0.5.3.0","base-4.12.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-57321b4bc321fb32a1c95ecc18f3445aa4db8bea827c853dbe35da89df226e40","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"188d0b5a0491e8b686b32d9b144c9287760ba333d2509bf3f17e3d846fbc2332","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.3.0","base-4.12.0.0"]},{"type":"pre-existing","id":"directory-1.3.3.0","pkg-name":"directory","pkg-version":"1.3.3.0","depends":["base-4.12.0.0","filepath-1.4.2.1","time-1.8.0.2","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-f2f39bb54e76ea77d5753fd796c4b4126a9c4a7d8b34fbeb350261c52821e0f3","pkg-name":"echo","pkg-version":"0.1.4","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","pkg-src-sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","depends":["base-4.12.0.0","process-1.6.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-751e5a5744fdd2d7ce2245bc124b15133d0dff1db6b0441d93ced591450d9edb","pkg-name":"ed25519","pkg-version":"0.0.5.0","flags":{"no-donna":true,"test-doctests":true,"test-hlint":true,"test-properties":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6d9e5729b3053671700ecd02b4b95a4f315fe1b983aeb2d64cd25c3e7d828cb","pkg-src-sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","depends":["base-4.12.0.0","bytestring-0.10.8.2","ghc-prim-0.5.3"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"edit-distance-0.2.2.1-5d98a22d4fe40b42c9b89319fec5f0083c5925a92eb2df1f85a076fcc6122c20","pkg-name":"edit-distance","pkg-version":"0.2.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","pkg-src-sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","depends":["array-0.5.3.0","base-4.12.0.0","containers-0.6.0.1","random-1.2.1-d6e065809f4766c9fe07e4e79441d59dcc1314f981f4f64060cfc731e3f076d1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"exceptions-0.10.4-2e686fdff7a6bdbd62e24641169087c094e991de8ab3f6381a859306fd258e32","pkg-name":"exceptions","pkg-version":"0.10.4","flags":{"transformers-0-4":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"7ed09aed03683d5b4337088061106c2389d274b3472031a330ff1b220bad2b2d","pkg-src-sha256":"4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf","depends":["base-4.12.0.0","mtl-2.2.2","stm-2.5.0.0","template-haskell-2.14.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.12.0.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.6.5","pkg-name":"ghc-boot-th","pkg-version":"8.6.5","depends":["base-4.12.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.5.3","pkg-name":"ghc-prim","pkg-version":"0.5.3","depends":["rts"]},{"type":"configured","id":"hackage-security-0.6.2.0-inplace","pkg-name":"hackage-security","pkg-version":"0.6.2.0","flags":{"base48":true,"cabal-syntax":true,"lukko":true,"mtl21":false,"old-directory":false,"use-network-uri":true},"style":"inplace","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"c71b22bb336502341325767ae3d4fb9623d846e7e78511ea8c8cda383e839137","pkg-src-sha256":"081725bb1e5c0e399ad5b1327b4c42a63c3db36bbb70cca2dbb7c7ac2feb17cb","dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/hackage-security-0.6.2.0","depends":["Cabal-syntax-3.7.0.0-inplace","base-4.12.0.0","base16-bytestring-1.0.2.0-42e3145ac00f8d6082796b716cd7b1ec62b612e16b6813fcff3a6c6ea1913a0f","base64-bytestring-1.2.1.0-e1989b0c1836f2ac91441b02489a8f60fd9e999173e0514288fd57f7dd0829de","bytestring-0.10.8.2","containers-0.6.0.1","cryptohash-sha256-0.11.102.1-57321b4bc321fb32a1c95ecc18f3445aa4db8bea827c853dbe35da89df226e40","directory-1.3.3.0","ed25519-0.0.5.0-751e5a5744fdd2d7ce2245bc124b15133d0dff1db6b0441d93ced591450d9edb","filepath-1.4.2.1","ghc-prim-0.5.3","lukko-0.1.1.3-a8256bbf263179966e62334bb2ce29fac956558b5fd1e8eeeb552abf2729fefe","mtl-2.2.2","network-3.1.2.7-2b4cb4cf705bab7155e00b699103a19f122a11522725929835b8206424c153fa","network-uri-2.6.4.1-1ea82a3597d0b27f910fe28cd07d2295bf4279881a22385691ec6e13df200f23","parsec-3.1.13.0","pretty-1.1.3.6","tar-0.5.1.1-2bac801a527e5793b7752115b282082cf46ce8f20e48fb17bd96599f96366b21","template-haskell-2.14.0.0","time-1.8.0.2","transformers-0.5.6.2","zlib-0.6.2.3-ed437c4dad11e2d9e8074a8f3cc6b184779db7ddfdf413b593887e96726d7450"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.5.0-cf90108c6ac3d94069f72313e840b7fbed69afe6bd4f4ee67b119bb6bc0cbd44","pkg-name":"hashable","pkg-version":"1.3.5.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3a2beeafb220f9de706568a7e4a5b3c762cc4c9f25c94d7ef795b8c2d6a691d7","pkg-src-sha256":"baaad82cd4271b197016bdbe76f22d5c3d3913fe38534cec7d817db9bae19886","depends":["base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0","text-1.2.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.8-e-hsc2hs-5498fe4fcc15386c8297d5890697c2a102f241c7e53fe296fe2907c01d7ff256","pkg-name":"hsc2hs","pkg-version":"0.68.8","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"27a5e694efcc2133761de2a0c8079596b0fb62aef0be472afad7d60df6fa68d5","pkg-src-sha256":"78341efbc917a84a07f2143bee9203e2555072054d495717aa73d89d9df77a52","depends":["base-4.12.0.0","containers-0.6.0.1","directory-1.3.3.0","filepath-1.4.2.1","process-1.6.5.0"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/home/patrick/.cabal/store/ghc-8.6.5/hsc2hs-0.68.8-e-hsc2hs-5498fe4fcc15386c8297d5890697c2a102f241c7e53fe296fe2907c01d7ff256/bin/hsc2hs"},{"type":"pre-existing","id":"integer-gmp-1.0.2.0","pkg-name":"integer-gmp","pkg-version":"1.0.2.0","depends":["ghc-prim-0.5.3"]},{"type":"configured","id":"lukko-0.1.1.3-a8256bbf263179966e62334bb2ce29fac956558b5fd1e8eeeb552abf2729fefe","pkg-name":"lukko","pkg-version":"0.1.1.3","flags":{"ofd-locking":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"c084c043a40632d3cafcac50fb5eeff84d91edb070a54baa94945f1c976f97c0","pkg-src-sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","depends":["base-4.12.0.0"],"exe-depends":["hsc2hs-0.68.8-e-hsc2hs-5498fe4fcc15386c8297d5890697c2a102f241c7e53fe296fe2907c01d7ff256"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.12.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.7-2b4cb4cf705bab7155e00b699103a19f122a11522725929835b8206424c153fa","pkg-name":"network","pkg-version":"3.1.2.7","flags":{"devel":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568","pkg-src-sha256":"7f7620fef1a1af3d3d6747f510e73223a5c600e7d7fd9ace073d1222bdc63d85","components":{"lib":{"depends":["base-4.12.0.0","bytestring-0.10.8.2","deepseq-1.4.4.0","directory-1.3.3.0"],"exe-depends":["hsc2hs-0.68.8-e-hsc2hs-5498fe4fcc15386c8297d5890697c2a102f241c7e53fe296fe2907c01d7ff256"]}}},{"type":"configured","id":"network-uri-2.6.4.1-1ea82a3597d0b27f910fe28cd07d2295bf4279881a22385691ec6e13df200f23","pkg-name":"network-uri","pkg-version":"2.6.4.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","pkg-src-sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","depends":["base-4.12.0.0","deepseq-1.4.4.0","parsec-3.1.13.0","template-haskell-2.14.0.0","th-compat-0.1.3-3993e898202db77d5b0e79335b47707ded51b247ac894267abbadc505eec7786"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.13.0","pkg-name":"parsec","pkg-version":"3.1.13.0","depends":["base-4.12.0.0","bytestring-0.10.8.2","mtl-2.2.2","text-1.2.3.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.12.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3"]},{"type":"pre-existing","id":"process-1.6.5.0","pkg-name":"process","pkg-version":"1.6.5.0","depends":["base-4.12.0.0","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1-d6e065809f4766c9fe07e4e79441d59dcc1314f981f4f64060cfc731e3f076d1","pkg-name":"random","pkg-version":"1.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","pkg-src-sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","depends":["base-4.12.0.0","bytestring-0.10.8.2","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.4-c1c994fcde15269949f0d516d3ef28604de875c3f344accd062c226556202a5a"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.2-cd3a978a9e3ea5c98e9c97a570ec78ef7a1ebc2123b1aa09a0a8bfc008813ba5","pkg-name":"regex-base","pkg-version":"0.94.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2561adac8ce373910948066debe090a22b336b129ba5af18c0332524d16e72ce","pkg-src-sha256":"7b99408f580f5bb67a1c413e0bc735886608251331ad36322020f2169aea2ef1","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","text-1.2.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-a02094608736314eec3f6ff2b04df07d939e04ba1753a570e07de7875ef5189c","pkg-name":"regex-posix","pkg-version":"0.96.0.1","flags":{"_regex-posix-clib":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","pkg-src-sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","regex-base-0.94.0.2-cd3a978a9e3ea5c98e9c97a570ec78ef7a1ebc2123b1aa09a0a8bfc008813ba5"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-43c8b63a21ecc378d443a8b2a00b0c9cb675240d5584576d4b14e6c7742e92dc","pkg-name":"resolv","pkg-version":"0.1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2088eb9368b920f80bbe4e3b03c3b8484090208f5c3b31645bd67a9ef7d26db4","pkg-src-sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","components":{"lib":{"depends":["base-4.12.0.0","base16-bytestring-1.0.2.0-42e3145ac00f8d6082796b716cd7b1ec62b612e16b6813fcff3a6c6ea1913a0f","binary-0.8.6.0","bytestring-0.10.8.2","containers-0.6.0.1"],"exe-depends":[]}}},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"splitmix-0.1.0.4-c1c994fcde15269949f0d516d3ef28604de875c3f344accd062c226556202a5a","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.12.0.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.0.0","pkg-name":"stm","pkg-version":"2.5.0.0","depends":["array-0.5.3.0","base-4.12.0.0"]},{"type":"configured","id":"tar-0.5.1.1-2bac801a527e5793b7752115b282082cf46ce8f20e48fb17bd96599f96366b21","pkg-name":"tar","pkg-version":"0.5.1.1","flags":{"old-bytestring":false,"old-time":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","time-1.8.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.14.0.0","pkg-name":"template-haskell","pkg-version":"2.14.0.0","depends":["base-4.12.0.0","ghc-boot-th-8.6.5","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.3.1","pkg-name":"text","pkg-version":"1.2.3.1","depends":["array-0.5.3.0","base-4.12.0.0","binary-0.8.6.0","bytestring-0.10.8.2","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0"]},{"type":"configured","id":"th-compat-0.1.3-3993e898202db77d5b0e79335b47707ded51b247ac894267abbadc505eec7786","pkg-name":"th-compat","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993","pkg-src-sha256":"6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6","depends":["base-4.12.0.0","template-haskell-2.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.8.0.2","pkg-name":"time","pkg-version":"1.8.0.2","depends":["base-4.12.0.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.12.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.12.0.0","bytestring-0.10.8.2","time-1.8.0.2"]},{"type":"configured","id":"zlib-0.6.2.3-ed437c4dad11e2d9e8074a8f3cc6b184779db7ddfdf413b593887e96726d7450","pkg-name":"zlib","pkg-version":"0.6.2.3","flags":{"bundled-c-zlib":false,"non-blocking-ffi":false,"pkg-config":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file diff --git a/bootstrap/linux-8.8.4.json b/bootstrap/linux-8.8.4.json index fd95b7a6cf6..3eec1491dcb 100644 --- a/bootstrap/linux-8.8.4.json +++ b/bootstrap/linux-8.8.4.json @@ -1,49 +1,58 @@ { "dependencies": [ { - "source": "local", - "package": "Cabal", - "version": "3.7.0.0", + "cabal_sha256": null, + "revision": null, + "src_sha256": null, "flags": [ "-bundled-binary-generic" ], + "package": "Cabal-syntax", + "source": "local", + "version": "3.7.0.0" + }, + { "cabal_sha256": null, + "revision": null, "src_sha256": null, - "revision": null + "flags": [], + "package": "Cabal", + "source": "local", + "version": "3.7.0.0" }, { - "source": "hackage", - "package": "network", - "version": "3.1.2.2", + "cabal_sha256": "e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568", + "revision": 0, + "src_sha256": "7f7620fef1a1af3d3d6747f510e73223a5c600e7d7fd9ace073d1222bdc63d85", "flags": [ "-devel" ], - "cabal_sha256": "218e2968e03d99c40f32a2ef7cc41a848969096ba1c780ff2e57997a00246b06", - "src_sha256": "55012c0b22f9c7548b1f7b3bacc2c6ec7058c7f92238a69561528f1a0fa60eb6", - "revision": 0 + "package": "network", + "source": "hackage", + "version": "3.1.2.7" }, { - "source": "hackage", - "package": "th-compat", - "version": "0.1.3", - "flags": [], "cabal_sha256": "a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993", + "revision": 0, "src_sha256": "6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6", - "revision": 0 + "flags": [], + "package": "th-compat", + "source": "hackage", + "version": "0.1.3" }, { - "source": "hackage", - "package": "network-uri", - "version": "2.6.4.1", - "flags": [], "cabal_sha256": "a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d", + "revision": 0, "src_sha256": "57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584", - "revision": 0 + "flags": [], + "package": "network-uri", + "source": "hackage", + "version": "2.6.4.1" }, { - "source": "hackage", - "package": "HTTP", - "version": "4000.3.16", + "cabal_sha256": "6042643c15a0b43e522a6693f1e322f05000d519543a84149cb80aeffee34f71", + "revision": 1, + "src_sha256": "d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d", "flags": [ "-conduit10", "-mtl1", @@ -51,244 +60,245 @@ "-warn-as-error", "-warp-tests" ], - "cabal_sha256": "4265b1966b2bbb302a8a80d7b485197694785ec1496d5d9314b4b5931ffbd093", - "src_sha256": "d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d", - "revision": 0 + "package": "HTTP", + "source": "hackage", + "version": "4000.3.16" }, { - "source": "hackage", - "package": "hashable", - "version": "1.3.3.0", + "cabal_sha256": "3a2beeafb220f9de706568a7e4a5b3c762cc4c9f25c94d7ef795b8c2d6a691d7", + "revision": 1, + "src_sha256": "baaad82cd4271b197016bdbe76f22d5c3d3913fe38534cec7d817db9bae19886", "flags": [ "+integer-gmp", "-random-initial-seed" ], - "cabal_sha256": "7f3b67151162a1dfe8472dc30430af98ed5470801d3f4b6c9b8d7a7443c920d4", - "src_sha256": "99a578e58fb6a869593841e4b3184f5b52c921bcb0d661d2b3a06e6526cb85dc", - "revision": 0 + "package": "hashable", + "source": "hackage", + "version": "1.3.5.0" }, { - "source": "hackage", - "package": "async", - "version": "2.2.3", + "cabal_sha256": "b83dec34a53520de84c6dd3dc7aae45d22409b46eb471c478b98108215a370f0", + "revision": 1, + "src_sha256": "484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725", "flags": [ "-bench" ], - "cabal_sha256": "0cbefb8247308b38e397e675f832b9bd5317ff1872001d5358f213654423c55b", - "src_sha256": "467af3a0037947a5232ecf5f4efbd4cf2118aaa2310566d7f40ac82b0e32935c", - "revision": 0 + "package": "async", + "source": "hackage", + "version": "2.2.4" }, { - "source": "hackage", - "package": "base16-bytestring", - "version": "1.0.1.0", + "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a", + "revision": 0, + "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784", "flags": [], - "cabal_sha256": "33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54", - "src_sha256": "c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa", - "revision": 0 + "package": "base16-bytestring", + "source": "hackage", + "version": "1.0.2.0" }, { - "source": "hackage", - "package": "base64-bytestring", - "version": "1.2.1.0", - "flags": [], "cabal_sha256": "50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8", + "revision": 0, "src_sha256": "fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9", - "revision": 0 + "flags": [], + "package": "base64-bytestring", + "source": "hackage", + "version": "1.2.1.0" }, { - "source": "hackage", - "package": "splitmix", - "version": "0.1.0.3", + "cabal_sha256": "714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1", + "revision": 0, + "src_sha256": "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa", "flags": [ "-optimised-mixer" ], - "cabal_sha256": "fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c", - "src_sha256": "46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35", - "revision": 0 + "package": "splitmix", + "source": "hackage", + "version": "0.1.0.4" }, { - "source": "hackage", - "package": "random", - "version": "1.2.0", + "cabal_sha256": "8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2", + "revision": 0, + "src_sha256": "265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457", "flags": [], - "cabal_sha256": "195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3", - "src_sha256": "e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de", - "revision": 6 + "package": "random", + "source": "hackage", + "version": "1.2.1" }, { - "source": "hackage", - "package": "edit-distance", - "version": "0.2.2.1", - "flags": [], "cabal_sha256": "4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee", + "revision": 1, "src_sha256": "3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a", - "revision": 1 + "flags": [], + "package": "edit-distance", + "source": "hackage", + "version": "0.2.2.1" }, { - "source": "local", - "package": "cabal-install-solver", - "version": "3.7.0.0", + "cabal_sha256": null, + "revision": null, + "src_sha256": null, "flags": [ "-debug-conflict-sets", "-debug-expensive-assertions", "-debug-tracetree" ], - "cabal_sha256": null, - "src_sha256": null, - "revision": null + "package": "cabal-install-solver", + "source": "local", + "version": "3.7.0.0" }, { - "source": "hackage", - "package": "cryptohash-sha256", - "version": "0.11.102.0", + "cabal_sha256": "188d0b5a0491e8b686b32d9b144c9287760ba333d2509bf3f17e3d846fbc2332", + "revision": 0, + "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6", "flags": [ "-exe", "+use-cbits" ], - "cabal_sha256": "797a0af7b8a0e654cbddd3df6b9de02d2cbfcb2292cf001399ab53910fbbb76c", - "src_sha256": "8ad6e9875a9128f6cd66d65d80f9f85dd0559c73ac00bb37f71fbee820d10519", - "revision": 1 + "package": "cryptohash-sha256", + "source": "hackage", + "version": "0.11.102.1" }, { - "source": "hackage", - "package": "echo", - "version": "0.1.4", + "cabal_sha256": "ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42", + "revision": 0, + "src_sha256": "c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43", "flags": [ "-example" ], - "cabal_sha256": "ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42", - "src_sha256": "c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43", - "revision": 0 + "package": "echo", + "source": "hackage", + "version": "0.1.4" }, { - "source": "hackage", - "package": "exceptions", - "version": "0.10.4", + "cabal_sha256": "7ed09aed03683d5b4337088061106c2389d274b3472031a330ff1b220bad2b2d", + "revision": 3, + "src_sha256": "4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf", "flags": [ "+transformers-0-4" ], - "cabal_sha256": "d2546046d7ba4b460d3bc7fd269cd2c52d0b7fb3cfecc038715dd0881b78a484", - "src_sha256": "4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf", - "revision": 2 + "package": "exceptions", + "source": "hackage", + "version": "0.10.4" }, { - "source": "hackage", - "package": "ed25519", - "version": "0.0.5.0", + "cabal_sha256": "b6d9e5729b3053671700ecd02b4b95a4f315fe1b983aeb2d64cd25c3e7d828cb", + "revision": 4, + "src_sha256": "d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d", "flags": [ "+no-donna", "+test-doctests", "+test-hlint", "+test-properties" ], - "cabal_sha256": "fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa", - "src_sha256": "d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d", - "revision": 3 + "package": "ed25519", + "source": "hackage", + "version": "0.0.5.0" }, { - "source": "hackage", - "package": "lukko", - "version": "0.1.1.3", + "cabal_sha256": "c084c043a40632d3cafcac50fb5eeff84d91edb070a54baa94945f1c976f97c0", + "revision": 2, + "src_sha256": "a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f", "flags": [ "+ofd-locking" ], - "cabal_sha256": "2db49b6cb6632a46ec446fc51870cd0d49e0a66d1c5d2063f46ae52a100eb856", - "src_sha256": "a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f", - "revision": 1 + "package": "lukko", + "source": "hackage", + "version": "0.1.1.3" }, { - "source": "hackage", - "package": "tar", - "version": "0.5.1.1", + "cabal_sha256": "d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d", + "revision": 4, + "src_sha256": "b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de", "flags": [ "-old-bytestring", "-old-time" ], - "cabal_sha256": "d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d", - "src_sha256": "b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de", - "revision": 4 + "package": "tar", + "source": "hackage", + "version": "0.5.1.1" }, { - "source": "hackage", - "package": "zlib", - "version": "0.6.2.3", + "cabal_sha256": "262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4", + "revision": 1, + "src_sha256": "807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88", "flags": [ "-bundled-c-zlib", "-non-blocking-ffi", "-pkg-config" ], - "cabal_sha256": "262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4", - "src_sha256": "807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88", - "revision": 1 + "package": "zlib", + "source": "hackage", + "version": "0.6.2.3" }, { - "source": "hackage", - "package": "hackage-security", - "version": "0.6.0.1", + "cabal_sha256": "c71b22bb336502341325767ae3d4fb9623d846e7e78511ea8c8cda383e839137", + "revision": 0, + "src_sha256": "081725bb1e5c0e399ad5b1327b4c42a63c3db36bbb70cca2dbb7c7ac2feb17cb", "flags": [ "+base48", + "+cabal-syntax", "+lukko", "-mtl21", "-old-directory", "+use-network-uri" ], - "cabal_sha256": "ae6cdda307237c0b7efeebfb0bf23ff8a26c30f5ba295dce5e4f81ef6e63fff6", - "src_sha256": "9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17", - "revision": 8 + "package": "hackage-security", + "source": "hackage", + "version": "0.6.2.0" }, { - "source": "hackage", - "package": "regex-base", - "version": "0.94.0.1", + "cabal_sha256": "2561adac8ce373910948066debe090a22b336b129ba5af18c0332524d16e72ce", + "revision": 0, + "src_sha256": "7b99408f580f5bb67a1c413e0bc735886608251331ad36322020f2169aea2ef1", "flags": [], - "cabal_sha256": "35ff2d13c0e3ac364469c19e4c7c8775f5148977d8fcef58a424df0a10a53fa7", - "src_sha256": "71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9", - "revision": 1 + "package": "regex-base", + "source": "hackage", + "version": "0.94.0.2" }, { - "source": "hackage", - "package": "regex-posix", - "version": "0.96.0.1", + "cabal_sha256": "b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca", + "revision": 0, + "src_sha256": "c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c", "flags": [ "-_regex-posix-clib" ], - "cabal_sha256": "b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca", - "src_sha256": "c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c", - "revision": 0 + "package": "regex-posix", + "source": "hackage", + "version": "0.96.0.1" }, { - "source": "hackage", - "package": "resolv", - "version": "0.1.2.0", - "flags": [], - "cabal_sha256": "25c6e802dc342307e78e5e60433f5e20d03aa783b08b009a399100eb9b6ec529", + "cabal_sha256": "2088eb9368b920f80bbe4e3b03c3b8484090208f5c3b31645bd67a9ef7d26db4", + "revision": 4, "src_sha256": "81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671", - "revision": 3 + "flags": [], + "package": "resolv", + "source": "hackage", + "version": "0.1.2.0" }, { - "source": "local", - "package": "cabal-install", - "version": "3.7.0.0", + "cabal_sha256": null, + "revision": null, + "src_sha256": null, "flags": [ "+lukko", "+native-dns" ], - "cabal_sha256": null, - "src_sha256": null, - "revision": null + "package": "cabal-install", + "source": "local", + "version": "3.7.0.0" }, { - "source": "local", - "package": "cabal-install", - "version": "3.7.0.0", + "cabal_sha256": null, + "revision": null, + "src_sha256": null, "flags": [ "+lukko", "+native-dns" ], - "cabal_sha256": null, - "src_sha256": null, - "revision": null + "package": "cabal-install", + "source": "local", + "version": "3.7.0.0" } ], "builtin": [ diff --git a/bootstrap/linux-8.8.4.plan.json b/bootstrap/linux-8.8.4.plan.json index 13c6c3d7386..bb5e6f78d5e 100644 --- a/bootstrap/linux-8.8.4.plan.json +++ b/bootstrap/linux-8.8.4.plan.json @@ -1 +1 @@ -{"cabal-version":"3.4.0.0","cabal-lib-version":"3.4.0.0","compiler-id":"ghc-8.8.4","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.7.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.7.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/mikolaj/r/cabal/Cabal"},"dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/Cabal-3.7.0.0","depends":["array-0.5.4.0","base-4.13.0.0","binary-0.8.7.0","bytestring-0.10.10.1","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.4.0","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"HTTP-4000.3.16-f8ab0b17e78d25b4f7cc5cdcdeb5a191e9e74f9a8a046874d800acbe5788faec","pkg-name":"HTTP","pkg-version":"4000.3.16","flags":{"conduit10":false,"mtl1":false,"network-uri":true,"warn-as-error":false,"warp-tests":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4265b1966b2bbb302a8a80d7b485197694785ec1496d5d9314b4b5931ffbd093","pkg-src-sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","mtl-2.2.2","network-3.1.2.2-252ed935ce669c59353b7e22b4963aa9a2aec2afed28f38f914470b684fc93cb","network-uri-2.6.4.1-74661a9098fb28a4f280e239c0c875f92e2d82856b86af222ea7661126e8bc3f","parsec-3.1.14.0","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.13.0.0"]},{"type":"configured","id":"async-2.2.3-c2e6ae2e358b6f3876c922c0c82fed7f4976a1340e6a85f419bf9521f1e7e405","pkg-name":"async","pkg-version":"2.2.3","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cbefb8247308b38e397e675f832b9bd5317ff1872001d5358f213654423c55b","pkg-src-sha256":"467af3a0037947a5232ecf5f4efbd4cf2118aaa2310566d7f40ac82b0e32935c","depends":["base-4.13.0.0","hashable-1.3.3.0-ad1181a209aa37281dd31f62d21469418263e4fe1bbca8f2722f194defb868f6","stm-2.5.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.13.0.0","pkg-name":"base","pkg-version":"4.13.0.0","depends":["ghc-prim-0.5.3","integer-gmp-1.0.2.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.1.0-7012dade26da6d9b1d19ca2cf95148bf35a7e0ea382d566d5646f82e667be147","pkg-name":"base16-bytestring","pkg-version":"1.0.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54","pkg-src-sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.1.0-0cf4b8b273c4e23586ab1eecc01e5fbd9d12067d68634ff113df996e89264e35","pkg-name":"base64-bytestring","pkg-version":"1.2.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8","pkg-src-sha256":"fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.7.0","pkg-name":"binary","pkg-version":"0.8.7.0","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.10.1","pkg-name":"bytestring","pkg-version":"0.10.10.1","depends":["base-4.13.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0"]},{"type":"configured","id":"cabal-install-3.7.0.0-inplace","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/mikolaj/r/cabal/cabal-install"},"dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0","depends":["Cabal-3.7.0.0-inplace","HTTP-4000.3.16-f8ab0b17e78d25b4f7cc5cdcdeb5a191e9e74f9a8a046874d800acbe5788faec","array-0.5.4.0","async-2.2.3-c2e6ae2e358b6f3876c922c0c82fed7f4976a1340e6a85f419bf9521f1e7e405","base-4.13.0.0","base16-bytestring-1.0.1.0-7012dade26da6d9b1d19ca2cf95148bf35a7e0ea382d566d5646f82e667be147","binary-0.8.7.0","bytestring-0.10.10.1","cabal-install-solver-3.7.0.0-inplace","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-ecb5cca3663b9524a6b30ab33ce0061346401ec1f94afa114cc152601b84a79e","deepseq-1.4.4.0","directory-1.3.6.0","echo-0.1.4-9c1f3a8af8235ad05535c43c85982dd7fe0208633ce4975ceb102f8a3799400d","edit-distance-0.2.2.1-50b8e1485c1ff01d540cdd1aa590c5d92e9b3c94c8538c733e03d22f5d7e351e","exceptions-0.10.4-cf5072550297b3b6c77388636f11854b0a9f7313fbfcc8c2052bad005e861ca1","filepath-1.4.2.1","hackage-security-0.6.0.1-inplace","hashable-1.3.3.0-ad1181a209aa37281dd31f62d21469418263e4fe1bbca8f2722f194defb868f6","lukko-0.1.1.3-517002f0b210062f4e6ab03f0458ca2f5b7bfdd7f33c0a8d4df9c9bec797413f","mtl-2.2.2","network-uri-2.6.4.1-74661a9098fb28a4f280e239c0c875f92e2d82856b86af222ea7661126e8bc3f","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","random-1.2.0-00764634d8a1b2874f13ca39a40464d39214f25dd481d12f12f5c40b7f887c49","regex-base-0.94.0.1-ff8164d6ad36836390efbf15f7317bb988cb4208316f2c7841d59d899c865eaf","regex-posix-0.96.0.1-72585e261c0ecf752820fa53f859ec4ccf7745e5822441b073c0cb1ac2276a07","resolv-0.1.2.0-d6b4fb5161bd01de4f6fa4fb792d43776d825fb0ffe766aeed40cb88444683fc","stm-2.5.0.0","tar-0.5.1.1-0bd85e90ebf89c52e78480bbecaf5ad02969a024727ef8111c090654f0e411e2","text-1.2.4.0","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-737348e0ac53db8d94cfe31351192c9de7b9c2e3ab4308187f0012c2eee81a64"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"cabal-install-3.7.0.0-inplace-cabal","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/mikolaj/r/cabal/cabal-install"},"dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0/x/cabal","depends":["Cabal-3.7.0.0-inplace","base-4.13.0.0","cabal-install-3.7.0.0-inplace","directory-1.3.6.0","filepath-1.4.2.1"],"exe-depends":[],"component-name":"exe:cabal","bin-file":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0/x/cabal/build/cabal/cabal"},{"type":"configured","id":"cabal-install-solver-3.7.0.0-inplace","pkg-name":"cabal-install-solver","pkg-version":"3.7.0.0","flags":{"debug-conflict-sets":false,"debug-expensive-assertions":false,"debug-tracetree":false},"style":"local","pkg-src":{"type":"local","path":"/home/mikolaj/r/cabal/cabal-install-solver"},"dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-solver-3.7.0.0","depends":["Cabal-3.7.0.0-inplace","array-0.5.4.0","base-4.13.0.0","binary-0.8.7.0","bytestring-0.10.10.1","containers-0.6.2.1","edit-distance-0.2.2.1-50b8e1485c1ff01d540cdd1aa590c5d92e9b3c94c8538c733e03d22f5d7e351e","filepath-1.4.2.1","mtl-2.2.2","pretty-1.1.3.6","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.13.0.0","deepseq-1.4.4.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.0-ecb5cca3663b9524a6b30ab33ce0061346401ec1f94afa114cc152601b84a79e","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.0","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"797a0af7b8a0e654cbddd3df6b9de02d2cbfcb2292cf001399ab53910fbbb76c","pkg-src-sha256":"8ad6e9875a9128f6cd66d65d80f9f85dd0559c73ac00bb37f71fbee820d10519","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.13.0.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.13.0.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-9c1f3a8af8235ad05535c43c85982dd7fe0208633ce4975ceb102f8a3799400d","pkg-name":"echo","pkg-version":"0.1.4","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","pkg-src-sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","depends":["base-4.13.0.0","process-1.6.9.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-3c827a886147bcd76622b6d3edb2c4ce11d32d2cc77c7a407f27f4d80ffdb697","pkg-name":"ed25519","pkg-version":"0.0.5.0","flags":{"no-donna":true,"test-doctests":true,"test-hlint":true,"test-properties":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa","pkg-src-sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","depends":["base-4.13.0.0","bytestring-0.10.10.1","ghc-prim-0.5.3"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"edit-distance-0.2.2.1-50b8e1485c1ff01d540cdd1aa590c5d92e9b3c94c8538c733e03d22f5d7e351e","pkg-name":"edit-distance","pkg-version":"0.2.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","pkg-src-sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","depends":["array-0.5.4.0","base-4.13.0.0","containers-0.6.2.1","random-1.2.0-00764634d8a1b2874f13ca39a40464d39214f25dd481d12f12f5c40b7f887c49"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"exceptions-0.10.4-cf5072550297b3b6c77388636f11854b0a9f7313fbfcc8c2052bad005e861ca1","pkg-name":"exceptions","pkg-version":"0.10.4","flags":{"transformers-0-4":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d2546046d7ba4b460d3bc7fd269cd2c52d0b7fb3cfecc038715dd0881b78a484","pkg-src-sha256":"4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf","depends":["base-4.13.0.0","mtl-2.2.2","stm-2.5.0.0","template-haskell-2.15.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.13.0.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.8.4","pkg-name":"ghc-boot-th","pkg-version":"8.8.4","depends":["base-4.13.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.5.3","pkg-name":"ghc-prim","pkg-version":"0.5.3","depends":["rts"]},{"type":"configured","id":"hackage-security-0.6.0.1-inplace","pkg-name":"hackage-security","pkg-version":"0.6.0.1","flags":{"base48":true,"lukko":true,"mtl21":false,"old-directory":false,"use-network-uri":true},"style":"inplace","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae6cdda307237c0b7efeebfb0bf23ff8a26c30f5ba295dce5e4f81ef6e63fff6","pkg-src-sha256":"9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17","dist-dir":"/home/mikolaj/r/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/hackage-security-0.6.0.1","depends":["Cabal-3.7.0.0-inplace","base-4.13.0.0","base16-bytestring-1.0.1.0-7012dade26da6d9b1d19ca2cf95148bf35a7e0ea382d566d5646f82e667be147","base64-bytestring-1.2.1.0-0cf4b8b273c4e23586ab1eecc01e5fbd9d12067d68634ff113df996e89264e35","bytestring-0.10.10.1","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-ecb5cca3663b9524a6b30ab33ce0061346401ec1f94afa114cc152601b84a79e","directory-1.3.6.0","ed25519-0.0.5.0-3c827a886147bcd76622b6d3edb2c4ce11d32d2cc77c7a407f27f4d80ffdb697","filepath-1.4.2.1","ghc-prim-0.5.3","lukko-0.1.1.3-517002f0b210062f4e6ab03f0458ca2f5b7bfdd7f33c0a8d4df9c9bec797413f","mtl-2.2.2","network-3.1.2.2-252ed935ce669c59353b7e22b4963aa9a2aec2afed28f38f914470b684fc93cb","network-uri-2.6.4.1-74661a9098fb28a4f280e239c0c875f92e2d82856b86af222ea7661126e8bc3f","parsec-3.1.14.0","pretty-1.1.3.6","tar-0.5.1.1-0bd85e90ebf89c52e78480bbecaf5ad02969a024727ef8111c090654f0e411e2","template-haskell-2.15.0.0","time-1.9.3","transformers-0.5.6.2","zlib-0.6.2.3-737348e0ac53db8d94cfe31351192c9de7b9c2e3ab4308187f0012c2eee81a64"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.3.0-ad1181a209aa37281dd31f62d21469418263e4fe1bbca8f2722f194defb868f6","pkg-name":"hashable","pkg-version":"1.3.3.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"7f3b67151162a1dfe8472dc30430af98ed5470801d3f4b6c9b8d7a7443c920d4","pkg-src-sha256":"99a578e58fb6a869593841e4b3184f5b52c921bcb0d661d2b3a06e6526cb85dc","depends":["base-4.13.0.0","bytestring-0.10.10.1","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0","text-1.2.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.7-e-hsc2hs-f6f788927ffeeb5d8adadd6f30814abea8aa3565f6db7ef56781774e99834fce","pkg-name":"hsc2hs","pkg-version":"0.68.7","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4a0f6860a17e7c245646975e3c2981416afdcb6a7b3553c31005eb3641a7f55b","pkg-src-sha256":"fd7915e41e3ed3bc7750fee0e8add2b4f32dcac8b7c544cfdf5542293223894a","depends":["base-4.13.0.0","containers-0.6.2.1","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/home/mikolaj/.cabal/store/ghc-8.8.4/hsc2hs-0.68.7-e-hsc2hs-f6f788927ffeeb5d8adadd6f30814abea8aa3565f6db7ef56781774e99834fce/bin/hsc2hs"},{"type":"pre-existing","id":"integer-gmp-1.0.2.0","pkg-name":"integer-gmp","pkg-version":"1.0.2.0","depends":["ghc-prim-0.5.3"]},{"type":"configured","id":"lukko-0.1.1.3-517002f0b210062f4e6ab03f0458ca2f5b7bfdd7f33c0a8d4df9c9bec797413f","pkg-name":"lukko","pkg-version":"0.1.1.3","flags":{"ofd-locking":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2db49b6cb6632a46ec446fc51870cd0d49e0a66d1c5d2063f46ae52a100eb856","pkg-src-sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","depends":["base-4.13.0.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-f6f788927ffeeb5d8adadd6f30814abea8aa3565f6db7ef56781774e99834fce"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.13.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.2-252ed935ce669c59353b7e22b4963aa9a2aec2afed28f38f914470b684fc93cb","pkg-name":"network","pkg-version":"3.1.2.2","flags":{"devel":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"218e2968e03d99c40f32a2ef7cc41a848969096ba1c780ff2e57997a00246b06","pkg-src-sha256":"55012c0b22f9c7548b1f7b3bacc2c6ec7058c7f92238a69561528f1a0fa60eb6","components":{"lib":{"depends":["base-4.13.0.0","bytestring-0.10.10.1","deepseq-1.4.4.0","directory-1.3.6.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-f6f788927ffeeb5d8adadd6f30814abea8aa3565f6db7ef56781774e99834fce"]}}},{"type":"configured","id":"network-uri-2.6.4.1-74661a9098fb28a4f280e239c0c875f92e2d82856b86af222ea7661126e8bc3f","pkg-name":"network-uri","pkg-version":"2.6.4.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","pkg-src-sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","depends":["base-4.13.0.0","deepseq-1.4.4.0","parsec-3.1.14.0","template-haskell-2.15.0.0","th-compat-0.1.3-ce4fcc960f1a9b2e575107a112c50af3442f1709b1eac7b202540cd819c83744"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.13.0.0","bytestring-0.10.10.1","mtl-2.2.2","text-1.2.4.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.13.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3"]},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.13.0.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-00764634d8a1b2874f13ca39a40464d39214f25dd481d12f12f5c40b7f887c49","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.13.0.0","bytestring-0.10.10.1","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-01ccb9e40655e60a16f8df99e9c7ed102c60657b8bef9f5184f2cbf3d7c8f298"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.1-ff8164d6ad36836390efbf15f7317bb988cb4208316f2c7841d59d899c865eaf","pkg-name":"regex-base","pkg-version":"0.94.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"35ff2d13c0e3ac364469c19e4c7c8775f5148977d8fcef58a424df0a10a53fa7","pkg-src-sha256":"71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","mtl-2.2.2","text-1.2.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-72585e261c0ecf752820fa53f859ec4ccf7745e5822441b073c0cb1ac2276a07","pkg-name":"regex-posix","pkg-version":"0.96.0.1","flags":{"_regex-posix-clib":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","pkg-src-sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","regex-base-0.94.0.1-ff8164d6ad36836390efbf15f7317bb988cb4208316f2c7841d59d899c865eaf"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-d6b4fb5161bd01de4f6fa4fb792d43776d825fb0ffe766aeed40cb88444683fc","pkg-name":"resolv","pkg-version":"0.1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"25c6e802dc342307e78e5e60433f5e20d03aa783b08b009a399100eb9b6ec529","pkg-src-sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","components":{"lib":{"depends":["base-4.13.0.0","base16-bytestring-1.0.1.0-7012dade26da6d9b1d19ca2cf95148bf35a7e0ea382d566d5646f82e667be147","binary-0.8.7.0","bytestring-0.10.10.1","containers-0.6.2.1"],"exe-depends":[]}}},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"splitmix-0.1.0.3-01ccb9e40655e60a16f8df99e9c7ed102c60657b8bef9f5184f2cbf3d7c8f298","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.13.0.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.0.0","pkg-name":"stm","pkg-version":"2.5.0.0","depends":["array-0.5.4.0","base-4.13.0.0"]},{"type":"configured","id":"tar-0.5.1.1-0bd85e90ebf89c52e78480bbecaf5ad02969a024727ef8111c090654f0e411e2","pkg-name":"tar","pkg-version":"0.5.1.1","flags":{"old-bytestring":false,"old-time":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.15.0.0","pkg-name":"template-haskell","pkg-version":"2.15.0.0","depends":["base-4.13.0.0","ghc-boot-th-8.8.4","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.0","pkg-name":"text","pkg-version":"1.2.4.0","depends":["array-0.5.4.0","base-4.13.0.0","binary-0.8.7.0","bytestring-0.10.10.1","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0","template-haskell-2.15.0.0"]},{"type":"configured","id":"th-compat-0.1.3-ce4fcc960f1a9b2e575107a112c50af3442f1709b1eac7b202540cd819c83744","pkg-name":"th-compat","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993","pkg-src-sha256":"6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6","depends":["base-4.13.0.0","template-haskell-2.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.13.0.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.13.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.13.0.0","bytestring-0.10.10.1","time-1.9.3"]},{"type":"configured","id":"zlib-0.6.2.3-737348e0ac53db8d94cfe31351192c9de7b9c2e3ab4308187f0012c2eee81a64","pkg-name":"zlib","pkg-version":"0.6.2.3","flags":{"bundled-c-zlib":false,"non-blocking-ffi":false,"pkg-config":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file +{"cabal-version":"3.4.0.0","cabal-lib-version":"3.4.0.0","compiler-id":"ghc-8.8.4","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.7.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.7.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/Cabal"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/Cabal-3.7.0.0","depends":["Cabal-syntax-3.7.0.0-inplace","array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.4.0","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"Cabal-syntax-3.7.0.0-inplace","pkg-name":"Cabal-syntax","pkg-version":"3.7.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/Cabal-syntax"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/Cabal-syntax-3.7.0.0","depends":["array-0.5.4.0","base-4.13.0.0","binary-0.8.7.0","bytestring-0.10.10.1","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","text-1.2.4.0","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"HTTP-4000.3.16-d8646c96e064a8f0dca5b02543966ea7221857eedd26883557fd6b9c3198cc0f","pkg-name":"HTTP","pkg-version":"4000.3.16","flags":{"conduit10":false,"mtl1":false,"network-uri":true,"warn-as-error":false,"warp-tests":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6042643c15a0b43e522a6693f1e322f05000d519543a84149cb80aeffee34f71","pkg-src-sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","mtl-2.2.2","network-3.1.2.7-a880593a766793790076914a381207286b84ab9822e8f027367b354232bf15f9","network-uri-2.6.4.1-74661a9098fb28a4f280e239c0c875f92e2d82856b86af222ea7661126e8bc3f","parsec-3.1.14.0","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.13.0.0"]},{"type":"configured","id":"async-2.2.4-84b4e01804cc544022d77623bf724d128620ef2589e67dc831ee6c5c952205fa","pkg-name":"async","pkg-version":"2.2.4","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b83dec34a53520de84c6dd3dc7aae45d22409b46eb471c478b98108215a370f0","pkg-src-sha256":"484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725","depends":["base-4.13.0.0","hashable-1.3.5.0-437219745893b032bd849c46673f53a2174d54e94702c66834518abfe58e51f0","stm-2.5.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.13.0.0","pkg-name":"base","pkg-version":"4.13.0.0","depends":["ghc-prim-0.5.3","integer-gmp-1.0.2.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-ba74bd1460af5acddf128d76ebce0931f349a76f1256b3e712ea6f350f366e1d","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.1.0-0cf4b8b273c4e23586ab1eecc01e5fbd9d12067d68634ff113df996e89264e35","pkg-name":"base64-bytestring","pkg-version":"1.2.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8","pkg-src-sha256":"fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.7.0","pkg-name":"binary","pkg-version":"0.8.7.0","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.10.1","pkg-name":"bytestring","pkg-version":"0.10.10.1","depends":["base-4.13.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0"]},{"type":"configured","id":"cabal-install-3.7.0.0-inplace","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/cabal-install"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0","depends":["Cabal-3.7.0.0-inplace","Cabal-syntax-3.7.0.0-inplace","HTTP-4000.3.16-d8646c96e064a8f0dca5b02543966ea7221857eedd26883557fd6b9c3198cc0f","array-0.5.4.0","async-2.2.4-84b4e01804cc544022d77623bf724d128620ef2589e67dc831ee6c5c952205fa","base-4.13.0.0","base16-bytestring-1.0.2.0-ba74bd1460af5acddf128d76ebce0931f349a76f1256b3e712ea6f350f366e1d","binary-0.8.7.0","bytestring-0.10.10.1","cabal-install-solver-3.7.0.0-inplace","containers-0.6.2.1","cryptohash-sha256-0.11.102.1-a6d366b930419cb99b93796c81e633e80b91dd2c0b724c766a35f6658d032854","deepseq-1.4.4.0","directory-1.3.6.0","echo-0.1.4-9c1f3a8af8235ad05535c43c85982dd7fe0208633ce4975ceb102f8a3799400d","edit-distance-0.2.2.1-98f4f1de3ff8d7c7668eac2daf3c4dc1676e42514ee55351a36b6a2cace62130","exceptions-0.10.4-cf5072550297b3b6c77388636f11854b0a9f7313fbfcc8c2052bad005e861ca1","filepath-1.4.2.1","hackage-security-0.6.2.0-inplace","hashable-1.3.5.0-437219745893b032bd849c46673f53a2174d54e94702c66834518abfe58e51f0","lukko-0.1.1.3-b2dfc262c43ebba5b0e8f43536455289daa44cf3dd760bea69967f42832d1888","mtl-2.2.2","network-uri-2.6.4.1-74661a9098fb28a4f280e239c0c875f92e2d82856b86af222ea7661126e8bc3f","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","random-1.2.1-cf2f8eec7b4b59de600a90677bbf7d951416536a04b555a06bc10c970af67142","regex-base-0.94.0.2-da68030fec2e61e096a31e909449969a20368c726ef535346186b4e6821cbb51","regex-posix-0.96.0.1-97b4d48f945e30f66d5a035d025c241c68d8c8d36c71f6cfcb256e3663b1bbdb","resolv-0.1.2.0-8f5d9c44f97444a8554eed314cb0d84cd0f128b5e8d124cd1ca556455436e3f8","stm-2.5.0.0","tar-0.5.1.1-0bd85e90ebf89c52e78480bbecaf5ad02969a024727ef8111c090654f0e411e2","text-1.2.4.0","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-737348e0ac53db8d94cfe31351192c9de7b9c2e3ab4308187f0012c2eee81a64"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"cabal-install-3.7.0.0-inplace-cabal","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/cabal-install"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0/x/cabal","depends":["Cabal-3.7.0.0-inplace","Cabal-syntax-3.7.0.0-inplace","base-4.13.0.0","cabal-install-3.7.0.0-inplace","directory-1.3.6.0","filepath-1.4.2.1"],"exe-depends":[],"component-name":"exe:cabal","bin-file":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0/x/cabal/build/cabal/cabal"},{"type":"configured","id":"cabal-install-solver-3.7.0.0-inplace","pkg-name":"cabal-install-solver","pkg-version":"3.7.0.0","flags":{"debug-conflict-sets":false,"debug-expensive-assertions":false,"debug-tracetree":false},"style":"local","pkg-src":{"type":"local","path":"/home/patrick/projects/haskell/cabal/cabal-install-solver"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-solver-3.7.0.0","depends":["Cabal-3.7.0.0-inplace","Cabal-syntax-3.7.0.0-inplace","array-0.5.4.0","base-4.13.0.0","binary-0.8.7.0","bytestring-0.10.10.1","containers-0.6.2.1","edit-distance-0.2.2.1-98f4f1de3ff8d7c7668eac2daf3c4dc1676e42514ee55351a36b6a2cace62130","filepath-1.4.2.1","mtl-2.2.2","pretty-1.1.3.6","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.13.0.0","deepseq-1.4.4.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-a6d366b930419cb99b93796c81e633e80b91dd2c0b724c766a35f6658d032854","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"188d0b5a0491e8b686b32d9b144c9287760ba333d2509bf3f17e3d846fbc2332","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.13.0.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.13.0.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-9c1f3a8af8235ad05535c43c85982dd7fe0208633ce4975ceb102f8a3799400d","pkg-name":"echo","pkg-version":"0.1.4","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","pkg-src-sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","depends":["base-4.13.0.0","process-1.6.9.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-3c827a886147bcd76622b6d3edb2c4ce11d32d2cc77c7a407f27f4d80ffdb697","pkg-name":"ed25519","pkg-version":"0.0.5.0","flags":{"no-donna":true,"test-doctests":true,"test-hlint":true,"test-properties":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6d9e5729b3053671700ecd02b4b95a4f315fe1b983aeb2d64cd25c3e7d828cb","pkg-src-sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","depends":["base-4.13.0.0","bytestring-0.10.10.1","ghc-prim-0.5.3"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"edit-distance-0.2.2.1-98f4f1de3ff8d7c7668eac2daf3c4dc1676e42514ee55351a36b6a2cace62130","pkg-name":"edit-distance","pkg-version":"0.2.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","pkg-src-sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","depends":["array-0.5.4.0","base-4.13.0.0","containers-0.6.2.1","random-1.2.1-cf2f8eec7b4b59de600a90677bbf7d951416536a04b555a06bc10c970af67142"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"exceptions-0.10.4-cf5072550297b3b6c77388636f11854b0a9f7313fbfcc8c2052bad005e861ca1","pkg-name":"exceptions","pkg-version":"0.10.4","flags":{"transformers-0-4":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"7ed09aed03683d5b4337088061106c2389d274b3472031a330ff1b220bad2b2d","pkg-src-sha256":"4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf","depends":["base-4.13.0.0","mtl-2.2.2","stm-2.5.0.0","template-haskell-2.15.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.13.0.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.8.4","pkg-name":"ghc-boot-th","pkg-version":"8.8.4","depends":["base-4.13.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.5.3","pkg-name":"ghc-prim","pkg-version":"0.5.3","depends":["rts"]},{"type":"configured","id":"hackage-security-0.6.2.0-inplace","pkg-name":"hackage-security","pkg-version":"0.6.2.0","flags":{"base48":true,"cabal-syntax":true,"lukko":true,"mtl21":false,"old-directory":false,"use-network-uri":true},"style":"inplace","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"c71b22bb336502341325767ae3d4fb9623d846e7e78511ea8c8cda383e839137","pkg-src-sha256":"081725bb1e5c0e399ad5b1327b4c42a63c3db36bbb70cca2dbb7c7ac2feb17cb","dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/hackage-security-0.6.2.0","depends":["Cabal-syntax-3.7.0.0-inplace","base-4.13.0.0","base16-bytestring-1.0.2.0-ba74bd1460af5acddf128d76ebce0931f349a76f1256b3e712ea6f350f366e1d","base64-bytestring-1.2.1.0-0cf4b8b273c4e23586ab1eecc01e5fbd9d12067d68634ff113df996e89264e35","bytestring-0.10.10.1","containers-0.6.2.1","cryptohash-sha256-0.11.102.1-a6d366b930419cb99b93796c81e633e80b91dd2c0b724c766a35f6658d032854","directory-1.3.6.0","ed25519-0.0.5.0-3c827a886147bcd76622b6d3edb2c4ce11d32d2cc77c7a407f27f4d80ffdb697","filepath-1.4.2.1","ghc-prim-0.5.3","lukko-0.1.1.3-b2dfc262c43ebba5b0e8f43536455289daa44cf3dd760bea69967f42832d1888","mtl-2.2.2","network-3.1.2.7-a880593a766793790076914a381207286b84ab9822e8f027367b354232bf15f9","network-uri-2.6.4.1-74661a9098fb28a4f280e239c0c875f92e2d82856b86af222ea7661126e8bc3f","parsec-3.1.14.0","pretty-1.1.3.6","tar-0.5.1.1-0bd85e90ebf89c52e78480bbecaf5ad02969a024727ef8111c090654f0e411e2","template-haskell-2.15.0.0","time-1.9.3","transformers-0.5.6.2","zlib-0.6.2.3-737348e0ac53db8d94cfe31351192c9de7b9c2e3ab4308187f0012c2eee81a64"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.5.0-437219745893b032bd849c46673f53a2174d54e94702c66834518abfe58e51f0","pkg-name":"hashable","pkg-version":"1.3.5.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3a2beeafb220f9de706568a7e4a5b3c762cc4c9f25c94d7ef795b8c2d6a691d7","pkg-src-sha256":"baaad82cd4271b197016bdbe76f22d5c3d3913fe38534cec7d817db9bae19886","depends":["base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0","text-1.2.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.8-e-hsc2hs-c44e8e4a084994052217eacb70049ae8f28093c46ed5029cf7d9073f68dda78b","pkg-name":"hsc2hs","pkg-version":"0.68.8","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"27a5e694efcc2133761de2a0c8079596b0fb62aef0be472afad7d60df6fa68d5","pkg-src-sha256":"78341efbc917a84a07f2143bee9203e2555072054d495717aa73d89d9df77a52","depends":["base-4.13.0.0","containers-0.6.2.1","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/home/patrick/.cabal/store/ghc-8.8.4/hsc2hs-0.68.8-e-hsc2hs-c44e8e4a084994052217eacb70049ae8f28093c46ed5029cf7d9073f68dda78b/bin/hsc2hs"},{"type":"pre-existing","id":"integer-gmp-1.0.2.0","pkg-name":"integer-gmp","pkg-version":"1.0.2.0","depends":["ghc-prim-0.5.3"]},{"type":"configured","id":"lukko-0.1.1.3-b2dfc262c43ebba5b0e8f43536455289daa44cf3dd760bea69967f42832d1888","pkg-name":"lukko","pkg-version":"0.1.1.3","flags":{"ofd-locking":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"c084c043a40632d3cafcac50fb5eeff84d91edb070a54baa94945f1c976f97c0","pkg-src-sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","depends":["base-4.13.0.0"],"exe-depends":["hsc2hs-0.68.8-e-hsc2hs-c44e8e4a084994052217eacb70049ae8f28093c46ed5029cf7d9073f68dda78b"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.13.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.7-a880593a766793790076914a381207286b84ab9822e8f027367b354232bf15f9","pkg-name":"network","pkg-version":"3.1.2.7","flags":{"devel":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568","pkg-src-sha256":"7f7620fef1a1af3d3d6747f510e73223a5c600e7d7fd9ace073d1222bdc63d85","components":{"lib":{"depends":["base-4.13.0.0","bytestring-0.10.10.1","deepseq-1.4.4.0","directory-1.3.6.0"],"exe-depends":["hsc2hs-0.68.8-e-hsc2hs-c44e8e4a084994052217eacb70049ae8f28093c46ed5029cf7d9073f68dda78b"]}}},{"type":"configured","id":"network-uri-2.6.4.1-74661a9098fb28a4f280e239c0c875f92e2d82856b86af222ea7661126e8bc3f","pkg-name":"network-uri","pkg-version":"2.6.4.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","pkg-src-sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","depends":["base-4.13.0.0","deepseq-1.4.4.0","parsec-3.1.14.0","template-haskell-2.15.0.0","th-compat-0.1.3-ce4fcc960f1a9b2e575107a112c50af3442f1709b1eac7b202540cd819c83744"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.13.0.0","bytestring-0.10.10.1","mtl-2.2.2","text-1.2.4.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.13.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3"]},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.13.0.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1-cf2f8eec7b4b59de600a90677bbf7d951416536a04b555a06bc10c970af67142","pkg-name":"random","pkg-version":"1.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","pkg-src-sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","depends":["base-4.13.0.0","bytestring-0.10.10.1","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.4-90e29f8f08260bcc0ef78bb0addb5906becbb5c9c7316e58f47b2328a5000517"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.2-da68030fec2e61e096a31e909449969a20368c726ef535346186b4e6821cbb51","pkg-name":"regex-base","pkg-version":"0.94.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2561adac8ce373910948066debe090a22b336b129ba5af18c0332524d16e72ce","pkg-src-sha256":"7b99408f580f5bb67a1c413e0bc735886608251331ad36322020f2169aea2ef1","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","text-1.2.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-97b4d48f945e30f66d5a035d025c241c68d8c8d36c71f6cfcb256e3663b1bbdb","pkg-name":"regex-posix","pkg-version":"0.96.0.1","flags":{"_regex-posix-clib":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","pkg-src-sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","regex-base-0.94.0.2-da68030fec2e61e096a31e909449969a20368c726ef535346186b4e6821cbb51"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-8f5d9c44f97444a8554eed314cb0d84cd0f128b5e8d124cd1ca556455436e3f8","pkg-name":"resolv","pkg-version":"0.1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2088eb9368b920f80bbe4e3b03c3b8484090208f5c3b31645bd67a9ef7d26db4","pkg-src-sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","components":{"lib":{"depends":["base-4.13.0.0","base16-bytestring-1.0.2.0-ba74bd1460af5acddf128d76ebce0931f349a76f1256b3e712ea6f350f366e1d","binary-0.8.7.0","bytestring-0.10.10.1","containers-0.6.2.1"],"exe-depends":[]}}},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"splitmix-0.1.0.4-90e29f8f08260bcc0ef78bb0addb5906becbb5c9c7316e58f47b2328a5000517","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.13.0.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.0.0","pkg-name":"stm","pkg-version":"2.5.0.0","depends":["array-0.5.4.0","base-4.13.0.0"]},{"type":"configured","id":"tar-0.5.1.1-0bd85e90ebf89c52e78480bbecaf5ad02969a024727ef8111c090654f0e411e2","pkg-name":"tar","pkg-version":"0.5.1.1","flags":{"old-bytestring":false,"old-time":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.15.0.0","pkg-name":"template-haskell","pkg-version":"2.15.0.0","depends":["base-4.13.0.0","ghc-boot-th-8.8.4","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.0","pkg-name":"text","pkg-version":"1.2.4.0","depends":["array-0.5.4.0","base-4.13.0.0","binary-0.8.7.0","bytestring-0.10.10.1","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0","template-haskell-2.15.0.0"]},{"type":"configured","id":"th-compat-0.1.3-ce4fcc960f1a9b2e575107a112c50af3442f1709b1eac7b202540cd819c83744","pkg-name":"th-compat","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993","pkg-src-sha256":"6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6","depends":["base-4.13.0.0","template-haskell-2.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.13.0.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.13.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.13.0.0","bytestring-0.10.10.1","time-1.9.3"]},{"type":"configured","id":"zlib-0.6.2.3-737348e0ac53db8d94cfe31351192c9de7b9c2e3ab4308187f0012c2eee81a64","pkg-name":"zlib","pkg-version":"0.6.2.3","flags":{"bundled-c-zlib":false,"non-blocking-ffi":false,"pkg-config":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file diff --git a/cabal-benchmarks/cabal-benchmarks.cabal b/cabal-benchmarks/cabal-benchmarks.cabal index f046aa7a747..c32e1deda55 100644 --- a/cabal-benchmarks/cabal-benchmarks.cabal +++ b/cabal-benchmarks/cabal-benchmarks.cabal @@ -30,5 +30,5 @@ test-suite cabal-benchmarks build-depends: base , bytestring - , Cabal + , Cabal-syntax , criterion >=1.5.6.2 && <1.6 diff --git a/cabal-install-solver/cabal-install-solver.cabal b/cabal-install-solver/cabal-install-solver.cabal index bfbc10731ca..801d3906504 100644 --- a/cabal-install-solver/cabal-install-solver.cabal +++ b/cabal-install-solver/cabal-install-solver.cabal @@ -107,6 +107,7 @@ library , binary >=0.7.3 && <0.9 , bytestring >=0.10.6.0 && <0.12 , Cabal ^>=3.7 + , Cabal-syntax ^>=3.7 , containers >=0.5.6.2 && <0.7 , edit-distance ^>= 0.2.2 , filepath ^>=1.4.0.0 @@ -138,6 +139,7 @@ Test-Suite unit-tests build-depends: , base >= 4.10 && <4.15 , Cabal + , Cabal-syntax , cabal-install-solver , tasty >= 1.2.3 && <1.5 , tasty-quickcheck diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal index 552e70f70f1..98c23fbd89c 100644 --- a/cabal-install/cabal-install.cabal +++ b/cabal-install/cabal-install.cabal @@ -51,11 +51,14 @@ common base-dep common cabal-dep build-depends: Cabal ^>=3.7 +common cabal-syntax-dep + build-depends: Cabal-syntax ^>=3.7 + common cabal-install-solver-dep build-depends: cabal-install-solver ^>=3.7 library - import: warnings, base-dep, cabal-dep, cabal-install-solver-dep + import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep default-language: Haskell2010 hs-source-dirs: src @@ -222,7 +225,7 @@ library time >= 1.5.0.1 && < 1.11, transformers >= 0.4.2.0 && < 0.6, zlib >= 0.5.3 && < 0.7, - hackage-security >= 0.6.0.1 && < 0.7, + hackage-security >= 0.6.2.0 && < 0.7, text >= 1.2.3 && < 1.3, parsec >= 3.1.13.0 && < 3.2, regex-base >= 0.94.0.0 && <0.95, @@ -245,7 +248,7 @@ library executable cabal - import: warnings, base-dep, cabal-dep + import: warnings, base-dep, cabal-dep, cabal-syntax-dep main-is: Main.hs hs-source-dirs: main default-language: Haskell2010 @@ -264,7 +267,7 @@ executable cabal -- Small, fast running tests. -- Test-Suite unit-tests - import: warnings, base-dep, cabal-dep, cabal-install-solver-dep + import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep default-language: Haskell2010 ghc-options: -rtsopts -threaded @@ -332,7 +335,7 @@ Test-Suite unit-tests -- Tests to run with a limited stack and heap size -- Test-Suite memory-usage-tests - import: warnings, base-dep, cabal-dep, cabal-install-solver-dep + import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep type: exitcode-stdio-1.0 main-is: MemoryUsageTests.hs hs-source-dirs: tests @@ -356,7 +359,7 @@ Test-Suite memory-usage-tests -- Integration tests that use the cabal-install code directly -- but still build whole projects test-suite integration-tests2 - import: warnings, base-dep, cabal-dep, cabal-install-solver-dep + import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep ghc-options: -rtsopts -threaded type: exitcode-stdio-1.0 main-is: IntegrationTests2.hs @@ -374,7 +377,7 @@ test-suite integration-tests2 tagged test-suite long-tests - import: warnings, base-dep, cabal-dep, cabal-install-solver-dep + import: warnings, base-dep, cabal-dep, cabal-syntax-dep, cabal-install-solver-dep ghc-options: -rtsopts -threaded type: exitcode-stdio-1.0 hs-source-dirs: tests diff --git a/cabal-install/main/Main.hs b/cabal-install/main/Main.hs index 2fccae2f433..7c812aece35 100644 --- a/cabal-install/main/Main.hs +++ b/cabal-install/main/Main.hs @@ -119,7 +119,6 @@ import Distribution.Client.Version import Distribution.Package (packageId) import Distribution.PackageDescription ( BuildType(..), Executable(..), buildable ) -import Distribution.PackageDescription.Parsec ( readGenericPackageDescription ) import Distribution.PackageDescription.PrettyPrint ( writeGenericPackageDescription ) @@ -138,6 +137,7 @@ import Distribution.Simple.Configure , getPersistBuildConfig, interpretPackageDbFlags , tryGetPersistBuildConfig ) import qualified Distribution.Simple.LocalBuildInfo as LBI +import Distribution.Simple.PackageDescription ( readGenericPackageDescription ) import Distribution.Simple.Program (defaultProgramDb ,configureAllKnownPrograms ,simpleProgramInvocation diff --git a/cabal-install/src/Distribution/Client/CmdOutdated.hs b/cabal-install/src/Distribution/Client/CmdOutdated.hs index b2b817a00ce..6a13b313e6f 100644 --- a/cabal-install/src/Distribution/Client/CmdOutdated.hs +++ b/cabal-install/src/Distribution/Client/CmdOutdated.hs @@ -75,14 +75,14 @@ import Distribution.Verbosity import Distribution.Version ( Version, VersionInterval (..), VersionRange, LowerBound(..) , UpperBound(..) , asVersionIntervals, majorBoundVersion ) -import Distribution.PackageDescription.Parsec - ( readGenericPackageDescription ) import Distribution.Types.PackageVersionConstraint ( PackageVersionConstraint (..), simplifyPackageVersionConstraint ) import Distribution.Simple.Flag ( Flag(..), flagToMaybe, fromFlagOrDefault, toFlag ) import Distribution.Simple.Command ( ShowOrParseArgs, OptionField, CommandUI(..), optArg, option, reqArg, liftOptionL ) +import Distribution.Simple.PackageDescription + ( readGenericPackageDescription ) import qualified Distribution.Compat.CharParsing as P import Distribution.ReadE ( parsecToReadE ) diff --git a/cabal-install/src/Distribution/Client/Configure.hs b/cabal-install/src/Distribution/Client/Configure.hs index 788e2b48151..d0fd92e7db5 100644 --- a/cabal-install/src/Distribution/Client/Configure.hs +++ b/cabal-install/src/Distribution/Client/Configure.hs @@ -59,6 +59,8 @@ import Distribution.Client.SavedFlags ( readCommandFlags, writeCommandFlags ) import Distribution.Simple.Setup ( ConfigFlags(..) , fromFlag, toFlag, flagToMaybe, fromFlagOrDefault ) +import Distribution.Simple.PackageDescription + ( readGenericPackageDescription ) import Distribution.Simple.PackageIndex as PackageIndex ( InstalledPackageIndex, lookupPackageName ) import Distribution.Package @@ -68,8 +70,6 @@ import Distribution.Types.GivenComponent import Distribution.Types.PackageVersionConstraint ( PackageVersionConstraint(..), thisPackageVersionConstraint ) import qualified Distribution.PackageDescription as PkgDesc -import Distribution.PackageDescription.Parsec - ( readGenericPackageDescription ) import Distribution.PackageDescription.Configuration ( finalizePD ) import Distribution.Version diff --git a/cabal-install/src/Distribution/Client/GenBounds.hs b/cabal-install/src/Distribution/Client/GenBounds.hs index 3636f4ad663..715425fc98f 100644 --- a/cabal-install/src/Distribution/Client/GenBounds.hs +++ b/cabal-install/src/Distribution/Client/GenBounds.hs @@ -30,13 +30,13 @@ import Distribution.PackageDescription ( enabledBuildDepends ) import Distribution.PackageDescription.Configuration ( finalizePD ) -import Distribution.PackageDescription.Parsec - ( readGenericPackageDescription ) import Distribution.Types.ComponentRequestedSpec ( defaultComponentRequestedSpec ) import Distribution.Types.Dependency import Distribution.Simple.Compiler ( Compiler, PackageDBStack, compilerInfo ) +import Distribution.Simple.PackageDescription + ( readGenericPackageDescription ) import Distribution.Simple.Program ( ProgramDb ) import Distribution.Simple.Utils diff --git a/cabal-install/src/Distribution/Client/IndexUtils.hs b/cabal-install/src/Distribution/Client/IndexUtils.hs index 573f7b57089..02bcd081f6c 100644 --- a/cabal-install/src/Distribution/Client/IndexUtils.hs +++ b/cabal-install/src/Distribution/Client/IndexUtils.hs @@ -86,6 +86,7 @@ import Distribution.Client.Setup import Distribution.PackageDescription.Parsec ( parseGenericPackageDescription, parseGenericPackageDescriptionMaybe ) import qualified Distribution.PackageDescription.Parsec as PackageDesc.Parse +import qualified Distribution.Simple.PackageDescription as PackageDesc.Parse import Distribution.Solver.Types.PackageIndex (PackageIndex) import qualified Distribution.Solver.Types.PackageIndex as PackageIndex diff --git a/cabal-install/src/Distribution/Client/ScriptUtils.hs b/cabal-install/src/Distribution/Client/ScriptUtils.hs index f497508a8c7..6c253b1febe 100644 --- a/cabal-install/src/Distribution/Client/ScriptUtils.hs +++ b/cabal-install/src/Distribution/Client/ScriptUtils.hs @@ -42,7 +42,7 @@ import Distribution.Client.Types import Distribution.FieldGrammar ( parseFieldGrammar, takeFields ) import Distribution.Fields - ( ParseResult, parseFatalFailure, parseString, readFields ) + ( ParseResult, parseFatalFailure, readFields ) import Distribution.PackageDescription.FieldGrammar ( executableFieldGrammar ) import Distribution.PackageDescription.PrettyPrint @@ -51,6 +51,8 @@ import Distribution.Parsec ( Position(..) ) import Distribution.Simple.Flag ( fromFlagOrDefault ) +import Distribution.Simple.PackageDescription + ( parseString ) import Distribution.Simple.Setup ( Flag(..) ) import Distribution.Simple.Utils diff --git a/cabal-install/src/Distribution/Client/SetupWrapper.hs b/cabal-install/src/Distribution/Client/SetupWrapper.hs index 22ccf021128..69e936d7691 100644 --- a/cabal-install/src/Distribution/Client/SetupWrapper.hs +++ b/cabal-install/src/Distribution/Client/SetupWrapper.hs @@ -43,14 +43,14 @@ import Distribution.PackageDescription , PackageDescription(..), specVersion, buildType , BuildType(..) ) import Distribution.Types.ModuleRenaming (defaultRenaming) -import Distribution.PackageDescription.Parsec - ( readGenericPackageDescription ) import Distribution.Simple.Configure ( configCompilerEx ) import Distribution.Compiler ( buildCompilerId, CompilerFlavor(GHC, GHCJS) ) import Distribution.Simple.Compiler ( Compiler(compilerId), compilerFlavor, PackageDB(..), PackageDBStack ) +import Distribution.Simple.PackageDescription + ( readGenericPackageDescription ) import Distribution.Simple.PreProcess ( runSimplePreProcessor, ppUnlit ) import Distribution.Simple.Build.Macros diff --git a/cabal-install/src/Distribution/Client/SrcDist.hs b/cabal-install/src/Distribution/Client/SrcDist.hs index 0357f5e3372..95814d9a84a 100644 --- a/cabal-install/src/Distribution/Client/SrcDist.hs +++ b/cabal-install/src/Distribution/Client/SrcDist.hs @@ -16,7 +16,7 @@ import System.FilePath (normalise, takeDirectory, ()) import Distribution.Client.Utils (tryFindAddSourcePackageDesc) import Distribution.Package (Package (packageId)) import Distribution.PackageDescription.Configuration (flattenPackageDescription) -import Distribution.PackageDescription.Parsec (readGenericPackageDescription) +import Distribution.Simple.PackageDescription (readGenericPackageDescription) import Distribution.Simple.PreProcess (knownSuffixHandlers) import Distribution.Simple.SrcDist (listPackageSourcesWithDie) import Distribution.Simple.Utils (die') diff --git a/cabal-install/src/Distribution/Client/Targets.hs b/cabal-install/src/Distribution/Client/Targets.hs index b189bd8a753..6bd3d8d55ba 100644 --- a/cabal-install/src/Distribution/Client/Targets.hs +++ b/cabal-install/src/Distribution/Client/Targets.hs @@ -84,7 +84,9 @@ import Distribution.Simple.Utils ( die', lowercase ) import Distribution.PackageDescription.Parsec - ( readGenericPackageDescription, parseGenericPackageDescriptionMaybe ) + ( parseGenericPackageDescriptionMaybe ) +import Distribution.Simple.PackageDescription + ( readGenericPackageDescription ) import qualified Data.Map as Map import qualified Data.ByteString.Lazy as BS diff --git a/cabal-testsuite/cabal-testsuite.cabal b/cabal-testsuite/cabal-testsuite.cabal index b2a2e094459..4ae8223da45 100644 --- a/cabal-testsuite/cabal-testsuite.cabal +++ b/cabal-testsuite/cabal-testsuite.cabal @@ -29,6 +29,7 @@ common shared , base >= 4.6 && <4.16 -- this needs to match the in-tree lib:Cabal version , Cabal == 3.7.0.0 + , Cabal-syntax == 3.7.0.0 ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns diff --git a/cabal-testsuite/src/Test/Cabal/Prelude.hs b/cabal-testsuite/src/Test/Cabal/Prelude.hs index a15473083a7..2e728a07866 100644 --- a/cabal-testsuite/src/Test/Cabal/Prelude.hs +++ b/cabal-testsuite/src/Test/Cabal/Prelude.hs @@ -24,6 +24,7 @@ import Test.Cabal.Plan import Distribution.Compat.Time (calibrateMtimeChangeDelay) import Distribution.Simple.Compiler (PackageDBStack, PackageDB(..)) +import Distribution.Simple.PackageDescription (readGenericPackageDescription) import Distribution.Simple.Program.Types import Distribution.Simple.Program.Db import Distribution.Simple.Program @@ -39,7 +40,6 @@ import Distribution.Pretty (prettyShow) import Distribution.Types.UnqualComponentName import Distribution.Types.LocalBuildInfo import Distribution.PackageDescription -import Distribution.PackageDescription.Parsec import Distribution.Verbosity (normal) import Distribution.Compat.Stack diff --git a/cabal.project b/cabal.project index 8fce413e7f4..d8291fc64f0 100644 --- a/cabal.project +++ b/cabal.project @@ -1,4 +1,4 @@ -packages: Cabal/ cabal-testsuite/ +packages: Cabal/ cabal-testsuite/ Cabal-syntax/ packages: cabal-install/ packages: cabal-install-solver/ packages: solver-benchmarks/ diff --git a/cabal.project.buildinfo b/cabal.project.buildinfo index c0cd46b1e37..941381117b6 100644 --- a/cabal.project.buildinfo +++ b/cabal.project.buildinfo @@ -1,3 +1,4 @@ +packages: Cabal-syntax/ packages: Cabal/ packages: Cabal-described packages: buildinfo-reference-generator/ diff --git a/cabal.project.coverage b/cabal.project.coverage index cd643351779..6e1ca6f27a8 100644 --- a/cabal.project.coverage +++ b/cabal.project.coverage @@ -1,4 +1,4 @@ -packages: Cabal/ cabal-testsuite/ +packages: Cabal-syntax/ Cabal/ cabal-testsuite/ packages: cabal-install/ packages: cabal-install-solver/ packages: solver-benchmarks/ @@ -40,6 +40,11 @@ constraints: these -- multiproject settings in order to generate coverage for -- the `cabal-install` library -- +package Cabal-syntax + ghc-options: -fno-ignore-asserts + coverage: False + library-coverage: False + package Cabal ghc-options: -fno-ignore-asserts coverage: False diff --git a/cabal.project.libonly b/cabal.project.libonly index 0a69952e852..4f09ff2fa82 100644 --- a/cabal.project.libonly +++ b/cabal.project.libonly @@ -1,4 +1,4 @@ -packages: Cabal/ cabal-testsuite/ +packages: Cabal-syntax/ Cabal/ cabal-testsuite/ packages: Cabal-QuickCheck/ packages: Cabal-tree-diff @@ -21,6 +21,8 @@ program-options -- ghc-options: -fno-ignore-asserts -- -- as a workaround we specify it for each package individually: +package Cabal-syntax + ghc-options: -fno-ignore-asserts package Cabal ghc-options: -fno-ignore-asserts package cabal-testsuite diff --git a/cabal.project.release b/cabal.project.release index 393b4071892..1f50c83e324 100644 --- a/cabal.project.release +++ b/cabal.project.release @@ -1,3 +1,4 @@ +packages: Cabal-syntax/ packages: Cabal/ packages: cabal-install-solver/ packages: cabal-install/ diff --git a/cabal.project.validate b/cabal.project.validate index 0fcbe2cede7..43db4f152c0 100644 --- a/cabal.project.validate +++ b/cabal.project.validate @@ -1,3 +1,4 @@ +packages: Cabal-syntax/ packages: Cabal/ packages: cabal-testsuite/ packages: cabal-install/ @@ -20,6 +21,8 @@ constraints: these -assoc write-ghc-environment-files: never +package Cabal-syntax + ghc-options: -Werror -fno-ignore-asserts package Cabal ghc-options: -Werror -fno-ignore-asserts package cabal-testsuite diff --git a/cabal.project.validate.libonly b/cabal.project.validate.libonly index 625f8f4e739..736914de74c 100644 --- a/cabal.project.validate.libonly +++ b/cabal.project.validate.libonly @@ -1,3 +1,4 @@ +packages: Cabal-syntax/ packages: Cabal/ packages: cabal-testsuite/ packages: Cabal-QuickCheck/ @@ -15,6 +16,8 @@ write-ghc-environment-files: never constraints: rere -rere-cfg constraints: these -assoc +package Cabal-syntax + ghc-options: -Werror -fno-ignore-asserts package Cabal ghc-options: -Werror -fno-ignore-asserts package cabal-testsuite diff --git a/cabal.project.weeder b/cabal.project.weeder index c167fa6edfe..5fa8357bd6a 100644 --- a/cabal.project.weeder +++ b/cabal.project.weeder @@ -4,6 +4,7 @@ -- cabal install -w ghc-8.8.3 weeder -- +packages: Cabal-syntax/ packages: Cabal/ packages: cabal-install/ tests: False diff --git a/changelog.d/cabal-syntax b/changelog.d/cabal-syntax new file mode 100644 index 00000000000..ea4c9bedc89 --- /dev/null +++ b/changelog.d/cabal-syntax @@ -0,0 +1,7 @@ +synopsis: Create Cabal-syntax for .cabal files +prs: #7620 +issues: #7559 + +description { +- Extract `Cabal-syntax` from `Cabal` to provide the syntax and parsing code for `.cabal` files +} diff --git a/ghc-packages b/ghc-packages index 8d827f6f9b2..e9052489e04 100644 --- a/ghc-packages +++ b/ghc-packages @@ -1,2 +1,2 @@ Cabal - +Cabal-syntax diff --git a/solver-benchmarks/solver-benchmarks.cabal b/solver-benchmarks/solver-benchmarks.cabal index 322476b8137..fc4d04a0dbf 100644 --- a/solver-benchmarks/solver-benchmarks.cabal +++ b/solver-benchmarks/solver-benchmarks.cabal @@ -31,7 +31,7 @@ library base, bytestring, containers, - Cabal >= 2.3, + Cabal-syntax >= 3.7, directory, filepath, optparse-applicative, diff --git a/stack.yaml b/stack.yaml index 9ce5557b8ad..bf6d024898e 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,5 +1,6 @@ resolver: lts-11.6 packages: +- Cabal-syntax/ - Cabal/ - cabal-install/ - cabal-testsuite/ diff --git a/vendor/cabal-doctest-1.0.8/cabal-doctest.cabal b/vendor/cabal-doctest-1.0.8/cabal-doctest.cabal index 11602c9b5a7..149b06660e2 100644 --- a/vendor/cabal-doctest-1.0.8/cabal-doctest.cabal +++ b/vendor/cabal-doctest-1.0.8/cabal-doctest.cabal @@ -33,8 +33,9 @@ library other-modules: other-extensions: build-depends: - base >=4.3 && <4.16 - , Cabal >=1.10 && <3.8 + base >=4.3 && <4.16 + , Cabal >=1.10 && <3.8 + , Cabal-syntax >=1.10 && <3.8 , directory , filepath