summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-11-04 15:29:01 +0100
committerLudovic Courtès <ludo@gnu.org>2016-11-04 15:36:00 +0100
commitbd2e1a8cb07088bdc54b9bb05d9b2e99f78e5b28 (patch)
treecdce3cb091fe096783e12fa1e977a028ab0e9b6b
parentfb77c61422ae2d03c0bf655d96b0e88f5f8001da (diff)
downloadpatches-bd2e1a8cb07088bdc54b9bb05d9b2e99f78e5b28.tar
patches-bd2e1a8cb07088bdc54b9bb05d9b2e99f78e5b28.tar.gz
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 <dannym@scratchpost.org> 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.
-rw-r--r--gnu/packages/cross-base.scm38
-rw-r--r--gnu/packages/firmware.scm4
2 files changed, 10 insertions, 32 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 0000a3adcb..4b720ba4e9 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 45b7bf7ab1..484896f592 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 <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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)))