Cabal/Cabal-syntax split patches
2 unresolved threads
2 unresolved threads
Compare changes
Files
6+ 3
− 1
@@ -19,7 +19,6 @@ bootPkgs = S.fromList
@@ -19,7 +19,6 @@ bootPkgs = S.fromList
@@ -27,6 +26,9 @@ bootPkgs = S.fromList
@@ -27,6 +26,9 @@ bootPkgs = S.fromList
I'm not sure how to feel about removing
Cabal
from the list of dependencies to mark asallow-newer
. Generally speaking, I think we should try to build with the versions of libraries that come bundled with GHC HEAD, andCabal
is one such library that is bundled with GHC. It's true that you can re-install it, but will result in a lot of wasted build time. Moreover, building with the bundled versions of libraries can sometimes uncover legitimate build issues, which would be preferable to address inhead.hackage
when they arise.That being said, it may not be possible to do this at the moment, since there is the matter of the strange
Agda
bug observed in !205 (comment 408891). In that case, I propose that we:Cabal
is absent from this list, andAgda
bug so that we don't forget to investigate it. If we resolve that bug, we can attempt to addCabal
make to the list afterwards.The reason for removing the allow-newer on Cabal is this cabal thread. https://github.com/haskell/cabal/issues/7974
In short if you allow-newer on Cabal you can end up in situations where you choose a Cabal which requires a Cabal-syntax release, but can't easily specify this in a cabal file because of lack of support for conditionals in setup-depends.
Wow, I had no idea that
custom-setup
stanzas don't support conditionals. That's a shame. In that case, we pretty much have no choice but to restrict the upper version bounds ofCabal
for now. I still think it's worth documenting why we do this, since it's an exception to the usual treatment of GHC-bundled libraries.