Closed hasufell closed 1 year ago
In GitLab by @kwshi on Jun 5, 2022, 01:52
Relatedly, I've created a PR to add ghcup as a package to the Void repositories: https://github.com/void-linux/void-packages/pull/35624.
However, as of recently the build is breaking for me because of version mismatches between the GHC version in the repos (9.0.2, base 4.14.3) and that required by ghcup dependencies (e.g., http-io-streams-0.1.6.0 depends on base<4.15).
FWIW—in case anyone stumbles upon this—I managed to install GHC 9.4.5 from 9.2.7 (installed via xbps-src
) just fine on Void x86_64-musl by forcing ghcup
to always run with -p x86_64-alpine-linux
.
FWIW—in case anyone stumbles upon this—I managed to install GHC 9.4.5 from 9.2.7 (installed via
xbps-src
) just fine on Void x86_64-musl by forcingghcup
to always run with-p x86_64-alpine-linux
.
You can override distro detection in the config file now: https://www.haskell.org/ghcup/guide/#overriding-distro-detection
You can override distro detection in the config file now: https://www.haskell.org/ghcup/guide/#overriding-distro-detection
Oh that's neat, thanks!
So, very naive question: what's actually needed such that ghcup "officially" supports Void? The glibc variant can just use the official tarballs, and for musl the alpine ones seems to work well. Is it just that someone has to put in the work? If yes, any pointers for what needs to be done? I skimmed the docs, but there doesn't seem to be anything for "adding new distros".
Adding new distros requires changing the internal distro enum:
That will cause a breaking change for the metadata and we will have to bump the version to ghcup-0.0.8.yaml
and then also update the internal URL:
And then do another ghcup binary release.
That's a lot of disruption for supporting one distro and then not having proper support for its musl variant.
Ah, well, that's indeed a lot of breaking changes :/
That's a lot of disruption for supporting one distro and then not having proper support for its musl variant.
I don't know whether the alpine people creating a statically linked musl build of GHC is so much worse than the Void people doing the same thing—at least personally, I haven't noticed a difference. I would definitely still consider adding Void worth it (especially since the distro's GHC support is a bit behind the curve, and the respective PR to update everything is kind of stalled). I confess complete ignorance when it comes to these things though, so I will trust your word on this.
In GitLab by @maerwald on May 18, 2022, 04:27
It needs some special packages installed and we should give users better details, e.g.:
It also seems voidlinux supports musl, which complicates matters.
There are also issues with some bindists: https://gitlab.haskell.org/ghc/ghc/-/issues/21559