mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 13:10:33 +02:00
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.
This commit is contained in:
19
m4/guix.m4
19
m4/guix.m4
@@ -1,5 +1,5 @@
|
||||
dnl GNU Guix --- Functional package management for GNU
|
||||
dnl Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
dnl Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
dnl
|
||||
dnl This file is part of GNU Guix.
|
||||
dnl
|
||||
@@ -134,3 +134,20 @@ AC_DEFUN([GUIX_CHECK_SRFI_37], [
|
||||
ac_cv_guix_srfi_37_broken=yes
|
||||
fi])
|
||||
])
|
||||
|
||||
dnl GUIX_CHECK_UNBUFFERED_CBIP
|
||||
dnl
|
||||
dnl Check whether 'setbvuf' works on custom binary input ports (CBIPs), as is
|
||||
dnl the case starting with Guile 2.0.10.
|
||||
AC_DEFUN([GUIX_CHECK_UNBUFFERED_CBIP], [
|
||||
AC_CACHE_CHECK([whether Guile's custom binary input ports support 'setvbuf'],
|
||||
[ac_cv_guix_cbips_support_setvbuf],
|
||||
[if "$GUILE" -c "(use-modules (rnrs io ports)) \
|
||||
(let ((p (make-custom-binary-input-port \"cbip\" pk #f #f #f))) \
|
||||
(setvbuf p _IONBF))" >&5 2>&1
|
||||
then
|
||||
ac_cv_guix_cbips_support_setvbuf=yes
|
||||
else
|
||||
ac_cv_guix_cbips_support_setvbuf=no
|
||||
fi])
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user