ekmett / distributive

Dual Traversable
http://hackage.haskell.org/package/distributive
Other
41 stars 25 forks source link

No upper bound on Cabal in setup-depends #39

Closed 23Skidoo closed 7 years ago

23Skidoo commented 7 years ago

The Cabal constraint in distributive's setup-depends is too permissive, which causes build failures like the one reported in https://github.com/haskell/cabal/issues/4137. For 0.5.3 the upper bound should be Cabal < 2.2, since you can't guarantee that the setup script will work with the next Cabal release.

RyanGlScott commented 7 years ago

I'm lost here. The setup script in use in distributive is just a thin wrapper around cabal-doctest, and moreover, doesn't directly import anything from Cabal-the-library itself. In fact, the only reason that there's even a Cabal dependency in this custom-setup in the first place is to work around a Cabal bug.

RyanGlScott commented 7 years ago

Moreover, after reading https://github.com/haskell/cabal/issues/4137, the build error described there isn't even for the most recent version of distributive!

phadej commented 7 years ago

I'll check this tomorrow

23Skidoo commented 7 years ago

It looks like the setup script is fixed in 0.5.3+. It would be nice if you could update the .cabal files for pre-0.5.3 versions of distributive on Hackage.

RyanGlScott commented 7 years ago

OK... what exactly was the fix, then? The only two versions of distributive on Hackage that use a custom-setup are versions 0.5.2 and 0.5.3, so would it suffice to restrict the upper version bounds on Cabal in distributive-0.5.2's custom-setup stanza to be < 2.2?

23Skidoo commented 7 years ago

Looks like it, provided that 0.5.2's custom setup is buildable with Cabal 2.0.

RyanGlScott commented 7 years ago

OK, I've made a revision on Hackage.