New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
armv7: Misc. fixes #306
armv7: Misc. fixes #306
Conversation
It fails with: ``` /nix/store/m7080pw0ryjk0jhljp55rq1hd2qy8gki-python3-3.8.6/include/python3.8/pyport.h:726:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)." 726 | #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)." [...] builder for '/nix/store/cdysjc47jc4z49r25xzwf2sazqd4w4rg-libselinux-3.0-armv7l-unknown-linux-gnueabihf.drv' failed with exit code 2 ```
This might seem weird at first, but is totally needed. We have 48 bit integers we need to handle, RGBA colours. AFAICT full-blown Ruby would automatically handle going through another class for larger integer. But it looks like mruby doesn't Let's intead use the 64 bit type!
Additionally add a required patch for armv7 and 64 bit mrb_ints
The postInstall hook was never ran... D'oh!
Using `.override` inside the builder leads to `.override` outside being ignored, as the `mruby` used would be whatever was last given to the passthru `builder`'s own overrides or callPackages. This breaks current calls to `mruby.builder` when `gems` was given. Though since it breaks noisily, it won't silently ignore your gems.
This fixes backtraces in stage-1!
This is required otherwise nuke-refs will destroy the irep.
Would have been nice to have confirmation from other armv7 users, but AFAICT with the mainline-based |
I'm compiling webkitgtk on my phone right now, and it's taking forever. When it's done, I'll try out the change 😄 |
No worries, it's been tested on those two new ports, so I'm pretty confident there are no issues. Though it has only been tested using cross-compilation. |
Have you noticed any issues with executables that require capabilities (sudo, ping, ...)?
I wasn't having this problem when I was using nixpkgs from the last successful build on hydra: https://hydra.nixos.org/build/134431266 |
Not really, but I haven't used stage-2 really. Only booted to the But, yeah kind of, since this is something I have seen on aarch64 targets too. I believe many are missing kernel configs for capabilities. I don't know what configs are missing yet. From a quick search, it might be |
Overview
First, a workaround for libdrm, which uses libselinux.
Then, a lot of work with mruby and dependencies.
mruby
workFirst, force 64 bit integers, and fix
mrbgems
that did not play well with this change.Changes have been contributed upstream where relevant.
Then, some additional changes so
mruby
apps can be built with debug enabled in stage-1. This is extremely useful as otherwise you are flying blind as to where it is actually failing.This was verified against NixOS/nixpkgs@56bb1b0