ChrisPenner / rasa

Extremely modular text editor built in Haskell
GNU General Public License v3.0
616 stars 42 forks source link

text-lens: Overly restrictive bounds on Hackage #51

Open srhb opened 7 years ago

srhb commented 7 years ago

text-lens builds just fine with extra == 1.5.1 and lens == 4.15.1, but is restricted to < 1.5 and ==4.14.* respectively.

This affects package generation for at least Nix (and hence NixOS) as well. Can you bump them? :)

ChrisPenner commented 7 years ago

Hey there! Sorry; I'm actually still pretty new to Haskell package development; I don't have any bounds specified in my cabal file; does that mean it's defaulting to something? What would you like me to set the bounds to? Thanks!

srhb commented 7 years ago

I am unaware of any Hackage defaulting mechanics, so I have no idea where those bounds are coming from. But they are there! Very surprising. The bounds should be specified according to the PVP. In this case specifically we know that it should include at least extra 1.5.*, and assume breakage with the next major version (1.6). That is, the upper bound should be < 1.6 and the lower bound should be the earliest version you know it works with. LIkewise for all the other versions, we know text-lens builds with lens major version 4.15, so its upper bound should be < 4.16 etc.

Thanks! :-)

srhb commented 7 years ago

To add to the mystery, here is the cabal file (with bounds specified as above) according to Hackage.

srhb commented 7 years ago

I'm starting to think that maybe a Hackage trustee added them if there were none to begin with.

ChrisPenner commented 7 years ago

Ahh, yeah; that's probably the case. Perhaps @hvr ??

hvr commented 7 years ago

@srhb

I'm starting to think that maybe a Hackage trustee added them if there were none to begin with.

Nope ;-)

If a Trustee or anyone else performs a revision it would show up on Hackage rather explicitly.

@ChrisPenner you may remember #4? :-)

All you need to do is specify an explicit upper bound in your .cabal file, as Stack only adds the bounds that weren't explicitly stated in your .cabal file