diff --git a/.github/workflows/artifacts.yml b/.github/workflows/artifacts.yml index 27a4d58b81a..4ea9b9063d9 100644 --- a/.github/workflows/artifacts.yml +++ b/.github/workflows/artifacts.yml @@ -27,8 +27,8 @@ jobs: - uses: actions/checkout@v2 - name: Package project run: | - cabal v2-sdist --builddir=sdist Cabal cabal-install-solver cabal-install - python3.8 release.py --tarlib=sdist/sdist/Cabal-*.tar.gz --tarsolver=sdist/sdist/cabal-install-solver-3.*.tar.gz --tarexe=sdist/sdist/cabal-install-3.*.tar.gz + cabal v2-sdist --builddir=sdist Cabal-syntax Cabal cabal-install-solver cabal-install + python3.8 release.py --tarsyntax=sdist/sdist/Cabal-syntax-*.tar.gz --tarlib=sdist/sdist/Cabal-3*.tar.gz --tarsolver=sdist/sdist/cabal-install-solver-3.*.tar.gz --tarexe=sdist/sdist/cabal-install-3.*.tar.gz - uses: actions/upload-artifact@v2 with: name: cabal-linux @@ -62,8 +62,8 @@ jobs: - uses: actions/checkout@v2 - name: Package project run: | - cabal v2-sdist --builddir=sdist Cabal cabal-install-solver cabal-install - python3 release.py --tarlib=sdist/sdist/Cabal-*.tar.gz --tarsolver=sdist/sdist/cabal-install-solver-3.*.tar.gz --tarexe=sdist/sdist/cabal-install-3.*.tar.gz + cabal v2-sdist --builddir=sdist Cabal-syntax Cabal cabal-install-solver cabal-install + python3 release.py --tarsyntax=sdist/sdist/Cabal-syntax-*.tar.gz --tarlib=sdist/sdist/Cabal-*.tar.gz --tarsolver=sdist/sdist/cabal-install-solver-3.*.tar.gz --tarexe=sdist/sdist/cabal-install-3.*.tar.gz - uses: actions/upload-artifact@v2 with: name: cabal-macos @@ -93,9 +93,9 @@ jobs: - name: Package project # We hardcode version 3 here to make first glob not overlap with cabal-install run: | - cabal v2-sdist --builddir=sdist Cabal cabal-install-solver cabal-install + cabal v2-sdist --builddir=sdist Cabal-syntax Cabal cabal-install-solver cabal-install New-Item -Path "_build" -ItemType "directory" - python release.py --tarlib=$(Resolve-Path -Path sdist/sdist/Cabal-3.*.tar.gz) --tarsolver=$(Resolve-Path -Path sdist/sdist/cabal-install-solver-3.*.tar.gz) --tarexe=$(Resolve-Path -Path sdist/sdist/cabal-install-3.*.tar.gz) + python release.py --tarsyntax=$(Resolve-Path -Path sdist/sdist/Cabal-syntax*.tar.gz) --tarlib=$(Resolve-Path -Path sdist/sdist/Cabal-3.*.tar.gz) --tarsolver=$(Resolve-Path -Path sdist/sdist/cabal-install-solver-3.*.tar.gz) --tarexe=$(Resolve-Path -Path sdist/sdist/cabal-install-3.*.tar.gz) - uses: actions/upload-artifact@v2 with: name: cabal-windows 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..a5d0e600a1f --- /dev/null +++ b/Cabal-syntax/Cabal-syntax.cabal @@ -0,0 +1,246 @@ +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, + time >= 1.4.0.1 && < 1.12, + -- 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 + + 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/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 e8db4448652..276077a65af 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 085378f0c61..e10011933c2 100644 --- a/Cabal/src/Distribution/FieldGrammar/Parsec.hs +++ b/Cabal-syntax/src/Distribution/FieldGrammar/Parsec.hs @@ -68,7 +68,7 @@ module Distribution.FieldGrammar.Parsec ( import Data.List (dropWhileEnd) import Distribution.Compat.Newtype import Distribution.Compat.Prelude -import Distribution.Simple.Utils (fromUTF8BS) +import Distribution.Utils.Generic (fromUTF8BS) import Prelude () import qualified Data.ByteString as BS 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 7d61eddceb6..f591f68a2e9 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 dfca73a19d4..53e3a3cc619 100644 --- a/Cabal/src/Distribution/Fields/Pretty.hs +++ b/Cabal-syntax/src/Distribution/Fields/Pretty.hs @@ -25,8 +25,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 c8492d97066..e5942e23067 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 eb9509f5e5d..63494ca5774 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.12 , 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.4 , 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 b75fb1361a4..1da219361ad 100644 --- a/Cabal/Cabal.cabal +++ b/Cabal/Cabal.cabal @@ -37,6 +37,7 @@ library 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, @@ -78,7 +79,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,45 +88,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.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 @@ -151,6 +127,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 @@ -180,90 +157,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: @@ -273,48 +180,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 @@ -324,16 +189,12 @@ 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 - Distribution.Utils.String Distribution.Simple.Build.Macros.Z Distribution.Simple.Build.PathsModule.Z Distribution.Simple.GHC.EnvironmentParser diff --git a/Cabal/src/Distribution/Simple.hs b/Cabal/src/Distribution/Simple.hs index fe19558db1a..65a2768672e 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 @@ -106,7 +107,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..89ff19a4d60 --- /dev/null +++ b/Cabal/src/Distribution/Simple/PackageDescription.hs @@ -0,0 +1,74 @@ +----------------------------------------------------------------------------- +-- | +-- Module : Distribution.PackageDescription.Parsec +-- 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 cc8b687c2d3..8489061290b 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/artifacts.yml @@ -92,7 +92,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 : @@ -207,7 +207,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/bootstrap/bootstrap.py b/bootstrap/bootstrap.py index 73d380f555f..925493888a5 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.4.json b/bootstrap/linux-8.10.4.json index 83e1e2feeaa..14c59a2b149 100644 --- a/bootstrap/linux-8.10.4.json +++ b/bootstrap/linux-8.10.4.json @@ -1,5 +1,16 @@ { "dependencies": [ + { + "source": "local", + "package": "Cabal-syntax", + "version": "3.7.0.0", + "flags": [ + "-bundled-binary-generic" + ], + "cabal_sha256": null, + "src_sha256": null, + "revision": null + }, { "source": "local", "package": "Cabal", @@ -25,10 +36,10 @@ { "source": "hackage", "package": "th-compat", - "version": "0.1.2", + "version": "0.1.3", "flags": [], - "cabal_sha256": "3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8", - "src_sha256": "2bc45d0199de3dc65ebc9b71251799f5238869dbc6a66bdf0c06c7e23d603801", + "cabal_sha256": "a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993", + "src_sha256": "6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6", "revision": 0 }, { @@ -58,13 +69,13 @@ { "source": "hackage", "package": "hashable", - "version": "1.3.2.0", + "version": "1.3.3.0", "flags": [ "+integer-gmp", "-random-initial-seed" ], - "cabal_sha256": "02bc544e3546713b1d76a3c5bfc836a5fd19a5b4348ef4a52bb973d0c35a4b89", - "src_sha256": "59bd964b6fe52b04825cf5402c87981068c051f351b2cb940b75f1c60719d637", + "cabal_sha256": "7f3b67151162a1dfe8472dc30430af98ed5470801d3f4b6c9b8d7a7443c920d4", + "src_sha256": "99a578e58fb6a869593841e4b3184f5b52c921bcb0d661d2b3a06e6526cb85dc", "revision": 0 }, { diff --git a/bootstrap/linux-8.10.4.plan.json b/bootstrap/linux-8.10.4.plan.json index 6b18368fcc8..b39d2aa5e35 100644 --- a/bootstrap/linux-8.10.4.plan.json +++ b/bootstrap/linux-8.10.4.plan.json @@ -1 +1 @@ -{"cabal-version":"3.6","cabal-lib-version":"3.6.0.0","compiler-id":"ghc-8.10.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/hugin/Documents/haskell/cabal/Cabal"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/Cabal-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/Cabal-3.7.0.0/build-info.json","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","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.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-2bff999c3b4ac3b841eff699289cfba5cc0f3d7c3d6cac886c7e1de7a4efe9a0","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.1.0","bytestring-0.10.12.0","mtl-2.2.2","network-3.1.2.2-874d0d8d9da96b7e334691a57785b1c969a597023358a498ed4b2bad5e299c7f","network-uri-2.6.4.1-726cbd2d2d732c2eed8d1be31d6f156e7d9c03d28606160f09f13de5685cf0bb","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.1.0"]},{"type":"configured","id":"async-2.2.3-0e6ad597a8c7c145537a21b61cd1bd5302fa81b587b76687d9d878636afe93d4","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.1.0","hashable-1.3.2.0-10896331968c9dd64eb45c870626969507a8ece05ade43efa58807e1fb8db0b4","stm-2.5.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.14.1.0","pkg-name":"base","pkg-version":"4.14.1.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","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.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.1.0-7dffbccf9249fb0bef8710c8130b890bef2ef913b70330b689d2e01a81274af1","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.1.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.1.0","bytestring-0.10.12.0","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.1.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/hugin/Documents/haskell/cabal/cabal-install"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-3.7.0.0/build-info.json","depends":["Cabal-3.7.0.0-inplace","HTTP-4000.3.16-2bff999c3b4ac3b841eff699289cfba5cc0f3d7c3d6cac886c7e1de7a4efe9a0","array-0.5.4.0","async-2.2.3-0e6ad597a8c7c145537a21b61cd1bd5302fa81b587b76687d9d878636afe93d4","base-4.14.1.0","base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","binary-0.8.8.0","bytestring-0.10.12.0","cabal-install-solver-3.7.0.0-inplace","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-e3c853fa4ea0102e499fbc43891eb19b41a4ac25e5dec8777e34a69c6472cf05","deepseq-1.4.4.0","directory-1.3.6.0","echo-0.1.4-056f93ec01984a04fb99c784891ca07a3473b93f661b36841ba17fe6be2f045f","edit-distance-0.2.2.1-077e65ead225b91e1cef78b456f39d531161707b4657eba6e4b5e8b6a11b9e00","exceptions-0.10.4","filepath-1.4.2.1","hackage-security-0.6.0.1-inplace","hashable-1.3.2.0-10896331968c9dd64eb45c870626969507a8ece05ade43efa58807e1fb8db0b4","lukko-0.1.1.3-9f8e3d93d3cda8c84063d31c8e069269620a0160c76e8d5b0fb6c4eac8e4c061","mtl-2.2.2","network-uri-2.6.4.1-726cbd2d2d732c2eed8d1be31d6f156e7d9c03d28606160f09f13de5685cf0bb","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","regex-base-0.94.0.1-d7ecf1728220a8259ba5638c70181eac3f04d86abb4c365efed75b12866a10b7","regex-posix-0.96.0.1-c1799fcd9d01b1f4d62f349e22542d3d831f167dda4903cb38065c2642266c4e","resolv-0.1.2.0-175fc8c5fbcd0673c05226b0c20e7bc7dedf2f85d02c9cd4f9a8743092ac9b73","stm-2.5.0.0","tar-0.5.1.1-18946a119ecc2a1fbcf68d5238b97fbf3bba2eafaf966c3c485e77eb1e2830cc","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-b90c97183f6e42dc293d8b34d805d69af638a7db92db9e9b43261f163fd100d1"],"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/hugin/Documents/haskell/cabal/cabal-install"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-3.7.0.0/x/cabal","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-3.7.0.0/x/cabal/build-info.json","depends":["Cabal-3.7.0.0-inplace","base-4.14.1.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/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.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/hugin/Documents/haskell/cabal/cabal-install-solver"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-solver-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-solver-3.7.0.0/build-info.json","depends":["Cabal-3.7.0.0-inplace","array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.2.1","edit-distance-0.2.2.1-077e65ead225b91e1cef78b456f39d531161707b4657eba6e4b5e8b6a11b9e00","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.14.1.0","deepseq-1.4.4.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.0-e3c853fa4ea0102e499fbc43891eb19b41a4ac25e5dec8777e34a69c6472cf05","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.1.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.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.1.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-056f93ec01984a04fb99c784891ca07a3473b93f661b36841ba17fe6be2f045f","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.1.0","process-1.6.9.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-56f93ac72dc7a0d24f6c1b41f80017bb8a25990dacfd60db4318b0cca4bddacb","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.1.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-077e65ead225b91e1cef78b456f39d531161707b4657eba6e4b5e8b6a11b9e00","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.1.0","containers-0.6.2.1","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad"],"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.1.0","mtl-2.2.2","stm-2.5.0.0","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.1.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.10.4","pkg-name":"ghc-boot-th","pkg-version":"8.10.4","depends":["base-4.14.1.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/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/hackage-security-0.6.0.1","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/hackage-security-0.6.0.1/build-info.json","depends":["Cabal-3.7.0.0-inplace","base-4.14.1.0","base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","base64-bytestring-1.2.1.0-7dffbccf9249fb0bef8710c8130b890bef2ef913b70330b689d2e01a81274af1","bytestring-0.10.12.0","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-e3c853fa4ea0102e499fbc43891eb19b41a4ac25e5dec8777e34a69c6472cf05","directory-1.3.6.0","ed25519-0.0.5.0-56f93ac72dc7a0d24f6c1b41f80017bb8a25990dacfd60db4318b0cca4bddacb","filepath-1.4.2.1","ghc-prim-0.6.1","lukko-0.1.1.3-9f8e3d93d3cda8c84063d31c8e069269620a0160c76e8d5b0fb6c4eac8e4c061","mtl-2.2.2","network-3.1.2.2-874d0d8d9da96b7e334691a57785b1c969a597023358a498ed4b2bad5e299c7f","network-uri-2.6.4.1-726cbd2d2d732c2eed8d1be31d6f156e7d9c03d28606160f09f13de5685cf0bb","parsec-3.1.14.0","pretty-1.1.3.6","tar-0.5.1.1-18946a119ecc2a1fbcf68d5238b97fbf3bba2eafaf966c3c485e77eb1e2830cc","template-haskell-2.16.0.0","time-1.9.3","transformers-0.5.6.2","zlib-0.6.2.3-b90c97183f6e42dc293d8b34d805d69af638a7db92db9e9b43261f163fd100d1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.2.0-10896331968c9dd64eb45c870626969507a8ece05ade43efa58807e1fb8db0b4","pkg-name":"hashable","pkg-version":"1.3.2.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":"02bc544e3546713b1d76a3c5bfc836a5fd19a5b4348ef4a52bb973d0c35a4b89","pkg-src-sha256":"59bd964b6fe52b04825cf5402c87981068c051f351b2cb940b75f1c60719d637","depends":["base-4.14.1.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-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e","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.1.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/hugin/.cabal/store/ghc-8.10.4/hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e/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-9f8e3d93d3cda8c84063d31c8e069269620a0160c76e8d5b0fb6c4eac8e4c061","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.1.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.1.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.2-874d0d8d9da96b7e334691a57785b1c969a597023358a498ed4b2bad5e299c7f","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.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e"]}}},{"type":"configured","id":"network-uri-2.6.4.1-726cbd2d2d732c2eed8d1be31d6f156e7d9c03d28606160f09f13de5685cf0bb","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.1.0","deepseq-1.4.4.0","parsec-3.1.14.0","template-haskell-2.16.0.0","th-compat-0.1.2-d27ac856dec8c28ef3a10ee6e1b5096cccb90c3b120cf83a7ec953297d678a7f"],"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.1.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.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.14.1.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-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","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.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.1-d7ecf1728220a8259ba5638c70181eac3f04d86abb4c365efed75b12866a10b7","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.1.0","bytestring-0.10.12.0","containers-0.6.2.1","mtl-2.2.2","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-c1799fcd9d01b1f4d62f349e22542d3d831f167dda4903cb38065c2642266c4e","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.1.0","bytestring-0.10.12.0","containers-0.6.2.1","regex-base-0.94.0.1-d7ecf1728220a8259ba5638c70181eac3f04d86abb4c365efed75b12866a10b7"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-175fc8c5fbcd0673c05226b0c20e7bc7dedf2f85d02c9cd4f9a8743092ac9b73","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.1.0","base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","binary-0.8.8.0","bytestring-0.10.12.0","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-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2","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.1.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.14.1.0"]},{"type":"configured","id":"tar-0.5.1.1-18946a119ecc2a1fbcf68d5238b97fbf3bba2eafaf966c3c485e77eb1e2830cc","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":"94ded05718fe75b88c98e7113feeb9fca50688a7e59b6aefd80a6f48438c5062","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","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.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.1.0","ghc-boot-th-8.10.4","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.1.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.2-d27ac856dec8c28ef3a10ee6e1b5096cccb90c3b120cf83a7ec953297d678a7f","pkg-name":"th-compat","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8","pkg-src-sha256":"2bc45d0199de3dc65ebc9b71251799f5238869dbc6a66bdf0c06c7e23d603801","depends":["base-4.14.1.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.1.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.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.1.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"zlib-0.6.2.3-b90c97183f6e42dc293d8b34d805d69af638a7db92db9e9b43261f163fd100d1","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":"28f4d460c260e074cab833625454564b9783a3389b7bb91fd54da2790b39592c","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.14.1.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.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/patrick/projects/haskell/cabal/Cabal"},"dist-dir":"/home/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/Cabal-3.7.0.0","depends":["Cabal-syntax-3.7.0.0-inplace","array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","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.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.4/Cabal-syntax-3.7.0.0","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","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.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-ee0450cd85378900a7dda9907a1e754cd7a138ed296646aea1b8ecb29169d0c7","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.1.0","bytestring-0.10.12.0","mtl-2.2.2","network-3.1.2.2-874d0d8d9da96b7e334691a57785b1c969a597023358a498ed4b2bad5e299c7f","network-uri-2.6.4.1-72b6d3f03fa734863e4ce371522a14a5ac803f3c196302989f512a5cba8d782e","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.1.0"]},{"type":"configured","id":"async-2.2.3-76b8c233d1b001df304b0f265688dc98f218c58b80e22bb78099ba6f759ba906","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.1.0","hashable-1.3.3.0-b1e34951532ed844da58204427b0d4663f7c9a4d9c02a152d5fe8a7f48c05c78","stm-2.5.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.14.1.0","pkg-name":"base","pkg-version":"4.14.1.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","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.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.1.0-7dffbccf9249fb0bef8710c8130b890bef2ef913b70330b689d2e01a81274af1","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.1.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.1.0","bytestring-0.10.12.0","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.1.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.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-ee0450cd85378900a7dda9907a1e754cd7a138ed296646aea1b8ecb29169d0c7","array-0.5.4.0","async-2.2.3-76b8c233d1b001df304b0f265688dc98f218c58b80e22bb78099ba6f759ba906","base-4.14.1.0","base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","binary-0.8.8.0","bytestring-0.10.12.0","cabal-install-solver-3.7.0.0-inplace","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-e3c853fa4ea0102e499fbc43891eb19b41a4ac25e5dec8777e34a69c6472cf05","deepseq-1.4.4.0","directory-1.3.6.0","echo-0.1.4-056f93ec01984a04fb99c784891ca07a3473b93f661b36841ba17fe6be2f045f","edit-distance-0.2.2.1-077e65ead225b91e1cef78b456f39d531161707b4657eba6e4b5e8b6a11b9e00","exceptions-0.10.4","filepath-1.4.2.1","hackage-security-0.6.0.1-inplace","hashable-1.3.3.0-b1e34951532ed844da58204427b0d4663f7c9a4d9c02a152d5fe8a7f48c05c78","lukko-0.1.1.3-9f8e3d93d3cda8c84063d31c8e069269620a0160c76e8d5b0fb6c4eac8e4c061","mtl-2.2.2","network-uri-2.6.4.1-72b6d3f03fa734863e4ce371522a14a5ac803f3c196302989f512a5cba8d782e","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","regex-base-0.94.0.1-d7ecf1728220a8259ba5638c70181eac3f04d86abb4c365efed75b12866a10b7","regex-posix-0.96.0.1-c1799fcd9d01b1f4d62f349e22542d3d831f167dda4903cb38065c2642266c4e","resolv-0.1.2.0-175fc8c5fbcd0673c05226b0c20e7bc7dedf2f85d02c9cd4f9a8743092ac9b73","stm-2.5.0.0","tar-0.5.1.1-18946a119ecc2a1fbcf68d5238b97fbf3bba2eafaf966c3c485e77eb1e2830cc","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-b90c97183f6e42dc293d8b34d805d69af638a7db92db9e9b43261f163fd100d1"],"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.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.14.1.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.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.10.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.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.2.1","edit-distance-0.2.2.1-077e65ead225b91e1cef78b456f39d531161707b4657eba6e4b5e8b6a11b9e00","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.14.1.0","deepseq-1.4.4.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.0-e3c853fa4ea0102e499fbc43891eb19b41a4ac25e5dec8777e34a69c6472cf05","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.1.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.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.1.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-056f93ec01984a04fb99c784891ca07a3473b93f661b36841ba17fe6be2f045f","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.1.0","process-1.6.9.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-56f93ac72dc7a0d24f6c1b41f80017bb8a25990dacfd60db4318b0cca4bddacb","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.1.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-077e65ead225b91e1cef78b456f39d531161707b4657eba6e4b5e8b6a11b9e00","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.1.0","containers-0.6.2.1","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad"],"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.1.0","mtl-2.2.2","stm-2.5.0.0","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.1.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.10.4","pkg-name":"ghc-boot-th","pkg-version":"8.10.4","depends":["base-4.14.1.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/patrick/projects/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/hackage-security-0.6.0.1","depends":["Cabal-3.7.0.0-inplace","base-4.14.1.0","base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","base64-bytestring-1.2.1.0-7dffbccf9249fb0bef8710c8130b890bef2ef913b70330b689d2e01a81274af1","bytestring-0.10.12.0","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-e3c853fa4ea0102e499fbc43891eb19b41a4ac25e5dec8777e34a69c6472cf05","directory-1.3.6.0","ed25519-0.0.5.0-56f93ac72dc7a0d24f6c1b41f80017bb8a25990dacfd60db4318b0cca4bddacb","filepath-1.4.2.1","ghc-prim-0.6.1","lukko-0.1.1.3-9f8e3d93d3cda8c84063d31c8e069269620a0160c76e8d5b0fb6c4eac8e4c061","mtl-2.2.2","network-3.1.2.2-874d0d8d9da96b7e334691a57785b1c969a597023358a498ed4b2bad5e299c7f","network-uri-2.6.4.1-72b6d3f03fa734863e4ce371522a14a5ac803f3c196302989f512a5cba8d782e","parsec-3.1.14.0","pretty-1.1.3.6","tar-0.5.1.1-18946a119ecc2a1fbcf68d5238b97fbf3bba2eafaf966c3c485e77eb1e2830cc","template-haskell-2.16.0.0","time-1.9.3","transformers-0.5.6.2","zlib-0.6.2.3-b90c97183f6e42dc293d8b34d805d69af638a7db92db9e9b43261f163fd100d1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.3.0-b1e34951532ed844da58204427b0d4663f7c9a4d9c02a152d5fe8a7f48c05c78","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.1.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-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e","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.1.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.10.4/hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e/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-9f8e3d93d3cda8c84063d31c8e069269620a0160c76e8d5b0fb6c4eac8e4c061","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.1.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.1.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.2-874d0d8d9da96b7e334691a57785b1c969a597023358a498ed4b2bad5e299c7f","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.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e"]}}},{"type":"configured","id":"network-uri-2.6.4.1-72b6d3f03fa734863e4ce371522a14a5ac803f3c196302989f512a5cba8d782e","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.1.0","deepseq-1.4.4.0","parsec-3.1.14.0","template-haskell-2.16.0.0","th-compat-0.1.3-8734ec5140cee2f6851b4f368173f2c6c1fdc07d186f7aeb87f664fe9eaffcdc"],"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.1.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.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.14.1.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-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","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.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.1-d7ecf1728220a8259ba5638c70181eac3f04d86abb4c365efed75b12866a10b7","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.1.0","bytestring-0.10.12.0","containers-0.6.2.1","mtl-2.2.2","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-c1799fcd9d01b1f4d62f349e22542d3d831f167dda4903cb38065c2642266c4e","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.1.0","bytestring-0.10.12.0","containers-0.6.2.1","regex-base-0.94.0.1-d7ecf1728220a8259ba5638c70181eac3f04d86abb4c365efed75b12866a10b7"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-175fc8c5fbcd0673c05226b0c20e7bc7dedf2f85d02c9cd4f9a8743092ac9b73","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.1.0","base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","binary-0.8.8.0","bytestring-0.10.12.0","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-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2","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.1.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.14.1.0"]},{"type":"configured","id":"tar-0.5.1.1-18946a119ecc2a1fbcf68d5238b97fbf3bba2eafaf966c3c485e77eb1e2830cc","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":"94ded05718fe75b88c98e7113feeb9fca50688a7e59b6aefd80a6f48438c5062","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","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.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.1.0","ghc-boot-th-8.10.4","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.1.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-8734ec5140cee2f6851b4f368173f2c6c1fdc07d186f7aeb87f664fe9eaffcdc","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.1.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.1.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.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.1.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"zlib-0.6.2.3-b90c97183f6e42dc293d8b34d805d69af638a7db92db9e9b43261f163fd100d1","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":"28f4d460c260e074cab833625454564b9783a3389b7bb91fd54da2790b39592c","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} diff --git a/bootstrap/linux-8.6.5.json b/bootstrap/linux-8.6.5.json index e405c145d8e..33869fb6155 100644 --- a/bootstrap/linux-8.6.5.json +++ b/bootstrap/linux-8.6.5.json @@ -1,5 +1,16 @@ { "dependencies": [ + { + "source": "local", + "package": "Cabal-syntax", + "version": "3.7.0.0", + "flags": [ + "-bundled-binary-generic" + ], + "cabal_sha256": null, + "src_sha256": null, + "revision": null + }, { "source": "local", "package": "Cabal", @@ -25,10 +36,10 @@ { "source": "hackage", "package": "th-compat", - "version": "0.1.2", + "version": "0.1.3", "flags": [], - "cabal_sha256": "3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8", - "src_sha256": "2bc45d0199de3dc65ebc9b71251799f5238869dbc6a66bdf0c06c7e23d603801", + "cabal_sha256": "a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993", + "src_sha256": "6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6", "revision": 0 }, { @@ -58,13 +69,13 @@ { "source": "hackage", "package": "hashable", - "version": "1.3.2.0", + "version": "1.3.3.0", "flags": [ "+integer-gmp", "-random-initial-seed" ], - "cabal_sha256": "02bc544e3546713b1d76a3c5bfc836a5fd19a5b4348ef4a52bb973d0c35a4b89", - "src_sha256": "59bd964b6fe52b04825cf5402c87981068c051f351b2cb940b75f1c60719d637", + "cabal_sha256": "7f3b67151162a1dfe8472dc30430af98ed5470801d3f4b6c9b8d7a7443c920d4", + "src_sha256": "99a578e58fb6a869593841e4b3184f5b52c921bcb0d661d2b3a06e6526cb85dc", "revision": 0 }, { diff --git a/bootstrap/linux-8.6.5.plan.json b/bootstrap/linux-8.6.5.plan.json index 2d674b86564..76a65f74eb3 100644 --- a/bootstrap/linux-8.6.5.plan.json +++ b/bootstrap/linux-8.6.5.plan.json @@ -1 +1 @@ -{"cabal-version":"3.6","cabal-lib-version":"3.6.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/hugin/Documents/haskell/cabal/Cabal"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/Cabal-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/Cabal-3.7.0.0/build-info.json","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-0d823d46f86c3392de7d503373270e1286f3e6594ebc111b73c5a59a04e16003","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-2e14423f89f3ac3c2ee00e429745a82fc831c9aab0062dbfb95d83e883cb22b3","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-818f86f66118d6f1b7d4b40731ce59e3c9e92160fb631a38de4fabd8ab1f5296","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.2.0-1bb7c7018c86c9c4a5248759905c7d0f04af0ba12bb70158514e5013ef76da96","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/hugin/Documents/haskell/cabal/cabal-install"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0/build-info.json","depends":["Cabal-3.7.0.0-inplace","HTTP-4000.3.16-0d823d46f86c3392de7d503373270e1286f3e6594ebc111b73c5a59a04e16003","array-0.5.3.0","async-2.2.3-818f86f66118d6f1b7d4b40731ce59e3c9e92160fb631a38de4fabd8ab1f5296","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.2.0-1bb7c7018c86c9c4a5248759905c7d0f04af0ba12bb70158514e5013ef76da96","lukko-0.1.1.3-4c76677eee1fcca961ba3794c92e0a1f4e9c3ced333a9c3f048e6f3f312cb890","mtl-2.2.2","network-uri-2.6.4.1-2e14423f89f3ac3c2ee00e429745a82fc831c9aab0062dbfb95d83e883cb22b3","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/hugin/Documents/haskell/cabal/cabal-install"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0/x/cabal","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0/x/cabal/build-info.json","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/hugin/Documents/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/hugin/Documents/haskell/cabal/cabal-install-solver"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-solver-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-solver-3.7.0.0/build-info.json","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/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/hackage-security-0.6.0.1","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/hackage-security-0.6.0.1/build-info.json","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-2e14423f89f3ac3c2ee00e429745a82fc831c9aab0062dbfb95d83e883cb22b3","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.2.0-1bb7c7018c86c9c4a5248759905c7d0f04af0ba12bb70158514e5013ef76da96","pkg-name":"hashable","pkg-version":"1.3.2.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":"02bc544e3546713b1d76a3c5bfc836a5fd19a5b4348ef4a52bb973d0c35a4b89","pkg-src-sha256":"59bd964b6fe52b04825cf5402c87981068c051f351b2cb940b75f1c60719d637","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/hugin/.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-2e14423f89f3ac3c2ee00e429745a82fc831c9aab0062dbfb95d83e883cb22b3","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.2-0e7d070c7da2da668dde8b1c69a1d534b3ebfc35538ee0ce437bd5a824475140"],"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":"94ded05718fe75b88c98e7113feeb9fca50688a7e59b6aefd80a6f48438c5062","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.2-0e7d070c7da2da668dde8b1c69a1d534b3ebfc35538ee0ce437bd5a824475140","pkg-name":"th-compat","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8","pkg-src-sha256":"2bc45d0199de3dc65ebc9b71251799f5238869dbc6a66bdf0c06c7e23d603801","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":"28f4d460c260e074cab833625454564b9783a3389b7bb91fd54da2790b39592c","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":{"bundled-binary-generic":false},"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","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":"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-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/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-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/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-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/patrick/projects/haskell/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/patrick/.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":"94ded05718fe75b88c98e7113feeb9fca50688a7e59b6aefd80a6f48438c5062","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":"28f4d460c260e074cab833625454564b9783a3389b7bb91fd54da2790b39592c","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 3eb298ceca4..939c028c2ac 100644 --- a/bootstrap/linux-8.8.4.json +++ b/bootstrap/linux-8.8.4.json @@ -1,5 +1,16 @@ { "dependencies": [ + { + "source": "local", + "package": "Cabal-syntax", + "version": "3.7.0.0", + "flags": [ + "-bundled-binary-generic" + ], + "cabal_sha256": null, + "src_sha256": null, + "revision": null + }, { "source": "local", "package": "Cabal", @@ -25,10 +36,10 @@ { "source": "hackage", "package": "th-compat", - "version": "0.1.2", + "version": "0.1.3", "flags": [], - "cabal_sha256": "3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8", - "src_sha256": "2bc45d0199de3dc65ebc9b71251799f5238869dbc6a66bdf0c06c7e23d603801", + "cabal_sha256": "a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993", + "src_sha256": "6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6", "revision": 0 }, { @@ -58,13 +69,13 @@ { "source": "hackage", "package": "hashable", - "version": "1.3.2.0", + "version": "1.3.3.0", "flags": [ "+integer-gmp", "-random-initial-seed" ], - "cabal_sha256": "02bc544e3546713b1d76a3c5bfc836a5fd19a5b4348ef4a52bb973d0c35a4b89", - "src_sha256": "59bd964b6fe52b04825cf5402c87981068c051f351b2cb940b75f1c60719d637", + "cabal_sha256": "7f3b67151162a1dfe8472dc30430af98ed5470801d3f4b6c9b8d7a7443c920d4", + "src_sha256": "99a578e58fb6a869593841e4b3184f5b52c921bcb0d661d2b3a06e6526cb85dc", "revision": 0 }, { diff --git a/bootstrap/linux-8.8.4.plan.json b/bootstrap/linux-8.8.4.plan.json index 411cf259d73..6b0c0105464 100644 --- a/bootstrap/linux-8.8.4.plan.json +++ b/bootstrap/linux-8.8.4.plan.json @@ -1 +1 @@ -{"cabal-version":"3.6","cabal-lib-version":"3.6.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/hugin/Documents/haskell/cabal/Cabal"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/Cabal-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/Cabal-3.7.0.0/build-info.json","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-cd694a0275992e8644ec075f0efcec08efb7432ea540ffc41c8ba0856438c55e","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-a2299a950b1f05dae271dd34b1b2e9a01d0c35ec06136201ae1cd1c997891658","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-7f9ab3db689722e5332b374e7d2283ddb22a1f8b483bfcec6ecbc00a740493a6","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.2.0-b2895aa2033bddd08152025c0fd5e6de433a11990fc4ea63f67b5d877c4e2030","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/hugin/Documents/haskell/cabal/cabal-install"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0/build-info.json","depends":["Cabal-3.7.0.0-inplace","HTTP-4000.3.16-cd694a0275992e8644ec075f0efcec08efb7432ea540ffc41c8ba0856438c55e","array-0.5.4.0","async-2.2.3-7f9ab3db689722e5332b374e7d2283ddb22a1f8b483bfcec6ecbc00a740493a6","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.2.0-b2895aa2033bddd08152025c0fd5e6de433a11990fc4ea63f67b5d877c4e2030","lukko-0.1.1.3-517002f0b210062f4e6ab03f0458ca2f5b7bfdd7f33c0a8d4df9c9bec797413f","mtl-2.2.2","network-uri-2.6.4.1-a2299a950b1f05dae271dd34b1b2e9a01d0c35ec06136201ae1cd1c997891658","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/hugin/Documents/haskell/cabal/cabal-install"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0/x/cabal","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0/x/cabal/build-info.json","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/hugin/Documents/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/hugin/Documents/haskell/cabal/cabal-install-solver"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-solver-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-solver-3.7.0.0/build-info.json","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/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/hackage-security-0.6.0.1","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/hackage-security-0.6.0.1/build-info.json","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-a2299a950b1f05dae271dd34b1b2e9a01d0c35ec06136201ae1cd1c997891658","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.2.0-b2895aa2033bddd08152025c0fd5e6de433a11990fc4ea63f67b5d877c4e2030","pkg-name":"hashable","pkg-version":"1.3.2.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":"02bc544e3546713b1d76a3c5bfc836a5fd19a5b4348ef4a52bb973d0c35a4b89","pkg-src-sha256":"59bd964b6fe52b04825cf5402c87981068c051f351b2cb940b75f1c60719d637","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/hugin/.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-a2299a950b1f05dae271dd34b1b2e9a01d0c35ec06136201ae1cd1c997891658","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.2-7d57d8c455d2a2f92ccbfa6db4d5c58836574e7526d8ed2b2eb0b879d1c13f20"],"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":"94ded05718fe75b88c98e7113feeb9fca50688a7e59b6aefd80a6f48438c5062","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.2-7d57d8c455d2a2f92ccbfa6db4d5c58836574e7526d8ed2b2eb0b879d1c13f20","pkg-name":"th-compat","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8","pkg-src-sha256":"2bc45d0199de3dc65ebc9b71251799f5238869dbc6a66bdf0c06c7e23d603801","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":"28f4d460c260e074cab833625454564b9783a3389b7bb91fd54da2790b39592c","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":{"bundled-binary-generic":false},"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","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":"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-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/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-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/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-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/patrick/projects/haskell/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/patrick/.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":"94ded05718fe75b88c98e7113feeb9fca50688a7e59b6aefd80a6f48438c5062","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":"28f4d460c260e074cab833625454564b9783a3389b7bb91fd54da2790b39592c","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 53795df6481..f336e4dc942 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.4 , tasty-quickcheck diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal index cb7c9a77062..a9132d1427c 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 @@ -244,7 +247,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 @@ -263,7 +266,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 @@ -330,7 +333,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 @@ -354,7 +357,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 @@ -372,7 +375,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 51786f996c5..62fe695940b 100644 --- a/cabal-install/main/Main.hs +++ b/cabal-install/main/Main.hs @@ -119,7 +119,6 @@ import Distribution.Client.Utils (determineNumJobs 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/CmdRun.hs b/cabal-install/src/Distribution/Client/CmdRun.hs index 6f44200640c..f307a2e0cb7 100644 --- a/cabal-install/src/Distribution/Client/CmdRun.hs +++ b/cabal-install/src/Distribution/Client/CmdRun.hs @@ -45,6 +45,8 @@ import Distribution.Types.ComponentName import Distribution.CabalSpecVersion (CabalSpecVersion (..), cabalSpecLatest) import Distribution.Verbosity ( normal ) +import Distribution.Simple.PackageDescription + ( parseString ) import Distribution.Simple.Utils ( wrapText, warn, die', info, notice , createTempDirectory, handleDoesNotExist ) @@ -81,7 +83,7 @@ import Distribution.PackageDescription.PrettyPrint import Distribution.Parsec ( Position(..) ) import Distribution.Fields - ( ParseResult, parseString, parseFatalFailure, readFields ) + ( ParseResult, parseFatalFailure, readFields ) import qualified Distribution.SPDX.License as SPDX import Distribution.Solver.Types.SourcePackage as SP ( SourcePackage(..) ) diff --git a/cabal-install/src/Distribution/Client/Configure.hs b/cabal-install/src/Distribution/Client/Configure.hs index 06ff7d04fe1..51849c369b9 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 caf4232c5a1..ad9676991b7 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/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 3c3db341def..110f4d73623 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 89aaf1fdab8..519c0db49e4 100644 --- a/cabal-install/src/Distribution/Client/Targets.hs +++ b/cabal-install/src/Distribution/Client/Targets.hs @@ -86,7 +86,9 @@ import Distribution.Simple.Utils ( die', warn, 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 5285bffb846..0e252408563 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 7a5245415ed..4bc0f851397 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 d9528c2082f..f2d3329198c 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/ @@ -5,6 +6,9 @@ tests: False benchmarks: False optimization: True +package Cabal-syntax + ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively + package Cabal ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively 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/release.py b/release.py index 888d9e6ffa0..540f8802e4f 100755 --- a/release.py +++ b/release.py @@ -38,6 +38,7 @@ ('builddir', Path), ('static', bool), ('ofdlocking', bool), + ('tarsyntax', Path), ('tarlib', Path), ('tarsolver', Path), ('tarexe', Path), @@ -158,6 +159,7 @@ def step_config(args: Args): # cabal.project cabal_project = dedent(f""" + packages: {args.tarsyntax} packages: {args.tarlib} packages: {args.tarexe} packages: {args.tarsolver} @@ -284,6 +286,7 @@ def __call__(self, parser, namespace, values, option_string=None): parser.add_argument('-i', '--index-state', type=str, default=DEFAULT_INDEXSTATE, help='index state of Hackage to use') parser.add_argument('--enable-static-executable', '--disable-static-executable', dest='static', nargs=0, default=False, action=EnableDisable, help='Statically link cabal executable') parser.add_argument('--enable-ofd-locking', '--disable-ofd-locking', dest='ofd_locking', nargs=0, default=True, action=EnableDisable, help='OFD locking (lukko)') + parser.add_argument('--tarsyntax', dest='tarsyntax', required=True, metavar='SYNTAXTAR', help='path to Cabal-syntax-version.tar.gz') parser.add_argument('--tarlib', dest='tarlib', required=True, metavar='LIBTAR', help='path to Cabal-version.tar.gz') parser.add_argument('--tarsolver', dest='tarsolver', required=True, metavar='SOLVERTAR', help='path to cabal-install-solver-version.tar.gz') parser.add_argument('--tarexe', dest='tarexe', required=True, metavar='EXETAR', help='path to cabal-install-version.tar.gz') @@ -298,6 +301,7 @@ def __call__(self, parser, namespace, values, option_string=None): builddir = Path(args.builddir).resolve(), static = args.static, ofdlocking = args.ofd_locking, + tarsyntax = Path(args.tarsyntax).resolve(), tarlib = Path(args.tarlib).resolve(), tarexe = Path(args.tarexe).resolve(), tarsolver = Path(args.tarsolver).resolve() @@ -310,6 +314,7 @@ def __call__(self, parser, namespace, values, option_string=None): builddir: {args.builddir} static: {args.static} ofd-locking: {args.ofdlocking} + syntax-tarball: {args.tarsyntax} lib-tarball: {args.tarlib} solver-tarball: {args.tarsolver} exe-tarball: {args.tarexe} 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/templates/ci-artifacts.template.yml b/templates/ci-artifacts.template.yml index 27a4d58b81a..4ea9b9063d9 100644 --- a/templates/ci-artifacts.template.yml +++ b/templates/ci-artifacts.template.yml @@ -27,8 +27,8 @@ jobs: - uses: actions/checkout@v2 - name: Package project run: | - cabal v2-sdist --builddir=sdist Cabal cabal-install-solver cabal-install - python3.8 release.py --tarlib=sdist/sdist/Cabal-*.tar.gz --tarsolver=sdist/sdist/cabal-install-solver-3.*.tar.gz --tarexe=sdist/sdist/cabal-install-3.*.tar.gz + cabal v2-sdist --builddir=sdist Cabal-syntax Cabal cabal-install-solver cabal-install + python3.8 release.py --tarsyntax=sdist/sdist/Cabal-syntax-*.tar.gz --tarlib=sdist/sdist/Cabal-3*.tar.gz --tarsolver=sdist/sdist/cabal-install-solver-3.*.tar.gz --tarexe=sdist/sdist/cabal-install-3.*.tar.gz - uses: actions/upload-artifact@v2 with: name: cabal-linux @@ -62,8 +62,8 @@ jobs: - uses: actions/checkout@v2 - name: Package project run: | - cabal v2-sdist --builddir=sdist Cabal cabal-install-solver cabal-install - python3 release.py --tarlib=sdist/sdist/Cabal-*.tar.gz --tarsolver=sdist/sdist/cabal-install-solver-3.*.tar.gz --tarexe=sdist/sdist/cabal-install-3.*.tar.gz + cabal v2-sdist --builddir=sdist Cabal-syntax Cabal cabal-install-solver cabal-install + python3 release.py --tarsyntax=sdist/sdist/Cabal-syntax-*.tar.gz --tarlib=sdist/sdist/Cabal-*.tar.gz --tarsolver=sdist/sdist/cabal-install-solver-3.*.tar.gz --tarexe=sdist/sdist/cabal-install-3.*.tar.gz - uses: actions/upload-artifact@v2 with: name: cabal-macos @@ -93,9 +93,9 @@ jobs: - name: Package project # We hardcode version 3 here to make first glob not overlap with cabal-install run: | - cabal v2-sdist --builddir=sdist Cabal cabal-install-solver cabal-install + cabal v2-sdist --builddir=sdist Cabal-syntax Cabal cabal-install-solver cabal-install New-Item -Path "_build" -ItemType "directory" - python release.py --tarlib=$(Resolve-Path -Path sdist/sdist/Cabal-3.*.tar.gz) --tarsolver=$(Resolve-Path -Path sdist/sdist/cabal-install-solver-3.*.tar.gz) --tarexe=$(Resolve-Path -Path sdist/sdist/cabal-install-3.*.tar.gz) + python release.py --tarsyntax=$(Resolve-Path -Path sdist/sdist/Cabal-syntax*.tar.gz) --tarlib=$(Resolve-Path -Path sdist/sdist/Cabal-3.*.tar.gz) --tarsolver=$(Resolve-Path -Path sdist/sdist/cabal-install-solver-3.*.tar.gz) --tarexe=$(Resolve-Path -Path sdist/sdist/cabal-install-3.*.tar.gz) - uses: actions/upload-artifact@v2 with: name: cabal-windows 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