-/* Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
- Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+/* GNU Guix --- Functional package management for GNU
+ Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
- This file is part of Guix.
+ This file is part of GNU Guix.
- Guix is free software; you can redistribute it and/or modify it
+ 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.
- Guix is distributed in the hope that it will be useful, but
+ 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 Guix. If not, see <http://www.gnu.org/licenses/>. */
+ along with GNU 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. */
bootstrap_guile =
let pkgs = import nixpkgs {}; in {
i686 = pkgs.fetchurl {
- url = http://www.fdn.fr/~lcourtes/software/guix/packages/i686-linux/guile-bootstrap-2.0.6.tar.xz;
- sha256 = "93b537766dfab3ad287143523751e3ec02dd32d3ccaf88ad2d31c63158f342ee";
+ url = http://www.fdn.fr/~lcourtes/software/guix/packages/i686-linux/20121219/guile-2.0.7.tar.xz;
+ sha256 = "45d1f9bfb9e4531a8f1c5a105f7ab094cd481b8a179ccc63cbabb73ce6b8437f";
};
x86_64 = pkgs.fetchurl {
- url = http://www.fdn.fr/~lcourtes/software/guix/packages/x86_64-linux/guile-bootstrap-2.0.6.tar.xz;
- sha256 = "0467a82cbe4136f60a79eb4176011bf88cf28ea19c9ad9defa365811ff8e11cf";
+ url = http://www.fdn.fr/~lcourtes/software/guix/packages/x86_64-linux/20121219/guile-2.0.7.tar.xz;
+ sha256 = "953fbcc8db6e310626be79b67319cf4141dc23b296447952a99d95425b3a4dc1";
};
};
pkgs.releaseTools.sourceTarball {
name = "guix-tarball";
src = <guix>;
- buildInputs = with pkgs; [ guile ];
+ buildInputs = with pkgs; [ guile sqlite bzip2 git libgcrypt ];
buildNativeInputs = with pkgs; [ texinfo gettext cvs pkgconfig ];
+ preAutoconf = ''git config submodule.nix.url "${<nix>}"'';
configureFlags =
- [ "--with-nix-prefix=${pkgs.nix}"
- "--with-libgcrypt-prefix=${pkgs.libgcrypt}"
+ [ "--with-libgcrypt-prefix=${pkgs.libgcrypt}"
+ "--localstatedir=/nix/var"
];
};
let pkgs = import nixpkgs { inherit system; }; in
pkgs.releaseTools.nixBuild {
name = "guix";
- buildInputs = [ pkgs.guile ];
+ buildInputs = with pkgs; [ guile sqlite bzip2 libgcrypt ];
buildNativeInputs = [ pkgs.pkgconfig ];
src = jobs.tarball;
configureFlags =
- [ "--with-nix-prefix=${pkgs.nix}"
- "--with-libgcrypt-prefix=${pkgs.libgcrypt}"
+ [ "--with-libgcrypt-prefix=${pkgs.libgcrypt}"
+ "--localstatedir=/nix/var"
];
preBuild =
# the build system download it over and over again.
'' mkdir -p distro/packages/bootstrap/{i686,x86_64}-linux
cp -v "${bootstrap_guile.i686}" \
- distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz
+ distro/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
cp -v "${bootstrap_guile.x86_64}" \
- distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz
+ distro/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz
'';
- # 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;
};
+ build_disable_daemon =
+ { system ? builtins.currentSystem }:
+
+ let
+ pkgs = import nixpkgs { inherit system; };
+ build = jobs.build { inherit system; };
+ in
+ pkgs.lib.overrideDerivation build ({ configureFlags, ... }: {
+ configureFlags = configureFlags ++ [ "--disable-daemon" ];
+ buildInputs = with pkgs; [ guile nixUnstable pkgconfig ];
+
+ # Since we need to talk to a running daemon, we need to escape
+ # the chroot.
+ preConfigure = "export NIX_REMOTE=daemon";
+ __noChroot = true;
+ });
+
# Jobs to test the distro.
distro = {
hello =