summaryrefslogtreecommitdiff
path: root/distro
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-10-19 23:02:07 +0200
committerLudovic Courtès <ludo@gnu.org>2012-10-20 11:51:07 +0200
commit5cbb559046671c824b090f9540bdf29e26c7c6d9 (patch)
treee9c4c9493b38d9d49537a6604593f6a29c39b482 /distro
parent5cc30616736e7c3eaaf79b4bb313cdfaa52a7d98 (diff)
distro: Add a package to build a tarball of the bootstrap binaries.
* distro/packages/base.scm (tarball-package): New procedure. (%bootstrap-binaries-tarball): New variable. (%guile-bootstrap-tarball): Define in terms of `tarball-package'.
Diffstat (limited to 'distro')
-rw-r--r--distro/packages/base.scm54
1 files changed, 32 insertions, 22 deletions
diff --git a/distro/packages/base.scm b/distro/packages/base.scm
index 5e0b30ce89..2f4bbecbb8 100644
--- a/distro/packages/base.scm
+++ b/distro/packages/base.scm
@@ -2163,32 +2163,42 @@ 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")
+(define (tarball-package pkg)
+ "Return a package containing a tarball of PKG."
+ (package (inherit pkg)
+ (location (source-properties->location (current-source-location)))
+ (name (string-append (package-name pkg) "-tarball"))
(build-system trivial-build-system)
(inputs `(("tar" ,tar)
("xz" ,xz)
- ("guile" ,%guile-static-stripped)))
+ ("input" ,pkg)))
(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")
- "."))))))))))
+ (let ((name (package-name pkg))
+ (version (package-version pkg)))
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((out (assoc-ref %outputs "out"))
+ (input (assoc-ref %build-inputs "input"))
+ (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 input
+ (zero? (system* "tar" "cJvf"
+ (string-append out "/"
+ ,name "-" ,version
+ "-" ,system ".tar.xz")
+ ".")))))))))))
+
+(define %bootstrap-binaries-tarball
+ ;; A tarball with the statically-linked bootstrap binaries.
+ (tarball-package %static-binaries))
+
+(define %guile-bootstrap-tarball
+ ;; A tarball with the statically-linked, relocatable Guile.
+ (tarball-package %guile-static-stripped))
;;; base.scm ends here