summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/ci.scm56
1 files changed, 41 insertions, 15 deletions
diff --git a/gnu/ci.scm b/gnu/ci.scm
index 80f226a5fb4..093beac4cf6 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -37,7 +37,7 @@
37 #:use-module (guix ui) 37 #:use-module (guix ui)
38 #:use-module ((guix licenses) 38 #:use-module ((guix licenses)
39 #:select (gpl3+ license? license-name)) 39 #:select (gpl3+ license? license-name))
40 #:use-module ((guix utils) #:select (%current-system)) 40 #:use-module (guix utils)
41 #:use-module ((guix scripts system) #:select (read-operating-system)) 41 #:use-module ((guix scripts system) #:select (read-operating-system))
42 #:use-module ((guix scripts pack) 42 #:use-module ((guix scripts pack)
43 #:select (self-contained-tarball)) 43 #:select (self-contained-tarball))
@@ -48,9 +48,13 @@
48 #:use-module (gnu packages) 48 #:use-module (gnu packages)
49 #:use-module (gnu packages gcc) 49 #:use-module (gnu packages gcc)
50 #:use-module (gnu packages gdb) 50 #:use-module (gnu packages gdb)
51 #:use-module (gnu packages man)
51 #:use-module (gnu packages base) 52 #:use-module (gnu packages base)
52 #:use-module (gnu packages gawk) 53 #:use-module (gnu packages gawk)
54 #:use-module (gnu packages hurd)
55 #:use-module (gnu packages admin)
53 #:use-module (gnu packages guile) 56 #:use-module (gnu packages guile)
57 #:use-module (gnu packages linux)
54 #:use-module (gnu packages gettext) 58 #:use-module (gnu packages gettext)
55 #:use-module (gnu packages compression) 59 #:use-module (gnu packages compression)
56 #:use-module (gnu packages multiprecision) 60 #:use-module (gnu packages multiprecision)
@@ -136,19 +140,43 @@ SYSTEM."
136 #:cross? #t 140 #:cross? #t
137 #:target target))) 141 #:target target)))
138 142
143(define %core-packages-for-mingw
144 ;; Core packages that can be built for any target, including MinGW. This
145 ;; excludes the bootstrap tarballs, which do not support MinGW.
146 (list gcc-10 gcc-11 gcc-12 glibc binutils gdb-minimal
147 gmp mpfr mpc coreutils findutils diffutils patch sed grep
148 gawk gnu-gettext hello guile-2.2 guile-3.0 zlib gzip bzip2 xz zstd))
149
139(define %core-packages 150(define %core-packages
151 ;; General set of core packages.
140 ;; Note: Don't put the '-final' package variants because (1) that's 152 ;; Note: Don't put the '-final' package variants because (1) that's
141 ;; implicit, and (2) they cannot be cross-built (due to the explicit input 153 ;; implicit, and (2) they cannot be cross-built (due to the explicit input
142 ;; chain.) 154 ;; chain.)
143 (list gcc-10 gcc-11 gcc-12 glibc binutils gdb-minimal 155 (append %core-packages-for-mingw
144 gmp mpfr mpc coreutils findutils diffutils patch sed grep 156 (list util-linux procps psmisc which e2fsprogs man-db inetutils
145 gawk gnu-gettext hello guile-2.2 guile-3.0 zlib gzip xz guix 157 guix shepherd
146 %bootstrap-binaries-tarball 158 %bootstrap-binaries-tarball
147 %binutils-bootstrap-tarball 159 %binutils-bootstrap-tarball
148 (%glibc-bootstrap-tarball) 160 (%glibc-bootstrap-tarball)
149 %gcc-bootstrap-tarball 161 %gcc-bootstrap-tarball
150 %guile-bootstrap-tarball 162 %guile-bootstrap-tarball
151 %bootstrap-tarballs)) 163 %bootstrap-tarballs)))
164
165(define %linux-packages
166 ;; Extra Linux-specific packages.
167 (list linux-libre))
168
169(define %hurd-packages
170 ;; Extra Hurd-specific packages
171 (list gnumach mig hurd-minimal hurd netdde rumpkernel))
172
173(define (core-packages system)
174 "Return the 'core' package set suitable for SYSTEM, which might be a system
175type or a GNU triplet."
176 (cond ((target-linux? system) (append %core-packages %linux-packages))
177 ((target-hurd? system) (append %core-packages %hurd-packages))
178 ((target-mingw? system) %core-packages-for-mingw)
179 (else '())))
152 180
153(define (commencement-packages system) 181(define (commencement-packages system)
154 "Return the list of bootstrap packages from the commencement module for 182 "Return the list of bootstrap packages from the commencement module for
@@ -165,10 +193,7 @@ SYSTEM."
165 193
166(define (packages-to-cross-build target) 194(define (packages-to-cross-build target)
167 "Return the list of packages to cross-build for TARGET." 195 "Return the list of packages to cross-build for TARGET."
168 ;; Don't cross-build the bootstrap tarballs for MinGW. 196 (core-packages target))
169 (if (string-contains target "mingw")
170 (drop-right %core-packages 6)
171 %core-packages))
172 197
173(define %bare-platform-triplets 198(define %bare-platform-triplets
174 ;; Cross-compilation triplets of platforms that lack a proper user-space and 199 ;; Cross-compilation triplets of platforms that lack a proper user-space and
@@ -546,7 +571,8 @@ names, for each one of SYSTEMS."
546 (map (lambda (package) 571 (map (lambda (package)
547 (package-job store (job-name package) 572 (package-job store (job-name package)
548 package system)) 573 package system))
549 (append (commencement-packages system) %core-packages)) 574 (append (commencement-packages system)
575 (core-packages system)))
550 (cross-jobs store system))) 576 (cross-jobs store system)))
551 ('guix 577 ('guix
552 ;; Build Guix modules only. 578 ;; Build Guix modules only.