cabal-install-3.12.1.0: The command-line interface for Cabal and Hackage.

Safe Haskell | None
Language | Haskell2010

Distribution.Client.Types.PackageSpecifier

Synopsis

- data PackageSpecifier pkg
  - = NamedPackage PackageName [PackageProperty]
  - | SpecificSourcePackage pkg
- pkgSpecifierTarget :: Package pkg => PackageSpecifier pkg -> PackageName
- pkgSpecifierConstraints :: Package pkg => PackageSpecifier pkg -> [LabeledPackageConstraint]
- mkNamedPackage :: PackageIdentifier -> PackageSpecifier pkg

# Documentation

data PackageSpecifier pkg #

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 # |
Instance details Defined in Distribution.Client.Types.PackageSpecifier Methods fmap :: (a -> b) -> PackageSpecifier a -> PackageSpecifier b # (<$) :: a -> PackageSpecifier b -> PackageSpecifier a #
Structured pkg => Structured (PackageSpecifier pkg) # |
Instance details Defined in Distribution.Client.Types.PackageSpecifier Methods structure :: Proxy (PackageSpecifier pkg) -> Structure # structureHash' :: Tagged (PackageSpecifier pkg) MD5
Binary pkg => Binary (PackageSpecifier pkg) # |
Instance details Defined in Distribution.Client.Types.PackageSpecifier Methods put :: PackageSpecifier pkg -> Put # get :: Get (PackageSpecifier pkg) # putList :: [PackageSpecifier pkg] -> Put #
Generic (PackageSpecifier pkg) # |

Instance details

Defined in Distribution.Client.Types.PackageSpecifier

Associated Types

type Rep (PackageSpecifier pkg) |

Instance details

Defined in Distribution.Client.Types.PackageSpecifier

type Rep (PackageSpecifier pkg) = D1 ('MetaData "PackageSpecifier" "Distribution.Client.Types.PackageSpecifier" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "NamedPackage" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PackageProperty])) :+: C1 ('MetaCons "SpecificSourcePackage" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 pkg)))

Methods

from :: PackageSpecifier pkg -> Rep (PackageSpecifier pkg) x #

to :: Rep (PackageSpecifier pkg) x -> PackageSpecifier pkg #

Show pkg => Show (PackageSpecifier pkg) # |
Instance details Defined in Distribution.Client.Types.PackageSpecifier Methods showsPrec :: Int -> PackageSpecifier pkg -> ShowS # show :: PackageSpecifier pkg -> String # showList :: [PackageSpecifier pkg] -> ShowS #
Eq pkg => Eq (PackageSpecifier pkg) # |
Instance details Defined in Distribution.Client.Types.PackageSpecifier Methods (==) :: PackageSpecifier pkg -> PackageSpecifier pkg -> Bool # (/=) :: PackageSpecifier pkg -> PackageSpecifier pkg -> Bool #
type Rep (PackageSpecifier pkg) # |

Instance details

Defined in Distribution.Client.Types.PackageSpecifier

type Rep (PackageSpecifier pkg) = D1 ('MetaData "PackageSpecifier" "Distribution.Client.Types.PackageSpecifier" "cabal-install-3.12.1.0-G554PkJj2SpDqyarXp9tbt" 'False) (C1 ('MetaCons "NamedPackage" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PackageProperty])) :+: C1 ('MetaCons "SpecificSourcePackage" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 pkg)))

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

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

mkNamedPackage :: PackageIdentifier -> PackageSpecifier pkg #