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

From HaskellWiki
Jump to navigation Jump to search
Line 1: Line 1:
Haskell packages in Arch Linux, as stated by the Arch Haskell [[Arch Linux/Policy]], use "provides" syntax in PKGBUILDs. In partcular, the [http://www.archlinux.org/packages/extra/i686/ghc/ ghc] package "provides" many core libraries. This set changes from release to release, and you can find the current [http://repos.archlinux.org/wsvn/packages/ghc/repos/extra-i686/PKGBUILD list of provides here].
+
Haskell packages in Arch Linux, as stated by the Arch Haskell [[Arch Linux/Policy]], use "provides" syntax in PKGBUILDs. In partcular, the [http://www.archlinux.org/packages/extra/i686/ghc/ ghc] package "provides" many core libraries. This set changes from release to release, and you can find the current [http://repos.archlinux.org/wsvn/packages/ghc/repos/extra-i686/PKGBUILD 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.
 
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.
Line 6: Line 6:
   
 
$ sudo [http://aur.archlinux.org/packages.php?ID=33511 bauerbill] --no-color --build-as $USER --aur -S cpphs
 
$ sudo [http://aur.archlinux.org/packages.php?ID=33511 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 ==
 
== Recommended Tools ==

Revision as of 06:48, 25 January 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

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