all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jean-Pierre De Jesus DIAZ via Guix-patches via <guix-patches@gnu.org>
To: 66263@debbugs.gnu.org
Cc: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com>
Subject: [bug#66263] [PATCH v1 09/22] gnu: cross-libc: Add AVR Libc support.
Date: Tue, 28 Nov 2023 12:34:52 +0100	[thread overview]
Message-ID: <20231128113510.11214-9-jean@foundationdevices.com> (raw)
In-Reply-To: <20230929091333.7623-1-jean@foundationdevices.com>

* gnu/packages/avr.scm (make-avr-libc/implementation)
  <arguments>: Add avr target parameter and disable implicit cross inputs.
  <native-inputs>: Rename avr-gcc and avr-binutils to cross-gcc
  and cross-binutils to keep consistency with gnu-build-system.
* gnu/packages/cross-base.scm (cross-libc) [target-avr?]: Return AVR
  Libc package from `make-avr-libc`.

Change-Id: I6b087946d1287a82fac61c48c513e7f2d2184794
---
 gnu/packages/avr.scm        | 21 ++++++++++++++-------
 gnu/packages/cross-base.scm |  4 ++++
 2 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index ac09b799f3..fc87e4ea13 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -40,7 +40,8 @@ (define-module (gnu packages avr)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages vim)
-  #:export (make-avr-toolchain))
+  #:export (make-avr-libc
+            make-avr-toolchain))
 
 ;;; Commentary:
 ;;;
