HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

ModuleCabal-3.12.1.0Haskell2010

Distribution.PackageDescription.Check

This has code for checking for various problems in packages. There is one set of checks that just looks at a PackageDescription in isolation and another set of checks that also looks at files in the package. Some of the checks are basic sanity checks, others are portability standards that we'd like to encourage. There is a PackageCheck type that distinguishes the different kinds of checks so we can see which ones are appropriate to report in different situations. This code gets used when configuring a package when we consider only basic problems. The higher standard is used when preparing a source tarball and by Hackage when uploading new packages. The reason for this is that we want to hold packages that are expected to be distributed to a higher standard than packages that are only ever expected to be used on the author's own environment.

  • 5 types
  • 11 values
  • PackageCabal-3.12.1.0
  • Exports16
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourceCheck.hs

Package Checking

12 declarations
datadata CheckExplanation
#

Explanations of PackageCheck's errors/warnings.

Constructors

Instances3Eq, Ord, Show
datadata CheckExplanationID
#

Identifier for the speficic CheckExplanation. This ensures `--ignore` can output a warning on unrecognised values. ☞ N.B.: should be kept in sync with CheckExplanation.

Instances5Bounded, Enum, Eq, Ord, Show
datadata PackageCheck
#

Results of some kind of failed package check.

There are a range of severities, from merely dubious to totally insane. All of them come with a human readable explanation. In future we may augment them with more machine readable explanations, for example to help an IDE suggest automatic corrections.

Constructors

Instances3Eq, Ord, Show
  • Eq PackageCheckDefined in Cabal-3.12.1.0 · Distribution.PackageDescription.Check.Warning
  • Ord PackageCheckDefined in Cabal-3.12.1.0 · Distribution.PackageDescription.Check.Warning
  • Show PackageCheckDefined in Cabal-3.12.1.0 · Distribution.PackageDescription.Check.Warning

    Broken Show instance (not bijective with Read), alas external packages depend on it.

Checking package contents