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.org | 145 Servers |
| Sender | Message | Time |
|---|---|---|
| 22 Feb 2025 | ||
| seems like there are still issues with musl and such... I am just following from the sidelines , don't really know. I have an excessively retro approach to this compared to everyone else , it seems | 05:10:32 | |
| Joachim breitner also attempted something at munihac, where he wanted to concatenate all GHC modules into a giant file to avoid worrying about recursive module dependencies | 05:11:20 | |
| not sure if microhs supports recursive modules yet. I don't think it has Interface files, but otoh it seems like you don't have a traditional linking step either | 05:13:05 | |
In reply to @emilazy:matrix.orghow far back does it go? | 05:32:52 | |
In reply to @janus.troelsen:matrix.orgI saw a hs-boot file while patching the base library so maybe? I'll need to check. | 05:52:29 | |
In reply to @emilazy:matrix.orgas far as I understand, going from GHC to GHC is considered easy? if the minimal bootstrap you refer to is microhs, surely the biggest issue is doing the jump from microhs to GHC , and specifically choosing a suitable version of GHC. | 05:59:03 | |
In reply to @alex:tunstall.xyzi do think I saw something about this recently in the microhs release logs . so yeah, it's probably supported now , which is great | 06:00:37 | |
| readme says "Mutually recursive modules are allowed the same way as with GHC, using .hs-boot files." | 06:03:44 | |
In reply to @janus.troelsen:matrix.org Yes, that's what I foresee being the most difficult. Planned approaches, from most desirable to least:
| 06:23:37 | |
In reply to @janus.troelsen:matrix.orgthe minimal bootstrap is the elaborate C/Mes/etc. stuff, I wasn't talking about Haskell | 14:39:17 | |
| I was just saying there has been work on that for Nixpkgs | 14:39:27 | |
| anyway, it was something about Hadrian issues with new GHCs making us use an old GHC for bootstrap, but I wasn't clear on the details | 14:40:07 | |
In reply to @emilazy:matrix.org(the "256 bytes + Linux kernel + build orchestrator" thing a la Guix) | 14:41:20 | |
| Thanks, worked like a charm | 18:52:11 | |
| I was handed a list of dozens of packages that don't need dontCheck anymore | 18:52:37 | |
| I don't see how to use the same approach for doJailbreak though Turns out this works for doCheck because that's a property of stdenv.mkDerivation however doJailbreak triggers splicing in postPatch so it's not directly inspectable from the outside | 18:55:51 | |
| also much less likely to vary between ghc versions than test suite failures | 18:58:04 | |
| * also much more likely to vary between ghc versions than test suite failures | 18:58:10 | |
| Here's an idea: override Haskell's Otherwise, there's also this ugly hack. | 20:10:47 | |
| Ah, wait, by "from the outside", you mean not within the Nix interpreter itself? As in, you need a property within the .drv that an external program can read? | 20:12:41 | |
In reply to @alex:tunstall.xyzNono I meant "after the fact". Like, when accessing haskellPackages.foo | 22:58:08 | |
In reply to @alex:tunstall.xyzOh, you're saying to disable postPatch all together | 22:58:50 | |
| I guess that's usable | 22:59:21 | |
| I did think about shoving 'jailbreak' in passthru, but that only lets me read, not write right? | 23:00:28 | |
| doCheck works because the one I can set is the same mkDerivation will read | 23:00:49 | |
| passthru just 'mirrors' | 23:00:59 | |
| There's no pass-by-reference | 23:01:10 | |
In reply to @alexfmpe:matrix.orgAs in, few false positivirs | 23:01:54 | |
| * As in, few false positives | 23:02:02 | |
Well you can override mkDerivation to completely ignore doJailbreak too. It's not entirely clear to me what you're trying to do. | 23:02:13 | |