!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

732 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://haskell4nix.readthedocs.io/145 Servers

Load older messages


SenderMessageTime
30 Mar 2026
@maralorn:maralorn.demaralorn sterni: MangoIV has been chatting at me because of https://gitlab.haskell.org/ghc/ghc/-/issues/27061#note_666912 and that it would be awesome if we could test RCs in nixpkgs. I am not sure how to do it or whether we can even stomach the workload, otoh the current game of basically every minor release being broken is probably not less work for us. Maybe we can have something like ghcHEAD per major serious and have them auto-updated via nix-update? 11:10:38
@sternenseemann:systemli.orgsterni (he/him)I think I need to respond on that as well11:11:08
@sternenseemann:systemli.orgsterni (he/him) we could realistically add rcs as an extra attribute and test the versionedCompilerJobs but that's not much coverage 11:12:17
@sternenseemann:systemli.orgsterni (he/him)testing the main package set is only feasible for the main version, but I don't think we could actually do it since it just means we loose a few days of build time11:13:52
@sternenseemann:systemli.orgsterni (he/him)in general, it's just not my impression that we can spare build time11:14:08
@sternenseemann:systemli.orgsterni (he/him) if we had dedicated infra for that and a Hydra instance it would not be a problem of course 11:14:32
@mangoiv.:matrix.orgMangoIV sterniwhat’s the procedure for 9.12.4 now? Will you add a potential patch to the compiler when we fix it? Or do you just disable the profiling build for ghcide? 11:22:21
@sternenseemann:systemli.orgsterni (he/him)I think we will patch like 9.12.311:24:32
@sternenseemann:systemli.orgsterni (he/him)we still use 9.10 for most things so it's not that big a deal11:25:02
@mangoiv.:matrix.orgMangoIV Okay but after patching you’ll rebuild ghcide right 11:26:17
@eveeifyeve:matrix.orgeveeifyeveDid anyone in here see https://github.com/NixOS/nixpkgs/issues/504935?11:26:46
@sternenseemann:systemli.orgsterni (he/him)yes we were pinged on it11:28:26
@sternenseemann:systemli.orgsterni (he/him)yes 11:28:38
@mangoiv.:matrix.orgMangoIV So I guess the total CI stress would be equal to just building it against an RC first, right? 11:31:53
@sternenseemann:systemli.orgsterni (he/him)well for the patch, I'd prepare the change, sanity check it on my own machine e.g. by building ghcide and merge it into an appropriate branch. For GHC 9.12, we build about 40 jobs, though some of them are quite expensive and cover a large dep closure (like HLS).11:38:09
@sternenseemann:systemli.orgsterni (he/him)The thing is, with the patch, the change is done once it's patched.11:38:21
@sternenseemann:systemli.orgsterni (he/him)For a release candidate, the thing is that you don't actually want to distribute that to users, so you'd have it on a staging-branch where it is tested. After which you still have to wait for the release and rebuild everything again with the released GHC version.11:39:07
@sternenseemann:systemli.orgsterni (he/him)In practice, throwing away the cache you accrue with the RC is not a big deal, but if it was e.g. GHC 9.10.4-rc1, you'd still have to wait for 7k jobs to be built while not gaining testing any change you can actually merge unless you wait on whatever schedule the actual release gets published11:40:47
@sternenseemann:systemli.orgsterni (he/him)given that we currently have a 1-2 week waiting period after a bump has been finished until it reaches master, this delays ordinary package updates massively.11:41:26
@sternenseemann:systemli.orgsterni (he/him) teo (they/he): does QuasiQuotes also work for cross? does that use byte code and internal interpreter or what? 12:00:55
@teoc:matrix.orgTeo (he/him) So QuaiQuotes is just syntax sugar for $(quoteExp "...") etc, so it works the same as regular splices. You should be able to use it with the external interpreter if you have that set up 12:05:47
@sternenseemann:systemli.orgsterni (he/him)okay but it does need the external interpreter12:06:12
@sternenseemann:systemli.orgsterni (he/him)meh12:06:14
@teoc:matrix.orgTeo (he/him)yeah you either need internal or external12:06:28
@alexfmpe:matrix.orgalexfmpe MangoIV: sterni: what about doing it the other way around? say, teaching ghc.nix to build haskellPackages with local ghc 12:17:32
@alexfmpe:matrix.orgalexfmpenon-haskell caching would come from nixos, and haskell packages caching is all invalidated at the slightest change to ghc working tree anyway12:19:15
@alexfmpe:matrix.orgalexfmpeIIUC the goal here is just to throw a testbed at RC12:19:40
@alexfmpe:matrix.orgalexfmpeand we have infra for that in nixpkgs (and nowadays for lots of cross targets) so ghc.nix can re-use just that?12:20:14
@teoc:matrix.orgTeo (he/him)I think it would be reasonable to teach head.hackahe to use nix drvs. It used to do this in the past but it was undo for reasons12:20:34
@teoc:matrix.orgTeo (he/him) * 12:20:50

Show newer messages


Back to Room ListRoom Version: 6