Copyright | Duncan Coutts 2009, 2013 |
---|---|
Maintainer | cabal-devel@haskell.org |
Portability | portable |
Safe Haskell | None |
Language | Haskell98 |
This module provides an library interface to the hc-pkg
program.
Currently only GHC, GHCJS and LHC have hc-pkg programs.
- data HcPkgInfo = HcPkgInfo {}
- init :: HcPkgInfo -> Verbosity -> FilePath -> IO ()
- invoke :: HcPkgInfo -> Verbosity -> PackageDBStack -> [String] -> IO ()
- register :: HcPkgInfo -> Verbosity -> PackageDBStack -> Either FilePath InstalledPackageInfo -> IO ()
- reregister :: HcPkgInfo -> Verbosity -> PackageDBStack -> Either FilePath InstalledPackageInfo -> IO ()
- unregister :: HcPkgInfo -> Verbosity -> PackageDB -> PackageId -> IO ()
- expose :: HcPkgInfo -> Verbosity -> PackageDB -> PackageId -> IO ()
- hide :: HcPkgInfo -> Verbosity -> PackageDB -> PackageId -> IO ()
- dump :: HcPkgInfo -> Verbosity -> PackageDB -> IO [InstalledPackageInfo]
- list :: HcPkgInfo -> Verbosity -> PackageDB -> IO [PackageId]
- initInvocation :: HcPkgInfo -> Verbosity -> FilePath -> ProgramInvocation
- registerInvocation :: HcPkgInfo -> Verbosity -> PackageDBStack -> Either FilePath InstalledPackageInfo -> ProgramInvocation
- reregisterInvocation :: HcPkgInfo -> Verbosity -> PackageDBStack -> Either FilePath InstalledPackageInfo -> ProgramInvocation
- unregisterInvocation :: HcPkgInfo -> Verbosity -> PackageDB -> PackageId -> ProgramInvocation
- exposeInvocation :: HcPkgInfo -> Verbosity -> PackageDB -> PackageId -> ProgramInvocation
- hideInvocation :: HcPkgInfo -> Verbosity -> PackageDB -> PackageId -> ProgramInvocation
- dumpInvocation :: HcPkgInfo -> Verbosity -> PackageDB -> ProgramInvocation
- listInvocation :: HcPkgInfo -> Verbosity -> PackageDB -> ProgramInvocation
Documentation
data HcPkgInfo
Information about the features and capabilities of an hc-pkg
program.
HcPkgInfo | |
|
init :: HcPkgInfo -> Verbosity -> FilePath -> IO ()
Call hc-pkg
to initialise a package database at the location {path}.
hc-pkg init {path}
invoke :: HcPkgInfo -> Verbosity -> PackageDBStack -> [String] -> IO ()
Run hc-pkg
using a given package DB stack, directly forwarding the
provided command-line arguments to it.
register :: HcPkgInfo -> Verbosity -> PackageDBStack -> Either FilePath InstalledPackageInfo -> IO ()
Call hc-pkg
to register a package.
hc-pkg register {filename | -} [--user | --global | --package-db]
reregister :: HcPkgInfo -> Verbosity -> PackageDBStack -> Either FilePath InstalledPackageInfo -> IO ()
Call hc-pkg
to re-register a package.
hc-pkg register {filename | -} [--user | --global | --package-db]
unregister :: HcPkgInfo -> Verbosity -> PackageDB -> PackageId -> IO ()
Call hc-pkg
to unregister a package
hc-pkg unregister [pkgid] [--user | --global | --package-db]
expose :: HcPkgInfo -> Verbosity -> PackageDB -> PackageId -> IO ()
Call hc-pkg
to expose a package.
hc-pkg expose [pkgid] [--user | --global | --package-db]
hide :: HcPkgInfo -> Verbosity -> PackageDB -> PackageId -> IO ()
Call hc-pkg
to hide a package.
hc-pkg hide [pkgid] [--user | --global | --package-db]
dump :: HcPkgInfo -> Verbosity -> PackageDB -> IO [InstalledPackageInfo]
Call hc-pkg
to get all the details of all the packages in the given
package database.
list :: HcPkgInfo -> Verbosity -> PackageDB -> IO [PackageId]
Call hc-pkg
to get the source package Id of all the packages in the
given package database.
This is much less information than with dump
, but also rather quicker.
Note in particular that it does not include the InstalledPackageId
, just
the source PackageId
which is not necessarily unique in any package db.
Program invocations
initInvocation :: HcPkgInfo -> Verbosity -> FilePath -> ProgramInvocation
registerInvocation :: HcPkgInfo -> Verbosity -> PackageDBStack -> Either FilePath InstalledPackageInfo -> ProgramInvocation
reregisterInvocation :: HcPkgInfo -> Verbosity -> PackageDBStack -> Either FilePath InstalledPackageInfo -> ProgramInvocation
unregisterInvocation :: HcPkgInfo -> Verbosity -> PackageDB -> PackageId -> ProgramInvocation
exposeInvocation :: HcPkgInfo -> Verbosity -> PackageDB -> PackageId -> ProgramInvocation
hideInvocation :: HcPkgInfo -> Verbosity -> PackageDB -> PackageId -> ProgramInvocation
dumpInvocation :: HcPkgInfo -> Verbosity -> PackageDB -> ProgramInvocation
listInvocation :: HcPkgInfo -> Verbosity -> PackageDB -> ProgramInvocation