Difference between revisions of "Upgrading packages"
Jump to navigation
Jump to search
m (Added two links) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | Information about adapting packages to new a version of GHC or Cabal can be found on the following pages: |
||
− | 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: |
||
+ | * [https://ghc.haskell.org/trac/ghc/wiki/Migration Migration Guide]; this page provides information to help migrating between major GHC releases. |
||
+ | * [https://github.com/haskell/cabal/wiki/2.2-migration-guide 2.2 migration guide]; updating for Cabal 2.2 |
||
+ | * [http://coldwa.st/e/blog/2017-09-09-Cabal-2-0.html What's new in Cabal/cabal-install 2.0 — improved new-build, Backpack, foreign libraries and more!] (blog article) |
||
+ | * [https://github.com/haskell/cabal/wiki/2.0-migration-guide 2.0 migration guide]; updating for Cabal 2.0 |
||
⚫ | |||
* [[/Updating to GHC 6.10]] |
* [[/Updating to GHC 6.10]] |
||
* [[/Updating to GHC 6.8]] |
* [[/Updating to GHC 6.8]] |
||
+ | |||
⚫ | |||
+ | Detailed information about changes in the latest GHC release can be found in the [https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/index.html GHC User’s Guide] |
||
Most new tips for fixing build failures are tracked at https://github.com/haskell-infra/hackage-trustees/blob/master/cookbook.md |
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. |
||
− | |||
⚫ | |||
− | |||
− | Use cabal's conditional thingy, checking on impl(ghc >= x.yz). E.g: |
||
+ | To maintain compatibility with older versions of GHC, use a conditional block in the .cabal file, checking on implementation (ghc >= x.y.z). For example: |
||
− | ghc-options: -Wall -fexcess-precision -funbox-strict-fields |
||
+ | <pre> |
||
− | + | if impl(ghc >= 6.12) |
|
− | + | ghc-options: -fno-warn-unused-do-bind |
|
+ | </pre> |
Latest revision as of 20:19, 19 March 2018
Information about adapting packages to new a version of GHC or Cabal can be found on the following pages:
- Migration Guide; this page provides information to help migrating between major GHC releases.
- 2.2 migration guide; updating for Cabal 2.2
- What's new in Cabal/cabal-install 2.0 — improved new-build, Backpack, foreign libraries and more! (blog article)
- 2.0 migration guide; updating for Cabal 2.0
- /Updating to GHC 7
- /Updating to GHC 6.10
- /Updating to GHC 6.8
Detailed information about changes in the latest GHC release can be found in the GHC User’s Guide
Most new tips for fixing build failures are tracked at https://github.com/haskell-infra/hackage-trustees/blob/master/cookbook.md
Compatibility with older GHC
To maintain compatibility with older versions of GHC, use a conditional block in the .cabal file, checking on implementation (ghc >= x.y.z). For example:
if impl(ghc >= 6.12) ghc-options: -fno-warn-unused-do-bind