@@ -108,7 +109,10 @@ (define* (make-avr-gcc/implementation #:key (xgcc gcc))
 (define make-avr-gcc
   (memoize make-avr-gcc/implementation))
 
-(define* (make-avr-libc/implementation #:key (xgcc gcc))
+(define* (make-avr-libc/implementation #:key
+                                       (xbinutils (cross-binutils "avr"))
+                                       (xgcc (cross-gcc "avr"
+                                                        #:xbinutils xbinutils)))
   (package
     (name "avr-libc")
     (version "2.0.0")
@@ -121,10 +125,13 @@ (define* (make-avr-libc/implementation #:key (xgcc gcc))
                 "15svr2fx8j6prql2il2fc0ppwlv50rpmyckaxx38d3gxxv97zpdj"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:out-of-source? #t
-       #:configure-flags '("--host=avr")))
-    (native-inputs `(("avr-binutils" ,(make-avr-binutils))
-                     ("avr-gcc" ,(make-avr-gcc #:xgcc xgcc))))
+     '(#:target "avr"
+       #:out-of-source? #t
+       ;; Avoid including itself as this package is a target input and cannot
+       ;; use the normal cross compilation inputs.
+       #:implicit-cross-inputs? #f))
+    (native-inputs `(("cross-binutils" ,xbinutils)
+                     ("cross-gcc" ,xgcc)))
     (home-page "https://www.nongnu.org/avr-libc/")
     (synopsis "AVR C Library")
     (description
@@ -138,7 +145,7 @@ (define make-avr-libc
 
 (define* (make-avr-toolchain/implementation #:key (xgcc gcc))
   (let ((avr-binutils (make-avr-binutils))
-        (avr-libc (make-avr-libc #:xgcc xgcc))
+        (avr-libc (make-avr-libc #:xgcc (cross-gcc "avr" #:xgcc xgcc)))
         (avr-gcc (make-avr-gcc #:xgcc xgcc)))
     ;; avr-libc checks the compiler version and passes "--enable-device-lib"
     ;; for avr-gcc > 5.1.0.  It wouldn't install the library for atmega32u4
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index fe33770c2a..d4a0de6f90 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -28,6 +28,7 @@
 
 (define-module (gnu packages cross-base)
   #:use-module (gnu packages)
+  #:use-module (gnu packages avr)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages base)
   #:use-module (gnu packages linux)
@@ -699,6 +700,9 @@ (define* (cross-libc* target
                                 '())
                           ,@(package-inputs libc) ;FIXME: static-bash
                           ,@(package-native-inputs libc)))))
+   ((? target-avr?)
+    (make-avr-libc #:xbinutils xbinutils
+                   #:xgcc xgcc))
    (else #f)))
 
 \f
-- 
2.41.0





  parent reply	other threads:[~2023-11-28 11:37 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-29  9:13 [bug#66263] [PATCH 00/23] guix: Add avr as a platform Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-09-29  9:16 ` [bug#66263] [PATCH 01/23] gnu: cross-libc: Return #f if no libc available Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-09-29  9:16   ` [bug#66263] [PATCH 02/23] guix: gnu: Handle platforms without libc Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-09-29  9:16   ` [bug#66263] [PATCH 03/23] gnu: Add avr platform Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-09-29  9:16   ` [bug#66263] [PATCH 04/23] guix: utils: Add target-avr? Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-04 14:07     ` Efraim Flashner
2023-09-29  9:16   ` [bug#66263] [PATCH 05/23] gnu: cross-gcc: Enable multilib for avr Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05  4:15     ` [bug#66263] [PATCH 00/23] guix: Add avr as a platform Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 06/23] gnu: microscheme: Move to avr-xyz Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-04 14:07     ` Efraim Flashner
2023-10-05  4:19     ` [bug#66263] [PATCH 00/23] guix: Add avr as a platform Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 07/23] gnu: Add AVR phases to cross-gcc-build-phases Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-09-29  9:16   ` [bug#66263] [PATCH 08/23] gnu: avr-libc: Convert to procedure Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05  4:17     ` [bug#66263] [PATCH 00/23] guix: Add avr as a platform Maxim Cournoyer
2023-10-05  4:23     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 09/23] gnu: Add make-cross-gcc-toolchain Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-04 14:07     ` Efraim Flashner
2023-10-05  4:34     ` [bug#66263] [PATCH 00/23] guix: Add avr as a platform Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 10/23] gnu: Add binutils-cross-avr Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 14:46     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 11/23] gnu: avr-binutils: Deprecate package Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 14:48     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 12/23] gnu: Remove various AVR packages Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 14:51     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 13/23] gnu: cross-libc: Add AVR Libc case Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 14:52     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 14/23] gnu: cross-gcc-arguments: Handle AVR target Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 14:59     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 15/23] guix: meson-configuration: Fix boolean assigment Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 15:00     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 16/23] gnu: cross-gcc-search-paths: Handle AVR target Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 15:08     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 17/23] gnu: cross-gcc: Handle inputs for AVR Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 15:08     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 18/23] gnu: Add avr-libc Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 15:10     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 19/23] gnu: Add gcc-cross-avr-toolchain Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 15:11     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 20/23] gnu: Add avr-toolchain Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-09-29  9:16   ` [bug#66263] [PATCH 21/23] guix: meson-build-system: Support AVR Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 15:13     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 22/23] guix: meson-build-system: Disable PIC for AVR Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 15:14     ` Maxim Cournoyer
2023-09-29  9:16   ` [bug#66263] [PATCH 23/23] gnu: Add unity Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-05 15:19     ` Maxim Cournoyer
2023-09-29  9:18 ` [bug#66263] [PATCH 00/23] guix: Add avr as a platform Jean-Pierre De Jesus Diaz via Guix-patches via
2023-10-04 13:01 ` Mathieu Othacehe
2023-10-05 15:20   ` Maxim Cournoyer
2023-12-06 21:57     ` Ludovic Courtès
2023-11-28 11:34 ` [bug#66263] [PATCH v1 01/22] gnu: cross-libc: Return #f if no libc available Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 02/22] guix: gnu-build-system: Handle missing libc Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 03/22] guix: Add avr platform Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 04/22] guix: Add target-avr? Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 05/22] gnu: microscheme: Move to avr-xyz Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 06/22] gnu: make-avr-libc: Fix synopsis Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 07/22] gnu: cross-gcc: Enable multilib for AVR Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 08/22] gnu: cross-gcc: Handle target include paths Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` Jean-Pierre De Jesus DIAZ via Guix-patches via [this message]
2023-11-28 11:34 ` [bug#66263] [PATCH v1 10/22] gnu: cross-gcc: Handle AVR inputs Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 11/22] gnu: cross-toolchain: Add set-cross-path for AVR Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 12/22] gnu: cross-gcc: Find AVR Libc files Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 13/22] gnu: cross-gcc: Only C and C++ for AVR Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 14/22] guix: meson-build-system: Support AVR Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 15/22] guix: meson-build-system: Disable PIC for AVR Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:34 ` [bug#66263] [PATCH v1 16/22] gnu: Add cross-gcc-toolchain procedure Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:35 ` [bug#66263] [PATCH v1 17/22] gnu: Add gcc-cross-avr-toolchain Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:35 ` [bug#66263] [PATCH v1 18/22] gnu: make-ergodox-firmware: Use AVR target Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:35 ` [bug#66263] [PATCH v1 19/22] gnu: make-qmk-firmware: " Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:35 ` [bug#66263] [PATCH v1 20/22] gnu: lufa: " Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:35 ` [bug#66263] [PATCH v1 21/22] gnu: Add gcc-cross-i686-w64-mingw32-toolchain Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:35 ` [bug#66263] [PATCH v1 22/22] gnu: Add gcc-cross-x86_64-w64-mingw32-toolchain Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-11-28 11:50 ` [bug#66263] Updated patch series Jean-Pierre De Jesus Diaz via Guix-patches via
2023-12-11 11:58   ` bug#66263: " Efraim Flashner
2023-12-11 12:30     ` [bug#66263] " Jean-Pierre De Jesus Diaz via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231128113510.11214-9-jean@foundationdevices.com \
    --to=guix-patches@gnu.org \
    --cc=66263@debbugs.gnu.org \
    --cc=jean@foundationdevices.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.