-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
QMK tools update #109639
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
QMK tools update #109639
Conversation
checkTarget = "test:all"; | ||
|
||
installPhase = '' | ||
mkdir $out |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are sure about this? This shouldn't be preInstall?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seriously I don't know. I just rewrote the expression, but when I tried to test it, the GCC cross compiler didn't compile.
This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch) Result of 1 package failed to build and are new build failure:
|
As far as I am looking at it, gcc10 fails compiling for ARM. |
This is a semi-automatic executed nixpkgs-review which is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch). Result of 1 package failed to build and already failed to build on hydra master:
|
Error log:
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/qmk-firmware-build-fails-with-gcc-cross-compilation-failure/11086/1 |
I marked the PR as a draft until the above linked issue is fixed. Feel free to undraft at any time. |
Indeed it is a serious bug: |
With the closing of #96921 I will take it back! |
Result of 2 packages failed to build:
|
This is monstruous, and I am a bit afraid of having no time to compile it. |
Hi. As far as I know, |
On other platforms, |
@bb2020 I am compiling the qmk cli tool too, but I am a bit confused. If I am not wrong, QMK upstream recommends to use the QMK CLI to make all the tasks, such as download the C sources, compile and flash the firmware in the keyboard. It compiles fine (just a Python package indeed) but I don't know the best way to use it in NixOS. |
Yes, on a regular Linux distro you run There is actually little need for |
@ofborg eval |
@bb2020 but in a certain sense QMK Firmware source is a "dependency" for QMK CLI. If someone merely downloads QMK CLI and successfully clones it (and this cloning requires git), the source code still requires GCC and all related paraphernalia. If I remember it correctly, the QMK CLI can work with a local QMK Firmware tree, obviating the qmk clone stuff. |
I see. The problem is, on other platforms, This closure uses required tools as intermediate and does not export them to compile a custom version of QMK. Actually QMK has a shell.nix to solve this problem. However this one compiles Is it possible to have a wrapper like this for |
I am thinking in something like a sandbox. Indeed the QMK CLI documentation seems to suggest that it is amenable to this approach. |
@AndersonTorres I've simplified cli.nix a little bit. What are your opinions? |
This is just a rewrite of the QMK expression, in order to accomodate the future QMK CLI tools.
Looks cleaner. I will manually update this. But the main concern still stands: what to do with this? I am a bit rusty with Nix, but my idea is to nixify this: create an environment where the QMK tool is present, the tools needed to build QMK source code are present too, and the source code is not downloaded by "impure" means. |
Motivation for this change
qmk_firmware: 0.6.114 -> 0.11.49
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)