| 22 Feb 2025 |
Alex |
it sounds like [going via old GHC] is not the plan
I'd rather not because of old LLVM and worse support for old arches, but if nothing else works I will. | 04:38:47 |
Alex | *
it sounds like [going via old GHC] is not the plan
I'd rather not because of old LLVM and worse support for exotic arches, but if nothing else works I will. | 04:39:01 |
Janus | In reply to @emilazy:matrix.org it doesn't seem out of the question for augustss to just go and implement every relevant GHC extension :) also , I think augustss might have some strong views on some of these newer extensions. I don't feel like digging now but it might be in the talks he did | 04:39:08 |
Janus | are you coming to zurihac ? augustss is going to be there this year | 04:39:37 |
Janus | In reply to @alex:tunstall.xyz
it sounds like [going via old GHC] is not the plan
I'd rather not because of old LLVM and worse support for exotic arches, but if nothing else works I will. some arches were better supported back then .. GHC was started on Sparc ;) | 04:41:25 |
Alex | Some of them have rotted? Unfortunate, but I'm most concerned about RISC-V support, which old versions definitely lack. | 04:42:48 |
Tristan Ross | RISC-V definitely isn't anything to worry about lol. I've struggled to get things working, even with a good setup. | 04:43:50 |
Janus | In reply to @alex:tunstall.xyz Some of them have rotted? Unfortunate, but I'm most concerned about RISC-V support, which old versions definitely lack. Sparc rotted everywhere since they were uncompetitive with Intel . basically sun gave up on having their own arch. | 04:45:04 |
Janus | anyway, exotic archs is ideally an orthogonal effort . bootstrapping is hard enough already , not sure why you want to make it even harder by considering exotics | 04:46:45 |
Janus | if you have it working on 32 bit Intel you can always try cross compiling from any point in the compiler chain | 04:47:17 |
Janus | I would even consider running on modern systems an unnecessary way to make things harder | 04:48:24 |
Janus | for example, nhc crashes on 64 bit IIRC | 04:48:40 |
Janus | it's likely that old GHC runtime systems have similar issues . even though Linux promises 100% backwards compat, they did Change the syscall Interface | 04:49:31 |
Janus | like, I think ghcup fails to install GHC 7.10 on modern ubuntus ? another example of broken compat | 04:51:46 |
Alex | Yeah I know about nhc98's reliance on 32-bit. I have much higher hopes that MicroHs doesn't have such silly issues and, even if it did, it would be much easier to patch & upstream.
Some exotics is better than none; right now, we only have what upstream has bindists for. | 04:54:46 |
emily | well, except that Nixpkgs barely supports i686-linux at this point | 04:54:54 |
emily | I would not make long-term bootstrapping plans that involve it | 04:55:00 |
Janus | is nixpkgs focused on bootstrapping as far back as possible? I thought I saw a discussion talking about how something about 8.10 had bit rotted ? | 04:57:47 |
Janus | don't mean to be rude, I genuinely don't know if it's a priority | 04:58:03 |
Alex | In reply to @janus.troelsen:matrix.org is nixpkgs focused on bootstrapping as far back as possible? I thought I saw a discussion talking about how something about 8.10 had bit rotted ? AFAIK nobody here wants to maintain ancient GHC builds. | 04:58:32 |
Janus | Right. and the bootstrapping Community have their own approach with a scheme interpreter , a C subset, TCC , old gcc versions and all that | 04:59:27 |
Janus | iirc they patch these old gcc versions to keep them compatible with their c compiler... | 05:01:36 |
Janus | what I am trying to get at is ... if nixpkgs is not optimized for bootstrapping, it might not be the best place to bootstrap | 05:02:20 |
Janus | that said, in theory there is no reason why it couldn't work | 05:02:36 |
Janus | In reply to @janus.troelsen:matrix.org it's likely that old GHC runtime systems have similar issues . even though Linux promises 100% backwards compat, they did Change the syscall Interface another example is Linux 6.1 breaking MAP_32BIT mmap. GHC needed a workaround to avoid this bug in the data structure Linux started using for paging . it was broken in like a dozen 6.1 releases | 05:06:51 |
emily | we do have minimal bootstrap packaged | 05:07:03 |
emily | it is not yet wired up | 05:07:07 |
emily | there is certainly interest in it for the bootstrap binaries | 05:07:21 |
emily | (for stdenv) | 05:07:26 |
emily | anyway I thought the issue was simply that bootstrapping GHC from modern bindista was weird or something. | 05:07:53 |