Cabal-1.20.0.4: A framework for packaging Haskell software

Portabilityportable
Maintainercabal-devel@haskell.org
Safe HaskellNone

Distribution.Simple.Program.HcPkg

Contents

Description

This module provides an library interface to the hc-pkg program. Currently only GHC and LHC have hc-pkg programs.

Synopsis

Documentation

init :: Verbosity -> ConfiguredProgram -> FilePath -> IO ()

Call hc-pkg to initialise a package database at the location {path}.

 hc-pkg init {path}

invoke :: Verbosity -> ConfiguredProgram -> PackageDBStack -> [String] -> IO ()

Run hc-pkg using a given package DB stack, directly forwarding the provided command-line arguments to it.

register :: Verbosity -> ConfiguredProgram -> PackageDBStack -> Either FilePath InstalledPackageInfo -> IO ()

Call hc-pkg to register a package.

 hc-pkg register {filename | -} [--user | --global | --package-db]

reregister :: Verbosity -> ConfiguredProgram -> PackageDBStack -> Either FilePath InstalledPackageInfo -> IO ()

Call hc-pkg to re-register a package.

 hc-pkg register {filename | -} [--user | --global | --package-db]

unregister :: Verbosity -> ConfiguredProgram -> PackageDB -> PackageId -> IO ()

Call hc-pkg to unregister a package

 hc-pkg unregister [pkgid] [--user | --global | --package-db]

expose :: Verbosity -> ConfiguredProgram -> PackageDB -> PackageId -> IO ()

Call hc-pkg to expose a package.

 hc-pkg expose [pkgid] [--user | --global | --package-db]

hide :: Verbosity -> ConfiguredProgram -> PackageDB -> PackageId -> IO ()

Call hc-pkg to expose a package.

 hc-pkg expose [pkgid] [--user | --global | --package-db]

dump :: Verbosity -> ConfiguredProgram -> PackageDB -> IO [InstalledPackageInfo]

Call hc-pkg to get all the details of all the packages in the given package database.

list :: Verbosity -> ConfiguredProgram -> 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