| 26 Apr 2025 |
sterni (he/him) | (it would be kind of a good project to make some cross compiled GHCs and upload them to tarballs.nixos.org before 25.11, doesn't look like we can keep around GHC 9.4 for that long) | 11:32:32 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @sternenseemann:systemli.org (it would be kind of a good project to make some cross compiled GHCs and upload them to tarballs.nixos.org before 25.11, doesn't look like we can keep around GHC 9.4 for that long) But the current expression is a bunch of spaghetti and I don't think I can jump across all the cases as I'm not the writer of that | 11:35:30 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Plus I don't understand haskell yet | 11:35:45 |
sterni (he/him) | Yeah, I did not mean you should do it. | 11:36:01 |
Alyssa Ross | the most pragmatic approach might be to focus on other loongarch64 things for now and hope upstream has bootstrap binaries before too long. | 11:36:32 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | I'm bootstrapping from ghc package in debian ports, hopefully this could work | 11:37:21 |
sterni (he/him) | As I was saying, Adam Joseph did try this in the past and concluded that it's too big a pain to get to work | 11:38:27 |
sterni (he/him) | but it may be possible, not sure. | 11:38:32 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | I can also let loongson guys to compile an ideal binary tarball if it really doesn't work | 11:39:58 |
emily | we don't put anything not built by Hydra on tarballs.nixos.org | 12:01:20 |
emily | I guess just fetchurling something wouldn't be the end of the world though, we already have some mystery-meat third-party binaries in tree… | 12:01:38 |
emily | but we'd really prefer to avoid it if at all possible of course | 12:01:53 |
emily | binaries from Hydra >> binaries from upstream >>> all other binaries | 12:02:16 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | => nix-build -A pkgsCross.loongarch64-linux.haskell.packages.ghc984.ghc
evaluation warning: build: x86_64-linux host: x86_64-linux target: loongarch64-linux
this derivation will be built:
/nix/store/dpwqr9489b1mkgmili5fpxci31if3n2a-loongarch64-unknown-linux-gnu-ghc-9.8.4.drv
Well | 12:49:15 |
emily | huh. host should be loongarch64-linux unless you use buildPackages? | 12:50:47 |
emily | splicing issue maybe? | 12:51:02 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @emilazy:matrix.org splicing issue maybe? Very likely | 12:51:29 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Because the attribute is referenced from buildPackages: https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/haskell-packages.nix#L482 | 13:04:18 |
sterni (he/him) | haskell.packages.*.ghc is like stdenv.cc | 13:04:56 |
sterni (he/him) | haskell.compiler.* would be cross compiled | 13:05:10 |
emily | hm, wouldn't it make more sense to use buildPackages explicitly for that? | 13:08:49 |
emily | I assume that pkgsCross.foo.* is going to have host foo unless * starts with buildPackages. (with stdenv as an unfortunate exception) | 13:09:20 |
emily | I guess there are probably other unfortunate exceptions already though. | 13:09:31 |
emily | WTB universe without the GNU idea of cross… | 13:10:01 |
sterni (he/him) | as said, it’s like stdenv with all the weirdness involved, this is probably the best way to do it. You can’t even do an equivalent of libc/cc split | 13:26:18 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | I think I'm on the right track now. The performance impact of enableUnregisterised is really huge | 14:36:42 |
| Mr Mayhem changed their display name from Magnolia Mayhem to Magnolia Mayhem: Rallycar Mailman. | 14:40:29 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | @sterni I now get to the same point you got in https://gitlab.haskell.org/ghc/ghc/-/issues/22006 now | 15:37:01 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | The log says "Run Ghc CompileHs Stage1" but the resulting ghc is stage0 | 15:38:16 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | But if, say, I put this ghc into the derivation again, it would start complaining about hostPlatform != buildPlatform | 15:39:17 |