Subject: [bug#66263] [PATCH 00/23] guix: Add avr as a platform.

From: Maxim Cournoyer <[email-masked]>
Date: Thu, 05 Oct 2023 00:17:39 -0400

Hello,

Jean-Pierre De Jesus DIAZ <[email-masked]> writes:

> * gnu/packages/avr.scm (make-avr-libc): New procedure.
>
> * gnu/packages/avr.scm (avr-libc): Use make-avr-libc procedure.
> ---
>  gnu/packages/avr.scm | 19 +++++++++++++------
>  1 file changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
> index ccce686010..df1523274b 100644
> --- a/gnu/packages/avr.scm
> +++ b/gnu/packages/avr.scm
> @@ -34,7 +34,8 @@ (define-module (gnu packages avr)
>    #:use-module (gnu packages check)
>    #:use-module (gnu packages cross-base)
>    #:use-module (gnu packages flashing-tools)
> -  #:use-module (gnu packages gcc))
> +  #:use-module (gnu packages gcc)
> +  #:export (make-avr-libc))
>  
>  (define-public avr-binutils
>    (package
> @@ -93,7 +94,9 @@ (define avr-gcc
>         `(("gcc" ,gcc)
>           ,@(package-native-inputs xgcc))))))
>  
> -(define avr-libc
> +(define* (make-avr-libc #:key
> +                        (xbinutils (cross-binutils "avr"))
> +                        (xgcc (cross-gcc "avr")))
>    (package
>      (name "avr-libc")

[...]

Procedures returning packages should be memoized, using 'memoize' from
(guix memoization) here since you have keyword arguments.

-- 
Thanks,
Maxim