
On Thu, Aug 30, 2012 at 7:24 PM, wren ng thornton
On 8/30/12 10:26 AM, Erik Hesselink wrote:
* Packages might not work with the new bytestring version, since the API has breaking changes (although they're supposed to be minor).
For the first two, you need to add some CPP, for the last, you need actual testing.
Actually, that can be more problematic than you suspect. In particular, hsc2hs does not play nicely with Cabal's MIN_VERSION_foo(1,2,3) macros. So if you're using hsc2hs, which is common for certain FFI uses, then you have to put up with the warnings or rely on the __GLASGOW_HASKELL__ macro in lieu of the MIN_VERSION_foo(1,2,3) macros. It's doable, but it's uglier and more hackish than it ought to be.
Ah yes, I found this out a while ago on one of my packages. As a tip for those doing this: the value of __GLASGOW_HASKELL__ is xyy, with x the first version component, and y the second. So, say, 7.4.2 has a value of 704, not 742. Erik