This follows up commit ae113b976b (what
looked like a build error was transient file system unrelatedness.)
* gnu/packages/ssh.scm (et)[source]: Use GIT-FETCH and
GIT-FILE-NAME.
* gnu/packages/guile-xyz.scm (guile-file-names): Update to 0.2.
[arguments]: Adjust build phase "build-with-guile-2.2" and rename to
"fix-target-directory".
Fixes <https://bugs.gnu.org/35539>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
* build-aux/check-available-binaries.scm (packages-for-system): New procedure.
<top level>: Use it.
* gnu/packages/javascript.scm (js-mathjax)[arguments]: Add call to
'close-pipe'. Previously builds would sometimes fail with EMFILE (this
was non-deterministic as it depends on GC activity.)
This is a follow-up to commit d78010b81e. While
the plain "gcc" packages should be hidden by default, gcc-derived packages
like "gfortran" should not.
* gnu/packages/gcc.scm (custom-gcc)[properties]: Remove the 'hidden? property.
* gnu/packages/gnome.scm (network-manager-applet): Patch libnma to load
iso-codes and mobile-broadband-provider-info from the store and not require
them in the profile.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Previously, users would get a wrong-type-arg exception down the road
with an intimidating backtrace.
* guix/scripts/system.scm (process-action)[ensure-operating-system]: New
procedure.
Use it.
This simplifies use of images created with 'guix system docker-image'.
* gnu/system/vm.scm (system-docker-image)[boot-program]: New variable.
[os]: Add it to the GC roots.
[build]: Pass #:entry-point to 'build-docker-image'.
* gnu/tests/docker.scm (run-docker-system-test): New procedure.
(%test-docker-system): New variable.
* doc/guix.texi (Invoking guix system): Remove GUIX_NEW_SYSTEM hack and
'--entrypoint' from the example. Mention 'docker create', 'docker
start', and 'docker exec'.
Previously, the 'essential-services' would correspond to the initial,
non-containerized OS. Thus, all the file systems removed in
'container-essential-services' would actually still be there because the
essential services would be computed on the non-containerized OS.
This is a followup to 69cae3d335.
* gnu/system/linux-container.scm (container-essential-services): Call
'operating-system-default-essential-services' to get the baseline
services.
(containerized-operating-system): Pass THIS-OPERATING-SYSTEM, not OS, to
'container-essential-services'.
Add a dummy root file system to 'file-systems'.
(container-script)[mountable-file-system?]: New procedure.
Use it.
Previously, 'guix system docker-image' would end up providing an OS that
would try to mount all of %CONTAINER-FILE-SYSTEMS as well as /gnu/store,
which is bound to fail in unprivileged Docker.
This patch makes it so that 'guix system container' still gets those
file systems, but 'guix system docker-image' doesn't.
* gnu/system/linux-container.scm (containerized-operating-system): Add
#:extra-file-systems parameter and honor it. Do not include
%STORE-MAPPING and SHARED-NETWORK-FILE-MAPPINGS.
(container-script): Add %STORE-MAPPING and optionally NETWORK-MAPPINGS
to MAPPINGS and pass #:extra-file-systems.
Previously we could end up reading an empty /root/login-id file.
* gnu/tests/base.scm (run-basic-test)["getlogin on tty1"]: Create
/root/login-id atomically.
Fixes <https://bugs.gnu.org/35731>.
* gnu/installer/newt/partition.scm (run-partioning-page)[run-page]:
Introduce 'initial-partitions' variable. Previously we'd call
'disk-partitions' after 'auto-partition' had done its job of creating
new partitions, and thus its result would contain the just-created
partitions. Consequently, 'create-special-user-partitions' would return
the ESP partition we just created, and thus it would appear twice in the
list.