Arch Linux/Preferred Package Tools
(Yaourt upgrade now supports "provides")
(added example for clyde)
Revision as of 08:57, 8 April 2010
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".
1 Recommended Tools
2 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.
sudo bauerbill --no-color --aur -S haskell-csv paktahn -S haskell-csv sudo clyde -S haskell-csv