From 52554a333bb3db20471a3dc6673205111f28b17c Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Thu, 25 Sep 2025 22:37:28 +0800 Subject: [PATCH] rosenthal: Add custom CI build for guix/dolly tarball. --- modules/rosenthal/ci/tarball.scm | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 modules/rosenthal/ci/tarball.scm diff --git a/modules/rosenthal/ci/tarball.scm b/modules/rosenthal/ci/tarball.scm new file mode 100644 index 0000000..e5e9644 --- /dev/null +++ b/modules/rosenthal/ci/tarball.scm @@ -0,0 +1,39 @@ +;;; SPDX-FileCopyrightText: 2025 Hilton Chain +;;; +;;; SPDX-License-Identifier: GPL-3.0-or-later + +(define-module (rosenthal ci tarball) + #:use-module (guix derivations) + #:use-module (guix gexp) + #:use-module (guix monads) + #:use-module (guix packages) + #:use-module (guix profiles) + #:use-module (guix store) + #:use-module (guix scripts pack) + #:use-module (gnu ci) + #:use-module (gnu compression) + #:use-module (rosenthal packages package-management) + #:export (cuirass-jobs)) + +;; Adapted from (@@ (gnu ci) tarball-jobs). +(define (cuirass-jobs store arguments) + "Return jobs to build the self-contained Guix binary tarball." + (define (->job name drv) + (let ((name (string-append name "." system))) + (parameterize ((%graft? #f)) + (derivation->job name drv)))) + + (map (lambda (system) + (->job "binary-tarball" + (run-with-store store + (mbegin %store-monad + (set-guile-for-build (default-guile)) + (>>= (profile-derivation (packages->manifest (list guix/dolly))) + (lambda (profile) + (self-contained-tarball "guix-binary" profile + #:profile-name "current-guix" + #:localstatedir? #t + #:compressor + (lookup-compressor "xz"))))) + #:system system))) + (arguments->systems arguments)))