-
Notifications
You must be signed in to change notification settings - Fork 54
Conversation
Atm, this PR also seems to destroy the Ubuntu-20.04 will only support a few legacy GHCs: relevant are 7.4.2 7.2.2 7.0.4 (and maybe 7.10.3). https://launchpad.net/~hvr/+archive/ubuntu/ghc?field.series_filter=focal |
Windows CI with cabal 3.0 and 3.2 fails with error |
The symlinking issue has a long history on cabal bugtracker (e.g. haskell/cabal#5748). Chocolatey fixes it here: https://github.com/Mistuke/CabalChoco/blob/656b693745acd0f91d2ef06b3ecfb2ab9051d65d/3.2.0.0/cabal/tools/chocolateyInstall.ps1#L286 If ghcup doesn't include the same fix, then either the action has to include it (it's simply a matter of |
Conflicts: setup/src/setup-haskell.ts
@ulysses4ever wrote
Thanks for the pointers. It seems that these config file settings are available since cabal 3.2.0.0 only:
So it is good to test relevant cabal versions on Windows (3.0, 3.2). Added to CI. |
Good to see the progress here, thank you. More generally, I wanted to share a doubt I was contemplating over the weekend after I learned a bit about the CabalChoco/GhcChoco repos. It looks like supporting Windows required a lot of downstream patching. The fact that CI caught the symlinking issue may be a sheer luck, and more issues may go unnoticed until the switch from Chocolatey to ghcup goes public. So, maybe the change in its current form is a bit radical. Maybe something more cautious like switching to ghcup only when newer cabals are requested (e.g. starting from 3.10 or something). It may also be easier to convince the ghcup maintainer to patch new releases when/if such a need pops up than it is for old releases. This is just some rough thought, and it's up to the maintainers of respective facilities to decide, of course. |
I brought back Choco as default, for the sake of backwards compatibility. |
Rebased clone of #192 to run latest CI.
Please also consider the discussion at #192.
TODO (correctness):
apt
install method.config
so that symlinking is off on Windows by default.TODO (features):
choco
install method (by option and/or as fallback). E.g. we could have an inputsetup-method
which is a list of install methods that are tried in order (if available for that platform). The default could be for nowsetup-method: [ghcup, choco, apt]
, but one could opt out of fallback by e.g. justsetup-method: [ghcup]
.(Bikeshedding:
method
,install-method
.)Closes #70. Closes #97. Closes #112. Closes #191.
ghcup
not found onwindows-2022
version 20230214.1 #191