!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
26 Apr 2025
@alex:tunstall.xyzAlex If you can run it check ghc --info. It'll give some insight into how they built it. Most likely native unregjsterised. 09:41:08
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)
In reply to @alex:tunstall.xyz
If you can run it check ghc --info. It'll give some insight into how they built it. Most likely native unregjsterised.
They do support llvm
09:50:12
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)The problem is in our derivation I think, some guide just said they cross compiled ghc 9.6 like your suggestion without issues09:51:03
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)
In reply to @aleksana:mozilla.org

Is because of this

#ifndef __loongarch__
#error \
  "libffi was configured for a LoongArch target but this does not appear to be a LoongArch compiler."
#endif
Because _build/stageBoot/bin/loongarch64-unknown-linux-gnu-hsc2hs --cc=gcc --ld=gcc
09:58:26
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)
In reply to @aleksana:mozilla.org
I have to use pkgsCross.loongarch64-linux.haskell.packages.native-bignum.ghc984.ghc and temporarily override enableUnregisterised
So there's apparently no native-bignum for newer ghc, and even if native-bignum is prefixed, it is still hadrian
10:29:53
@sternenseemann:systemli.orgsterni (he/him) aleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC): using foreign packages in stead of a bindist failed last time someone tried, I think GHC has a lot of absolute path references that are a big pain to patch after the fact 11:24:50
@sternenseemann:systemli.orgsterni (he/him) aleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC): native-bignum is just GHC without gmp, no relation to the build system 11:25:07
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (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
@sternenseemann:systemli.orgsterni (he/him)it's not along side hadrian at all11:26:50
@sternenseemann:systemli.orgsterni (he/him)native-bignum is the name for the bignum library GHC has which is native, i.e. written in Haskell11:27:16
@sternenseemann:systemli.orgsterni (he/him)it can be used as an alternative to gmp which is the default11:27:28
@sternenseemann:systemli.orgsterni (he/him)hadrian is the build system of GHC which was made the default in 9.4 and exclusive in 9.611:27:46
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (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:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)What does this mean11:28:17
@sternenseemann:systemli.orgsterni (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
@sternenseemann:systemli.orgsterni (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 both11:30:01
@sternenseemann:systemli.orgsterni (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:mozilla.orgaleksana 🏳️‍⚧️ (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:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)Plus I don't understand haskell yet11:35:45
@sternenseemann:systemli.orgsterni (he/him)Yeah, I did not mean you should do it.11:36:01
@qyliss:fairydust.spaceAlyssa Rossthe 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:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)I'm bootstrapping from ghc package in debian ports, hopefully this could work11:37:21
@sternenseemann:systemli.orgsterni (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 work11:38:27
@sternenseemann:systemli.orgsterni (he/him)but it may be possible, not sure. 11:38:32
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (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 work11:39:58
@emilazy:matrix.orgemilywe don't put anything not built by Hydra on tarballs.nixos.org12:01:20
@emilazy:matrix.orgemily 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
@emilazy:matrix.orgemilybut we'd really prefer to avoid it if at all possible of course12:01:53
@emilazy:matrix.orgemilybinaries from Hydra >> binaries from upstream >>> all other binaries12:02:16
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (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

Show newer messages


Back to Room ListRoom Version: 6