Fixes <https://bugs.gnu.org/35341>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
Previously, we'd call 'ensure-default-profile' before the connection to
the daemon has been opened. On the first connection, the daemon ensures
that /var/guix/profiles/per-user is world-writable. Since we were
calling 'ensure-default-profile' before that,
/var/guix/profiles/per-user was typically non-writable (555 and
root-owned), and thus 'guix pull' would error out.
* guix/scripts/pull.scm (guix-pull): Call 'ensure-default-profile'
within 'with-store'.
When trying to jump to the first step, DONE-STEPS ends-up being null, which
fails the matching condition.
* gnu/installer/steps.scm (skip-to-step): Split matching conditions to handle
the empty DONE-STEPS case properly.
In the long run, it would be good to move direnv across to the
go-build-system, and update the package, but these changes do succeed in
reducing the closure size a lot.
Thanks to Tanguy Le Carrour for raising this issue on guix-devel.
* gnu/packages/shellutils.scm (direnv)[arguments]: Include the
remove-go-references phase from the go-build-system.
[inputs,native-inputs]: Move all inputs to native-inputs, as these are no
longer referenced in the output.
This is the last bit fixing <https://bugs.gnu.org/35283>.
Previously, 'mformat' (used by 'grub-mkrescue') would pass uninitialized
bytes to write(2), leading to non-deterministic FAT image contents.
This patch fixes that.
* gnu/packages/patches/mtools-mformat-uninitialized.patch: New file.
* gnu/packages/mtools.scm (mtools)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/patches/grub-efi-fat-serial-number.patch: New file.
* gnu/packages/bootloaders.scm (grub)[source](patches): Add it.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/cpp.scm (rct): Move the call to 'git-version' into the
package definition.
[source]: Explicitly include the source URI rather than using
'home-page'.
This file name was too long for 'tar', as reported by 'guix lint'.
* gnu/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch:
Rename to...
* gnu/packages/patches/linkchecker-tests-require-network.patch: ... this.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/web.scm (linkchecker)[source]: Likewise.
This file name was too long for 'tar', as reported by 'guix lint'.
* gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch:
Rename to...
* gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch: ... this.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/ocaml.scm (ocaml-dose3)[source]: Adjust accordingly.
Until now, the 'guix' package shipped in binary tarballs and system
images would be built sequentially for each system type, one at a time.
Now all of them can potentially be built in parallel.
* Makefile.am (system_flags): New function.
(release): Run "guix build guix" before "make binary-tarballs" and
before "guix system disk-image" to build all the 'guix' packages in
parallel.