!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

724 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://haskell4nix.readthedocs.io/ | More Nix: #community:nixos.org | More Haskell: #haskell-space:matrix.org145 Servers

Load older messages


SenderMessageTime
5 Apr 2025
@emilazy:matrix.orgemilyat that point you're also multiplying the amount of source that needs to be trusted for the bootstrap too though09:31:51
@emilazy:matrix.orgemily and the compiler might have bugs on a certain architecture, or glibc with a new kernel, …, so you do not actually want to pin those things forever for the same reason you want to upgrade packages in general 09:32:14
@divyaranjan:matrix.orgDivyaNot sure about how it happens in Nixpkgs, but it's common in Guix to have it this way. The package tree gets evaluated only when built. I can create a package tree separate for GHC 9.2 to 9.12 without the previous package tree being affected. And if you need to change something later, you can always keep the older one separately in another package for that package tree. Maintenance is relatively easier.09:36:53
@toonn:matrix.orgtoonn So GHC 9.2 will link to whatever glibc was current back then forever? Or does this rely on grafting? 09:37:56
@alex:tunstall.xyzAlex
In reply to @divyaranjan:matrix.org
Are the people from the Nix community? From Guix, 2-3 people have been trying to do this.

I don't think anybody's trying to boot from GHC 4's .hc sources here.
(My efforts are towards directly skipping to modern versions via MicroHs.)

One problem with the idea of building ancient GHC versions is that Nixpkgs prefers not to maintain equally old compatible compilers and libraries, so it may be a struggle to get it to work with the GCC versions we have available.

10:28:27
@divyaranjan:matrix.orgDivya
In reply to @toonn:matrix.org
So GHC 9.2 will link to whatever glibc was current back then forever? Or does this rely on grafting?
We do have grafts, yes.
10:34:30
@sternenseemann:systemli.orgsterni (he/him)Thanks!! I'll properly review it soon.11:51:37
@sternenseemann:systemli.orgsterni (he/him)With GHC there are probably more pressing issues at the moment, i.e. all the regressions from the Hadrian build system, figuring out how to bootstrap new platforms independently from GHC upstream etc.11:55:41
@sternenseemann:systemli.orgsterni (he/him)bootstrapable GHC is impractical even if feasible because it would currently involve an insanely long bootstrap chain which is not workable with the build time we have available; also it would involve dealing with ancient LLVM versions at the very least for e.g. aarch6411:57:28
@sternenseemann:systemli.orgsterni (he/him) Divya: what problems are you running into with hadrian? We are basically treating it as a normal haskell tool, building it using the bindist we also use to bootstrap GHC and reusing our normal Haskell package set, this requires occasional fiddling with version constraints, but Hadrian is not too picky about dependency versions. 11:59:30
@sternenseemann:systemli.orgsterni (he/him)so basically we completely ignore the bootstrap plan thing upstream provides11:59:46
@sternenseemann:systemli.orgsterni (he/him)you may be interested in https://github.com/stable-haskell/ghc/pull/3 for a future improvement; even some GHC devs are not happy with hadrian12:00:44
@qyliss:fairydust.spaceAlyssa Ross
In reply to @sternenseemann:systemli.org
Thanks!! I'll properly review it soon.
Thank you!! It's blocking me from updating Nixpkgs ATM so I hope it can be ready soon, but ofc if it ends up stuck for reasons outside of my control I can work around with an overlay or something
13:10:37
@nrs-status:matrix.orgthirdofmay18081814goyado we have hls 9.10 packaged somewhere?13:37:48
@nrs-status:matrix.orgthirdofmay18081814goyaor otherwise, what are the current options for getting 9.10?13:45:09
@maralorn:maralorn.demaralornWe use the same hls derivation for every ghc major version.13:45:16
@nrs-status:matrix.orgthirdofmay18081814goya oh, do we have it somewhere in haskell.compiler.ghc910? 13:46:23
@maralorn:maralorn.demaralornIt works. You can install ghc 9.10 with HLS from nixos-unstable.13:46:01
@maralorn:maralorn.demaralornThat’s the ghc you want. Have a look at the nixpkgs manual to read how to install hls for that.13:47:42
@nrs-status:matrix.orgthirdofmay18081814goyanoted, thanks a lot!13:47:53
@maralorn:maralorn.demaralornNote, though: If you want to run a nix build of a particular package with ghc 9.10 it is likely that some dependencies are still broken. package support is more narrow on non-default versions.13:49:11
@nrs-status:matrix.orgthirdofmay18081814goyajust need to have the lsp work, I'm otherwise working with cabal atm13:50:42
@nrs-status:matrix.orgthirdofmay18081814goyabut I was eventually going to start looking into how the nix infra wrt cabal packaging works13:50:56
@divyaranjan:matrix.orgDivya
In reply to @sternenseemann:systemli.org
Divya: what problems are you running into with hadrian? We are basically treating it as a normal haskell tool, building it using the bindist we also use to bootstrap GHC and reusing our normal Haskell package set, this requires occasional fiddling with version constraints, but Hadrian is not too picky about dependency versions.
We wanted to bootstrap Hadrian, since GHC docs said it can be done :)
14:53:24
@sternenseemann:systemli.orgsterni (he/him)well what do you mean with bootstrap?15:43:35
@tinybronca:sibnsk.net@tinybronca:sibnsk.net left the room.15:47:52
@hellwolf:matrix.orghellwolfwhat does doDistribute do?17:29:22
@maralorn:maralorn.demaralorn
In reply to @hellwolf:matrix.org
what does doDistribute do?
controls whether a job on hydra gets created
17:41:28
@hellwolf:matrix.orghellwolfI see.17:42:10
@hellwolf:matrix.orghellwolfhttps://paste.tomsmeding.com/UvihEopY <-- also, the derivations of ghc-exactprints look weird, it's both library and executable, and sometimes libraryHaskellDepends is missing, and resulting build failures.17:42:59

Show newer messages


Back to Room ListRoom Version: 6