[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#60224] [PATCH v3 07/11] gnu: make-u-boot-sunxi64-package: Use gexps
From: |
Maxim Cournoyer |
Subject: |
[bug#60224] [PATCH v3 07/11] gnu: make-u-boot-sunxi64-package: Use gexps and adjust file name. |
Date: |
Wed, 11 Jan 2023 14:55:48 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Hi Vagrant!
Vagrant Cascadian <vagrant@debian.org> writes:
> On 2023-01-01, Maxim Cournoyer wrote:
>> * gnu/packages/bootloaders.scm (make-u-boot-sunxi64-package)
>> [phases] {set-environment}: Replace bl31.bin with bl31.elf; bl31.elf doesn't
>> exist anymore for some reason.
>
> Seems like the description is the inverse of what it is actually
> doing. But what it is doing is ... not right either. :/
[...]
>> + #~(modify-phases #$phases
>> + (add-after 'unpack 'set-environment
>> + (lambda* (#:key native-inputs inputs #:allow-other-keys)
>> + (setenv "BL31" (search-input-file (or native-inputs
>> inputs)
>> + "bl31.elf"))))))))
>
> bl31.elf is built on rockchip platforms, but not sunxi/allwinner
> platforms. The sunxi/allwinner platforms need bl31.bin.
This ^ ...
>
>> (native-inputs
>> - `(("firmware" ,arm-trusted-firmware-sun50i-a64)
>> - ,@(package-native-inputs base))))))
>> + (modify-inputs (package-native-inputs base)
>> + (append arm-trusted-firmware-rk3399))))))
>
... was the product of the above typo; thanks for catching it!
> This is absolutely incorrect, as this forces it to be rk3399, which is
> not even a sunxi platform, and will break all the sun50i-a64 platforms
> (e.g. pine64, pinebook). That said, there are technically sunxi64
> platforms that would use a different arm-trusted-firmware build, so this
> could use improving.
I've now removed that commit; and undid the previous change to, which
was based on that mistake.
I'll sent a v4 shortly.
I've noted something annoying though; is that cross-compiling doesn't
work yet because U-Boot uses python packages, which barfs like:
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build u-boot-puma-rk3399 guix build: error:
gnu/packages/check.scm:1997:2:
python-coverage@5.2.1: build system `python' does not support cross
builds
--8<---------------cut here---------------end--------------->8---
So currently the only way to build it is via --system, e.g. 'guix build
-s aarch64-linux u-boot-puma-rk3399'. The complications I simplified
were probably papering over that issue. That said, I see no reason we
couldn't convince our Python build system to "cross-compile" Python
packages, so I intend to look at this. Not sure if this should be a
blocker or not.
--
Thanks,
Maxim
- [bug#60224] [PATCH v3 01/11] gnu: make-u-boot-package: Add a u-boot argument and use gexps., Maxim Cournoyer, 2023/01/01
- [bug#60224] [PATCH v3 02/11] gnu: make-u-boot-package: Install .imx files., Maxim Cournoyer, 2023/01/01
- [bug#60224] [PATCH v3 03/11] gnu: make-uboot-package: Simplify build., Maxim Cournoyer, 2023/01/01
- [bug#60224] [PATCH v3 05/11] gnu: u-boot-pinebook-pro-rk3399: Remove input labels and use gexps., Maxim Cournoyer, 2023/01/01
- [bug#60224] [PATCH v3 07/11] gnu: make-u-boot-sunxi64-package: Use gexps and adjust file name., Maxim Cournoyer, 2023/01/01
- [bug#60224] [PATCH v3 04/11] gnu: make-u-boot-package: Allow disabling cross-compilation., Maxim Cournoyer, 2023/01/01
- [bug#60224] [PATCH v3 10/11] gnu: u-boot-puma-rk3399: Use make-u-boot-sunxi64-package., Maxim Cournoyer, 2023/01/01
- [bug#60224] [PATCH v3 06/11] gnu: u-boot-firefly-rk3399: Use gexps and fix cross-build., Maxim Cournoyer, 2023/01/01
- [bug#60224] [PATCH v3 08/11] gnu: u-boot-rock64-rk3328: Fix build., Maxim Cournoyer, 2023/01/01
- [bug#60224] [PATCH v3 11/11] gnu: u-boot-rockpro64-rk3399: Fix build., Maxim Cournoyer, 2023/01/01
- [bug#60224] [PATCH v3 09/11] gnu: u-boot-sifive-unmatched: Use gexps and remove inputs., Maxim Cournoyer, 2023/01/01