cabal-install-3.10.1.0: The command-line interface for Cabal and Hackage.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Client.Types.ConfiguredId

Synopsis

Documentation

type InstalledPackageId = ComponentId #

Within Cabal the library we no longer have a InstalledPackageId type. That's because it deals with the compilers' notion of a registered library, and those really are libraries not packages. Those are now named units.

The package management layer does however deal with installed packages, as whole packages not just as libraries. So we do still need a type for installed package ids. At the moment however we track installed packages via their primary library, which is a unit id. In future this may change slightly and we may distinguish these two types and have an explicit conversion when we register units with the compiler.

data ConfiguredId #

A ConfiguredId is a package ID for a configured package.

Once we configure a source package we know its UnitId. It is still however useful in lots of places to also know the source ID for the package. We therefore bundle the two.

An already installed package of course is also "configured" (all its configuration parameters and dependencies have been specified).

Constructors

ConfiguredId 

Instances

Instances details
Package ConfiguredId # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Structured ConfiguredId # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Methods

structure :: Proxy ConfiguredId -> Structure

structureHash' :: Tagged ConfiguredId MD5

Generic ConfiguredId # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Associated Types

type Rep ConfiguredId :: Type -> Type

Show ConfiguredId # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Binary ConfiguredId # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Methods

put :: ConfiguredId -> Put #

get :: Get ConfiguredId #

putList :: [ConfiguredId] -> Put #

Eq ConfiguredId # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Ord ConfiguredId # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

type Rep ConfiguredId # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

type Rep ConfiguredId = D1 ('MetaData "ConfiguredId" "Distribution.Client.Types.ConfiguredId" "cabal-install-3.10.1.0-Ekg8GNNGONdHi9WRJ3K3Tf" 'False) (C1 ('MetaCons "ConfiguredId" 'PrefixI 'True) (S1 ('MetaSel ('Just "confSrcId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageId) :*: (S1 ('MetaSel ('Just "confCompName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ComponentName)) :*: S1 ('MetaSel ('Just "confInstId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ComponentId))))

annotatedIdToConfiguredId :: AnnotatedId ComponentId -> ConfiguredId #

class HasConfiguredId a where #

Methods

configuredId :: a -> ConfiguredId #

Instances

Instances details
HasConfiguredId InstalledPackageInfo # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Methods

configuredId :: InstalledPackageInfo -> ConfiguredId #

HasConfiguredId ElaboratedConfiguredPackage # 
Instance details

Defined in Distribution.Client.ProjectPlanning.Types

HasConfiguredId (ConfiguredPackage loc) #

HasConfiguredId indicates data types which have a ConfiguredId. This type class is mostly used to conveniently finesse between ElaboratedPackage and ElaboratedComponent.

Instance details

Defined in Distribution.Client.Types.ConfiguredPackage

(HasConfiguredId ipkg, HasConfiguredId srcpkg) => HasConfiguredId (GenericPlanPackage ipkg srcpkg) # 
Instance details

Defined in Distribution.Client.InstallPlan