ghc-package.eclass

Name

ghc-package.eclass -- This eclass helps with the Glasgow Haskell Compiler's package configuration utility.

Description

Helper eclass to handle ghc installation/upgrade/deinstallation process.

Supported EAPIs

6 7 8

Exported Phases

  • pkg_prerm

  • pkg_postrm

  • pkg_postinst

Functions

ghc-getghc

returns the name of the ghc executable

ghc-getghcpkgbin

returns the name of the ghc-pkg binary (ghc-pkg itself usually is a shell script, and we have to bypass the script under certain circumstances); for Cabal, we add an empty global package config file, because for some reason the global package file must be specified

ghc-version

returns upstream version of ghc as reported by --numeric-version.

Examples: 7.10.2, 7.9.20141222

ghc-pm-version

returns package manager(PM) version of ghc as reported by $(best_version)

Examples: PM:7.10.2, PM:7.10.2_rc1, PM:7.8.4-r4

ghc-cabal-version

return version of the Cabal library bundled with ghc

ghc-is-dynamic

checks if ghc is built against dynamic libraries binaries linked against GHC library (and using plugin loading) have to be linked the same way: https://ghc.haskell.org/trac/ghc/ticket/10301

ghc-supports-shared-libraries

checks if ghc is built with support for building shared libraries (aka -dynamic option)

ghc-supports-threaded-runtime

checks if ghc is built with support for threaded runtime (aka -threaded option)

ghc-supports-smp

checks if ghc is built with support for multiple cores runtime

ghc-supports-interpreter

checks if ghc has interpreter mode (aka GHCi). It usually means that ghc supports for template haskell.

ghc-supports-parallel-make

checks if ghc has support for --make -j mode. The option was introduced in ghc-7.8-rc1.

ghc-extract-pm-version

extract the version of a portage-installed package

ghc-libdir

returns the library directory

ghc-make-args

Returns default arguments passed along ghc --make build mode. Used mainly to enable parallel build mode.

ghc-confdir

returns the (Gentoo) library configuration directory, we store here a hint for haskell-updater about packages installed for old ghc versions and current ones.

ghc-package-db

returns the global package database directory

ghc-localpkgconfd

returns the name of the local (package-specific) package configuration file

ghc-package-exists

tests if a ghc package exists

check-for-collisions

makes sure no packages have the same version as initial package setup

ghc-install-pkg

moves the local (package-specific) package configuration file to its final destination

ghc-recache-db

updates package.cache binary cacne for registered *.conf packages

ghc-register-pkg

registers all packages in the local (package-specific) package configuration file

ghc-reregister

re-adds all available .conf files to the global package conf file, to be used on a ghc reinstallation

ghc-unregister-pkg

unregisters a package configuration file

ghc-pkgdeps

exported function: loads a package dependency in a form cabal_package version

ghc-package_pkg_postinst

updates package.cache after package install

ghc-package_pkg_prerm

updates package.cache after package deinstall

ghc-package_pkg_postrm

updates package.cache after package deinstall

Authors

Original Author: Andres Loeh <kosmikus@gentoo.org>

Maintainers

"Gentoo's Haskell Language team" <haskell@gentoo.org>

Reporting Bugs

Please report bugs via https://bugs.gentoo.org/