diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2026-03-16 17:30:38 +0100 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2026-03-25 23:51:25 +0100 |
| commit | 426101e70f2744b59b297e044edd2e365cf4d725 (patch) | |
| tree | a9bdc6c2da6551e7bfd8d4378c78791ec41c49ba | |
| parent | d940f695e4e41e59f346698d359e464e831ed431 (diff) | |
ci: Extend the ‘%core-packages’ set.
The goal is to extend what the 'core subset builds but also (more
importantly) what gets cross-compiled for the 'all subset.
* gnu/ci.scm (%core-packages-for-mingw): New variable.
(%core-packages): Use it.
(%linux-packages, %hurd-packages): New variables.
(core-packages): New procedure.
(packages-to-cross-build, cuirass-jobs): Use it instead of ‘%core-packages’.
Change-Id: I2ee656ea589ffbf7dabcb6e84b3bb5a0b13556af
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| -rw-r--r-- | gnu/ci.scm | 56 |
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 | ||
| 175 | type 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. |
