Added for fixing failing CI: nixpkgs-vet (NPV-164)
buildUBoot does not enable strictDeps by default and the
existing ubootRock* packages predate the rule, so the new ubootRock3C
attribute trips the lint.
Set strictDeps = true on the ubootRock3C derivation only to keep blast
radius minimal.
Add U-Boot package for Radxa Rock 3C single-board computer (Rockchip RK3566).
Uses the rock-3c-rk3566_defconfig with armTrustedFirmwareRK3568 BL31 and
rkbin RK3566 TPL. Installs idbloader, u-boot.itb, and rockchip combined
images for both eMMC/SD and SPI flash boot.
This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.
Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
Package the Python tools that come with U-Boot, most importantly,
`binman`.
We take the sources from PyPI because this is the official distribution
channel and the versions there are somehow newer than in the U-Boot
repository itself.
FW_OPTIONS=0 overrides the dynamically set options for no reason, and
FW_TEXT_START is not useful now that OpenSBI has dropped support for
non-PIE-capable toolchains [1].
[1]: 76d7e9b8ee
- Add darwin.DarwinTools for sw_vers command on Darwin, which is used by
uboot config to determine which gcc flags to provide
- Use gccStdenv.cc instead of stdenv.cc for Darwin support (Darwin
defaults to clang otherwise)
- Add HOSTCFLAGS=-fcommon to allow duplicate function definitions
- Parallelize defconfig generation with -j$NIX_BUILD_CORES
The TPL binary for RK3566 should be used instead of RK3568. Since the
binary for RK3568 works though, it wasn't noticed. However, change the
binary to the RK3566 one for correctness.
Signed-off-by: Felix Singer <felixsinger@posteo.net>
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:
nix-build ci -A fmt.check
This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).
This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).
Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase).
If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
This is a pretty old board but it has a rare dual ethernet setup as well
as some wireless which makes this board enticing for certain networking
scenarios. It is also quite a bit more affordable compared to many
RaspberryPi models.
The manufacturer's documentation is here:
https://wiki.radxa.com/RockpiE.