ekmett/reflection

Broken with GHC 7.0

Closed this issue · 8 comments

hvr commented
[1 of 1] Compiling Data.Reflection  ( fast/Data/Reflection.hs, dist/dist-sandbox-9956f8d3/build/Data/Reflection.o )

fast/Data/Reflection.hs:530:21:
    Not in scope: `unsafeDupablePerformIO'

unsafeDupablePerformIO is available only since base-4.4; I've added base >=4.4 constraints to affected releases

Sounds good.

I'll hack around it internally by making it fall back on unsafePerformIO on older GHCs.

Fixed in HEAD.

hvr commented

Maybe I should provide you with a more modern .travis.yml which actually tests 7.0 (and 8.0) ;-)

Until your PPA offers sufficiently old versions of cabal I can't really test 7.0 for most of my packages. Things get stuck when they go to build a dependency like distributive that has a custom Setup.lhs files when building with too new a Cabal on GHC < 7.4.

Consequently any testing of my packages on GHC < 7.4 other than through http://matrix.hackage.haskell.org/package/reflection is by highly masochistic volunteers -- all of whom happen to be named @RyanGlScott. ;)

Hey, it's only masochism if you enjoy it :)

But in my .travis.yml scripts, I never test with a cabal-install version earlier than 1.18. There are simply too many bugs that occur when using cabal-install-1.16 with GHC 7.0.4 and 7.2.2, and I don't think it's unreasonable to ask anyone who users old GHCs to just install a newer cabal-install.

hvr commented

.... cabal 1.24 helps with setup.hs issues :-)

On January 7, 2016 3:00:54 PM CET, Edward Kmett notifications@github.com wrote:

Until your PPA offers sufficiently old versions of cabal I can't really
test 7.0 for most of my packages. Things get stuck when they go to
build a dependency like distributive that has a custom Setup.lhs
files when building with too new a Cabal on GHC < 7.4.

Consequently any testing of my packages on GHC < 7.4 other than through
matrix builds is by highly masochistic volunteers -- all of whom happen
to be named @RyanGlScott. ;)


Reply to this email directly or view it on GitHub:
#24 (comment)

Sent from my Android device with K-9 Mail. Please excuse my brevity.

Can I just add a couple of lines to the existing .travis.yml I have here to build 7.0 and 7.2 with 1.24 or does that need something fancier because of some issue with newer cabals? I forget the myriad ways in which these things interact.