guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: gnu: cross-base: Remove exports of cross compilers.


From: Ludovic Courtès
Subject: 02/02: gnu: cross-base: Remove exports of cross compilers.
Date: Fri, 4 Nov 2016 14:36:12 +0000 (UTC)

civodul pushed a commit to branch master
in repository guix.

commit bd2e1a8cb07088bdc54b9bb05d9b2e99f78e5b28
Author: Ludovic Courtès <address@hidden>
Date:   Fri Nov 4 15:29:01 2016 +0100

    gnu: cross-base: Remove exports of cross compilers.
    
    They were never really needed and caused troubles in the presence of
    circular module dependencies as reported by
    Danny Milosavljevic <address@hidden> at
    <https://lists.gnu.org/archive/html/guix-devel/2016-11/msg00144.html>.
    
    * gnu/packages/cross-base.scm (xgcc-mips64el, xgcc-xtensa, xgcc-armhf):
    Remove.
    * gnu/packages/firmware.scm (ath9k-htc-firmware)[native-inputs]: Use
    'cross-gcc' instead of XGCC-XTENSA.
---
 gnu/packages/cross-base.scm |   38 ++++++++------------------------------
 gnu/packages/firmware.scm   |    4 ++--
 2 files changed, 10 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 0000a3a..4b720ba 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -368,36 +368,14 @@ XBINUTILS and the cross tool chain."
                      ,@(package-native-inputs glibc)))))
 
 
-;;;
-;;; Concrete cross toolchains.
-;;;
-
-(define-public xgcc-mips64el
-  (let* ((triplet "mips64el-linux-gnuabi64")      ;N64 ABI
-         (xgcc    (cross-gcc triplet
-                             (cross-binutils triplet)
-                             (cross-libc triplet))))
-    ;; Don't attempt to build this cross-compiler on i686;
-    ;; see <http://bugs.gnu.org/19598>.
-    (package (inherit xgcc)
-      (supported-systems (fold delete
-                               (package-supported-systems xgcc)
-                               '("mips64el-linux" "i686-linux"))))))
-
-(define-public xgcc-xtensa
-  ;; Bare-bones Xtensa cross-compiler, used to build the Atheros firmware.
-  (cross-gcc "xtensa-elf"))
-
-(define-public xgcc-armhf
-  (let* ((triplet "arm-linux-gnueabihf")
-         (xgcc    (cross-gcc triplet
-                             (cross-binutils triplet)
-                             (cross-libc triplet))))
-    (package (inherit xgcc)
-      (supported-systems (delete "armhf-linux" %supported-systems)))))
-
-;; (define-public xgcc-armel
-;;   (let ((triplet "armel-linux-gnueabi"))
+;;; Concrete cross tool chains are instantiated like this:
+;;
+;; (define-public xgcc-armhf
+;;   (let ((triplet "arm-linux-gnueabihf"))
 ;;     (cross-gcc triplet
 ;;                (cross-binutils triplet)
 ;;                (cross-libc triplet))))
+;;
+;;; We don't do that here because we'd be referring to bindings from (gnu
+;;; packages gcc) from the top level, which doesn't play well with circular
+;;; dependencies among modules.
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 45b7bf7..484896f 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015 Ludovic Courtès <address@hidden>
+;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -71,7 +71,7 @@
 
     ;; The firmware is cross-compiled using a "bare bones" compiler (no libc.)
     ;; Use our own tool chain for that.
-    (native-inputs `(("cross-gcc" ,xgcc-xtensa)
+    (native-inputs `(("cross-gcc" ,(cross-gcc "xtensa-elf"))
                      ("cross-binutils" ,(cross-binutils "xtensa-elf"))
                      ("cmake" ,cmake)
                      ("perl" ,perl)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]