diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2014-01-23 23:48:34 +0100 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2014-01-24 00:01:50 +0100 |
| commit | 49e6291a7a257f89f01644423f1b685778b8862a (patch) | |
| tree | d461cae8cfc21fc9fa421c3fb62d372bf44c2ca7 /config-daemon.ac | |
| parent | 50add47748eb40371d8b88208a13e7230d15c220 (diff) | |
Add 'guix offload' as a daemon build hook.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_NO_BUILD_HOOK): New macro.
(options): Add '--no-build-hook'.
(parse_opt): Handle it.
(main)[HAVE_DAEMON_OFFLOAD_HOOK]: Set 'useBuildHook' by default.
Set $NIX_BUILD_HOOK to our offload hook unless otherwise specified.
[!HAVE_DAEMON_OFFLOAD_HOOK]: Clear 'useBuildHook'.
* pre-inst-env.in: Set and export NIX_BUILD_HOOK.
* nix/scripts/offload.in, guix/scripts/offload.scm: New files.
* guix/ui.scm (show-guix-help)[internal?]: Add "offload".
* config-daemon.ac: Call 'GUIX_CHECK_UNBUFFERED_CBIP'.
Instantiate 'nix/scripts/offload'. Set 'BUILD_DAEMON_OFFLOAD'
conditional, and optionally define 'HAVE_DEAMON_OFFLOAD_HOOK' cpp
macro.
* daemon.am (nodist_pkglibexec_SCRIPTS)[BUILD_DAEMON_OFFLOAD]: Add it.
* Makefile.am (MODULES)[BUILD_DAEMON_OFFLOAD]: Add
'guix/scripts/offload.scm'.
(EXTRA_DIST)[!BUILD_DAEMON_OFFLOAD]: Likewise.
* m4/guix.m4 (GUIX_CHECK_UNBUFFERED_CBIP): New macro.
* doc/guix.texi (Setting Up the Daemon): Move most of the body to...
(Build Environment Setup): ... this. New subsection.
(Daemon Offload Setup): New subsection.
Diffstat (limited to 'config-daemon.ac')
| -rw-r--r-- | config-daemon.ac | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/config-daemon.ac b/config-daemon.ac index 0717141198e..1169bb6ef41 100644 --- a/config-daemon.ac +++ b/config-daemon.ac | |||
| @@ -95,6 +95,17 @@ if test "x$guix_build_daemon" = "xyes"; then | |||
| 95 | dnl Check for <linux/fs.h> (for immutable file support). | 95 | dnl Check for <linux/fs.h> (for immutable file support). |
| 96 | AC_CHECK_HEADERS([linux/fs.h]) | 96 | AC_CHECK_HEADERS([linux/fs.h]) |
| 97 | 97 | ||
| 98 | dnl Check whether the 'offload' build hook can be built (uses | ||
| 99 | dnl 'restore-file-set', which requires unbuffered custom binary input | ||
| 100 | dnl ports from Guile >= 2.0.10.) | ||
| 101 | GUIX_CHECK_UNBUFFERED_CBIP | ||
| 102 | guix_build_daemon_offload="$ac_cv_guix_cbips_support_setvbuf" | ||
| 103 | |||
| 104 | if test "x$guix_build_daemon_offload" = "xyes"; then | ||
| 105 | AC_DEFINE([HAVE_DAEMON_OFFLOAD_HOOK], [1], | ||
| 106 | [Define if the daemon's 'offload' build hook is being built.]) | ||
| 107 | fi | ||
| 108 | |||
| 98 | dnl Temporary directory used to store the daemon's data. | 109 | dnl Temporary directory used to store the daemon's data. |
| 99 | AC_MSG_CHECKING([for unit test root]) | 110 | AC_MSG_CHECKING([for unit test root]) |
| 100 | GUIX_TEST_ROOT="`pwd`/test-tmp" | 111 | GUIX_TEST_ROOT="`pwd`/test-tmp" |
| @@ -107,6 +118,11 @@ if test "x$guix_build_daemon" = "xyes"; then | |||
| 107 | [chmod +x nix/scripts/substitute-binary]) | 118 | [chmod +x nix/scripts/substitute-binary]) |
| 108 | AC_CONFIG_FILES([nix/scripts/guix-authenticate], | 119 | AC_CONFIG_FILES([nix/scripts/guix-authenticate], |
| 109 | [chmod +x nix/scripts/guix-authenticate]) | 120 | [chmod +x nix/scripts/guix-authenticate]) |
| 121 | AC_CONFIG_FILES([nix/scripts/offload], | ||
| 122 | [chmod +x nix/scripts/offload]) | ||
| 110 | fi | 123 | fi |
| 111 | 124 | ||
| 112 | AM_CONDITIONAL([BUILD_DAEMON], [test "x$guix_build_daemon" = "xyes"]) | 125 | AM_CONDITIONAL([BUILD_DAEMON], [test "x$guix_build_daemon" = "xyes"]) |
| 126 | AM_CONDITIONAL([BUILD_DAEMON_OFFLOAD], \ | ||
| 127 | [test "x$guix_build_daemon" = "xyes" \ | ||
| 128 | && test "x$guix_build_daemon_offload" = "xyes"]) | ||
