Difference between revisions of "Upgrading packages"

From HaskellWiki
Jump to navigation Jump to search
(request for information)
(3 intermediate revisions by 3 users not shown)
Line 6: Line 6:
 
* [[/Updating to GHC 6.10]]
 
* [[/Updating to GHC 6.10]]
 
* [[/Updating to GHC 6.8]]
 
* [[/Updating to GHC 6.8]]
  +
* [[/Updating to GHC 7.6]]
   
  +
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'''
 
'''Updating to GHC 7.0'''
Line 13: Line 17:
 
the base-3 library will need to be updated to the base-4.
 
the base-3 library will need to be updated to the base-4.
   
'''Wanted - catering to GHC versions'''
+
'''Compatibility with older GHC'''
   
  +
Use cabal's conditional thingy, checking on impl(ghc >= x.yz). E.g:
How do I configure Cabal to use different GHC options depending on GHC version?
 
E.g. using -fno-warn-unused-bind is convenient for certain GHC versions, but breaks compatibility with older ones.
 
   
  +
ghc-options: -Wall -fexcess-precision -funbox-strict-fields
(This is a stub, since the previous version was so out-of-date. Please help by adding useful content.)
 
  +
if impl(ghc >= 6.12)
  +
ghc-options: -fno-warn-unused-do-bind

Revision as of 23:44, 23 October 2016

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