[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#66263] [PATCH 09/23] gnu: Add make-cross-gcc-toolchain.
From: |
Jean-Pierre De Jesus DIAZ |
Subject: |
[bug#66263] [PATCH 09/23] gnu: Add make-cross-gcc-toolchain. |
Date: |
Fri, 29 Sep 2023 11:16:13 +0200 |
* gnu/packages/cross-toolchain.scm (make-cross-gcc-toolchain): New
procedure.
---
gnu/local.mk | 1 +
gnu/packages/cross-toolchain.scm | 58 ++++++++++++++++++++++++++++++++
2 files changed, 59 insertions(+)
create mode 100644 gnu/packages/cross-toolchain.scm
diff --git a/gnu/local.mk b/gnu/local.mk
index bfa816d717..bdd3af5080 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -197,6 +197,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/crates-graphics.scm \
%D%/packages/crates-gtk.scm \
%D%/packages/cross-base.scm \
+ %D%/packages/cross-toolchain.scm \
%D%/packages/crypto.scm \
%D%/packages/cryptsetup.scm \
%D%/packages/cups.scm \
diff --git a/gnu/packages/cross-toolchain.scm b/gnu/packages/cross-toolchain.scm
new file mode 100644
index 0000000000..0062d043a0
--- /dev/null
+++ b/gnu/packages/cross-toolchain.scm
@@ -0,0 +1,58 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages cross-toolchain)
+ #:use-module (gnu packages avr)
+ #:use-module (gnu packages cross-base)
+ #:use-module (guix build-system trivial)
+ #:use-module (guix packages)
+ #:use-module (srfi srfi-1)
+ #:export (make-cross-gcc-toolchain))
+
+(define* (make-cross-gcc-toolchain target
+ #:key
+ (libc (cross-libc target))
+ (xgcc (cross-gcc target #:libc libc))
+ (xbinutils (cross-binutils target)))
+ (package
+ (name (string-append (package-name xgcc) "-toolchain"))
+ (version (package-version xgcc))
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ '(#:modules ((guix build union))
+ #:builder (begin
+ (use-modules (ice-9 match)
+ (guix build union))
+
+ (match %build-inputs
+ (((names . directory) ...)
+ (union-build (assoc-ref %outputs "out") directory))))))
+ (inputs (list xgcc xbinutils libc))
+ (native-search-paths (package-native-search-paths xgcc))
+ (search-paths (package-search-paths xgcc))
+ (properties (alist-delete 'hidden? (package-properties xgcc)))
+ (license (package-license xgcc))
+ (synopsis (string-append "Complete GCC tool chain for C/C++ development ("
+ target ")"))
+ (description
+ "This package provides a complete GCC cross tool chain for C/C++
+development to be installed in user profiles. This includes GCC, as well as
+libc (headers and binaries), and Binutils. GCC is the GNU Compiler
+Collection.")
+ (home-page "https://gcc.gnu.org/")))
--
2.34.1
- [bug#66263] [PATCH 19/23] gnu: Add gcc-cross-avr-toolchain., (continued)
- [bug#66263] [PATCH 19/23] gnu: Add gcc-cross-avr-toolchain., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 02/23] guix: gnu: Handle platforms without libc., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 23/23] gnu: Add unity., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 21/23] guix: meson-build-system: Support AVR., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 20/23] gnu: Add avr-toolchain., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 06/23] gnu: microscheme: Move to avr-xyz., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 13/23] gnu: cross-libc: Add AVR Libc case., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 16/23] gnu: cross-gcc-search-paths: Handle AVR target., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 18/23] gnu: Add avr-libc., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 08/23] gnu: avr-libc: Convert to procedure., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 09/23] gnu: Add make-cross-gcc-toolchain.,
Jean-Pierre De Jesus DIAZ <=
- [bug#66263] [PATCH 10/23] gnu: Add binutils-cross-avr., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 12/23] gnu: Remove various AVR packages., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 07/23] gnu: Add AVR phases to cross-gcc-build-phases., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 15/23] guix: meson-configuration: Fix boolean assigment., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 17/23] gnu: cross-gcc: Handle inputs for AVR., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 03/23] gnu: Add avr platform., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 14/23] gnu: cross-gcc-arguments: Handle AVR target., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 22/23] guix: meson-build-system: Disable PIC for AVR., Jean-Pierre De Jesus DIAZ, 2023/09/29
- [bug#66263] [PATCH 00/23] guix: Add avr as a platform., Jean-Pierre De Jesus Diaz, 2023/09/29