From 239c22663ac928618028c4ec03cefc77de788e9d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 12 Mar 2017 16:48:40 +0100 Subject: 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. --- build-aux/hydra/gnu-system.scm | 9 +++++++- build-aux/make-binary-tarball.scm | 47 --------------------------------------- 2 files changed, 8 insertions(+), 48 deletions(-) delete mode 100644 build-aux/make-binary-tarball.scm (limited to 'build-aux') 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 @@ (define (->job name drv) (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 -;;; -;;; 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 . - - -;;; -;;; 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)))) -- cgit v1.2.3