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 /m4/guix.m4 | |
| 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 'm4/guix.m4')
| -rw-r--r-- | m4/guix.m4 | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/m4/guix.m4 b/m4/guix.m4 index a98378db792..19e041a72c6 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | dnl GNU Guix --- Functional package management for GNU | 1 | dnl GNU Guix --- Functional package management for GNU |
| 2 | dnl Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> | 2 | dnl Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> |
| 3 | dnl | 3 | dnl |
| 4 | dnl This file is part of GNU Guix. | 4 | dnl This file is part of GNU Guix. |
| 5 | dnl | 5 | dnl |
| @@ -134,3 +134,20 @@ AC_DEFUN([GUIX_CHECK_SRFI_37], [ | |||
| 134 | ac_cv_guix_srfi_37_broken=yes | 134 | ac_cv_guix_srfi_37_broken=yes |
| 135 | fi]) | 135 | fi]) |
| 136 | ]) | 136 | ]) |
| 137 | |||
| 138 | dnl GUIX_CHECK_UNBUFFERED_CBIP | ||
| 139 | dnl | ||
| 140 | dnl Check whether 'setbvuf' works on custom binary input ports (CBIPs), as is | ||
| 141 | dnl the case starting with Guile 2.0.10. | ||
| 142 | AC_DEFUN([GUIX_CHECK_UNBUFFERED_CBIP], [ | ||
| 143 | AC_CACHE_CHECK([whether Guile's custom binary input ports support 'setvbuf'], | ||
| 144 | [ac_cv_guix_cbips_support_setvbuf], | ||
| 145 | [if "$GUILE" -c "(use-modules (rnrs io ports)) \ | ||
| 146 | (let ((p (make-custom-binary-input-port \"cbip\" pk #f #f #f))) \ | ||
| 147 | (setvbuf p _IONBF))" >&5 2>&1 | ||
| 148 | then | ||
| 149 | ac_cv_guix_cbips_support_setvbuf=yes | ||
| 150 | else | ||
| 151 | ac_cv_guix_cbips_support_setvbuf=no | ||
| 152 | fi]) | ||
| 153 | ]) | ||
