Arch Linux/Preferred Package Tools

From HaskellWiki
< Arch Linux
Revision as of 17:25, 1 April 2010 by Pdxleif (talk | contribs) (Yaourt upgrade now supports "provides")
Jump to navigation Jump to search

Haskell packages in Arch Linux, as stated by the Arch Haskell Arch Linux/Policy, use "provides" syntax in PKGBUILDs. In partcular, the ghc package "provides" many core libraries. This set changes from release to release, and you can find the current list of provides here. Typical provides are things like "haskell-cabal" or "haskell-containers".

In order for all our Haskell packages not to break on each GHC release, we use the "provides" mechanism to list all dependencies, including those shipped with GHC. That means you will see Haskell packages with, e.g. "haskell-cabal" as a dependency. This package is provided by the ghc package.

To download a Haskell package, you would use, for example:

   $ sudo bauerbill --no-color --build-as $USER --aur -S cpphs

Note that upgrading a package that is listed in the provides may give you the counter-intuitive idea that say, haskell-cabal requires haskell-cabal to bootstrap. In fact, the recursion is broken by the use of "provides".

Recommended Tools

Legacy tools: yaourt

As of March 27, 2010, with the release of version 0.9.3, yaourt supports the "provides" field and installs Haskell packages fine. Sadly, one of the most famous package builder tools does not support the "provides" field, and thus yaourt is entirely broken with Haskell packages.

Examples

   sudo bauerbill --no-color --aur -S haskell-csv
   paktahn -S haskell-csv