{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveDataTypeable #-}
module Distribution.Solver.Types.SourcePackage
( PackageDescriptionOverride
, SourcePackage(..)
) where
import Distribution.Solver.Compat.Prelude
import Prelude ()
import Distribution.Package
( PackageId, Package(..) )
import Distribution.PackageDescription
( GenericPackageDescription(..) )
import Data.ByteString.Lazy (ByteString)
data SourcePackage loc = SourcePackage
{ forall loc. SourcePackage loc -> PackageId
srcpkgPackageId :: PackageId
, forall loc. SourcePackage loc -> GenericPackageDescription
srcpkgDescription :: GenericPackageDescription
, forall loc. SourcePackage loc -> loc
srcpkgSource :: loc
, forall loc. SourcePackage loc -> PackageDescriptionOverride
srcpkgDescrOverride :: PackageDescriptionOverride
}
deriving (SourcePackage loc -> SourcePackage loc -> Bool
forall loc.
Eq loc =>
SourcePackage loc -> SourcePackage loc -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SourcePackage loc -> SourcePackage loc -> Bool
$c/= :: forall loc.
Eq loc =>
SourcePackage loc -> SourcePackage loc -> Bool
== :: SourcePackage loc -> SourcePackage loc -> Bool
$c== :: forall loc.
Eq loc =>
SourcePackage loc -> SourcePackage loc -> Bool
Eq, Int -> SourcePackage loc -> ShowS
forall loc. Show loc => Int -> SourcePackage loc -> ShowS
forall loc. Show loc => [SourcePackage loc] -> ShowS
forall loc. Show loc => SourcePackage loc -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SourcePackage loc] -> ShowS
$cshowList :: forall loc. Show loc => [SourcePackage loc] -> ShowS
show :: SourcePackage loc -> String
$cshow :: forall loc. Show loc => SourcePackage loc -> String
showsPrec :: Int -> SourcePackage loc -> ShowS
$cshowsPrec :: forall loc. Show loc => Int -> SourcePackage loc -> ShowS
Show, forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall loc x. Rep (SourcePackage loc) x -> SourcePackage loc
forall loc x. SourcePackage loc -> Rep (SourcePackage loc) x
$cto :: forall loc x. Rep (SourcePackage loc) x -> SourcePackage loc
$cfrom :: forall loc x. SourcePackage loc -> Rep (SourcePackage loc) x
Generic, Typeable)
instance Binary loc => Binary (SourcePackage loc)
instance Structured loc => Structured (SourcePackage loc)
instance Package (SourcePackage a) where packageId :: SourcePackage a -> PackageId
packageId = forall loc. SourcePackage loc -> PackageId
srcpkgPackageId
type PackageDescriptionOverride = Maybe ByteString