fpco/stackage-curator

--allow-newer seems to be broken

Opened this issue · 7 comments

duog commented

I've been hacking on this a bit, and I noticed that the --allow-newer flag in PerformBuild doesn't seem to work due to haskell/cabal#4719.

I didn't even remember we had an --allow-newer flag. Because Stackage enforces bounds, we can't use this for the official builds. I'm not sure what your use case is or how you're trying to use stackage-curator.

duog commented

I've been using stackage curator to benchmark some work ghc.
I hacked some instrumentation in, and I use it to run stackage build plans with different builds of ghc. It even builds tests + benchmarks!
Just letting you know it was broken in case it bites someone else.

Very cool!

I'm not sure what the best workaround for this is, but if you're interested in it, a workaround is editing the .cabal files to strip out all of the bounds information after unpacking.

duog commented

I have been patching all the configure-args adding --allow-newer --allow-older, seems to work.

duog commented

I will at some point. I've also got support for Cabal 2, which was quite a few changes, which I'll also send you.

duog commented

This is messy. --allow-newer and --allow-older were removed for Setup in
haskell/cabal@a95b8f4

But serialization of GenericPackageDescription was fixed in
haskell/cabal@c72fd0e

So this could be fixed with some messy logic conditional on the Cabal version, but it's probably not worth the hassle if no-one is using it.