Difference between revisions of "Upgrading packages/Updating to GHC 6.10"
DonStewart (talk  contribs) (→Updating to GHC 6.10 and Cabal 1.6) 
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''' 

−  Main changes: 

+  When upgrading to GHC 6.10, any of your packages that worked against 

+  the base3 library will continue to work. GHC 6.10 provides both the old 

+  base3 library and the new base4. 

−  * base3 '''and''' base4 will be installed, meaning you can always 

+  To ensure your old code continues to work, you can have the code compile 

−  force packages to build against the old base. 

+  and link against base3, and then, over time, migrate code to the base4 

+  series. 

⚫  
+  == Adding base3 constraints == 

+  
+  How to do this depends on how you build your Haskell code. We'll start 

+  with the most simplistic build mechanisms. cabalinstall, the most 

+  sophisticated tool, will sort this all out for you anyway, so things 

+  should change. 

+  
+  === ghc make === 

+  
+  Force use of package base3 when using make, 

+  
+  ghc make package base3.0.3.0 

===runhaskell === 
===runhaskell === 

−  Packages that require base3 (e.g. for old implementations of the 

+  If you build your packages with the 'runhaskell Setup.hs configure' 

−  exceptoin type, can be built using runhaskell Setup.hs with: 

+  method, then you can force the use of base3, 

+  
⚫  
+  
⚫  
+  
+  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 base3 library will continue to work. GHC 6.10 provides both the old base3 library and the new base4.
To ensure your old code continues to work, you can have the code compile and link against base3, and then, over time, migrate code to the base4 series.
Contents
Adding base3 constraints
How to do this depends on how you build your Haskell code. We'll start with the most simplistic build mechanisms. cabalinstall, the most sophisticated tool, will sort this all out for you anyway, so things should change.
ghc make
Force use of package base3 when using make,
ghc make package base3.0.3.0
runhaskell
If you build your packages with the 'runhaskell Setup.hs configure' method, then you can force the use of base3,
constraint="base<4"
cabalinstall
No change required. Should it be necessary to override, use
constraint="base<4"
Changes in base 4
 Exceptions