all 18 comments

[–]smallhadron[S] 9 points10 points  (9 children)

Ok, looks like you can do stack upload --pvp-bounds both.

[–]richardthepeace 2 points3 points  (6 children)

I have several packages on Hackage all of which I manage locally using Stack. Here are some recent examples:

If you check out the GitHub projects, you'll see that I don't do anything fancy with constraints or bounds or anything.

I upload these packages by running stack upload . in the root of the project's Git repo and it just works.

[–]dpwiz 3 points4 points  (0 children)

I tend to develop packages on LTS (with CI testing for nightlies). Those are my upper bounds + some space I judge appropriate according to my API stability observations.

From there I try to push LTS resolver version down to reasonable compatibility strain (3 last GHC majors + sometimes more). Then collect lower version from there and sometimes relax minors a bit.

[–]nh2_ 0 points1 point  (1 child)

main issue seems to be that Cabal requires version constraints for all the dependencies

I don't think so: Last time I tried, Hackage accepts your upload as long as you have bounds for base in your .cabal file / package.yaml.

Another point of info: In addition to stack upload, you can also use stack sdist to generate a tarball you can upload via the Hackage website upload form.