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

Don Stewart dons at galois.com
Sun Oct 12 17:46:05 EDT 2008


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



More information about the Libraries mailing list