aboutsummaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-03-12 16:48:40 +0100
committerLudovic Courtès <ludo@gnu.org>2017-03-12 17:47:25 +0100
commit239c22663ac928618028c4ec03cefc77de788e9d (patch)
tree73d2769e34e83b6760e4f72e3f38ff4b54c253af /build-aux
parent998ac26a1e4f025ac75147c3497453615bb32d40 (diff)
downloadguix-239c22663ac928618028c4ec03cefc77de788e9d.tar.gz
guix-239c22663ac928618028c4ec03cefc77de788e9d.zip
Add 'guix pack'.
* gnu/system/install.scm (self-contained-tarball): Move to... * guix/scripts/pack.scm: ... here. New file. * doc/guix.texi (Binary Installation): Mention 'guix pack'. (Invoking guix pack): New node. * build-aux/make-binary-tarball.scm: Remove. * Makefile.am (MODULES): Add guix/scripts/pack.scm. (EXTRA_DIST): Remove build-aux/make-binary-tarball.scm. (guix-binary.%.tar.xz): Rewrite using 'guix pack'. * build-aux/hydra/gnu-system.scm (tarball-jobs): Adjust accordingly.
Diffstat (limited to 'build-aux')
-rw-r--r--build-aux/hydra/gnu-system.scm9
-rw-r--r--build-aux/make-binary-tarball.scm47
2 files changed, 8 insertions, 48 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index 04a9d0508a..7a26c72778 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -39,12 +39,15 @@
(use-modules (guix config)
(guix store)
(guix grafts)
+ (guix profiles)
(guix packages)
(guix derivations)
(guix monads)
((guix licenses) #:select (gpl3+))
((guix utils) #:select (%current-system))
((guix scripts system) #:select (read-operating-system))
+ ((guix scripts pack)
+ #:select (lookup-compressor self-contained-tarball))
(gnu packages)
(gnu packages gcc)
(gnu packages base)
@@ -213,7 +216,11 @@ all its dependencies, and ready to be installed on non-GuixSD distributions.")
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
- (self-contained-tarball))
+ (>>= (profile-derivation (packages->manifest (list guix)))
+ (lambda (profile)
+ (self-contained-tarball "guix-binary" profile
+ #:compressor
+ (lookup-compressor "xz")))))
#:system system))))
(define job-name
diff --git a/build-aux/make-binary-tarball.scm b/build-aux/make-binary-tarball.scm
deleted file mode 100644
index e12bec476c..0000000000
--- a/build-aux/make-binary-tarball.scm
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-
-;;;
-;;; Build a self-contained tarball containing binaries for Guix and its
-;;; dependencies.
-;;;
-
-(use-modules (guix)
- (guix ui)
- (gnu system install)
- (ice-9 match))
-
-(define copy-file*
- (lift2 copy-file %store-monad))
-
-(define rename-file*
- (lift2 rename-file %store-monad))
-
-(match (command-line)
- ((_ system file)
- (with-store store
- (run-with-store store
- (mlet %store-monad ((tarball (self-contained-tarball)))
- (mbegin %store-monad
- (show-what-to-build* (list tarball))
- (built-derivations (list tarball))
- (copy-file* (derivation->output-path tarball)
- (string-append file ".part"))
- (rename-file* (string-append file ".part") file)))
- #:system system))))