[Haskell-cafe] 2008-10-13 Hackage status with GHC 6.10 release candidate

Don Stewart dons at galois.com
Tue Oct 14 01:08:42 EDT 2008


Hey all.

The GHC 6.10 RCs are out, and we're preparing the release of GHC proper.
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 from today, Cabal 1.6 and cabal-install 1.16, of 682
libraries and apps tried in total,

      1 UnpackFailed
      2 DownloadFailed
      2 InstallFailed
     16 ConfigureFailed
     68 DependencyFailed
    122 BuildFailed
    469 InstallOk

Since yesterday,

    * dependency failures have reduced by 5
    * build failures have reduced by 10
    * total successfully installed packages are **up by 14**

These new packages now all build ok with the GHC 6.10 release candidate,

    Graphalyze-0.4
    alsa-midi
    calc
    glome-hs
    harpy
    heap
    hmp3
    ircbouncer
    mohws
    panda
    pandoc
    roguestar-engine
    type-level
    typeof
    unicode-prelude
    urlcheck

Good work everyone!

Some packages are still not ready though, 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

The following packages are still producing different results than with ghc
6.8.2.  Package maintainers are invited to look at them.

I've marked the easy ones.

    ArrayRef-0.1.2
        Easy:   duplicate type signatures
    CLASE-2008.9.23.2
        Hard:   GADT changes 
    EdisonCore-1.2.1.2
        Easy:   Monadic Map
    HPDF-1.4
        Easy:   Monadic Map
    HaLeX-1.1
        Easy:   Name clash with permutations
    Hashell-0.15
        ?   :   GHC API
    Hipmunk-0.2
        Easy:   Monadic Map
    MemoTrie-0.0
        Easy:   'forall' parsing
    NewBinary-0.1.1
        Easy:   Integer constructors moved
    PArrows-0.1
        Easy:   GHC.Prim moved (use GHC.Exts)
    TypeCompose-0.5
        Easy:   Arrow class changes
    YamlReference-0.9.2
        Hard.   Unknown
    Yampa-0.9.2.2
        Arrow class changes
    arrows-0.4
        Arrow class changes
    bytestring-show-0.2
        Easy:   Integer constructors moved
    cabal-setup-1.2.1
        Hard:   Cabal changes
    chp-1.1.0
        Easy:   Arrow class changes
    cmath-0.3
        Hard:   -fvia-C changes
    fixpoint-0.1
        Easy:   Uses -Werror unnecessarily
    hasim-0.1
        Hard:   GADT changes
    hask-home-2007.12.6
        Easy:   Cabal changes
    hetris-0.2
        Easy:   header macros/-fvia-C
    hexpat-0.2
        Easy:   'forall' parsing in RULES
    hinstaller-2008.2.16
        Easy:   Cabal changes
    hint-0.2.4.1
        Hard?   GHC API
    hslackbuilder-0.0.1
        Easy:   Cabal changes
    hxt-8.1.0
        Easy:   Arrow class change
    iException-0.0.1
        ?       Exception changes
    libGenI-0.16.1
        Easy:   Monadic Map changes
    mage-1.1.0
        Hard:   -fvia-C changes
    numeric-prelude-0.0.4
        Easy:   Lanuage pragma
    plugins-1.3
        Easy:   Cabal changes
    quantum-arrow-0.0.4
        Easy:   Arrow class changes
    regex-tdfa-0.94    
        Easy:   Map changes
    streamproc-1.1
        Easy:   Arrow class changes
    stringtable-atom-0.0.4
        Easy:   Monadic Map
    typalyze-0.1.1
        ?       GHC API
    xmonad-utils-0.1
        ?       GHC API
    yhccore-0.9
        ?       Pragma parsing

Build reports for everything, produced today, are here,

    http://galois.com/~dons/tmp/build-logs-2008-10-13/

How to address these, as library maintainers, is addressed here,

    http://haskell.org/haskellwiki/Upgrading_packages

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

I'll start mailing maintainers personally tomorrow.

-- Don


More information about the Haskell-Cafe mailing list