{-# LANGUAGE DeriveGeneric #-}
module Distribution.Solver.Types.SolverPackage
( SolverPackage(..)
) where
import Distribution.Solver.Compat.Prelude
import Prelude ()
import Distribution.Package ( Package(..) )
import Distribution.PackageDescription ( FlagAssignment )
import Distribution.Solver.Types.ComponentDeps ( ComponentDeps )
import Distribution.Solver.Types.OptionalStanza
import Distribution.Solver.Types.SolverId
import Distribution.Solver.Types.SourcePackage
data SolverPackage loc = SolverPackage {
SolverPackage loc -> SourcePackage loc
solverPkgSource :: SourcePackage loc,
SolverPackage loc -> FlagAssignment
solverPkgFlags :: FlagAssignment,
SolverPackage loc -> OptionalStanzaSet
solverPkgStanzas :: OptionalStanzaSet,
SolverPackage loc -> ComponentDeps [SolverId]
solverPkgLibDeps :: ComponentDeps [SolverId],
SolverPackage loc -> ComponentDeps [SolverId]
solverPkgExeDeps :: ComponentDeps [SolverId]
}
deriving (SolverPackage loc -> SolverPackage loc -> Bool
(SolverPackage loc -> SolverPackage loc -> Bool)
-> (SolverPackage loc -> SolverPackage loc -> Bool)
-> Eq (SolverPackage loc)
forall loc.
Eq loc =>
SolverPackage loc -> SolverPackage loc -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SolverPackage loc -> SolverPackage loc -> Bool
$c/= :: forall loc.
Eq loc =>
SolverPackage loc -> SolverPackage loc -> Bool
== :: SolverPackage loc -> SolverPackage loc -> Bool
$c== :: forall loc.
Eq loc =>
SolverPackage loc -> SolverPackage loc -> Bool
Eq, Int -> SolverPackage loc -> ShowS
[SolverPackage loc] -> ShowS
SolverPackage loc -> String
(Int -> SolverPackage loc -> ShowS)
-> (SolverPackage loc -> String)
-> ([SolverPackage loc] -> ShowS)
-> Show (SolverPackage loc)
forall loc. Show loc => Int -> SolverPackage loc -> ShowS
forall loc. Show loc => [SolverPackage loc] -> ShowS
forall loc. Show loc => SolverPackage loc -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SolverPackage loc] -> ShowS
$cshowList :: forall loc. Show loc => [SolverPackage loc] -> ShowS
show :: SolverPackage loc -> String
$cshow :: forall loc. Show loc => SolverPackage loc -> String
showsPrec :: Int -> SolverPackage loc -> ShowS
$cshowsPrec :: forall loc. Show loc => Int -> SolverPackage loc -> ShowS
Show, (forall x. SolverPackage loc -> Rep (SolverPackage loc) x)
-> (forall x. Rep (SolverPackage loc) x -> SolverPackage loc)
-> Generic (SolverPackage loc)
forall x. Rep (SolverPackage loc) x -> SolverPackage loc
forall x. SolverPackage loc -> Rep (SolverPackage loc) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall loc x. Rep (SolverPackage loc) x -> SolverPackage loc
forall loc x. SolverPackage loc -> Rep (SolverPackage loc) x
$cto :: forall loc x. Rep (SolverPackage loc) x -> SolverPackage loc
$cfrom :: forall loc x. SolverPackage loc -> Rep (SolverPackage loc) x
Generic)
instance Binary loc => Binary (SolverPackage loc)
instance Structured loc => Structured (SolverPackage loc)
instance Package (SolverPackage loc) where
packageId :: SolverPackage loc -> PackageIdentifier
packageId = SourcePackage loc -> PackageIdentifier
forall pkg. Package pkg => pkg -> PackageIdentifier
packageId (SourcePackage loc -> PackageIdentifier)
-> (SolverPackage loc -> SourcePackage loc)
-> SolverPackage loc
-> PackageIdentifier
forall b c a. (b -> c) -> (a -> b) -> a -> c
. SolverPackage loc -> SourcePackage loc
forall loc. SolverPackage loc -> SourcePackage loc
solverPkgSource