2008-10-12 Hackage status with GHC 6.10 release candidate

Hey all. The GHC 6.10 RCs are out, and we're preparing the release. To help manage the transistion to GHC 6.10 it is now possible to actually build all the 3rd party Haskell packages, and publish their results wrt. the release candidate. For the first time ever, we're able to have all the 3rd party code tested and ready to go *prior* to the release of the new compiler and base libraries. Using GHC 6.10 RC, Cabal 1.6 and cabal-install 1.16, of 682 libraries and apps tried in total, 1 UnpackFailed 2 DownloadFailed 2 InstallFailed 16 ConfigureFailed 73 DependencyFailed 132 BuildFailed 456 InstallOk Note that these builds are with "soft deps", provided on hackage, base < 4 parsec < 3 HaXml == 1.13.* QuickCheck < 2 which train cabal-install to build a larger set of packages. The important result: *46 packages produce different results to ghc 6.8.2* These packages and their logs are listed below. If you maintain one of the following packages, and are able to fix it before GHC 6.10 is released, your users will be happy. The most common issues for these differences are, * Changes to Arrow class definition * Changes to types of Map and Set functions * Cabal changes * Changes to ghc-api * Changes to when 'forall' is parsed (add Rank2Types) * GHC.Prim was moved, * Changes to -fvia-C and headers * GADT changes, * pragma warnings tightened * Integer constructors have moved * New warnings and used -Werror How to address these, as library maintainers, is addressed here, http://haskell.org/haskellwiki/Upgrading_packages Build reports for everything, produced today, are here, http://galois.com/~dons/tmp/build-logs-2008-10-12/ The following packages are producing different results than with ghc 6.8.2. Package maintainers are invited to look at them. ArrayRef-0.1.2 CLASE-2008.9.23.2 EdisonCore-1.2.1.2 HPDF-1.4 HaLeX-1.1 Hashell-0.15 Hipmunk-0.2 MemoTrie-0.0 NewBinary-0.1.1 PArrows-0.1 TypeCompose-0.5 WebBits-0.9.2 YamlReference-0.9.2 Yampa-0.9.2.2 arrows-0.4 bytestring-show-0.2 cabal-setup-1.2.1 chp-1.1.0 cmath-0.3 fixpoint-0.1 hasim-0.1 hask-home-2007.12.6 hetris-0.2 hexpat-0.2 hinstaller-2008.2.16 hint-0.2.4.1 hslackbuilder-0.0.1 hxt-8.1.0 iException-0.0.1 libGenI-0.16.1 list-extras-0.2.2 logfloat-0.9.1 mage-1.1.0 numeric-prelude-0.0.4 plugins-1.3 quantum-arrow-0.0.4 regex-tdfa-0.94 streamproc-1.1 stringtable-atom-0.0.4 typalyze-0.1.1 xmonad-utils-0.1 yhccore-0.9 If you'd like to try your own build of all of hackage, grab a package list (such as this one), http://www.galois.com/~dons/tmp/pkgs-6.10 Install a GHC 6.10 release candidate, upgrade to Cabal 1.6 (on hackage), and cabal-install 0.6 (on hackage), and then simply, cabal install -v -O0 $(cat pkgs-6.10) --build-reports This will construct a clever plan to install all the packages in the right order, and write logs to ~/.cabal/logs and a full structured build report into ~/.cabal/packages/hackage.*/build-report.log -- Don

Don Stewart wrote:
Note that these builds are with "soft deps", provided on hackage,
base < 4 parsec < 3 HaXml == 1.13.* QuickCheck < 2
which train cabal-install to build a larger set of packages.
Will this happen automatically somehow, or will users have to do this manually?
The important result:
*46 packages produce different results to ghc 6.8.2*
These packages and their logs are listed below.
If you maintain one of the following packages, and are able to fix it before GHC 6.10 is released, your users will be happy.
The most common issues for these differences are,
* Changes to Arrow class definition * Changes to types of Map and Set functions
It would be feasible to provide a containers-0.1, if anyone thinks that's worthwhile.
* Cabal changes * Changes to ghc-api * Changes to when 'forall' is parsed (add Rank2Types) * GHC.Prim was moved,
Nobody should be importing GHC.Prim, use GHC.Exts instead.
* Changes to -fvia-C and headers
I wrote a more detailed entry for the release notes about this: http://www.haskell.org/ghc/dist/stable/docs/users_guide/release-6-10-1.html ("FFI change" under "User-visible compiler changes") Cheers, Simon

marlowsd:
Don Stewart wrote:
Note that these builds are with "soft deps", provided on hackage,
base < 4 parsec < 3 HaXml == 1.13.* QuickCheck < 2
which train cabal-install to build a larger set of packages.
Will this happen automatically somehow, or will users have to do this manually?
Yes, Duncan and Ross have modified the scripts on hackage, so that a "preferred-versions" file is included in the Hackage index. So there is one central point where these version suggestions to cabal-install are set. As long as you're using cabal-install 0.6, and do a 'cabal update' things should just work. -- Don

On Mon, 2008-10-13 at 10:54 -0700, Don Stewart wrote:
marlowsd:
Don Stewart wrote:
Note that these builds are with "soft deps", provided on hackage,
base < 4 parsec < 3 HaXml == 1.13.* QuickCheck < 2
which train cabal-install to build a larger set of packages.
Will this happen automatically somehow, or will users have to do this manually?
Yes, Duncan and Ross have modified the scripts on hackage, so that a "preferred-versions" file is included in the Hackage index.
There was a day and a half or so when this change got accidentally reverted due to some mis-communication between myself and Ross (my fault). It's all fixed up now. Currently these preferred version are only taken into account by "cabal install" not "cabal configure" (though that's an obvious improvement to do). Duncan
participants (3)
-
Don Stewart
-
Duncan Coutts
-
Simon Marlow