!pbdtvoHxUGLhcEvnlu:nixos.org

Exotic Nix Targets

245 Members
81 Servers

Load older messages


SenderMessageTime
30 Aug 2024
@zmitchell:matrix.orgzmitchell joined the room.22:06:13
@zmitchell:matrix.orgzmitchellHey everyone, I've started working on RedoxOS support again after it seems like it has been dormant for a while22:06:44
@zmitchell:matrix.orgzmitchellJust wanted to say hi to all the other crazy people trying to support Nix on "exotic" targets lol22:07:24
@zmitchell:matrix.orgzmitchell aaronjanse: it looks like you were the last person to make progress on this, thanks for your work! 22:08:08
@zmitchell:matrix.orgzmitchell set a profile picture.22:09:31
5 Sep 2024
@necoarc:transfem.dev@necoarc:transfem.dev joined the room.03:38:13
@necoarc:transfem.dev@necoarc:transfem.dev removed their display name Neco-Arc.03:49:32
@necoarc:transfem.dev@necoarc:transfem.dev removed their profile picture.03:49:32
@necoarc:transfem.dev@necoarc:transfem.dev left the room.03:49:33
9 Sep 2024
@pandapip-1:matrix.orgPandapip1 joined the room.03:44:03
10 Sep 2024
@zmitchell:matrix.orgzmitchell

Alright I have a patch for RedoxOS support, and I've added it to the list of patches for gcc here: https://github.com/NixOS/nixpkgs/compare/master...zmitchell:nixpkgs:zmitchell/redox-gcc-support

I'm not quite sure how to verify that I'm building it properly because I would expect to have to rebuild gcc from source, but a nix-build -A gcc or nix-build -A gcc13 in my nixpkgs fork takes about 2s and seems to substitute gcc rather than build it.

04:22:58
@zmitchell:matrix.orgzmitchell

Trying to build the cross-compiler doesn't evaluate either:

$ nix-build -A pkgsCross.x86_64-unknown-redox.gcc13
...
       … from call site

         at /home/zmitchell/nixpkgs/pkgs/top-level/all-packages.nix:14930:16:

        14929|   gcc6Stdenv = overrideCC gccStdenv buildPackages.gcc6;
        14930|   gcc7Stdenv = overrideCC gccStdenv buildPackages.gcc7;
             |                ^
        14931|   gcc8Stdenv = overrideCC gccStdenv buildPackages.gcc8;

       … while calling 'overrideCC'

         at /home/zmitchell/nixpkgs/pkgs/stdenv/adapters.nix:35:24:

           34|   # Override the compiler in stdenv for specific packages.
           35|   overrideCC = stdenv: cc: stdenv.override {
             |                        ^
           36|     allowedRequisites = null;

       error: infinite recursion encountered

       at «none»:0: (source not available)

04:23:45
@qyliss:fairydust.spaceAlyssa RossThat's not a cross compiler11:47:54
@qyliss:fairydust.spaceAlyssa RossThat's a cross compiled native compiler11:47:59
@qyliss:fairydust.spaceAlyssa Ross

A cross compiler would be pkgsCross.x86_64-unknown-redox.stdenv.cc or pkgsCross.x86_64-unknown-redox.buildPackages.gcc13

11:48:31
@matthewcroughan:defenestrate.itmatthewcroughan changed their display name from matthewcroughan - going to nix.camp to matthewcroughan.15:53:35
11 Sep 2024
@zmitchell:matrix.orgzmitchell

Ah, it looks like relibc was recently removed from nixpkgs due to lack of maintenance. It also looks like Redox has their own patched Rust compiler.

I'm sifting through the nixpkgs source right now to try to figure out where I would swap out the URL pointing at rustc sources, but I'm a little confused by the layout. In pkgs/build-support/rust I see a bootstrap.nix that calls binary.nix, and that seems to download compiler binaries. But also in pkgs/development/compilers/rust it looks like rustc.nix is where we actually build rustc, but it takes a rustc argument?

19:07:59
12 Sep 2024
@qyliss:fairydust.spaceAlyssa RossYes, it uses the bootstrap rustc to build itself08:20:01
@qyliss:fairydust.spaceAlyssa RossI'd first try to see how far you can get using the non-patched Rust compiler, which does have Redox targets08:20:19
@qyliss:fairydust.spaceAlyssa RossI'd be hesitant to add a patched rustc to Nixpkgs, because the last one made maintaining normal rustc more difficult.08:20:39
@zmitchell:matrix.orgzmitchellI wouldn't be adding the patched rustc to nixpkgs exactly for that reason. It also seems like their patched rustc exists because there's something missing from the upstream compiler. I'm not up to speed on that particular issue.15:16:35
@zmitchell:matrix.orgzmitchellMy plan at the moment is get the patched rustc/cargo/etc packaged in their respective repositories, then replace the upstream versions via overlay in order to build relibc. That artifact can be exposed to nixpkgs.15:18:07
@qyliss:fairydust.spaceAlyssa RossHow?15:18:21
@qyliss:fairydust.spaceAlyssa RossYou can't use Nix code from elsewhere in Nixpkgs15:18:28
@zmitchell:matrix.orgzmitchellI'm not sure what you mean15:18:41
@qyliss:fairydust.spaceAlyssa RossWhat does "that artifact can be exposed to Nixpkgs" mean?15:18:56
@zmitchell:matrix.orgzmitchellI mean build it as a precompiled binary as it was previously done in https://github.com/NixOS/nixpkgs/pull/9356815:20:07
@qyliss:fairydust.spaceAlyssa RossWell that's what I was talking about15:20:58
@qyliss:fairydust.spaceAlyssa RossThat was removed because it got in the way of normal rustc15:21:04
@qyliss:fairydust.spaceAlyssa RossSince it used the same infrastructure15:21:10

Show newer messages


Back to Room ListRoom Version: 6