| 2 Apr 2025 |
sterni (he/him) | though we should pursue a solution like this soon since it more or less hinges on the build system that GHC has dropped for >= 9.6; with the new one we haven't been able to cross compile GHC yet (and it looks to be very difficult). | 00:58:08 |
sterni (he/him) | (maybe this is easier to discuss in a more long form format?) | 00:59:06 |
Alyssa Ross | In reply to @sternenseemann:systemli.org Alyssa Ross: It's unfortunately uncharted territory at the moment. The only way to bootstrap GHC is via a suitable bindist, so if one is available, it's easy. (bootstrappable builds of GHC have, to my knowledge, not left the theory crafting stage and I highly doubt that current ideas (hugs and -fvia-C) will ever be practical due to the incredibly long ensuing chain.) We have entertained the notion that we could build cross compiled bindists (or something equivalent, nixpkgs specific) and upload the result to tarballs.nixos.org to start a new bootstrap chain, but this is also only a concept at the moment. We can cross compile GHC < 9.6, so it should be possible to get an aarch64-musl GHC from nixpkgs in theory, but no infrastructure exists for anything beyond. There is a bindist for 9.8+ | 06:45:46 |
Alyssa Ross | So I'd been wondering if I could just use that as the bootstrap for the current default GHC | 06:49:09 |
cdepillabout | Maybe what you're thinking of is packageOverrides: https://haskell4nix.readthedocs.io/frequently-asked-questions.html#how-to-override-packages-in-all-compiler-specific-package-sets | 07:47:06 |
sterni (he/him) | Alyssa Ross: GHC supports being bootstrapped with the two major versions before it officially (so 9.8 can bootstrap 9.10 and 9.12). Self bootstrapping often works though it probably requires some tinkering. It's probably worth investigating whether 9.8 can bootstrap 9.8 since we're currently upgrading to that version. | 09:18:28 |
Alyssa Ross | I will investigate that then, thanks. | 09:21:56 |
linj | Any ideas to unbreak cabal-add? | 13:58:11 |
linj | * Any ideas to unbreak cabal-add? It is a dependency of HLS 2.10.0.0. | 14:02:23 |
linj | * Any ideas how to unbreak cabal-add? It is a dependency of HLS 2.10.0.0. | 14:03:15 |
alexfmpe | Didn't I fix this? | 15:38:10 |
alexfmpe | https://github.com/NixOS/nixpkgs/pull/395339 | 15:39:10 |
maralorn | Redacted or Malformed Event | 15:48:17 |
hellwolf | I made my project work with 9.12.1. Gonna pin my nix flake lockfile to the current branch :D | 17:07:49 |
hellwolf | * I made my project work with 9.12.1. Gonna pin my nix flake lockfile to the current haskell-updates branch :D | 17:07:55 |
hellwolf | Thank you for all your work :) | 17:08:06 |
| tek changed their display name from torsten to tek. | 18:06:46 |
| 3 Apr 2025 |
hellwolf | In reply to @alexfmpe:matrix.org https://github.com/NixOS/nixpkgs/pull/395339 so, with that branch lsp is working for ghc 912 now? I will give it a try. That stopped me from updating my project from switching to 9.12.
Btw, would 9.12.2 make it there too? | 06:24:53 |
hellwolf | * so, with that branch, HLS works for ghc 912 too? I will give it a try. That stopped me from updating my project from switching to 9.12.
Btw, would 9.12.2 make it there too?
| 06:25:27 |
Alyssa Ross | In reply to @sternenseemann:systemli.org Alyssa Ross: GHC supports being bootstrapped with the two major versions before it officially (so 9.8 can bootstrap 9.10 and 9.12). Self bootstrapping often works though it probably requires some tinkering. It's probably worth investigating whether 9.8 can bootstrap 9.8 since we're currently upgrading to that version. Looks like it just works! I'll open a PR and we can figure out details :) | 10:58:57 |
Alex | NB: Isn't self-booting supposed to work for every version?
I don't see how stage 2 could be compiled if stage 1 can't be compiled by an identical stage 0. | 11:30:11 |
alexfmpe | In reply to @hellwolf:matrix.org so, with that branch, HLS works for ghc 912 too? I will give it a try. That stopped me from updating my project from switching to 9.12. Btw, would 9.12.2 make it there too? That PR has been merged, so you want haskell-updates branch really. Can't say I've tried HLS 2.10 yet and there were also a couple reports of seg faults over at #haskell-language-server:matrix.org so there might even be a 2.11 soon | 12:06:54 |
alexfmpe | * That PR has been merged, so you want haskell-updates branch really. Can't say I've tried HLS 2.10 yet and there were also a couple reports of seg faults over at #haskell-language-server:matrix.org so there might even be a new release soon | 12:47:38 |
alexfmpe | also, haskell-updates has 9.8 as default ghc, but 9.12.2 is there and the default ghc912 | 12:49:04 |
alexfmpe | I'm not sure exactly how/when the caching jobs work, but I expect as long as 9.12 isn't the default, you'll have cached compiler but not cached packages | 12:50:11 |
Alex | In reply to @alexfmpe:matrix.org I'm not sure exactly how/when the caching jobs work, but I expect as long as 9.12 isn't the default, you'll have cached compiler but not cached packages Cache is populated from haskell-updates (and IIRC only from that branch). | 12:51:25 |
maralorn | Well and from master of course. Although the list of jobs which get build on which branch is slightly different. | 13:03:15 |
maralorn | Some central packages, e.g. hls are being cached for every (major) compiler version. | 13:03:46 |
alexfmpe | noice | 14:00:41 |
alexfmpe | yeah this is what confuses me, which does which | 14:00:55 |