Upgrading packages

From HaskellWiki
Revision as of 23:44, 23 October 2016 by Gbaz (talk | contribs)
Jump to navigation Jump to search

A list of things that need updating when porting packages to newer library/cabal versions.

If you maintain a Haskell package this is for you. For older versions of this document:

Most new tips for fixing build failures are tracked at https://github.com/haskell-infra/hackage-trustees/blob/master/cookbook.md

This page only tracks updates through 7.0 and earlier.

Updating to GHC 7.0

When upgrading to GHC 7.0, any of your packages that worked against the base-3 library will need to be updated to the base-4.

Compatibility with older GHC

Use cabal's conditional thingy, checking on impl(ghc >= x.yz). E.g:

   ghc-options:         -Wall -fexcess-precision -funbox-strict-fields
   if impl(ghc >= 6.12)
       ghc-options:     -fno-warn-unused-do-bind