* guix/gexp.scm (<system-binding>): New record type.
(let-system): New macro.
(system-binding-compiler): New procedure.
(default-expander): Add 'self-quoting?' case.
(self-quoting?): New procedure.
(lower-inputs): Add 'filterm'. Pass the result of
'mapm/accumulate-builds' through FILTERM.
(gexp->sexp)[self-quoting?]: Remove.
* tests/gexp.scm ("let-system", "let-system, target")
("let-system, ungexp-native, target")
("let-system, nested"): New tests.
* doc/guix.texi (G-Expressions): Document it.
* gnu/packages/aux-files/run-in-namespace.c (HAVE_EXEC_WITH_LOADER): New
macro.
(bind_mount): Rename to...
(mirror_directory): ... this. Add 'firmlink' argument and use it
instead of calling mkdir/open/close/mount directly.
(bind_mount, make_symlink): New functions.
(exec_in_user_namespace): Adjust accordingly.
(exec_with_loader) [HAVE_EXEC_WITH_LOADER]: New function.
(exec_performance): New function.
(engines): Add them.
* guix/scripts/pack.scm (wrapped-package)[fakechroot-library]
[audit-module]: New procedures.
[audit-source]: New variable.
[build](elf-interpreter, elf-loader-compile-flags): New procedures.
(build-wrapper): Use them.
* tests/guix-pack-relocatable.sh: Test with
'GUIX_EXECUTION_ENGINE=fakechroot'.
* doc/guix.texi (Invoking guix pack): Document the 'performance' and
'fakechroot' engines.
* gnu/packages/aux-files/pack-audit.c: New file.
* Makefile.am (AUX_FILES): Add it.
* gnu/packages/aux-files/run-in-namespace.c (struct engine): New type.
(exec_default): New function.
(engines): New variable.
(execution_engine): New function.
(main): Use it instead of calling 'exec_in_user_namespace' and
'exec_with_proot' directly.
* tests/guix-pack-relocatable.sh: Add test with 'GUIX_EXECUTION_ENGINE'.
* doc/guix.texi (Invoking guix pack): Document 'GUIX_EXECUTION_ENGINE'.
* doc/guix.texi (Invoking guix graph): Mention xdot. Remove a couple of
"| dot -Tpdf" in examples and add "| xdot".
(Invoking guix system): Likewise.
(Preparing to Use the Bootstrap Binaries): Likewise.
* gnu/system/vm.scm (system-docker-image): Add #:shared-network? and
pass it to 'containerized-operating-system'.
(qemu-image):
* guix/scripts/system.scm (system-derivation-for-action): Pass
#:shared-network? to 'system-docker-image'.
* doc/guix.texi (Invoking guix system): Document it.
* doc/guix.texi (Invoking `guix environment'): Add paragraph and example to
run Eolie in a guix environment container. Add `container' cindex for the
first container example, and the `certificates' cindex for the web browser
example.
Suggested by Bruno Haible <bruno@clisp.org>
in <https://bugs.gnu.org/41038>.
* doc/guix.texi (Packages for C Development): New node.
(Application Setup)[The GCC toolchain]: Empty and refer to it.
Fixes <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40803>.
Reported by "operator.name" <operator.name@protonmail.com>.
* doc/build.scm (%languages): Add smaller list for the cookbook.
(syntax-highlighted-html): Adapt regexp for mono-node files to include
the cookbook.
Introduce a new `addresses' field that translates to passing `--address='
multiple times to dnsmasq.
* gnu/services/dns.scm (<dnsmasq-configuration>): Add an addresses field.
(dnsmasq-shepherd-service): Match the addresses field and translate it to
multiple '--address=' flags.
* doc/guix.texi (DNS Services): Document it.
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
This is a follow-up to commit 57833803b4.
* doc/guix.texi (Initial RAM Disk): Refer to "%guile-3.0-static-stripped"
instead of "%guile-static-stripped".
* doc/guix.texi (Dictionary Service): Renamed to singular and changed
from 'subsubsection' to 'subheading'.
Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
This avoids a race with the bcm5974 kernel module.
Fixes <https://bugs.gnu.org/35574>.
* gnu/system.scm (%default-modprobe-blacklist): New variable.
(<operating-system>)[kernel-arguments]: Default to ...
(%default-kernel-arguments): ... this new variable.
* doc/guix.texi (operating-system Reference): Document the change.
* doc/guix-cookbook.texi (@samp{GUIX_PACKAGE_PATH}):
(Extended example):
(Setting up a bind mount):
(Basic setup with manifests):
(Default profile): Use @file instead of @samp or @code for file names and
extensions.
* doc/guix-cookbook.texi (Extended example):
(StumpWM):
(Basic setup with manifests): Prevent Texinfo from ending a sentence where it
should not.
(Setting up a bind mount): Add two spaces where needed.
* gnu/packages/fonts.scm (font-gnu-freefont): Add otf and woff font types.
* gnu/packages/genealogy.scm (gramps)[inputs]: Replace font-gnu-freefont-tff
with font-gnu-freefont.
* doc/guix.texi: Adjust a reference to the package.
Signed-off-by: Leo Famulari <leo@famulari.name>