From patchwork Mon Sep 11 04:25:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 53715 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 5B1BA27BBE9; Mon, 11 Sep 2023 05:27:26 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 9D73327BBE2 for ; Mon, 11 Sep 2023 05:27:23 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qfYVs-0001Dr-Jd; Mon, 11 Sep 2023 00:27:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qfYVm-0001Cx-Mq for guix-patches@gnu.org; Mon, 11 Sep 2023 00:26:59 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qfYVm-0005sj-FD for guix-patches@gnu.org; Mon, 11 Sep 2023 00:26:58 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qfYVq-0005aK-1H for guix-patches@gnu.org; Mon, 11 Sep 2023 00:27:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65860] [PATCH 1/4] gnu: avr: Delay all cross compilation packages. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 11 Sep 2023 04:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65860 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 65860@debbugs.gnu.org Cc: Maxim Cournoyer Received: via spool by 65860-submit@debbugs.gnu.org id=B65860.169440640821409 (code B ref 65860); Mon, 11 Sep 2023 04:27:01 +0000 Received: (at 65860) by debbugs.gnu.org; 11 Sep 2023 04:26:48 +0000 Received: from localhost ([127.0.0.1]:51787 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfYVb-0005ZF-Ov for submit@debbugs.gnu.org; Mon, 11 Sep 2023 00:26:48 -0400 Received: from mail-qt1-x831.google.com ([2607:f8b0:4864:20::831]:49515) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfYVY-0005Yz-BR for 65860@debbugs.gnu.org; Mon, 11 Sep 2023 00:26:46 -0400 Received: by mail-qt1-x831.google.com with SMTP id d75a77b69052e-414b3da2494so25139631cf.3 for <65860@debbugs.gnu.org>; Sun, 10 Sep 2023 21:26:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694406394; x=1695011194; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CSa1jUz5LyAym01PJQ8druO+zhYj1EoNYEx05pBCnoM=; b=T1rAKvFp7MmGwsc+z+YdAJjiYMTUrFs/bF9p7eVCBC19o9gE2henkNiTmEQXoybYD0 Y+dylJnyfMPExIAGNCVUzGeYR5Bp/R1tTG/+MeBwxM68Np96L5bdEQETJaj6DjfMJZQD NFYpVpY+b6cjeJKQwOm5Kb1jM/EFnr+dXwMdh43y+kS09SMCo7391MVESkGQE/gV3W1Q 05P4jV6fcxuHxgI59lKuBheywakzurlrqXM3LnRqfwg5Er6VXewl170KR9YbX/fz9oqY jyVW393ZXUcLhtU8qpEJcC0ByVymWL9OcBkj6zkNuoU8yTT9uZMf2dQxCilwct7iZ+IK FxkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694406394; x=1695011194; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CSa1jUz5LyAym01PJQ8druO+zhYj1EoNYEx05pBCnoM=; b=moehU15h/ER+ugG6+rLDWB9+xqnOscz1oSTcn5Fmol9+X1WzMcBcSejvbTl+BdTTFr HTIqKHhgz9YP6tWX5OOD40GEmcZB5CRHozDvPVmBMH/7Tas13rNNfBsIqlwaVL6qeUBq F3Ny6bWLgnY3t/2ak0dWIu48+eGqetd9aNSUZ+mxaM59GYfFWBU7cmnPSZDuDTh+QYRL QWpAoS85DZIVBCDs2/tTERgiS8RjqrE6mNejNQjg1tbcJi7Q5FCK38V870rxiCh3rJU5 /82AdwsHec5X4S8k3YveFhl+AADy08h46bvkkbuz1q1DdA1BjPZ5IakVWONWlYSyAP+K mDiQ== X-Gm-Message-State: AOJu0YyXCAH0s9AqqDTr36YVIdON7vDD+yj3wOEwea2PBqTXR2HMGpNq olEqutICq3YUrH1+4v989+jFGIT5Vq4= X-Google-Smtp-Source: AGHT+IGHxOuQlThXG1+xHOks1npJPGb0O7Vn3V3IpV749/uFdvLqabGT4nHH6B6C8gCD9FBA7bxD4g== X-Received: by 2002:a05:622a:4cd:b0:412:d0b:12b5 with SMTP id q13-20020a05622a04cd00b004120d0b12b5mr8919445qtx.45.1694406394401; Sun, 10 Sep 2023 21:26:34 -0700 (PDT) Received: from localhost.localdomain (dsl-155-89.b2b2c.ca. [66.158.155.89]) by smtp.gmail.com with ESMTPSA id c8-20020a0cf2c8000000b0064f778c8165sm2608923qvm.64.2023.09.10.21.26.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 Sep 2023 21:26:33 -0700 (PDT) From: Maxim Cournoyer Date: Mon, 11 Sep 2023 00:25:57 -0400 Message-ID: X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Partially addresses . * gnu/packages/avr.scm: Add commentary comment. (avr-gcc): Turn into this... (make-avr-gcc): ... procedure. (avr-libc): Likewise, into... (make-avr-gcc): ... this. Adjust native-inputs accordingly. (avr-toolchain): Likewise, into... (make-avr-toolchain): ... this. * gnu/packages/avr-xyz.scm (simavr) [propagated-inputs]: replace avr-toolchain with a call to the 'make-avr-toolchain' procedure. --- gnu/packages/avr-xyz.scm | 2 +- gnu/packages/avr.scm | 66 +++++++++++++++++++++++++--------------- 2 files changed, 42 insertions(+), 26 deletions(-) diff --git a/gnu/packages/avr-xyz.scm b/gnu/packages/avr-xyz.scm index a05157ede7..e8844b8d43 100644 --- a/gnu/packages/avr-xyz.scm +++ b/gnu/packages/avr-xyz.scm @@ -71,7 +71,7 @@ (define-public simavr (string-append "PREFIX=" #$output) (string-append "DESTDIR=" #$output)))) (propagated-inputs - (list avr-toolchain)) + (list (make-avr-toolchain))) (native-inputs (list autoconf which diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index 9c623a9626..abca60eeac 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm @@ -38,15 +38,27 @@ (define-module (gnu packages avr) #:use-module (gnu packages flashing-tools) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) - #:use-module (gnu packages vim)) + #:use-module (gnu packages vim) + #:export (make-avr-toolchain)) -(define-public avr-binutils +;;; Commentary: +;;; +;;; This module defines a procedure that can be used to create a complete +;;; avr-toolchain package. The procedure must not be used at the top level, +;;; to avoid cyclic module dependencies caused by the (gnu packages +;;; cross-base) module referring to top level bindings from (gnu packages +;;; gcc). +;;; +;;; It also contains packages for working with or targeting the AVR system. +;;; + +(define (make-avr-binutils) (package (inherit (cross-binutils "avr")) (name "avr-binutils"))) -(define avr-gcc - (let ((xgcc (cross-gcc "avr" #:xbinutils avr-binutils))) +(define (make-avr-gcc) + (let ((xgcc (cross-gcc "avr" #:xbinutils (make-avr-binutils)))) (package (inherit xgcc) (name "avr-gcc") @@ -99,7 +111,7 @@ (define avr-gcc `(("gcc" ,gcc) ,@(package-native-inputs xgcc)))))) -(define avr-libc +(define (make-avr-libc) (package (name "avr-libc") (version "2.0.0") @@ -114,8 +126,8 @@ (define avr-libc (arguments '(#:out-of-source? #t #:configure-flags '("--host=avr"))) - (native-inputs `(("avr-binutils" ,avr-binutils) - ("avr-gcc" ,avr-gcc))) + (native-inputs `(("avr-binutils" ,(make-avr-binutils)) + ("avr-gcc" ,(make-avr-gcc)))) (home-page "https://www.nongnu.org/avr-libc/") (synopsis "The AVR C Library") (description @@ -124,27 +136,31 @@ (define avr-libc (license (license:non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt")))) -(define-public avr-toolchain - ;; 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 etc if we didn't use the corret avr-gcc. - (package - (name "avr-toolchain") - (version (package-version avr-gcc)) - (source #f) - (build-system trivial-build-system) - (arguments '(#:builder (begin (mkdir %output) #t))) - (propagated-inputs - `(("avrdude" ,avrdude) - ("binutils" ,avr-binutils) - ("gcc" ,avr-gcc) - ("libc" ,avr-libc))) - (synopsis "Complete GCC tool chain for AVR microcontroller development") - (description "This package provides a complete GCC tool chain for AVR +(define (make-avr-toolchain) + (let ((avr-binutils (make-avr-binutils)) + (avr-libc (make-avr-libc)) + (avr-gcc (make-avr-gcc))) + ;; 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 + ;; etc if we didn't use the corret avr-gcc. + (package + (name "avr-toolchain") + (version (package-version avr-gcc)) + (source #f) + (build-system trivial-build-system) + (arguments '(#:builder (begin (mkdir %output) #t))) + (propagated-inputs + `(("avrdude" ,avrdude) + ("binutils" ,avr-binutils) + ("gcc" ,avr-gcc) + ("libc" ,avr-libc))) + (synopsis "Complete GCC tool chain for AVR microcontroller development") + (description "This package provides a complete GCC tool chain for AVR microcontroller development. This includes the GCC AVR cross compiler and avrdude for firmware flashing. The supported programming languages are C and C++.") - (home-page (package-home-page avr-libc)) - (license (package-license avr-gcc)))) + (home-page (package-home-page avr-libc)) + (license (package-license avr-gcc))))) (define-public microscheme (package