| 26 Apr 2025 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @sternenseemann:systemli.org aleksana 🏳️⚧️ (force me to bed after 18:00 UTC): native-bignum is just GHC without gmp, no relation to the build system I don't get it why native bignum is an option alongside hadrian | 11:26:11 |
sterni (he/him) | it's not along side hadrian at all | 11:26:50 |
sterni (he/him) | native-bignum is the name for the bignum library GHC has which is native, i.e. written in Haskell | 11:27:16 |
sterni (he/him) | it can be used as an alternative to gmp which is the default | 11:27:28 |
sterni (he/him) | hadrian is the build system of GHC which was made the default in 9.4 and exclusive in 9.6 | 11:27:46 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @sternenseemann:systemli.org it's not along side hadrian at all But you see every version is either defined with import common-hadrian.nix or import common-make-native-bignum.nix | 11:27:54 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | What does this mean | 11:28:17 |
sterni (he/him) | it's named like that because alongside common-make-native-bignum.nix there would be common-make-integer-simple.nix, but since we only have one GHC that would use it (8.10.7.nix) I never bothered to make a common file | 11:29:17 |
sterni (he/him) | and they are basically the same, they just renamed integer-simple to native-bignum at some point, so some inputs in the nix expression change which makes it annoying to make a common expression for both | 11:30:01 |
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 |