aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--distro/packages/make-bootstrap.scm41
1 files changed, 40 insertions, 1 deletions
diff --git a/distro/packages/make-bootstrap.scm b/distro/packages/make-bootstrap.scm
index d54fdc444f..ea889d062b 100644
--- a/distro/packages/make-bootstrap.scm
+++ b/distro/packages/make-bootstrap.scm
@@ -19,6 +19,7 @@
(define-module (distro packages make-bootstrap)
#:use-module (guix utils)
#:use-module (guix packages)
+ #:use-module (guix licenses)
#:use-module (guix build-system trivial)
#:use-module (guix build-system gnu)
#:use-module ((distro) #:select (search-patch))
@@ -35,7 +36,8 @@
%binutils-bootstrap-tarball
%glibc-bootstrap-tarball
%gcc-bootstrap-tarball
- %guile-bootstrap-tarball))
+ %guile-bootstrap-tarball
+ %bootstrap-tarballs))
;;; Commentary:
;;;
@@ -520,4 +522,41 @@
;; A tarball with the statically-linked, relocatable Guile.
(tarball-package %guile-static-stripped))
+(define %bootstrap-tarballs
+ ;; A single derivation containing all the bootstrap tarballs, for
+ ;; convenience.
+ (package
+ (name "bootstrap-tarballs")
+ (version "0")
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (let ((out (assoc-ref %outputs "out")))
+ (use-modules (guix build utils)
+ (ice-9 match)
+ (srfi srfi-26))
+
+ (setvbuf (current-output-port) _IOLBF)
+ (mkdir out)
+ (chdir out)
+ (for-each (match-lambda
+ ((name . directory)
+ (for-each (lambda (file)
+ (format #t "~a -> ~a~%" file out)
+ (symlink file (basename file)))
+ (find-files directory "\\.tar\\."))))
+ %build-inputs)
+ #t)))
+ (inputs `(("guile-tarball" ,%guile-bootstrap-tarball)
+ ("gcc-tarball" ,%gcc-bootstrap-tarball)
+ ("binutils-tarball" ,%binutils-bootstrap-tarball)
+ ("glibc-tarball" ,%glibc-bootstrap-tarball)
+ ("coreutils&co-tarball" ,%bootstrap-binaries-tarball)))
+ (synopsis #f)
+ (description #f)
+ (home-page #f)
+ (license gpl3+)))
+
;;; make-bootstrap.scm ends here