Difference between revisions of "Upgrading packages/Updating to GHC 6.10"
DonStewart (talk | contribs) |
DonStewart (talk | contribs) |
||
Line 38: | Line 38: | ||
=== cabal-install=== |
=== cabal-install=== |
||
+ | It is worth upgrading cabal-install immediately (maybe before installing |
||
− | No change required. Should it be necessary to override, use |
||
+ | GHC). This way you can use the smart dependency solver to work out what |
||
+ | to install for you. |
||
+ | |||
+ | * install [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HTTP HTTP] from hackage |
||
+ | * install [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/zlib zlib] from hackage |
||
+ | |||
+ | Then build cabal-install. |
||
+ | |||
+ | You can also override the dependencies when using the 'cabal' binary, with |
||
--constraint="base<4" |
--constraint="base<4" |
Revision as of 04:28, 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
It is worth upgrading cabal-install immediately (maybe before installing GHC). This way you can use the smart dependency solver to work out what to install for you.
* install HTTP from hackage * install zlib from hackage
Then build cabal-install.
You can also override the dependencies when using the 'cabal' binary, with
--constraint="base<4"
Changes in base 4
- Exceptions