doc: Reword "The GCC toolchain". Fix commit 1f14e25c1969a93908288cb302a572f3cbbaa478 as discussed in <https://bugs.gnu.org/41038>. * doc/guix.texi (Packages for C Development): Rename to... (The GCC toolchain): ...this. Add gfortran-toolchain. (Invoking guix package): Add guix-search anchor. (Application Setup)[The GCC toolchain]: Remove. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
etc: Add a systemd unit to bind-mount @storedir@ read-only. * etc/gnu-store.mount.in: New file. * nix/local.mk (nodist_systemdservice_DATA): Add it. (etc/%.mount): New rule for it. * etc/guix-install.sh (sys_enable_guix_daemon): Install it. * doc/guix.texi (Binary Installation): Document it. * .gitignore: Ignore changes to it.
gexp: Add 'let-system'.
* 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.
pack: Add relocation via ld.so and fakechroot. * 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.
pack: Wrapper honors 'GUIX_EXECUTION_ENGINE' environment variable. * 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: Mention guix-daemon's 'https_proxy' environment variable. * doc/guix.texi (Proxy Settings, Derivations): Mention 'https_proxy'.
mailmap: Update entries for Nikita. * .mailmap: change email and name for Nikita. * Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish, gnu/packages/accessibility.scm, gnu/packages/admin.scm, gnu/packages/audio.scm, gnu/packages/autotools.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/cinnamon.scm, gnu/packages/compression.scm, gnu/packages/crypto.scm, gnu/packages/databases.scm, gnu/packages/django.scm, gnu/packages/dns.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm, gnu/packages/enlightenment.scm, gnu/packages/erlang.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/forth.scm, gnu/packages/fvwm.scm, gnu/packages/games.scm, gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile-xyz.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-check.scm, gnu/packages/haskell-crypto.scm, gnu/packages/haskell-xyz.scm, gnu/packages/haskell.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/language.scm, gnu/packages/libcanberra.scm, gnu/packages/linux.scm, gnu/packages/lisp-xyz.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm, gnu/packages/ncurses.scm, gnu/packages/networking.scm, gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm, gnu/packages/perl-check.scm, gnu/packages/perl.scm, gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm, gnu/packages/telephony.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm, gnu/services/desktop.scm, gnu/services/version-control.scm, gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm: Likewise. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
doc: Specify the branch name in the title of a patch. * doc/contributing.texi (Submitting Patches): Add branch name in the title of a patch if different than master.
guix graph: Add '--path'. * guix/scripts/graph.scm (display-path): New procedure. (%options, show-help): Add '--path'. (guix-graph): Handle it. * tests/guix-graph.sh: Add tests. * doc/guix.texi (Invoking guix graph): Document it. (Invoking guix size): Mention it.
doc: Mention xdot. * 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.
Merge branch 'core-updates'
doc: Use @option for command-line options * doc/guix.texi (Invoking guix system): Use @option instead of @code.
guix system: 'docker-image' honors '--network'. * 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: Tiny markup fix. * doc/guix.texi (Substitute Authentication): Use @samp instead of @code for pseudo-code.
doc: Remove markup for external package names. * doc/guix.texi (Invoking guix import): Remove markup, which is not warranted here.
doc: Use @file instead of @code also for file extensions. * doc/guix.texi (Defining Packages): (Build Systems): (Derivations): (Invoking guix import): (Printing Services): (Installing Debugging Files): (Preparing to Use the Bootstrap Binaries): Use @file instead of @code.
doc: Use @env for environment variables. * doc/guix.texi (Binary Installation): (Build Environment Setup): (Invoking guix-daemon): (Application Setup): (After System Installation): (Invoking guix package): (Proxy Settings): (Invoking guix environment): (Packages for C Development): (Package Modules): (Build Systems): (The Store): (Common Build Options): (Invoking guix download): (Invoking guix refresh): (Using the Configuration System): (Locales): (Base Services): (Networking Services): (Sound Services): (Continuous Integration): (PAM Mount Service): (X.509 Certificates): Use @env instead of @code for environment variables.
doc: Use @option instead of @code. * doc/guix.texi (Binary Installation): (Requirements): (Build Environment Setup): (Invoking guix-daemon): (Application Setup): (Invoking guix package): (Substitute Server Authorization): (Substitution Failure): (Invoking guix gc): (Invoking guix pull): (Invoking guix archive): (Invoking guix environment): (Invoking guix pack): (Defining Packages): (Build Systems): (The Store): (Invoking guix build): (Common Build Options): (Package Transformation Options): (Additional Build Options): (Debugging Build Failures): (Invoking guix edit): (Invoking guix import): (Invoking guix refresh): (Invoking guix lint): (Invoking guix publish): (Invoking guix challenge): (Base Services): (Virtualization Services): (Initial RAM Disk): (Invoking guix system): (Preparing to Use the Bootstrap Binaries): (Porting): Use @option instead of @code for command-line options.
doc: Fix typo in container example. * doc/guix.texi (Invoking `guix environment'): Fix sll -> ssl typo.
doc: Add container example to run a web browser. * 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.