Udo Stenzel wrote:
> - Provide a known good cabal. Make sure it installs on GHC 6.6 and 6.4.
Cabal 1.2 works all the way back to GHC 6.2. The recommended way to build
new packages with an old GHC will be to upgrade Cabal first.
> - Start fixing dependencies.
In progress for the GHC 6.8.1 release, I believe (dcoutts is on the case).
> - Refrain from renaming stuff. System.Posix is a fine name.
Who renamed it? It's still called System.Posix AFAIK.
> - Refrain from always using the latest interface of everything.
>> While we're at it, the ability to have multiple versions of a library
> installed under the same name is a recipe for desaster, too. It should
> be dropped, instead implementing Eternal Compatibility in Theory by
> encoding version numbers in module names.
Personally I object to ECT, it's too heavy. I believe versioning belongs
in the package system where it currently is.
> Sorry for the rant, but the situation was actually better before Cabal
> tried to fix everything and in the process broke both versions of GHC
> that are in widespread use right now.
The main problem you seem to be running into is that base previously
contained bytestring, but you need to upgrade bytestring in order to use
binary, right?
In that case, I think a reasonable hack is to modify the package
configuration for base to move Data.ByteString from exposed-modules to
hidden-modules (I'd be wary about removing it altogether). Perhaps the
bytestring Setup.lhs should do this automatically when registering?
Cheers,
Simon