aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--distro/packages/base.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/distro/packages/base.scm b/distro/packages/base.scm
index ad3c4882a2..8ffdbf635d 100644
--- a/distro/packages/base.scm
+++ b/distro/packages/base.scm
@@ -2101,4 +2101,32 @@ store.")
#t))))
(inputs `(("guile" ,%guile-static)))))
+(define %guile-bootstrap-tarball
+ ;; A tarball with the statically-linked, relocatable Guile.
+ (package (inherit %guile-static)
+ (name "guile-bootstrap-tarball")
+ (build-system trivial-build-system)
+ (inputs `(("tar" ,tar)
+ ("xz" ,xz)
+ ("guile" ,%guile-static-stripped)))
+ (arguments
+ (lambda (system)
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((out (assoc-ref %outputs "out"))
+ (guile (assoc-ref %build-inputs "guile"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (xz (assoc-ref %build-inputs "xz")))
+ (mkdir out)
+ (set-path-environment-variable "PATH" '("bin") (list tar xz))
+ (with-directory-excursion guile
+ (zero? (system* "tar" "cJvf"
+ (string-append out "/guile-bootstrap-"
+ ,(package-version %guile-static)
+ "-" ,system
+ ".tar.xz")
+ "."))))))))))
+
;;; base.scm ends here