On Fri, Sep 29, 2023 at 11:16:13AM +0200, Jean-Pierre De Jesus DIAZ wrote: > * 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. > +;;; > +;;; 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 . > + > +(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)) Trivial thing but the break in the synopsis really bothers me. I'd put the string-append starting on the next line > + (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 > > > -- Efraim Flashner רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted