| 20 Nov 2025 |
magic_rb | since im already talking about this in this room, anyone know how to conditionally override a package in an overlay when doing cross to a specific platform? I'd like to apply my overlay which cross boots GHC but only when crossing to armv6l-linux obviously | 21:23:55 |
Puna | In reply to @magic_rb:matrix.redalder.org anyone have any pointers for the cross compiling GHC itself issue? i would like to get some kind of GHC for armv6l if at all possible (would also help the riscv people) you could also bootstrap by packaging a ghc built by debian | 21:43:03 |
Puna | oh wait, v6... only if they have that one ig | 21:44:51 |
magic_rb | i think itll build, its been building for 26 minutes now | 21:45:21 |
magic_rb | whether itll be funtional, who knows | 21:45:26 |
magic_rb | if i want to upcompile to 984 id have to first go through 966 right? i recall something about them using extensions where are at least two minor releases old | 21:50:10 |
Puna | cross-compiled haskell.compiler.ghc94 just segfaulted the moment i tried to do anything with it on ppc64. maybe it does better on armv6 though. otherwise, trixie has a prebuilt ghc 9.6.6 for armel that you could yoink for bootstrapping, I think that should work for armv6? https://packages.debian.org/trixie/ghc | 21:58:01 |
magic_rb | not sure | 21:59:28 |
magic_rb | armel and armhf are not very descriptive | 21:59:35 |
Puna | https://wiki.debian.org/ArmEabiPort
https://wiki.debian.org/ArmHardFloatPort | 22:00:03 |
magic_rb | ah armel is armv6 but not HF | 22:00:07 |
magic_rb | i think? | 22:00:12 |
Puna |
The ARM EABI port (armel) is the default port in Debian for ARM architecture versions 4T, 5T, and 6.
From Debian 10 (buster), 4T is no longer supported and the armel baseline was updated to 5T. If you have 4T hardware, please use Debian stretch or upgrade your hardware.
| 22:00:36 |
Puna | and armhf says that it needs v7 | 22:00:56 |
magic_rb | yeah | 22:01:15 |
magic_rb | well, im gonna let the GHC we have finish crossing and see | 22:01:26 |
magic_rb | Puna youll never believe what i got | 22:09:43 |
Puna | 50/50 | 22:09:59 |
magic_rb | $ ./result/bin/ghci
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault (core dumped)
:( | 22:10:14 |
Puna | i'd believe it | 22:10:20 |
magic_rb | though tbf im also running this through fucking qemu which isnt helping probably | 22:10:36 |
magic_rb | can hetzner VMs execute armv6? probably not | 22:10:53 |
Puna | if you do wanna go the debian GHC way, you can yoink code from this
https://github.com/NixOS/nixpkgs/pull/439258 | 22:10:59 |
Alex | In reply to @opna2608:matrix.org cross-compiled haskell.compiler.ghc94 just segfaulted the moment i tried to do anything with it on ppc64. maybe it does better on armv6 though. otherwise, trixie has a prebuilt ghc 9.6.6 for armel that you could yoink for bootstrapping, I think that should work for armv6? https://packages.debian.org/trixie/ghc Try overriding it to force an unregisterised build (there is an option in the arguments for this). | 22:14:26 |
| 21 Nov 2025 |
Puna | that works, neat!
puna@Yubel ~> /nix/store/vyxi39wvrq4kzr0d18q4vplrczhh7ijk-ghc-powerpc64-unknown-linux-gnuabielfv1-9.4.8/bin/ghci
GHCi, version 9.4.8: https://www.haskell.org/ghc/ :? for help
ghci> :load /dev/shm/peano.hs
[1 of 2] Compiling Main ( /dev/shm/peano.hs, interpreted )
Ok, one module loaded.
ghci> toPeano 21
Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))
| 00:04:00 |
magic_rb | Howd you overwrite it? Show code | 00:04:25 |
Puna | ↪ nix-build --no-out-link --max-jobs 1 --cores 30 -E '
with import ./. { };
pkgsCross.ppc64-elfv1.haskell.compiler.ghc94.override {
enableUnregisterised = true;
}'
| 00:04:46 |
magic_rb | Ill have to do the same most likely | 00:04:51 |
magic_rb | Didnt they plan to remove unregistered builds? | 00:05:00 |
magic_rb | Though, theyve been planning to remove unregistered ever since i know what GHC is, sooo probably not happening soon | 00:05:39 |