gnu: embedded: Turn packages using top-level variables into procedures.

Fixes <https://issues.guix.gnu.org/65716>.

Before this change, simply adding the following import:

  modified   gnu/packages/firmware.scm
  @@ -42,6 +42,7 @@ (define-module (gnu packages firmware)
     #:use-module (gnu packages admin)
     #:use-module (gnu packages autotools)
     #:use-module (gnu packages assembly)
  +  #:use-module (gnu packages avr)
     #:use-module (gnu packages backup)
     #:use-module (gnu packages base)
     #:use-module (gnu packages bash)

Would cause byte compilation and/or evaluation to fail due to a circular
module dependency.

* gnu/packages/embedded.scm: Add commentary.
(gcc-arm-none-eabi-4.9, gcc-arm-none-eabi-6, newlib-arm-none-eabi)
(newlib-nano-arm-none-eabi, gcc-arm-none-eabi-7-2018-q2-update)
(newlib-arm-none-eabi-7-2018-q2-update)
(newlib-nano-arm-none-eabi-7-2018-q2-update)
(arm-none-eabi-toolchain-4.9, arm-none-eabi-nano-toolchain-4.9)
(arm-none-eabi-toolchain-6, arm-none-eabi-nano-toolchain-6)
(arm-none-eabi-toolchain-7-2018-q2-update, gdb-arm-none-eabi)
(propeller-binutils, propeller-gcc-6, propeller-gcc-4)
(propeller-gcc, propeller-toolchain, propeller-development-suite)
(gcc-vc4): Turn into procedures, prefixing the procedure name with 'make-',
and adjust all users.
(make-libstdc++-arm-none-eabi) [arguments]: Avoid an unused warning.
(arm-none-eabi-toolchain):  Rename to...
(make-arm-none-eabi-toolchain): ... this.
* gnu/packages/raspberry-pi.scm (raspi-arm-chainloader) [native-inputs]:
Replace gcc-arm-none-eabi-6 with (make-arm-none-eabi-toolchain).
* gnu/packages/axoloti.scm (axoloti-runtime)
[inputs]: Replace arm-none-eabi-nano-toolchain-4.9
with (make-arm-none-eabi-nano-toolchain-4.9).
(axoloti-patcher): Likewise.
(axoloti-patcher-next) [inputs]: Replace
arm-none-eabi-nano-toolchain-7-2018-q2-update
with (make-arm-none-eabi-nano-toolchain-7-2018-q2-update).

Series-changes: 2
- Use mlambda for procedures
This commit is contained in:
Maxim Cournoyer 2023-09-10 15:13:39 -04:00
parent d35bc00cc1
commit 35c1df5bd6
No known key found for this signature in database
GPG key ID: 1260E46482E63562
3 changed files with 665 additions and 574 deletions

View file

@ -199,7 +199,7 @@ (define-public axoloti-runtime
;; for compiling patches
("make" ,gnu-make)
;; for compiling firmware
("cross-toolchain" ,arm-none-eabi-nano-toolchain-4.9)
("cross-toolchain" ,(make-arm-none-eabi-nano-toolchain-4.9))
;; for uploading compiled patches and firmware
("dfu-util" ,dfu-util-for-axoloti)))
(native-inputs
@ -339,7 +339,7 @@ (define-public axoloti-patcher
(assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))
(inputs
`(("icedtea" ,icedtea "jdk")
("cross-toolchain" ,arm-none-eabi-nano-toolchain-4.9)
("cross-toolchain" ,(make-arm-none-eabi-nano-toolchain-4.9))
("java-simple-xml" ,java-simple-xml)
("java-rsyntaxtextarea" ,java-rsyntaxtextarea)
("java-usb4java" ,java-usb4java)
@ -572,7 +572,7 @@ (define-public axoloti-patcher-next
(assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))
(inputs
`(("jdk" ,icedtea "jdk")
("cross-toolchain" ,arm-none-eabi-nano-toolchain-7-2018-q2-update)
("cross-toolchain" ,(make-arm-none-eabi-nano-toolchain-7-2018-q2-update))
;; for compiling patches
("make" ,gnu-make)
;; for uploading compiled patches and firmware

File diff suppressed because it is too large Load diff

View file

@ -177,7 +177,7 @@ (define-public raspi-arm-chainloader
#t))))))
(native-inputs
`(("binutils" ,(cross-binutils "arm-none-eabi"))
("gcc" ,gcc-arm-none-eabi-6)))
("gcc" ,(make-gcc-arm-none-eabi-6))))
(inputs
`())
(synopsis "Raspberry Pi ARM bootloader")