blob: 8802f5456e90617d07d2bb0c131fbeb49fb34175 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
/* 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>;
buildOutOfSourceTree = true;
succeedOnFailure = true;
keepBuildDirectory = true;
jobs = {
tarball =
let pkgs = import nixpkgs {}; in
pkgs.releaseTools.sourceTarball {
name = "guix-tarball";
src = <guix>;
buildInputs = with pkgs; [ guile ];
buildNativeInputs = with pkgs; [ texinfo 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}"
"--with-libgcrypt-prefix=${pkgs.libgcrypt}"
];
# XXX: Since we need to talk to a running daemon, for the benefit of
# `nixpkgs-derivation*' & co., we need to escape the chroot.
preConfigure = "export NIX_REMOTE=daemon";
__noChroot = true;
inherit succeedOnFailure keepBuildDirectory
buildOutOfSourceTree;
};
};
in
jobs
|