[project @ 2004-11-09 15:48:34 by simonmar]
Adding Cabal to GHC, stage 1:
- Add Data.Version library as previously discussed on
libraries@haskell.org.
- import the Cabal library as a package under fptools/libraries,
build & install it by default.
- Instead of importing Cabal's version of ReadP, I added the extra
combinators to Text.ParserCombinators.ReadP. If anyone objects,
please speak up.
I made various changes to Cabal along the way, which I'll try to fold
back into the main Cabal sources in due course. The changes are
roughly these:
- Generic Version stuff removed from Distribution.Version (now in
Data.Version).
- Some modules were rearranged. Distribution.Misc was replaced by
Distribution.License & Distribution.Extension. Distribution.Package
split into D.PackageDescription and D.Package.
- modules under Compat.* renamed to Distribution.Compat.*. Hopefully
I've retained enough compatibility stuff so that this will still build
under nhc98 & Hugs.
- Some elaboration of InstalledPackageInfo, which was previously unused
in Cabal. I've updated the type definition with respect to changes
in PackageDescription, and added a parser/pretty-printer for it.
This is going to be used in the new ghc-pkg.
- Fixed a bug or two that I found along the way.
The next stage will be to integrate GHC's idea of packages with
Cabal's. That means ghc-pkg must grok InstalledPackageInfo, and we
must use all the new information (versions, exposed/unexposed modules etc.).