On Thu, Mar 26, 2015 at 11:40 AM Erik Hesselink <
hesselink@gmail.com> wrote:
On Mon, Mar 23, 2015 at 6:44 AM, Mark Lentczner
<mark.lentczner@gmail.com> wrote:
> 7. Cabal incompatible API change
> In particular, the api that a custom Setup.hs uses.
> Distribution.Simple.UserHooks changed the type of a hook. It should not, it
> should have added another to do what it wanted. The poblem is you can't use
> CPP in Setup.hs. And so now anyone using the testHook hook is in a pickle:
> Your Setup.hs can't work in both 7.10 and 7.8!
It can, but it's a bit tricky. When this happened before, people used
a type class with two instances, where one of them filled in a default
argument, IIRC. I can't find the exact code now, perhaps others
remember this better.
I wrote a blog post in June of last year[1] and was told that some of those tricks are used to Cabal files. I also don't have a link to a real example, but the blog post may help.
Michael