cabal-install-3.12.1.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 HaskellNone
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 () #

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 #

Make an install context given install arguments.

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

Make an install plan given install context and install arguments.

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

Given an install plan, perform the actual installations.

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

Common context for makeInstallPlan and processInstallPlan.

Prune certain packages from the install plan

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

Remove the provided targets from the install plan.