1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-17 12:30:38 +02:00

Merge branch 'master' into core-updates

This commit is contained in:
Mark H Weaver 2016-11-06 03:29:06 -05:00
commit 8b6ad165d1
No known key found for this signature in database
GPG key ID: 7CEF29847562C516
40 changed files with 3564 additions and 856 deletions

View file

@ -24,7 +24,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages gcc)
#:use-module (gnu packages base)
#:use-module (gnu packages commencement)
#:use-module (gnu packages linux)
#:use-module (gnu packages hurd)
#:use-module (guix packages)
@ -260,11 +259,11 @@ GCC that does not target a libc; otherwise, target that libc."
;; Call it differently so that the builder can check whether the "libc"
;; input is #f.
("libc-native" ,@(assoc-ref %final-inputs "libc"))
("libc-native" ,@(assoc-ref (%final-inputs) "libc"))
;; Remaining inputs.
,@(let ((inputs (append (package-inputs %xgcc)
(alist-delete "libc" %final-inputs))))
(alist-delete "libc" (%final-inputs)))))
(if libc
`(("libc" ,libc)
("xkernel-headers" ;the target headers
@ -522,36 +521,14 @@ XBINUTILS and the cross tool chain."
,@(package-native-inputs libc))))))
;;;
;;; 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.