This repository was archived by the owner on Oct 7, 2020. It is now read-only.
This repository was archived by the owner on Oct 7, 2020. It is now read-only.
Support Cabal 3.0.0.0 #1376
Closed
Description
Recently Cabal 3.0.0.0 and cabal-install 3.0.0.0 was released, bringing along the following relevant changes I could find:
- Deprecation of old symbols in Remove a bunch of previously deprecated stuff in preparation for the 3.0 release. cabal#6022
This change is relevant because the version ofcabal-helper
HIE is using still references these old symbols. upstreamcabal-helper
doesn't reference them anymore. - New-style builds are now the default, meaning
cabal configure
is not using old-style builds anymore. This is a problem because bothcabal-helper
andghc-mod
have the assumption that old-style builds are the default in that they usecabal configure
and such, and notcabal v1-configure
.
Relevant code inghc-mod
: https://github.com/alanz/ghc-mod/blob/910887b2c33237b703417ec07f35ca8bbf35d729/core/GhcMod/CabalHelper.hs#L192-L197.
Relevant code incabal-helper
: https://github.com/alanz/cabal-helper/blob/eafed5e8c1d82b8daa35775b52361132f2e70261/src/CabalHelper/Compiletime/Compile.hs#L452
As far as I can see, this results in HIE being broken for everybody using Cabal 3.0.0.0
Possible solutions
- Patch
ghc-mod
andcabal-helper
to usev1-
commands explicitly - One of
- Patch
cabal-helper
to not use the deprecated symbols anymore, by looking at what upstreamcabal-helper
did to remove them. This might be simple or it might not be simple at all - Update
cabal-helper
to the upstream version, this is what Use new cabal-helper #1245 tries to do, but there seems to be some problems - I also think hie-bios by @mpickering would solve this, though this doesn't look like it's going to be merged quickly
- Patch
Ping @fendor @bubba @alanz @mpickering @DanielG
Related issues: