stack-2.15.1: The Haskell Tool Stack
Safe HaskellSafe-Inferred
LanguageGHC2021

Stack.Types.Installed

Description

This module contains all the types related to the idea of installing a package in the pkg-db or an executable on the file system.

Synopsis

Documentation

data InstallLocation Source #

Type representing user package databases that packages can be installed into.

Constructors

Snap

The write-only package database, formerly known as the snapshot database.

Local

The mutable package database, formerly known as the local database.

data InstalledPackageLocation Source #

Type representing user (non-global) package databases that can provide installed packages.

Constructors

InstalledTo InstallLocation

A package database that a package can be installed into.

ExtraPkgDb

An 'extra' package database, specified by extra-package-dbs.

data PackageDatabase Source #

Type representing package databases that can provide installed packages.

Constructors

GlobalPkgDb

GHC's global package database.

UserPkgDb InstalledPackageLocation (Path Abs Dir)

A user package database.

data PackageDbVariety Source #

Type representing varieties of package databases that can provide installed packages.

Constructors

GlobalDb

GHC's global package database.

ExtraDb

An 'extra' package database, specified by extra-package-dbs.

WriteOnlyDb

The write-only package database, for immutable packages.

MutableDb

The mutable package database.

type InstallMap = Map PackageName (InstallLocation, Version) Source #

Type synonym representing dictionaries of package names for a project's packages and dependencies, and pairs of their relevant database (write-only or mutable) and package versions.

data Installed Source #

Type representing information about what is installed.

Constructors

Library PackageIdentifier InstalledLibraryInfo

A library, including its installed package id and, optionally, its license.

Executable PackageIdentifier

An executable.

Instances

Instances details
Show Installed Source # 
Instance details

Defined in Stack.Types.Installed

Eq Installed Source # 
Instance details

Defined in Stack.Types.Installed

type InstalledMap = Map PackageName (InstallLocation, Installed) Source #

Type synonym representing dictionaries of package names, and a pair of in which package database the package is installed (write-only or mutable) and information about what is installed.

toPackageDbVariety :: PackageDatabase -> PackageDbVariety Source #

A function to yield the variety of package database for a given package database that can provide installed packages.

installedVersion :: Installed -> Version Source #

Get the installed Version.

foldOnGhcPkgId' :: (Maybe StackUnqualCompName -> GhcPkgId -> resT -> resT) -> Installed -> resT -> resT Source #

A strict fold over the GhcPkgId of the given installed package. This will iterate on both sub and main libraries, if any.