Sven Panne wrote:
Looking at our current technology for building packages below ghc/libraries, I
think that for each package there are 2 redundant files: package.conf.in and
prologue.txt. If I see things correctly, almost all information is already in
the foo.cabal files, so the question is: What are the plans for removing this
redundancy? I think this has been discussed before, but I can't remember the
outcome.
The background behind this: When adding or removing Cabal packages via RPM,
one has to regenerate the Haddock "Contents" page and the "Index" pages to
match the set of currently installed Cabal packages. This is similar to what
has to be done for info pages via install-info. To do this, one needs the
package descriptions, which should be taken from the "description" fields of
the installed Cabal packages (note that these should contain Haddock markup
then). But currently foo.cabal and package.conf.in are very out-of-sync for
most packages (empty/different descriptions, even differing package versions
(fgl!), bug reports due to inconsistent list of modules, etc.).
Ian is working on using Cabal to build the packages. This is definitely the
direction we want to go.
There are some problems, though. These are the ones that spring to mind, I'm
sure there are others:
- bootstrapping from HC files. Cabal doesn't know how to do this, and
the fact that Cabal is a Haskell library itself presents some
bootstrapping "issues" :-)
- parallel make: currently we can take advantage of 'make -j' when
building libraries, Cabal can't do this (yet).
- The GHC package: due to a long-standing hard-to-fix bug in GHC, it can't
build itself with optimisation and --make, which means that Cabal can't be
used to build the GHC package, so we'd need to retain the old build
system infrastructure in order to build the GHC package, for now anyway.
- we need some extensions to Cabal in order to support conditionals in
the .cabal file. I think this is the most urgent sticking point, in fact.
The design is more or less complete (see recent discussion on
cabal-devel@haskell.org) but no implementation as yet.
Cheers,
Simon
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc