Difference between revisions of "Upgrading packages/Updating to GHC 6.10"
DonStewart (talk | contribs) |
DonStewart (talk | contribs) |
||
Line 2: | Line 2: | ||
If you maintain a Haskell package this is for you. |
If you maintain a Haskell package this is for you. |
||
− | |||
For older versions of this document: |
For older versions of this document: |
||
* [[/Updating to GHC 6.8]] |
* [[/Updating to GHC 6.8]] |
||
− | + | '''Updating to GHC 6.10 and Cabal 1.6''' |
|
+ | When upgrading to GHC 6.10, any of your packages that worked against |
||
− | Main changes: |
||
+ | the base-3 library will continue to work. GHC 6.10 provides both the old |
||
+ | base-3 library and the new base-4. |
||
+ | To ensure your old code continues to work, you can have the code compile |
||
− | * base-3 '''and''' base-4 will be installed, meaning you can always |
||
+ | and link against base-3, and then, over time, migrate code to the base-4 |
||
− | force packages to build against the old base. |
||
+ | series. |
||
+ | == Adding base-3 constraints == |
||
⚫ | |||
+ | |||
+ | How to do this depends on how you build your Haskell code. We'll start |
||
+ | with the most simplistic build mechanisms. cabal-install, the most |
||
+ | sophisticated tool, will sort this all out for you anyway, so things |
||
+ | should change. |
||
+ | |||
+ | === ghc --make === |
||
+ | |||
+ | Force use of package base-3 when using --make, |
||
+ | |||
+ | ghc --make --package base-3.0.3.0 |
||
===runhaskell === |
===runhaskell === |
||
+ | If you build your packages with the 'runhaskell Setup.hs configure' |
||
− | Packages that require base-3 (e.g. for old implementations of the |
||
+ | method, then you can force the use of base-3, |
||
− | exceptoin type, can be built using runhaskell Setup.hs with: |
||
+ | |||
+ | --constraint="base<4" |
||
+ | |||
⚫ | |||
+ | |||
+ | No change required. Should it be necessary to override, use |
||
+ | |||
+ | --constraint="base<4" |
||
− | + | == Changes in base 4 == |
|
+ | * Exceptions |
||
[[Category:Libraries]] |
[[Category:Libraries]] |
Revision as of 04:06, 9 October 2008
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:
Updating to GHC 6.10 and Cabal 1.6
When upgrading to GHC 6.10, any of your packages that worked against the base-3 library will continue to work. GHC 6.10 provides both the old base-3 library and the new base-4.
To ensure your old code continues to work, you can have the code compile and link against base-3, and then, over time, migrate code to the base-4 series.
Adding base-3 constraints
How to do this depends on how you build your Haskell code. We'll start with the most simplistic build mechanisms. cabal-install, the most sophisticated tool, will sort this all out for you anyway, so things should change.
ghc --make
Force use of package base-3 when using --make,
ghc --make --package base-3.0.3.0
runhaskell
If you build your packages with the 'runhaskell Setup.hs configure' method, then you can force the use of base-3,
--constraint="base<4"
cabal-install
No change required. Should it be necessary to override, use
--constraint="base<4"
Changes in base 4
- Exceptions