Fixes <https://bugs.gnu.org/39341>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.
Until now, as soon as you had selected the keyboard layout in the
Guix System installer, kmscon would start spinning on epoll_wait(2)
calls because of an event on the initial FIFO file
descriptor (corresponding to the fact that the client closed it.)
* gnu/packages/patches/kmscon-runtime-keymap-switch.patch: In
'uxkb_keymap_update_handler', add calls to 'ev_eloop_rm_fd', 'close',
and 'uxkb_dev_keymap_update' In 'uxkb_dev_keymap_update', add call
to 'unlink'.
Fixes <https://bugs.gnu.org/47713>.
Reported by bo0od <bo0od@riseup.net>.
This ensures applications such as IceCat can properly text (numbers in
the case of IceCat).
* gnu/packages/enlightenment.scm (enlightenment)[propagated-inputs]: Add
FONT-DEJAVU.
* gnu/packages/mate.scm (mate)[propagated-inputs]: New field.
* gnu/packages/xfce.scm (xfce)[propagated-inputs]: New field.
Partly fixes <https://bugs.gnu.org/47867>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
The non-tail recursive call to 'connect' could cause requests to be
processed twice, with 'p' possibly closed the second time.
Regression introduced in 205833b72c and
carried over in 45fce38fb0.
* guix/http-client.scm (http-multiple-get): Remove call to 'close-port'
and recursive call to 'connect' when the 'write-request' block returns #f.
Partly fixes <https://bugs.gnu.org/47867>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
In GnuTLS up to 3.7.1 included, GNUTLS_E_AGAIN and GNUTLS_E_INTERRUPTED
are not handled by 'write_to_session_record_port' and could be thrown at
the caller. This patch works around that by dropping connections
altogether and restarting when this happens.
* guix/http-client.scm (false-if-networking-error): Swallow ERROR/AGAIN
and ERROR/INTERRUPTED.
* guix/scripts/substitute.scm (call-with-cached-connection): Likewise.
Fixes <https://bugs.gnu.org/47941>.
Reported by Jack Hill <jackhill@jackhill.us>.
* guix/cve.scm (reference-data->cve-references): Gracefully handle lack
of "reference_data".
(cpe-match->cve-configuration): Gracefully handle lack of "cpe23Uri".
This importer has suffered from bitrot and no longer works with current
Nix and Nixpkgs. See <https://bugs.gnu.org/32339> and
<https://bugs.gnu.org/36255>.
* guix/import/snix.scm, guix/scripts/import/nix.scm,
tests/snix.scm: Remove.
* Makefile.am (MODULES, SCM_TESTS): Remove them.
* guix/scripts/import.scm (importers): Remove "nix".
* build-aux/test-env.in: Remove NIXPKGS variable.
* configure.ac: Remove '--with-nixpkgs' option.
* doc/guix.texi (Invoking guix import): Remove bit about "guix import
nix".
* etc/completion/fish/guix.fish: Likewise.
This is useful for example for testing release candidates not yet uploaded to
the FTP, or for testing manually downloaded images from the CI.
* etc/guix-install.sh (main)[GUIX_BINARY_FILE_NAME]: When this variable is
defined, use it as the file name of a Guix binary, instead of automatically
retrieving the latest archive from the FTP.
Previously, (read-partition-uuid "/does/not/exist") would return #f.
With this change, a 'system-error exception is raised as expected.
* gnu/build/file-systems.scm (ENOENT-safe): Clarify docstring.
(partition-field-reader): Remove use of 'ENOENT-safe'.
(partition-predicate): Wrap READER in 'ENOENT-safe'.
This avoids interference with other users of (htmlprag) and makes the
intent clearer.
* guix/import/go.scm <top level>: Remove call to '%strict-tokenizer?'.
(go-package-licenses, go-package-description)
(go-package-synopsis, fetch-module-meta-data): Pass #:strict? #t to
'html->sxml'.
Not ignoring these in the tree leads to the next generated version (.version)
being suffixed with '-dirty', which confuses things.
* .gitignore [/guix-*]: New pattern.
[/doc/stamp-[0-9]]: Adjust to ...
[/doc/stamp-*]: ... this.
[/release-*]: New pattern.
These older system actions are deprecated and cause warnings to be emitted.
* Makefile.am (release) <guix system disk-image>
<guix system vm-image>: Replace by...
<guix system image>: ... this. Specify the type of the VM image as qcow2.
These files are automatically-extracted templates rather than source, hence
shouldn't be checked in.
* .gitignore: Add a glob pattern to ignore .pot files.
Otherwise 'make dist' would fail with the message: "No rule to make target
'po/doc/guix-manual.pot', needed by 'distdir-am'. Stop.".
* Makefile.am (dist) <doc-po-update>: Add prerequisite.
(dist-hook) <doc-po-update>: Remove prerequisite.
A number of packages doesn't really make sense in the name of the section to
be substituted. This change allows using simply '*** new packages' instead of
'*** 1999 new packages', for example, and have the update-NEWS.scm script
update it.
* build-aux/update-NEWS.scm (write-packages-added) <regexp>: Do not care about
leading white space in the name of the section.