module Hix.Managed.Cabal.Data.SolveResources where

import Distribution.Client.Dependency (DepResolverParams)
import Distribution.Client.Types (SourcePackageDb)
import Distribution.Simple (CompilerInfo)
import Distribution.Simple.PackageIndex (InstalledPackageIndex)
import Distribution.Solver.Types.PkgConfigDb (PkgConfigDb)
import Distribution.System (Platform)

import Hix.Managed.Cabal.Data.Config (SolveConfig (..))
import Hix.Managed.Cabal.Init (SolveFlags)

data SolveResources =
  SolveResources {
    SolveResources -> SolveConfig
conf :: SolveConfig,
    SolveResources -> SolveFlags
flags :: SolveFlags,
    SolveResources -> Platform
platform :: Platform,
    SolveResources -> CompilerInfo
compiler :: CompilerInfo,
    SolveResources -> PkgConfigDb
pkgConfigDb :: PkgConfigDb,
    SolveResources -> InstalledPackageIndex
installedPkgIndex :: InstalledPackageIndex,
    SolveResources -> SourcePackageDb
sourcePkgDb :: SourcePackageDb,
    SolveResources -> DepResolverParams -> DepResolverParams
solverParams :: DepResolverParams -> DepResolverParams
  }