Difference between revisions of "Arch Linux/Preferred Package Tools"

From HaskellWiki
Jump to navigation Jump to search
(Yaourt upgrade now supports "provides")
(added example for clyde)
Line 13: Line 13:
 
* [http://aur.archlinux.org/packages.php?ID=33511 bauerbill]
 
* [http://aur.archlinux.org/packages.php?ID=33511 bauerbill]
 
* [http://aur.archlinux.org/packages.php?ID=30242 paktahn]
 
* [http://aur.archlinux.org/packages.php?ID=30242 paktahn]
  +
* [http://aur.archlinux.org/packages.php?ID=34686 clyde]
   
 
== Legacy tools: yaourt ==
 
== Legacy tools: yaourt ==
Line 23: Line 24:
 
sudo bauerbill --no-color --aur -S haskell-csv
 
sudo bauerbill --no-color --aur -S haskell-csv
 
paktahn -S haskell-csv
 
paktahn -S haskell-csv
  +
sudo clyde -S haskell-csv

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".

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
   sudo clyde -S haskell-csv