gnu: cross-base: Fix some indentation problems.

* gnu/packages/cross-base.scm (cross-binutils): Fix indentation.
(cross-kernel-headers): Align 'inherit' fields
of nested package variables.
(cross-gcc): Fix indentation.
This commit is contained in:
Maxim Cournoyer 2022-12-05 11:55:58 -05:00
parent 234190df00
commit d4c2ea9226
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -76,7 +76,8 @@
(define* (cross-binutils target #:optional (binutils binutils)) (define* (cross-binutils target #:optional (binutils binutils))
"Return a cross-Binutils for TARGET using BINUTILS." "Return a cross-Binutils for TARGET using BINUTILS."
(let ((binutils (package (inherit binutils) (let ((binutils (package
(inherit binutils)
(arguments (arguments
(substitute-keyword-arguments (package-arguments (substitute-keyword-arguments (package-arguments
binutils) binutils)
@ -128,71 +129,71 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
;; for instance. ;; for instance.
(let ((args `(#:strip-binaries? #f (let ((args `(#:strip-binaries? #f
,@(package-arguments xgcc)))) ,@(package-arguments xgcc))))
(substitute-keyword-arguments args (substitute-keyword-arguments args
((#:configure-flags flags) ((#:configure-flags flags)
`(append (list ,(string-append "--target=" target) `(append (list ,(string-append "--target=" target)
,@(if libc ,@(if libc
`( ;; Disable libcilkrts because it is not `( ;; Disable libcilkrts because it is not
;; ported to GNU/Hurd. ;; ported to GNU/Hurd.
"--disable-libcilkrts" "--disable-libcilkrts"
;; When building a cross compiler, --with-sysroot is ;; When building a cross compiler, --with-sysroot is
;; implicitly set to "$gcc_tooldir/sys-root". This does ;; implicitly set to "$gcc_tooldir/sys-root". This does
;; not work for us, because --with-native-system-header-dir ;; not work for us, because --with-native-system-header-dir
;; is searched for relative to this location. Thus, we set ;; is searched for relative to this location. Thus, we set
;; it to "/" so GCC is able to find the target libc headers. ;; it to "/" so GCC is able to find the target libc headers.
;; This is safe because in practice GCC uses CROSS_CPATH ;; This is safe because in practice GCC uses CROSS_CPATH
;; & co to separate target and host libraries. ;; & co to separate target and host libraries.
"--with-sysroot=/") "--with-sysroot=/")
`( ;; Disable features not needed at this stage. `( ;; Disable features not needed at this stage.
"--disable-shared" "--enable-static" "--disable-shared" "--enable-static"
"--enable-languages=c,c++" "--enable-languages=c,c++"
;; libstdc++ cannot be built at this stage ;; libstdc++ cannot be built at this stage
;; ("Link tests are not allowed after ;; ("Link tests are not allowed after
;; GCC_NO_EXECUTABLES."). ;; GCC_NO_EXECUTABLES.").
"--disable-libstdc++-v3" "--disable-libstdc++-v3"
"--disable-threads" ;libgcc, would need libc "--disable-threads" ;libgcc, would need libc
"--disable-libatomic" "--disable-libatomic"
"--disable-libmudflap" "--disable-libmudflap"
"--disable-libgomp" "--disable-libgomp"
"--disable-libmpx" "--disable-libmpx"
"--disable-libssp" "--disable-libssp"
"--disable-libquadmath" "--disable-libquadmath"
"--disable-decimal-float" ;would need libc "--disable-decimal-float" ;would need libc
"--disable-libcilkrts" "--disable-libcilkrts"
;; When target is any OS other than 'none' these ;; When target is any OS other than 'none' these
;; libraries will fail if there is no libc ;; libraries will fail if there is no libc
;; present. See ;; present. See
;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg01311.html> ;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg01311.html>
"--disable-libitm" "--disable-libitm"
"--disable-libvtv" "--disable-libvtv"
"--disable-libsanitizer" "--disable-libsanitizer"
)) ))
;; Install cross-built libraries such as libgcc_s.so in ;; Install cross-built libraries such as libgcc_s.so in
;; the "lib" output. ;; the "lib" output.
,@(if libc ,@(if libc
`((string-append "--with-toolexeclibdir=" `((string-append "--with-toolexeclibdir="
(assoc-ref %outputs "lib") (assoc-ref %outputs "lib")
"/" ,target "/lib")) "/" ,target "/lib"))
'())) '()))
,(if libc ,(if libc
flags flags
`(remove (cut string-match "--enable-languages.*" <>) `(remove (cut string-match "--enable-languages.*" <>)
,flags)))) ,flags))))
((#:make-flags flags) ((#:make-flags flags)
(if libc (if libc
`(let ((libc (assoc-ref %build-inputs "libc"))) `(let ((libc (assoc-ref %build-inputs "libc")))
;; FLAGS_FOR_TARGET are needed for the target libraries to receive ;; FLAGS_FOR_TARGET are needed for the target libraries to receive
;; the -Bxxx for the startfiles. ;; the -Bxxx for the startfiles.
(cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib") (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
,flags)) ,flags))
flags)) flags))
((#:phases phases) ((#:phases phases)
`(cross-gcc-build-phases ,target ,phases)))))) `(cross-gcc-build-phases ,target ,phases))))))
(define (cross-gcc-patches xgcc target) (define (cross-gcc-patches xgcc target)
"Return GCC patches needed for XGCC and TARGET." "Return GCC patches needed for XGCC and TARGET."
@ -203,7 +204,7 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
(append (search-patches "gcc-4.9.3-mingw-gthr-default.patch") (append (search-patches "gcc-4.9.3-mingw-gthr-default.patch")
(if (version>=? (package-version xgcc) "7.0") (if (version>=? (package-version xgcc) "7.0")
(search-patches "gcc-7-cross-mingw.patch") (search-patches "gcc-7-cross-mingw.patch")
'()))) '())))
(else '()))) (else '())))
(define (cross-gcc-snippet target) (define (cross-gcc-snippet target)
@ -231,13 +232,15 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
XGCC as the base compiler. Use XBINUTILS as the associated cross-Binutils. XGCC as the base compiler. Use XBINUTILS as the associated cross-Binutils.
If LIBC is false, then build a GCC that does not target a libc; otherwise, If LIBC is false, then build a GCC that does not target a libc; otherwise,
target that libc." target that libc."
(package (inherit xgcc) (package
(inherit xgcc)
(name (string-append "gcc-cross-" (name (string-append "gcc-cross-"
(if libc "" "sans-libc-") (if libc "" "sans-libc-")
target)) target))
(source (source
(origin (origin
(inherit (package-source xgcc)) (inherit
(package-source xgcc))
(patches (patches
(append (append
(origin-patches (package-source xgcc)) (origin-patches (package-source xgcc))
@ -304,7 +307,7 @@ target that libc."
`(,@inputs `(,@inputs
("libc" ,libc) ("libc" ,libc)
("libc:static" ,libc "static") ("libc:static" ,libc "static")
("xkernel-headers" ;the target headers ("xkernel-headers" ;the target headers
,@(assoc-ref (package-propagated-inputs libc) ,@(assoc-ref (package-propagated-inputs libc)
"kernel-headers")))) "kernel-headers"))))
(else inputs))))) (else inputs)))))
@ -338,7 +341,8 @@ target that libc."
"Return headers depending on TARGET." "Return headers depending on TARGET."
(define xlinux-headers (define xlinux-headers
(package (inherit linux-headers) (package
(inherit linux-headers)
(name (string-append (package-name linux-headers) (name (string-append (package-name linux-headers)
"-cross-" target)) "-cross-" target))
(arguments (arguments
@ -364,7 +368,8 @@ target that libc."
,@(package-native-inputs linux-headers))))) ,@(package-native-inputs linux-headers)))))
(define xgnumach-headers (define xgnumach-headers
(package (inherit gnumach-headers) (package
(inherit gnumach-headers)
(name (string-append (package-name gnumach-headers) (name (string-append (package-name gnumach-headers)
"-cross-" target)) "-cross-" target))
@ -373,7 +378,8 @@ target that libc."
,@(package-native-inputs gnumach-headers))))) ,@(package-native-inputs gnumach-headers)))))
(define xmig (define xmig
(package (inherit mig) (package
(inherit mig)
(name (string-append "mig-cross")) (name (string-append "mig-cross"))
(arguments (arguments
`(#:modules ((guix build gnu-build-system) `(#:modules ((guix build gnu-build-system)
@ -396,7 +402,8 @@ target that libc."
,@(package-native-inputs mig))))) ,@(package-native-inputs mig)))))
(define xhurd-headers (define xhurd-headers
(package (inherit hurd-headers) (package
(inherit hurd-headers)
(name (string-append (package-name hurd-headers) (name (string-append (package-name hurd-headers)
"-cross-" target)) "-cross-" target))
@ -405,8 +412,9 @@ target that libc."
("cross-mig" ,xmig) ("cross-mig" ,xmig)
,@(alist-delete "mig"(package-native-inputs hurd-headers)))))) ,@(alist-delete "mig"(package-native-inputs hurd-headers))))))
(define xglibc/hurd-headers (define xglibc/hurd-headers
(package (inherit glibc/hurd-headers) (package
(inherit glibc/hurd-headers)
(name (string-append (package-name glibc/hurd-headers) (name (string-append (package-name glibc/hurd-headers)
"-cross-" target)) "-cross-" target))
@ -437,15 +445,16 @@ target that libc."
,@(alist-delete "mig"(package-native-inputs glibc/hurd-headers)))))) ,@(alist-delete "mig"(package-native-inputs glibc/hurd-headers))))))
(define xhurd-minimal (define xhurd-minimal
(package (inherit hurd-minimal) (package
(inherit hurd-minimal)
(name (string-append (package-name hurd-minimal) (name (string-append (package-name hurd-minimal)
"-cross-" target)) "-cross-" target))
(arguments (arguments
(substitute-keyword-arguments (substitute-keyword-arguments
`(#:modules ((guix build gnu-build-system) `(#:modules ((guix build gnu-build-system)
(guix build utils) (guix build utils)
(srfi srfi-26)) (srfi srfi-26))
,@(package-arguments hurd-minimal)) ,@(package-arguments hurd-minimal))
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
(add-before 'configure 'set-cross-headers-path (add-before 'configure 'set-cross-headers-path
@ -464,7 +473,8 @@ target that libc."
,@(alist-delete "mig"(package-native-inputs hurd-minimal)))))) ,@(alist-delete "mig"(package-native-inputs hurd-minimal))))))
(define xhurd-core-headers (define xhurd-core-headers
(package (inherit hurd-core-headers) (package
(inherit hurd-core-headers)
(name (string-append (package-name hurd-core-headers) (name (string-append (package-name hurd-core-headers)
"-cross-" target)) "-cross-" target))
@ -551,7 +561,7 @@ and the cross tool chain."
,@(assoc-ref (package-native-inputs xheaders) ,@(assoc-ref (package-native-inputs xheaders)
"cross-mig"))) "cross-mig")))
'()) '())
,@(package-inputs libc) ;FIXME: static-bash ,@(package-inputs libc) ;FIXME: static-bash
,@(package-native-inputs libc)))))) ,@(package-native-inputs libc))))))