Upgrading packages

From HaskellWiki
Revision as of 14:57, 19 March 2018 by Henk-Jan van Tuyl (talk | contribs) (Added link to "2.0 migration guide"; changed link "/Updating to GHC 7.6" to "/Updating to GHC 7"; swapped links)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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