cabal-install-3.10.3.0: The command-line interface for Cabal and Hackage.
Copyright(c) 2005 David Himmelstrup
2007 Bjorn Bringert
2007-2010 Duncan Coutts
LicenseBSD-like
Maintainercabal-devel@haskell.org
Stabilityprovisional
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Client.Install

Description

High level interface to package installation.

Synopsis

High-level interface

install :: Verbosity -> PackageDBStack -> RepoContext -> Compiler -> Platform -> ProgramDb -> GlobalFlags -> ConfigFlags -> ConfigExFlags -> InstallFlags -> HaddockFlags -> TestFlags -> BenchmarkFlags -> [UserTarget] -> IO () Source #

Installs the packages needed to satisfy a list of dependencies.

Lower-level interface that allows to manipulate the install plan

makeInstallContext :: Verbosity -> InstallArgs -> Maybe [UserTarget] -> IO InstallContext Source #

Make an install context given install arguments.

makeInstallPlan :: Verbosity -> InstallArgs -> InstallContext -> IO (Progress String String SolverInstallPlan) Source #

Make an install plan given install context and install arguments.

processInstallPlan :: Verbosity -> InstallArgs -> InstallContext -> SolverInstallPlan -> IO () Source #

Given an install plan, perform the actual installations.

type InstallArgs = (PackageDBStack, RepoContext, Compiler, Platform, ProgramDb, GlobalFlags, ConfigFlags, ConfigExFlags, InstallFlags, HaddockFlags, TestFlags, BenchmarkFlags) Source #

Initial arguments given to install or makeInstallContext.

type InstallContext = (InstalledPackageIndex, SourcePackageDb, PkgConfigDb, [UserTarget], [PackageSpecifier UnresolvedSourcePackage], HttpTransport) Source #

Common context for makeInstallPlan and processInstallPlan.

Prune certain packages from the install plan

pruneInstallPlan :: Package targetpkg => [PackageSpecifier targetpkg] -> SolverInstallPlan -> Progress String String SolverInstallPlan Source #

Remove the provided targets from the install plan.