From unknown Sat Aug 16 18:43:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#27018: [PATCH 0/5] Cross-compiler fixes Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 22 May 2017 13:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 27018 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 27018@debbugs.gnu.org Cc: Ricardo Wurmus X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.149546136219834 (code B ref -1); Mon, 22 May 2017 13:57:02 +0000 Received: (at submit) by debbugs.gnu.org; 22 May 2017 13:56:02 +0000 Received: from localhost ([127.0.0.1]:33017 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCnoY-00059q-BG for submit@debbugs.gnu.org; Mon, 22 May 2017 09:56:02 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40118) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCnoW-00059L-G4 for submit@debbugs.gnu.org; Mon, 22 May 2017 09:56:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dCnoQ-0004iy-7s for submit@debbugs.gnu.org; Mon, 22 May 2017 09:55:55 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: ** X-Spam-Status: No, score=2.3 required=5.0 tests=BAYES_50,RCVD_IN_SORBS_WEB autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:34621) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dCnoQ-0004iu-4Y for submit@debbugs.gnu.org; Mon, 22 May 2017 09:55:54 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59311) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dCnoO-00060z-S1 for guix-patches@gnu.org; Mon, 22 May 2017 09:55:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dCnoK-0004hr-QY for guix-patches@gnu.org; Mon, 22 May 2017 09:55:52 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21120) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dCnoK-0004hV-IX for guix-patches@gnu.org; Mon, 22 May 2017 09:55:48 -0400 Received: from localhost (x59cc8ba7.dyn.telefonica.de [89.204.139.167]) by mx.zohomail.com with SMTPS id 1495461341619744.3718591061171; Mon, 22 May 2017 06:55:41 -0700 (PDT) From: Ricardo Wurmus Date: Mon, 22 May 2017 15:55:31 +0200 Message-Id: <20170522135531.3787-1-rekado@elephly.net> X-Mailer: git-send-email 2.12.2 X-ZohoMailClient: External X-ZohoMail: Z_26063301 SPT_1 Z_26062608 SPT_0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -2.5 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.5 (--) Hi Guix, my goal here was to get a working C++ cross-compiler for arm-none-eabi (for the Axoloti audio board). While doing this I remembered that "gcc-arm-none-eabi-4.9" was using "%xgcc" (which happens to be gcc-5) instead of "gcc-4.9" because of the way that "cross-gcc" works. The first few patches change "cross-gcc" and its users such that a xgcc argument can be supplied (it defaults to %xgcc). With that out of the way I built libstdc++ for arm-none-eabi and added it to the arm-none-eabi-toolchain. I also changed the toolchain package to present the union of all inputs at the output. That makes it much nicer for other packages to use the toolchain as an input, because it actually contains files. I have already successfully built the Axoloti firmware with the new toolchain, and I'm preparing a patch set to finally add it (and the Java patcher UI) to Guix proper. Ricardo Wurmus (5): gnu: Allow overriding of xgcc package in cross-gcc. gnu: avr-gcc-4.9: Use gcc-4.9 as base compiler. gnu: Add libstdc++-arm-none-eabi. gnu: arm-none-eabi-toolchain: Provide union of all inputs at the output. gnu: arm-none-eabi-toolchain: Include libstdc++. gnu/packages/avr.scm | 4 ++-- gnu/packages/cross-base.scm | 28 ++++++++++++++++------------ gnu/packages/embedded.scm | 43 +++++++++++++++++++++++++++++++++++++++---- 3 files changed, 57 insertions(+), 18 deletions(-) -- 2.12.2 From unknown Sat Aug 16 18:43:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#27018: [PATCH 1/5] gnu: Allow overriding of xgcc package in cross-gcc. References: <20170522135531.3787-1-rekado@elephly.net> In-Reply-To: <20170522135531.3787-1-rekado@elephly.net> Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 22 May 2017 14:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27018 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 27018@debbugs.gnu.org Cc: Ricardo Wurmus Received: via spool by 27018-submit@debbugs.gnu.org id=B27018.149546241321396 (code B ref 27018); Mon, 22 May 2017 14:14:01 +0000 Received: (at 27018) by debbugs.gnu.org; 22 May 2017 14:13:33 +0000 Received: from localhost ([127.0.0.1]:33027 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCo5R-0005Ym-Si for submit@debbugs.gnu.org; Mon, 22 May 2017 10:13:33 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21058) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCo5P-0005Yc-Rl for 27018@debbugs.gnu.org; Mon, 22 May 2017 10:13:28 -0400 Received: from localhost (141.80.244.203 [141.80.244.203]) by mx.zohomail.com with SMTPS id 1495462403341451.5247349373659; Mon, 22 May 2017 07:13:23 -0700 (PDT) From: Ricardo Wurmus Date: Mon, 22 May 2017 16:13:15 +0200 Message-Id: <20170522141319.2410-1-rekado@elephly.net> X-Mailer: git-send-email 2.12.2 X-ZohoMailClient: External X-ZohoMail: Z_26063301 SPT_1 Z_26062608 SPT_0 X-Spam-Score: -1.8 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.8 (-) * gnu/packages/cross-base.scm (cross-gcc-arguments): Take extra "xgcc" argument. (cross-gcc): Use keyword arguments; take optional "xgcc" argument. * gnu/packages/embedded.scm (gcc-arm-none-eabi-4.9, propeller-gcc, gcc-vc4): Use keyword arguments. * gnu/packages/avr.scm (avr-gcc-4.9): Likewise. --- gnu/packages/avr.scm | 2 +- gnu/packages/cross-base.scm | 28 ++++++++++++++++------------ gnu/packages/embedded.scm | 7 ++++--- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index fd18ff6a9..fc4eb8db0 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm @@ -39,7 +39,7 @@ (name "avr-binutils"))) (define-public avr-gcc-4.9 - (let ((xgcc (cross-gcc "avr" avr-binutils))) + (let ((xgcc (cross-gcc "avr" #:xbinutils avr-binutils))) (package (inherit xgcc) (name "avr-gcc") diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 47e095819..54303b7b4 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -100,9 +100,9 @@ binutils) target))) -(define (cross-gcc-arguments target libc) - "Return build system arguments for a cross-gcc for TARGET, using LIBC (which -may be either a libc package or #f.)" +(define (cross-gcc-arguments target xgcc libc) + "Return build system arguments for a cross-gcc for TARGET, using XGCC as the +base compiler and using LIBC (which may be either a libc package or #f.)" ;; Set the current target system so that 'glibc-dynamic-linker' returns the ;; right name. (parameterize ((%current-target-system target)) @@ -111,7 +111,7 @@ may be either a libc package or #f.)" ;; ;; for instance. (let ((args `(#:strip-binaries? #f - ,@(package-arguments %xgcc)))) + ,@(package-arguments xgcc)))) (substitute-keyword-arguments args ((#:configure-flags flags) `(append (list ,(string-append "--target=" target) @@ -183,18 +183,22 @@ may be either a libc package or #f.)" (else #f))) (define* (cross-gcc target - #:optional (xbinutils (cross-binutils target)) libc) + #:key + (xgcc %xgcc) + (xbinutils (cross-binutils target)) + (libc #f)) "Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use -XBINUTILS as the associated cross-Binutils. If LIBC is false, then build a -GCC that does not target a libc; otherwise, target that libc." - (package (inherit %xgcc) +XGCC as the base compiler. Use XBINUTILS as the associated cross-Binutils. +If LIBC is false, then build a GCC that does not target a libc; otherwise, +target that libc." + (package (inherit xgcc) (name (string-append "gcc-cross-" (if libc "" "sans-libc-") target)) - (source (origin (inherit (package-source %xgcc)) + (source (origin (inherit (package-source xgcc)) (patches (append - (origin-patches (package-source %xgcc)) + (origin-patches (package-source xgcc)) (cons (search-patch "gcc-cross-environment-variables.patch") (cross-gcc-patches target)))) (modules '((guix build utils))) @@ -216,7 +220,7 @@ GCC that does not target a libc; otherwise, target that libc." (srfi srfi-26) (ice-9 regex)) - ,@(cross-gcc-arguments target libc))) + ,@(cross-gcc-arguments target xgcc libc))) (native-inputs `(("ld-wrapper-cross" ,(make-ld-wrapper @@ -230,7 +234,7 @@ GCC that does not target a libc; otherwise, target that libc." ("libc-native" ,@(assoc-ref (%final-inputs) "libc")) ;; Remaining inputs. - ,@(let ((inputs (append (package-inputs %xgcc) + ,@(let ((inputs (append (package-inputs xgcc) (alist-delete "libc" (%final-inputs))))) (cond ((target-mingw? target) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index b919bdf6c..632682d63 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -52,7 +52,8 @@ ;; See https://launchpadlibrarian.net/218827644/release.txt (define-public gcc-arm-none-eabi-4.9 (let ((xgcc (cross-gcc "arm-none-eabi" - (cross-binutils "arm-none-eabi"))) + #:xgcc gcc-4.9 + #:xbinutils (cross-binutils "arm-none-eabi"))) (revision "1") (svn-revision 227977)) (package (inherit xgcc) @@ -419,7 +420,7 @@ with a layered architecture of JTAG interface and TAP support.") (define-public propeller-gcc (let ((xgcc (cross-gcc "propeller-elf" - propeller-binutils)) + #:xbinutils propeller-binutils)) (commit "b4f45a4725e0b6d0af59e594c4e3e35ca4105867") (revision "1")) (package (inherit xgcc) @@ -776,7 +777,7 @@ the Raspberry Pi chip.") (define-public gcc-vc4 (let ((commit "165f6d0e11d2e76ee799533bb45bd5c92bf60dc2") - (xgcc (cross-gcc "vc4-elf" binutils-vc4))) + (xgcc (cross-gcc "vc4-elf" #:xbinutils binutils-vc4))) (package (inherit xgcc) (name "gcc-vc4") (source (origin -- 2.12.2 From unknown Sat Aug 16 18:43:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#27018: [PATCH 3/5] gnu: Add libstdc++-arm-none-eabi. Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 22 May 2017 14:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27018 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 27018@debbugs.gnu.org Cc: Ricardo Wurmus Received: via spool by 27018-submit@debbugs.gnu.org id=B27018.149546241321402 (code B ref 27018); Mon, 22 May 2017 14:14:02 +0000 Received: (at 27018) by debbugs.gnu.org; 22 May 2017 14:13:33 +0000 Received: from localhost ([127.0.0.1]:33031 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCo5V-0005Z3-CD for submit@debbugs.gnu.org; Mon, 22 May 2017 10:13:33 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21019) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCo5S-0005Yl-2b for 27018@debbugs.gnu.org; Mon, 22 May 2017 10:13:30 -0400 Received: from localhost (141.80.244.203 [141.80.244.203]) by mx.zohomail.com with SMTPS id 149546240853145.49194796604763; Mon, 22 May 2017 07:13:28 -0700 (PDT) From: Ricardo Wurmus Date: Mon, 22 May 2017 16:13:17 +0200 Message-Id: <20170522141319.2410-3-rekado@elephly.net> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170522141319.2410-1-rekado@elephly.net> References: <20170522141319.2410-1-rekado@elephly.net> X-ZohoMailClient: External X-ZohoMail: Z_26063301 SPT_1 Z_26062608 SPT_0 X-Spam-Score: -1.8 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.8 (-) * gnu/packages/embedded.scm (make-libstdc++-arm-none-eabi): New procedure. --- gnu/packages/embedded.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 632682d63..2befdf31b 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -197,6 +197,30 @@ usable on embedded products.") "--disable-nls")))) (synopsis "Newlib variant for small systems with limited memory"))) +(define (make-libstdc++-arm-none-eabi xgcc newlib) + (let ((libstdc++ (make-libstdc++ xgcc))) + (package (inherit libstdc++) + (name "libstdc++-arm-none-eabi") + (arguments + (substitute-keyword-arguments (package-arguments libstdc++) + ((#:configure-flags flags) + ``("--target=arm-none-eabi" + "--host=arm-none-eabi" + "--disable-libstdcxx-pch" + "--enable-multilib" + "--with-multilib-list=armv6-m,armv7-m,armv7e-m" + "--disable-shared" + "--disable-tls" + "--disable-plugin" + "--with-newlib" + ,(string-append "--with-gxx-include-dir=" + (assoc-ref %outputs "out") + "/arm-none-eabi/include"))))) + (native-inputs + `(("newlib" ,newlib) + ("xgcc" ,xgcc) + ,@(package-native-inputs libstdc++)))))) + (define (arm-none-eabi-toolchain xgcc newlib) "Produce a cross-compiler toolchain package with the compiler XGCC and the C library variant NEWLIB." -- 2.12.2 From unknown Sat Aug 16 18:43:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#27018: [PATCH 2/5] gnu: avr-gcc-4.9: Use gcc-4.9 as base compiler. Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 22 May 2017 14:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27018 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 27018@debbugs.gnu.org Cc: Ricardo Wurmus Received: via spool by 27018-submit@debbugs.gnu.org id=B27018.149546241421410 (code B ref 27018); Mon, 22 May 2017 14:14:02 +0000 Received: (at 27018) by debbugs.gnu.org; 22 May 2017 14:13:34 +0000 Received: from localhost ([127.0.0.1]:33033 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCo5W-0005ZG-KV for submit@debbugs.gnu.org; Mon, 22 May 2017 10:13:34 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21066) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCo5T-0005Yt-D5 for 27018@debbugs.gnu.org; Mon, 22 May 2017 10:13:31 -0400 Received: from localhost (141.80.244.203 [141.80.244.203]) by mx.zohomail.com with SMTPS id 1495462406146681.2713509850415; Mon, 22 May 2017 07:13:26 -0700 (PDT) From: Ricardo Wurmus Date: Mon, 22 May 2017 16:13:16 +0200 Message-Id: <20170522141319.2410-2-rekado@elephly.net> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170522141319.2410-1-rekado@elephly.net> References: <20170522141319.2410-1-rekado@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ZohoMailClient: External X-ZohoMail: Z_26063301 SPT_1 Z_26062608 SPT_0 X-Spam-Score: -1.8 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.8 (-) * gnu/packages/avr.scm (avr-gcc-4.9): Pass gcc-4.9 to "cross-gcc". --- gnu/packages/avr.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index fc4eb8db0..916f7983f 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2016 Manolis Fragkiskos Ragkousis -;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015, 2017 Ricardo Wurmus ;;; Copyright © 2016 David Thompson ;;; Copyright © 2016 Efraim Flashner ;;; @@ -39,7 +39,7 @@ (name "avr-binutils"))) (define-public avr-gcc-4.9 - (let ((xgcc (cross-gcc "avr" #:xbinutils avr-binutils))) + (let ((xgcc (cross-gcc "avr" #:xgcc gcc-4.9 #:xbinutils avr-binutils))) (package (inherit xgcc) (name "avr-gcc") -- 2.12.2 From unknown Sat Aug 16 18:43:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#27018: [PATCH 5/5] gnu: arm-none-eabi-toolchain: Include libstdc++. Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 22 May 2017 14:14:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27018 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 27018@debbugs.gnu.org Cc: Ricardo Wurmus Received: via spool by 27018-submit@debbugs.gnu.org id=B27018.149546241821427 (code B ref 27018); Mon, 22 May 2017 14:14:03 +0000 Received: (at 27018) by debbugs.gnu.org; 22 May 2017 14:13:38 +0000 Received: from localhost ([127.0.0.1]:33036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCo5Z-0005ZX-Rs for submit@debbugs.gnu.org; Mon, 22 May 2017 10:13:38 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21032) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCo5Y-0005ZP-GC for 27018@debbugs.gnu.org; Mon, 22 May 2017 10:13:36 -0400 Received: from localhost (141.80.244.203 [141.80.244.203]) by mx.zohomail.com with SMTPS id 1495462413319481.12626485502165; Mon, 22 May 2017 07:13:33 -0700 (PDT) From: Ricardo Wurmus Date: Mon, 22 May 2017 16:13:19 +0200 Message-Id: <20170522141319.2410-5-rekado@elephly.net> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170522141319.2410-1-rekado@elephly.net> References: <20170522141319.2410-1-rekado@elephly.net> X-ZohoMailClient: External X-ZohoMail: Z_26063301 SPT_1 Z_26062608 SPT_0 X-Spam-Score: -1.8 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.8 (-) * gnu/packages/embedded.scm (arm-none-eabi-toolchain)[propagated-inputs]: Add libstdc++. --- gnu/packages/embedded.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index f8684f46a..70541540e 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -249,6 +249,7 @@ library variant NEWLIB." directories)))))) (propagated-inputs `(("binutils" ,(cross-binutils "arm-none-eabi")) + ("libstdc++" ,(make-libstdc++-arm-none-eabi xgcc newlib-with-xgcc)) ("gcc" ,xgcc) ("newlib" ,newlib-with-xgcc))) (synopsis "Complete GCC tool chain for ARM bare metal development") -- 2.12.2 From unknown Sat Aug 16 18:43:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#27018: [PATCH 4/5] gnu: arm-none-eabi-toolchain: Provide union of all inputs at the output. Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 22 May 2017 14:14:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27018 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 27018@debbugs.gnu.org Cc: Ricardo Wurmus Received: via spool by 27018-submit@debbugs.gnu.org id=B27018.149546242121442 (code B ref 27018); Mon, 22 May 2017 14:14:03 +0000 Received: (at 27018) by debbugs.gnu.org; 22 May 2017 14:13:41 +0000 Received: from localhost ([127.0.0.1]:33039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCo5d-0005Zm-3M for submit@debbugs.gnu.org; Mon, 22 May 2017 10:13:41 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21072) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCo5Z-0005ZW-PP for 27018@debbugs.gnu.org; Mon, 22 May 2017 10:13:38 -0400 Received: from localhost (141.80.244.203 [141.80.244.203]) by mx.zohomail.com with SMTPS id 1495462410918239.58588905549982; Mon, 22 May 2017 07:13:30 -0700 (PDT) From: Ricardo Wurmus Date: Mon, 22 May 2017 16:13:18 +0200 Message-Id: <20170522141319.2410-4-rekado@elephly.net> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170522141319.2410-1-rekado@elephly.net> References: <20170522141319.2410-1-rekado@elephly.net> X-ZohoMailClient: External X-ZohoMail: Z_26063301 SPT_1 Z_26062608 SPT_0 X-Spam-Score: -1.8 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.8 (-) * gnu/packages/embedded.scm (arm-none-eabi-toolchain)[arguments]: Make the union of all inputs available at the output. --- gnu/packages/embedded.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 2befdf31b..f8684f46a 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -237,7 +237,16 @@ library variant NEWLIB." (version (package-version xgcc)) (source #f) (build-system trivial-build-system) - (arguments '(#:builder (mkdir %output))) + (arguments + '(#:modules ((guix build union)) + #:builder + (begin + (use-modules (ice-9 match) + (guix build union)) + (match %build-inputs + (((names . directories) ...) + (union-build (assoc-ref %outputs "out") + directories)))))) (propagated-inputs `(("binutils" ,(cross-binutils "arm-none-eabi")) ("gcc" ,xgcc) -- 2.12.2 From unknown Sat Aug 16 18:43:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#27018: [PATCH 1/5] gnu: Allow overriding of xgcc package in cross-gcc. Resent-From: Danny Milosavljevic Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 24 May 2017 17:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27018 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ricardo Wurmus Cc: 27018@debbugs.gnu.org Received: via spool by 27018-submit@debbugs.gnu.org id=B27018.149564639211693 (code B ref 27018); Wed, 24 May 2017 17:20:02 +0000 Received: (at 27018) by debbugs.gnu.org; 24 May 2017 17:19:52 +0000 Received: from localhost ([127.0.0.1]:36517 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dDZwt-00032X-W7 for submit@debbugs.gnu.org; Wed, 24 May 2017 13:19:52 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:40784) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dDZws-00032O-0e for 27018@debbugs.gnu.org; Wed, 24 May 2017 13:19:51 -0400 Received: from localhost (178.113.182.227.wireless.dyn.drei.com [178.113.182.227]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 414D51CA0025; Wed, 24 May 2017 19:19:48 +0200 (CEST) Date: Wed, 24 May 2017 19:19:43 +0200 From: Danny Milosavljevic Message-ID: <20170524191943.514b6ac6@scratchpost.org> In-Reply-To: <20170522141319.2410-1-rekado@elephly.net> References: <20170522135531.3787-1-rekado@elephly.net> <20170522141319.2410-1-rekado@elephly.net> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hi Ricardo, On Mon, 22 May 2017 16:13:15 +0200 Ricardo Wurmus wrote: > (define* (cross-gcc target > - #:optional (xbinutils (cross-binutils target)) libc) > + #:key > + (xgcc %xgcc) > + (xbinutils (cross-binutils target)) > + (libc #f)) Why is it "xgcc", "xbinutils", but "libc" (no "x")? Aren't they all the "cross" versions? Otherwise LGTM! From unknown Sat Aug 16 18:43:38 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Ricardo Wurmus Subject: bug#27018: closed (Re: bug#27018: [PATCH 1/5] gnu: Allow overriding of xgcc package in cross-gcc.) Message-ID: References: <87wp96ueox.fsf@elephly.net> <20170522135531.3787-1-rekado@elephly.net> X-Gnu-PR-Message: they-closed 27018 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 27018@debbugs.gnu.org Date: Wed, 24 May 2017 21:30:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1495661403-1510-1" This is a multi-part message in MIME format... ------------=_1495661403-1510-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #27018: [PATCH 0/5] Cross-compiler fixes which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 27018@debbugs.gnu.org. --=20 27018: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D27018 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1495661403-1510-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 27018-done) by debbugs.gnu.org; 24 May 2017 21:29:18 +0000 Received: from localhost ([127.0.0.1]:36678 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dDdqH-0000N9-UV for submit@debbugs.gnu.org; Wed, 24 May 2017 17:29:18 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21114) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dDdqF-0000N0-Vl for 27018-done@debbugs.gnu.org; Wed, 24 May 2017 17:29:16 -0400 Received: from localhost (port-92-200-46-6.dynamic.qsc.de [92.200.46.6]) by mx.zohomail.com with SMTPS id 1495661346270241.71926159229145; Wed, 24 May 2017 14:29:06 -0700 (PDT) References: <20170522135531.3787-1-rekado@elephly.net> <20170522141319.2410-1-rekado@elephly.net> <20170524191943.514b6ac6@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Ricardo Wurmus To: Danny Milosavljevic Subject: Re: bug#27018: [PATCH 1/5] gnu: Allow overriding of xgcc package in cross-gcc. In-reply-to: <20170524191943.514b6ac6@scratchpost.org> X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Date: Wed, 24 May 2017 23:29:02 +0200 Message-ID: <87wp96ueox.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-ZohoMailClient: External X-Spam-Score: -1.8 (-) X-Debbugs-Envelope-To: 27018-done Cc: 27018-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.8 (-) Danny Milosavljevic writes: > Hi Ricardo, > > On Mon, 22 May 2017 16:13:15 +0200 > Ricardo Wurmus wrote: > >> (define* (cross-gcc target >> - #:optional (xbinutils (cross-binutils target)) libc) >> + #:key >> + (xgcc %xgcc) >> + (xbinutils (cross-binutils target)) >> + (libc #f)) > > Why is it "xgcc", "xbinutils", but "libc" (no "x")? Aren't they all the "cross" versions? I don’t really know, but I assumed that it is because the libc is not a set of cross-build tools but a library. Anyway, thanks for the review. I’m going to push this now. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net ------------=_1495661403-1510-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 22 May 2017 13:56:02 +0000 Received: from localhost ([127.0.0.1]:33017 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCnoY-00059q-BG for submit@debbugs.gnu.org; Mon, 22 May 2017 09:56:02 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40118) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dCnoW-00059L-G4 for submit@debbugs.gnu.org; Mon, 22 May 2017 09:56:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dCnoQ-0004iy-7s for submit@debbugs.gnu.org; Mon, 22 May 2017 09:55:55 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: ** X-Spam-Status: No, score=2.3 required=5.0 tests=BAYES_50,RCVD_IN_SORBS_WEB autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:34621) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dCnoQ-0004iu-4Y for submit@debbugs.gnu.org; Mon, 22 May 2017 09:55:54 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59311) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dCnoO-00060z-S1 for guix-patches@gnu.org; Mon, 22 May 2017 09:55:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dCnoK-0004hr-QY for guix-patches@gnu.org; Mon, 22 May 2017 09:55:52 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21120) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dCnoK-0004hV-IX for guix-patches@gnu.org; Mon, 22 May 2017 09:55:48 -0400 Received: from localhost (x59cc8ba7.dyn.telefonica.de [89.204.139.167]) by mx.zohomail.com with SMTPS id 1495461341619744.3718591061171; Mon, 22 May 2017 06:55:41 -0700 (PDT) From: Ricardo Wurmus To: guix-patches@gnu.org Subject: [PATCH 0/5] Cross-compiler fixes Date: Mon, 22 May 2017 15:55:31 +0200 Message-Id: <20170522135531.3787-1-rekado@elephly.net> X-Mailer: git-send-email 2.12.2 X-ZohoMailClient: External X-ZohoMail: Z_26063301 SPT_1 Z_26062608 SPT_0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -2.5 (--) X-Debbugs-Envelope-To: submit Cc: Ricardo Wurmus X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.5 (--) Hi Guix, my goal here was to get a working C++ cross-compiler for arm-none-eabi (for the Axoloti audio board). While doing this I remembered that "gcc-arm-none-eabi-4.9" was using "%xgcc" (which happens to be gcc-5) instead of "gcc-4.9" because of the way that "cross-gcc" works. The first few patches change "cross-gcc" and its users such that a xgcc argument can be supplied (it defaults to %xgcc). With that out of the way I built libstdc++ for arm-none-eabi and added it to the arm-none-eabi-toolchain. I also changed the toolchain package to present the union of all inputs at the output. That makes it much nicer for other packages to use the toolchain as an input, because it actually contains files. I have already successfully built the Axoloti firmware with the new toolchain, and I'm preparing a patch set to finally add it (and the Java patcher UI) to Guix proper. Ricardo Wurmus (5): gnu: Allow overriding of xgcc package in cross-gcc. gnu: avr-gcc-4.9: Use gcc-4.9 as base compiler. gnu: Add libstdc++-arm-none-eabi. gnu: arm-none-eabi-toolchain: Provide union of all inputs at the output. gnu: arm-none-eabi-toolchain: Include libstdc++. gnu/packages/avr.scm | 4 ++-- gnu/packages/cross-base.scm | 28 ++++++++++++++++------------ gnu/packages/embedded.scm | 43 +++++++++++++++++++++++++++++++++++++++---- 3 files changed, 57 insertions(+), 18 deletions(-) -- 2.12.2 ------------=_1495661403-1510-1--