Cabal compatibility redeux

I'd just like to reseruct the conversation from here (http://www.haskell.org//pipermail/libraries/2005-December/004692.html) for a quick moment if I might. At the time I wrote:
This would greatly simplify the Distribution.Simple.UserHooks structure bringing it from 34 fields to 14 fields, or so.
Downsides: Making pre and post hooks would now be slightly harder, and it would break existing hooks-using code.
I just want to mention that these kind of changes represent represent a VERY big problem. I discussed that issue at some length in an email I intended to send to this list very recently, but it seems to have gotten lost.
Are you sure they represent a very big problem in practice and not just in theory?
[snip]
Well, obviously it isn't a practical problem yet. If it was we'd have people screaming about it on the lists.
I would now like to add to the theoretical arguments I made then the evidence that the HSQL driver package for MySQL uses the user hooks of Cabal and I have just experienced a case of Cabal version skew breaking a build system, because this package will not build for me using Cabal 1.1.3. I am unsure at the moment if this is because my Cabal is too new or too old, and I now face the prospect of 1) hacking on the build system to match my cabal, 2) trying random cabal upgrades/downgrades or 3) pinging the package maintainers to figure out how to build this package. Rob Dockins

(snip)
I would now like to add to the theoretical arguments I made then the evidence that the HSQL driver package for MySQL uses the user hooks of Cabal and I have just experienced a case of Cabal version skew breaking a build system, because this package will not build for me using Cabal 1.1.3. I am unsure at the moment if this is because my Cabal is too new or too old, and I now face the prospect of 1) hacking on the build system to match my cabal, 2) trying random cabal upgrades/downgrades or 3) pinging the package maintainers to figure out how to build this package.
You should ping the package maintainer. All Cabal releases since 1.0 have been release candidates for the exact reason that we need to experiment with the interfaces. Folks using 1.1.3 or what-have-you are early adopters who,I believe, are accepting the responsibility of helping their users when this happens. Of course I and others on this list are also happy to help. I'm very strongly leaning toward writing a compatibility layer between cabal 1.0 and 1.2 (which I hope to release soon), and I'll read up on that when I'm ready to make a release and bring up the options here. I might bug you for help :) peace, isaac
participants (2)
-
Isaac Jones
-
Robert Dockins