summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-08-14 17:37:48 +0200
committerLudovic Courtès <ludo@gnu.org>2012-08-14 17:38:18 +0200
commit2152e3c5b217753f291d230c261147def1c0ad01 (patch)
tree4b2fcfdb1b53eae50ca8706dd44982530f89f9a7
parent202851dd8db8a654f0779d185a3aadd84cbe7335 (diff)
downloadgnu-guix-2152e3c5b217753f291d230c261147def1c0ad01.tar
gnu-guix-2152e3c5b217753f291d230c261147def1c0ad01.tar.gz
build: Add release.nix.
* release.nix: New file. * Makefile.am (EXTRA_DIST): Add it.
-rw-r--r--Makefile.am2
-rw-r--r--release.nix55
2 files changed, 56 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index e1754a777b..e0c177cabd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -59,7 +59,7 @@ TESTS_ENVIRONMENT = \
LOG_COMPILER = \
$(GUILE) --no-auto-compile -L "$(top_srcdir)"
-EXTRA_DIST = build-aux/config.rpath $(TESTS)
+EXTRA_DIST = build-aux/config.rpath release.nix $(TESTS)
CLEANFILES = $(GOBJECTS) *.log
diff --git a/release.nix b/release.nix
new file mode 100644
index 0000000000..8d87d03bda
--- /dev/null
+++ b/release.nix
@@ -0,0 +1,55 @@
+/* Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
+ Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+
+ This file is part of Guix.
+
+ 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.
+
+ 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 Guix. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Release file to build Guix with Nix. Useful to bootstrap Guix on
+ Guix-enabled Hydra instances. */
+
+let
+ nixpkgs = <nixpkgs>;
+
+ jobs = {
+ tarball =
+ let pkgs = import nixpkgs {}; in
+ pkgs.releaseTools.sourceTarball {
+ name = "guix-tarball";
+ src = <guix>;
+ buildInputs = with pkgs; [ guile ];
+ buildNativeInputs = with pkgs; [ gettext cvs pkgconfig ];
+ configureFlags =
+ [ "--with-nixpkgs=${nixpkgs}" "--with-nix-prefix=${pkgs.nix}" ];
+ };
+
+ build =
+ { system ? builtins.currentSystem }:
+
+ let pkgs = import nixpkgs { inherit system; }; in
+ pkgs.releaseTools.nixBuild {
+ name = "guix";
+ buildInputs = [ pkgs.guile ];
+ buildNativeInputs = [ pkgs.pkgconfig ];
+ src = jobs.tarball;
+ configureFlags =
+ [ "--with-nixpkgs=${nixpkgs}" "--with-nix-prefix=${pkgs.nix}" ];
+
+ # XXX: The test suite cannot be run currently in the chroot, because
+ # it expects to have a running nix-worker to talk to.
+ doCheck = false;
+ };
+ };
+in
+ jobs