Before this change, patman would fail at run time with "AttributeError: module
'patman.__main__' has no attribute 'run_patman'" since the last U-Boot update.
* gnu/packages/bootloaders.scm (patman) [arguments]
<phases>: New patch-pyproject.toml phase.
Fixes <https://issues.guix.gnu.org/64745>.
The regression was introduced in
ed5dc3a25d858a394bb7db937a51d866c3cdc6ed: at the top level,
bootloaders.scm and firmware.scm would depend on each other, leading to
unbound variables when loaded, depending on the order in which they got
loaded.
* gnu/packages/bootloaders.scm (make-u-boot-sunxi64-package): Expect
'scp-firmware' to be a promise; force it in 'native-inputs'.
(u-boot-pine64-plus, u-boot-pine64-lts, u-boot-pinebook): Wrap the 3rd
argument to 'make-u-boot-sunxi64-package' into 'delay'.
Reported-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/bootloaders.scm (make-u-boot-sunxi64-package): Take argument
for System Control Processor (SCP) firmware.
[native-inputs]: Add SCP firmware.
[phases]: Adjust 'set-environment to also set SCP variable.
(u-boot-pine64-plus, u-boot-pine64-lts, u-boot-pinebook): Pass appropriate
crust firmware as the SCP firmware.
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/bootloaders.scm (u-boot-ts7970-q-2g-1000mhz-c): Adjust the
u-boot.imx file name on the SD card to the default one used by the
'u-boot-ts7970-q-2g-1000mhz-c-bootloader' bootloader.
* gnu/packages/bootloaders.scm (make-u-boot-package) <same-arch?>: Rename
procedure to 'native-build?'.
[native-inputs]: Remove field.
[arguments]: Specify the #:target argument, when not natively building.
Adjust for the above renaming.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
The extra python inputs are only needed for running the u-boot-test-tools test
suite. This lowers the requirements for cross-building the various u-boot
packages.
* gnu/packages/bootloaders.scm (u-boot) [native-inputs]: Delete bc.
Move python-coverage, python-pycryptodomex and python-pytest to...
* gnu/packages/bootloaders.scm (u-boot-tools) [native-inputs]: ... here.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/bootloaders.scm
(make-u-boot-package) [phases] <install>: Add imx to the regexp of files
considered for installation.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
And have that u-boot argument used as the complete base of the template, so
that a user can override it.
* gnu/packages/bootloaders.scm (make-u-boot-package): New U-BOOT argument.
Document it.
[native-inputs]: Move the native-inputs of U-BOOT first, so that the
cross compilation tools can be overridden via U-BOOT.
[arguments]: Rewrite using substitute-keyword-arguments, extending rather than
overriding most arguments. Use gexps. Do not bind OUTPUTS.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Relates to <https://issues.guix.gnu.org/60786>.
The mips64el architecture is not currently supported, causing (guix platform)
to raise an exception when attempting to cross-build the package.
* gnu/packages/bootloaders.scm (u-boot-malta): Delete variable.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
The full set of patches already merged into the U-Boot is included for
simplicity and avoiding mistakes like the previous one, where a conflicting
hunk got dropped, causing the following error when running patman:
WARNING: Unknown setting get_maintainer_script
* gnu/packages/bootloaders.scm (u-boot) [source]: Replace the
u-boot-patman-fix-help.patch, u-boot-patman-local-conf.patch and
u-boot-patman-get-maintainer.patch with u-boot-patman-guix-integration.patch.
* gnu/local.mk (dist_patch_DATA): Update patch registrations.
* gnu/packages/patches/u-boot-patman-fix-help.patch: Delete file.
* gnu/packages/patches/u-boot-patman-get-maintainer.patch: Likewise.
* gnu/packages/patches/u-boot-patman-local-conf.patch: Likewise.
* gnu/packages/patches/u-boot-patman-guix-integration.patch: New file.
Reported-by: Jelle Licht <jlicht@fsfe.org>
This reverts to the name this package had previous to commit
c2c1dfdf57 ("gnu: bootloader: Add U-Boot
packages for Raspberry Pi models."), which caused the package name to be
derived from the board name.
* gnu/packages/bootloaders.scm (u-boot-am335x-evm-boneblack): Remove the
NAME-SUFFIX keyword argument. Specify the full name via the name field.
* gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): Adjust to
the renamed package.
Reported-by: Vagrant Cascadian <vagrant@debian.org>
* gnu/packages/patches/u-boot-infodocs-target.patch: New patch.
* gnu/local.mk: (dist_patch_DATA): Register it.
* gnu/packages/bootloaders.scm (u-boot): Apply it.
(u-boot-documentation): New variable.
* gnu/packages/bootloaders.scm (ipxe-qemu)[native-inputs]: When building
from a 32-bit system add a binutils variant capable of assembling 64-bit
instructions and an ld-wrapper using it.
This paves the way for using a native search path in the future.
* gnu/packages/bootloaders.scm (ipxe-qemu)[arguments]: Install firmware files
to 'share/qemu' instead of 'share/firmware'.
* gnu/packages/firmware.scm (seabios-qemu)[arguments]: Likewise.
* gnu/packages/virtualization.scm (qemu)[arguments]: Adjust accordingly.
* gnu/packages/bootloaders.scm (ipxe-qemu)[native-inputs]: When not targeting
x86_64, add CROSS-GCC and CROSS-BINUTILS.
[arguments]: Set CROSS_COMPILE in that case.