jackhill/guix/guix.git
3 years agoservices: Fix the spice-vdagent service.
Maxim Cournoyer [Sat, 17 Apr 2021 04:29:06 +0000 (00:29 -0400)]
services: Fix the spice-vdagent service.

* gnu/services/spice.scm (spice-vdagent-activation): Update runtime directory
from /var/run/spice-vdagentd to /run/spice-vdagentd.
(spice-vdagent-service-type): Specify a default value and fix indentation.

3 years agobuild: Do not compress the (already compressed) VM qcow2 images.
Maxim Cournoyer [Wed, 5 May 2021 19:18:05 +0000 (15:18 -0400)]
build: Do not compress the (already compressed) VM qcow2 images.

The qcow2 format supports compression, and the qcow2 type supported by 'guix
system image' produces compressed qcow2 images.

* Makefile.am (release): Do not re-compress the qcow2 VM images with xz.
* doc/guix.texi (Running Guix in a VM): Adjust VM image URL.

3 years agomaint: Remove a workaround in Makefile.am.
Maxim Cournoyer [Wed, 5 May 2021 16:03:21 +0000 (12:03 -0400)]
maint: Remove a workaround in Makefile.am.

This workaround was made obsolete by commit a23789bbbd, which prevented the PO
files from being spuriously updated upon running 'make'.

* Makefile.am (release) <git checkout>: Remove command.

3 years ago.gitignore: Ignore .tarball-ignore.
Maxim Cournoyer [Wed, 5 May 2021 17:37:07 +0000 (13:37 -0400)]
.gitignore: Ignore .tarball-ignore.

This file can be useful to fix a version string when experimenting with 'make
release'.

* .gitignore: Add a pattern to ignore .tarball-version.

3 years agodoc: Update the OpenPGP key used to sign the release.
Maxim Cournoyer [Wed, 5 May 2021 15:26:26 +0000 (11:26 -0400)]
doc: Update the OpenPGP key used to sign the release.

It was discussed on guix-devel that the manual only needs to have correct
instructions for the latest release.

* doc/guix.texi (OPENPGP-SIGNING-KEY-ID): Update to my public OpenPGP key.
(OPENPGP-SIGNING-KEY-URL): Adjust URL.

3 years agoRevert "doc: Update to cover for an additional OpenPGP signing key."
Maxim Cournoyer [Wed, 5 May 2021 15:25:24 +0000 (11:25 -0400)]
Revert "doc: Update to cover for an additional OpenPGP signing key."

This reverts commit b9fb13b28437a254683273094f189396a6e1421d.  Per discussions
simply updating OPENPGP-SIGNING-KEY-ID and OPENPGP-SIGNING-KEY-URL will be
enough.

3 years agoguix-install.sh: Exit early if Guix is already installed.
Maxim Cournoyer [Wed, 5 May 2021 02:48:20 +0000 (22:48 -0400)]
guix-install.sh: Exit early if Guix is already installed.

* etc/guix-install.sh (sys_create_store): Move the check & exit before The
Guix binary archive is unpacked.  Re-indent tar extraction command.

3 years agoguix-install.sh: Propose automatically fetching OpenPGP keys.
Maxim Cournoyer [Wed, 5 May 2021 02:25:34 +0000 (22:25 -0400)]
guix-install.sh: Propose automatically fetching OpenPGP keys.

Via, for example, yes | ./guix-install.sh.

* etc/guix-install.sh (prompt_yes_no): New procedure.
(chk_gpg_keyring, sys_authorize_build_farms): Use it.

3 years agoguix-install.sh: Please the shellcheck linter.
Maxim Cournoyer [Tue, 4 May 2021 21:05:43 +0000 (17:05 -0400)]
guix-install.sh: Please the shellcheck linter.

* etc/guix-install.sh <FUNCNAME>: Explicitly refer to the first item of the
FUNCNAME array.
(ROOT_HOME): Replace variable by ~root directly; manually expanding it via
echo was not necessary.
(chk_gpg_keyring): Use an if branch for the exit to avoid a warning about
expression precedence.
(chk_term) <ansi_term>: Remove unused variable.
(guix_get_bin) <wget, gpg>: Test the commands directly.  Use an array for the
wget arguments, which can then be properly expanded.
(sys_create_store): Disable SC1090 for the source command, as we don't care
about following the sourced script.
<_msg>: Reuse the GUIX_PROFILE variable in the message.
(sys_create_build_user) <getent>: Test the command directly.

3 years agognu: guix: Phases refer to #:system, #:target, and #:native-inputs.
Ludovic Courtès [Tue, 4 May 2021 13:17:45 +0000 (15:17 +0200)]
gnu: guix: Phases refer to #:system, #:target, and #:native-inputs.

* gnu/packages/package-management.scm (guix)[arguments]: In
'copy-bootstrap-guile' and 'wrap-program' phases, refer to #:system,
 #:native-inputs, and #:target instead of unquoting (%current-system)
and (%current-target-system).

3 years agognu: guix: Avoid Bash wrapper.
Ludovic Courtès [Tue, 4 May 2021 12:35:31 +0000 (14:35 +0200)]
gnu: guix: Avoid Bash wrapper.

The Bash wrapper created by 'wrap-program' creates an extra
indirection and may annoyingly emit locale warnings:

  /gnu/store/…-bash-minimal-5.0.16/bin/bash: warning: setlocale: LC_ALL: cannot change locale (wtf)

This warning would typically show up when running Guix, as produced by
'guix pack guix', on a foreign distro, annihilating efforts made in
1d4ab335b22a93e01c2eb1eb3e93fc6534157040 and
8a973abc6f7eebfcd8a904bfbb99cb9f86f66ef0.

* gnu/packages/package-management.scm (guix)[arguments]: In
'wrap-program' phase, remove 'string-join' call for PATH and GOPATH.
Replace 'wrap-program' call with a 'substitute*' form.  Remove (when
target ...) form.
[inputs]: Remove "bash-minimal" added in commit
38b9af7c92344a17b6680ebd2aeea14171f84a1c and no longer needed.

3 years agognu: guix: Add run-time dependency on Guile-Lib.
Ludovic Courtès [Tue, 4 May 2021 12:04:39 +0000 (14:04 +0200)]
gnu: guix: Add run-time dependency on Guile-Lib.

This is a followup to 02e2e093e858e8a0ca7bd66c1f1f6fd0a1705edb, which
added Guile-Lib as an input but did not add it to the wrapper's search
path.

* gnu/packages/package-management.scm (guix)[arguments]: In
'wrap-program' phase, add GUILE-LIB to DEPS.

3 years agoUpdate NEWS.
Ludovic Courtès [Tue, 4 May 2021 14:57:05 +0000 (16:57 +0200)]
Update NEWS.

3 years agolocale: Remove glibc 2.29 from '%default-locale-libcs'.
Ludovic Courtès [Sun, 2 May 2021 20:04:00 +0000 (22:04 +0200)]
locale: Remove glibc 2.29 from '%default-locale-libcs'.

Having 2.29 is most likely no longer justified.  Removing it reduces the
closure size returned by:

  guix size $(guix system build gnu/system/install.scm)

from 1.6G to 1.5G.

* gnu/system/locale.scm (%default-locale-libcs): Remove GLIBC-2.29.

3 years agodoc: Update to cover for an additional OpenPGP signing key.
Maxim Cournoyer [Sun, 2 May 2021 02:35:09 +0000 (22:35 -0400)]
doc: Update to cover for an additional OpenPGP signing key.

The upcoming 1.3.0 release will be signed with my OpenPGP key; subsequent
releases may also be.

* doc/guix.texi (OPENPGP-SIGNING-KEY-ID, OPENPGP-SIGNING-KEY-URL): Rename to...
(OPENPGP-SIGNING-KEY-ID-1, OPENPGP-SIGNING-KEY-URL-1): ... these,
respectively.
(OPENPGP-SIGNING-KEY-ID-2, OPENPGP-SIGNING-KEY-URL-2): New variables.
(Binary Installation): Adjust to cover for the new key.
(USB Stick and DVD Installation): Likewise.
(Invoking guix refresh): Adjust accordingly.

3 years agomaint: Do not xz-compress ISO images.
Ludovic Courtès [Sun, 2 May 2021 21:16:48 +0000 (23:16 +0200)]
maint: Do not xz-compress ISO images.

The xz-compressed image is 23% smaller than the original ISO image (with
built-in zlib compression), but the extra decompression step is
unconventional and often a hindrance for users.  See discussion at
<https://lists.gnu.org/archive/html/guix-devel/2021-04/msg00497.html>.

* Makefile.am (release): Do not compress ISO images.
* doc/guix.texi (USB Stick and DVD Installation): Remove ".xz" suffix
from URL and file name.
(Copying to a USB Stick, Burning on a DVD): Remove introductory words,
@enumerate, and first item.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
3 years agonls: Guard against the list of translated Texinfo files becoming stale.
Julien Lepiller [Mon, 3 May 2021 16:35:55 +0000 (12:35 -0400)]
nls: Guard against the list of translated Texinfo files becoming stale.

This change is so that the list of translated Texinfo files remain in sync
with the list of supported (translated) languages.

* doc/local.mk (MANUAL_LANGUAGES, COOKBOOK_LANGUAGES): New variables.
(lang_to_texinfos): New function.
(TRANSLATED_INFO): Use it to construct the list of files.

Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
3 years agodoc: Update the URL of the system VM image.
Maxim Cournoyer [Mon, 3 May 2021 13:47:47 +0000 (09:47 -0400)]
doc: Update the URL of the system VM image.

This is a follow up to commit ebf5d77eab, which added the qcow2 file extension
to the VM image file name.

* doc/guix.texi (Running Guix in a VM): Update URL.

3 years agonls: Remove the doc-po-update target.
Maxim Cournoyer [Mon, 3 May 2021 04:54:12 +0000 (00:54 -0400)]
nls: Remove the doc-po-update target.

As discussed with Julien Lepiller on IRC, updating the PO files is not useful.
This change removes the target and associated rules that allowed updating
them.  This has the benefit of not having the PO files updated automatically
when generating the .pot files, which was causing spurious changes under the
po sub-directory.

* po/doc/local.mk (make-update-po-files-rule): Remove function and its uses.
(doc-po-update): Remove target.

3 years agobuild: Replace the doc-po-update prerequisite by doc-pot-update.
Maxim Cournoyer [Mon, 3 May 2021 04:27:36 +0000 (00:27 -0400)]
build: Replace the doc-po-update prerequisite by doc-pot-update.

What is really required for the dist target is the presence of the
auto-generated .pot files; updating the PO files is not necessary nor
desirable (it causes spurious changes in the tree).

* Makefile.am (dist) <doc-po-update>: Replace prerequisite with...
<doc-pot-update>: ... this one.

3 years agonls: Do not update po files on first make invocation.
Julien Lepiller [Sun, 2 May 2021 20:12:16 +0000 (22:12 +0200)]
nls: Do not update po files on first make invocation.

We need to update the minimal gettext version to take advantage of new
features.  Before this patch, the first make invocation would modify
po/guix and po/packages po files, and we advised to run `git checkout
po` to clean the changes.

* configure.ac (AM_GNU_GETTEXT_VERSION): Update to 0.19.1.
* po/guix/Makevars: Set PO_DEPENDS_ON_POT to no.
* po/packages/Makevars: Set PO_DEPENDS_ON_POT to no.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
3 years agoMakefile: Reimplement `download-po` target.
Julien Lepiller [Sun, 18 Apr 2021 21:56:48 +0000 (23:56 +0200)]
Makefile: Reimplement `download-po` target.

The weblate API rate limit is very close to the number of files we need
to download.  The previous implementation did not add new translations.

* Makefile.am (download-po): Update target.
(make-download-po-rule, make-check-po-rule): Remove functions.

3 years agognu: xfce4-settings: Add gsettings-desktop-schemas.
Brendan Tildesley [Sun, 18 Apr 2021 06:23:26 +0000 (16:23 +1000)]
gnu: xfce4-settings: Add gsettings-desktop-schemas.

* gnu/packages/xfce.scm (xfce4-settings):[propagated-inputs]: Add
gsettings-desktop-schemas. This makes it appear in the system profile
via the xfce service. This fixes a bug where changing icon theme causes
xfce4-appearance-settings to crash with the error:

GLib-GIO-ERROR **: 15:41:45.828: Settings schema 'org.gnome.desktop.interface' is not installed
Trace/breakpoint trap

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
3 years agognu: openjdk: Disallow references to the JDK used for build.
Ludovic Courtès [Wed, 21 Apr 2021 10:53:54 +0000 (12:53 +0200)]
gnu: openjdk: Disallow references to the JDK used for build.

This ensures JDKs don't unintentionally keep references to the one used
to build them, as reported at <https://issues.guix.gnu.org/31719#7> and
fixed by 97a43db8b4416a1450aa61737edba9cf4126cf1c.

* gnu/packages/java.scm (icedtea-8)[arguments]: Add #:disallowed-references.
(openjdk9)[arguments]: Likewise.
(openjdk10)[arguments]: Likewise.
(openjdk11)[arguments]: Likewise.

3 years agognu: openjdk: Avoid non-top-level 'use-modules'.
Ludovic Courtès [Wed, 21 Apr 2021 10:52:21 +0000 (12:52 +0200)]
gnu: openjdk: Avoid non-top-level 'use-modules'.

* gnu/packages/java.scm (icedtea-8, openjdk9, openjdk11)[arguments]:
Replace non-top-level 'use-modules' by '@'.

3 years agognu: openjdk: Fix library substitution when libraries aren't found.
Carlo Zancanaro [Tue, 20 Apr 2021 11:22:20 +0000 (21:22 +1000)]
gnu: openjdk: Fix library substitution when libraries aren't found.

* gnu/packages/java.scm (icedtea-8, openjdk9, openjdk11)[arguments]:
Change 'find-library' to always return a string.  Change 'find-library'
callers to use 'string-append' rather than 'format'.  Starting from
97a43db8b4416a1450aa61737edba9cf4126cf1c, 'find-library' could return #f
and JNI substitutions would emit a literal "#f".

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
3 years agognu: openjdk: Clean up runtime dependencies between Java versions.
Carlo Zancanaro [Sat, 17 Apr 2021 06:33:06 +0000 (16:33 +1000)]
gnu: openjdk: Clean up runtime dependencies between Java versions.

* gnu/packages/java.scm (icedtea-8, openjdk9, openjdk11): Do not consider
icedtea/openjdk input paths when rewriting JNI libraries.

Signed-off-by: Andreas Enge <andreas@enge.fr>
3 years agoguix-install.sh: Add support for more than one signing key.
Maxim Cournoyer [Sat, 1 May 2021 04:27:14 +0000 (00:27 -0400)]
guix-install.sh: Add support for more than one signing key.

The forthcoming 1.3.0 release will be signed with my personal GnuPG key; the
installation script need to tell users how fetch it.

* etc/guix-install.sh (OPENPGP_SIGNING_KEY_ID): Remove variable.
(GPG_SIGNING_KEYS): New associative array.
(chk_gpg_keyring): Process all the keys contained in the above array.
(main) <GUIX_BINARY_FILE_NAME>: Double quote variable.

3 years agobuild: Correct a mistake in the guix-manual.pot rule.
Maxim Cournoyer [Fri, 30 Apr 2021 13:49:46 +0000 (09:49 -0400)]
build: Correct a mistake in the guix-manual.pot rule.

This is a follow-up to commit 0d353b06ec.

* po/doc/local.mk: Fix function name in comment.
(%D%/guix-manual.pot): Refer to *all* the prerequisites via the $^ special
variable rather than $<, which only refers to the first one.

Reported-by: Julien Lepiller <julien@lepiller.eu>
3 years agognu: guix: Update to 6fd7f16.
Maxim Cournoyer [Fri, 30 Apr 2021 01:18:56 +0000 (21:18 -0400)]
gnu: guix: Update to 6fd7f16.

3 years agognu: guix: Update to 1.3.0rc1.
Maxim Cournoyer [Thu, 29 Apr 2021 21:38:02 +0000 (17:38 -0400)]
gnu: guix: Update to 1.3.0rc1.

3 years agobuild: Make doc-po-update and doc-pot-update targets idempotent.
Maxim Cournoyer [Thu, 29 Apr 2021 13:45:39 +0000 (09:45 -0400)]
build: Make doc-po-update and doc-pot-update targets idempotent.

It used to be that the running the doc-po-update and doc-pot-update targets
would redo the same work on every run.  This change splits the problem in
smaller chunks and specifies build dependencies in a way that outputs only get
rebuilt when their inputs changed.

* po/doc/local.mk (DOC_PO_FILES): Harmonize escapes.
(POT_OPTIONS): Re-indent uniformly.
(doc-po-update-%, doc-po-update-cookbook-%): Re-implement with...
(make-update-po-files-rule): ... this new function.
(TMP_POT_FILES): Remove variable.
(%D%/%.pot, %D%/guix-manual.pot): New pattern rules.
(doc-pot-update, doc-po-update): Adjust prerequisites accordingly.

3 years agobuild: Build the guix.pot-update and contributing.pot-update targets only once.
Maxim Cournoyer [Wed, 28 Apr 2021 23:03:12 +0000 (19:03 -0400)]
build: Build the guix.pot-update and contributing.pot-update targets only once.

* po/doc/local.mk (doc-pot-update): Fix an issue where guix.pot-update an
contributing.pot-update were built twice.

3 years agobuild: Have the release target depend on 'all'.
Maxim Cournoyer [Tue, 27 Apr 2021 13:36:39 +0000 (09:36 -0400)]
build: Have the release target depend on 'all'.

Otherwise, the scripts/guix wrapper may not be present, which would cause the
user's guix wrapper to be used, which in turn would manipulate GUILE_LOAD_PATH
in a way that would cause its Guix modules to take precedence over those of
the tree, with confusion ensuing.

* Makefile.am (release): Add 'all' as a prerequisite.

3 years agobuild: Add the qcow2 file extension to the VM image.
Maxim Cournoyer [Sun, 25 Apr 2021 03:41:41 +0000 (23:41 -0400)]
build: Add the qcow2 file extension to the VM image.

Including the extension of the format type of the image is not only useful to
the user, but also to software.  One example is GNOME Boxes, which will reject
an image with an unknown file extension.

This should be fixed more definitely in Guix, where the output of the VM image
derivation would already have the correct file extension but for now this will
do.

* Makefile.am (release): Add .qcow2 to the file extension of the VM images.

3 years agobuild: Update and add new comments for the release target.
Maxim Cournoyer [Sun, 25 Apr 2021 12:28:53 +0000 (08:28 -0400)]
build: Update and add new comments for the release target.

* Makefile.am (release): Update and add new comments.

3 years agoMakefile.am: Remove the GUIX_FOR_BINARY_TARBALL variable.
Maxim Cournoyer [Sun, 25 Apr 2021 03:19:47 +0000 (23:19 -0400)]
Makefile.am: Remove the GUIX_FOR_BINARY_TARBALL variable.

There is no use case where the Guix package is not named 'guix'.

* Makefile.am (GUIX_FOR_BINARY_TARBALL): Remove variable and replace its uses
by 'guix'.

3 years agoguix-install.sh: Ensure GUIX_BINARY_FILE_NAME is an absolute path.
Maxim Cournoyer [Sun, 25 Apr 2021 03:16:53 +0000 (23:16 -0400)]
guix-install.sh:  Ensure GUIX_BINARY_FILE_NAME is an absolute path.

This is necessary as the directory context is changed in the script, breaking
the use of a relative path.

* etc/guix-install.sh (main) <GUIX_BINARY_FILE_NAME>: Resolve its absolute
path via the 'realpath' command.

3 years agognu: kmscon: Fix layout setup.
Mathieu Othacehe [Thu, 29 Apr 2021 09:11:32 +0000 (11:11 +0200)]
gnu: kmscon: Fix layout setup.

Kmscon may discover multiple inputs, corresponding to multiple devices. This
means that the uxkb_dev_keymap_update function may be called multiple times,
and the FIFO is registered on each input poll loop.

When a new layout is written on the FIFO by the installer, the first input
picking up the message, will apply the new layout. However, that input may not
be the input that the user is currently using.

To fix it, register the FIFO on the first input poll loop, but apply the new
layout on all the inputs in the uxkb_keymap_update_handler function.

* gnu/packages/patches/kmscon-runtime-keymap-switch.patch
(uxkb_keymap_update_handler): Apply the new layout to all the inputs.
(input_new_dev): Register the FIFO fd only on the first input poll loop.

3 years agoinstaller: Add MSDOS disk label support on UEFI systems.
Mathieu Othacehe [Sun, 25 Apr 2021 17:06:31 +0000 (19:06 +0200)]
installer: Add MSDOS disk label support on UEFI systems.

Fixes: <https://issues.guix.gnu.org/47889>.

* gnu/installer/parted.scm (esp-partition?): Remove the MSDOS check.
(auto-partition!): On MSDOS disks, check if an ESP partition is present. If
that's the case, do not remove it. Otherwise, if UEFI is supported, create
one.

3 years agoinstaller: Force GPT disk label when UEFI is supported.
Mathieu Othacehe [Tue, 27 Apr 2021 15:39:42 +0000 (17:39 +0200)]
installer: Force GPT disk label when UEFI is supported.

* gnu/installer/newt/partition.scm (run-label-page): Force the GPT disk label
when UEFI is supported.

3 years agomaint: Require "emacs-no-x" instead of "emacs" on armhf-linux.
Ludovic Courtès [Tue, 27 Apr 2021 20:22:15 +0000 (22:22 +0200)]
maint: Require "emacs-no-x" instead of "emacs" on armhf-linux.

* etc/release-manifest.scm (%base-packages/armhf): New variable.
(%base-manifest): Use it.

3 years agomaint: Don't require 'bootstrap-tarballs' for powerpc64le-linux.
Ludovic Courtès [Tue, 27 Apr 2021 15:53:43 +0000 (17:53 +0200)]
maint: Don't require 'bootstrap-tarballs' for powerpc64le-linux.

* etc/release-manifest.scm (%base-manifest): Special-case
"powerpc64le-linux".

3 years agognu: kmscon: Open a new keymap-update FIFO once a request has been processed.
Ludovic Courtès [Sun, 25 Apr 2021 21:13:52 +0000 (23:13 +0200)]
gnu: kmscon: Open a new keymap-update FIFO once a request has been processed.

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'.

3 years agognu: xfce, mate: Propagate 'font-dejavu'.
Ludovic Courtès [Sun, 25 Apr 2021 19:37:52 +0000 (21:37 +0200)]
gnu: xfce, mate: Propagate 'font-dejavu'.

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.

3 years agognu: xfdesktop: Add Guix logo to default background.
Ludovic Courtès [Sun, 25 Apr 2021 16:04:19 +0000 (18:04 +0200)]
gnu: xfdesktop: Add Guix logo to default background.

* gnu/packages/xfce.scm (xfdesktop)[arguments]: In
'prepare-background-image' phase, add "xfce-verticals.png".

3 years agohttp-client: Remove exception mishandling in 'http-multiple-get'.
Ludovic Courtès [Sat, 24 Apr 2021 16:07:09 +0000 (18:07 +0200)]
http-client: Remove exception mishandling in 'http-multiple-get'.

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 205833b72c5517915a47a50dbe28e7024dc74e57 and
carried over in 45fce38fb0b6c6796906149ade145b8d3594c1c6.

* guix/http-client.scm (http-multiple-get): Remove call to 'close-port'
and recursive call to 'connect' when the 'write-request' block returns #f.

3 years agohttp-client, substitute: Gracefully handle GnuTLS EAGAIN/EINTR.
Ludovic Courtès [Sat, 24 Apr 2021 15:59:14 +0000 (17:59 +0200)]
http-client, substitute: Gracefully handle GnuTLS EAGAIN/EINTR.

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.

3 years agodoc: Fix cross-reference URL to translated manual.
Julien Lepiller [Sat, 24 Apr 2021 12:58:12 +0000 (14:58 +0200)]
doc: Fix cross-reference URL to translated manual.

* doc/htmlxref.cnf: Fix translated manual URL.

3 years agocve: Gracefully handle bogus CVE entries.
Ludovic Courtès [Wed, 21 Apr 2021 21:49:59 +0000 (23:49 +0200)]
cve: Gracefully handle bogus CVE entries.

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".

3 years agopo: Remove file that no longer exists.
Ludovic Courtès [Tue, 20 Apr 2021 21:38:03 +0000 (23:38 +0200)]
po: Remove file that no longer exists.

This is a followup to d95168321f4a9bf6857b598da0a183b45a868d54.

* po/guix/POTFILES.in: Remove guix/scripts/import/nix.scm.

3 years agoimport: Remove Nix importer.
Ludovic Courtès [Sun, 18 Apr 2021 13:37:20 +0000 (15:37 +0200)]
import: Remove Nix importer.

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.

3 years agoguix-install.sh: Allow overriding the Guix binary source.
Maxim Cournoyer [Sat, 24 Apr 2021 13:59:54 +0000 (09:59 -0400)]
guix-install.sh: Allow overriding the Guix binary source.

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.

3 years agognu: wireshark: Update to 3.4.5 [security fixes].
Tobias Geerinckx-Rice [Thu, 22 Apr 2021 14:10:39 +0000 (16:10 +0200)]
gnu: wireshark: Update to 3.4.5 [security fixes].

* gnu/packages/networking.scm (wireshark): Update to 3.4.5.

3 years agognu: icecat: Update to 78.10.0-guix0-preview1 [security fixes].
Mark H Weaver [Mon, 19 Apr 2021 21:05:52 +0000 (17:05 -0400)]
gnu: icecat: Update to 78.10.0-guix0-preview1 [security fixes].

Includes fixes for CVE-2021-23961, CVE-2021-23994, CVE-2021-23995,
CVE-2021-23998, CVE-2021-23999, CVE-2021-24002, CVE-2021-29945, and
CVE-2021-29946.

* gnu/packages/gnuzilla.scm (%icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash.

3 years agofile-systems: read-partition-{uuid,label} don't swallow ENOENT & co.
Ludovic Courtès [Thu, 22 Apr 2021 20:41:01 +0000 (22:41 +0200)]
file-systems: read-partition-{uuid,label} don't swallow ENOENT & co.

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'.

3 years agoimport: go: Autoload (htmlprag).
Ludovic Courtès [Thu, 22 Apr 2021 13:20:59 +0000 (15:20 +0200)]
import: go: Autoload (htmlprag).

Fixes <https://bugs.gnu.org/47924>.
Reported by Carl Dong <contact@carldong.me>.

* guix/import/go.scm: Autoload (htmlprag).

3 years agoimport: go: Do not set '%strict-tokenizer?' from the top level.
Ludovic Courtès [Thu, 22 Apr 2021 09:43:50 +0000 (11:43 +0200)]
import: go: Do not set '%strict-tokenizer?' from the top level.

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'.

3 years agobuild: Add a check for Guile-Lib.
Maxim Cournoyer [Fri, 23 Apr 2021 02:18:16 +0000 (22:18 -0400)]
build: Add a check for Guile-Lib.

* configure.ac: Check if the Guile-Lib module is present and recent enough and
warn in case it isn't.

3 years ago.gitignore: Ignore release artifacts.
Maxim Cournoyer [Wed, 21 Apr 2021 18:09:38 +0000 (14:09 -0400)]
.gitignore: Ignore release artifacts.

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.

3 years agobuild: Use guix system image instead of disk-image, vm-image.
Maxim Cournoyer [Wed, 21 Apr 2021 18:08:32 +0000 (14:08 -0400)]
build: Use guix system image instead of disk-image, vm-image.

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.

3 years agognu: guile-git: Update to 0.5.1.
Ludovic Courtès [Tue, 20 Apr 2021 10:19:33 +0000 (12:19 +0200)]
gnu: guile-git: Update to 0.5.1.

Fixes <https://bugs.gnu.org/47808>.
Reported by Bone Baboon <bone.baboon@disroot.org>.

* gnu/packages/guile.scm (guile-git): Update to 0.5.1.

3 years ago.gitignore: Ignore generated .pot files.
Maxim Cournoyer [Sun, 18 Apr 2021 17:41:38 +0000 (13:41 -0400)]
.gitignore: Ignore generated .pot files.

These files are automatically-extracted templates rather than source, hence
shouldn't be checked in.

* .gitignore: Add a glob pattern to ignore .pot files.

3 years agobuild: Add doc-update-po as a prerequisite to the dist target.
Maxim Cournoyer [Sun, 18 Apr 2021 16:23:32 +0000 (12:23 -0400)]
build: Add doc-update-po as a prerequisite to the dist target.

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.

3 years agobuild-aux: Relax the regexp used to match NEWS sections.
Maxim Cournoyer [Sun, 18 Apr 2021 13:58:31 +0000 (09:58 -0400)]
build-aux: Relax the regexp used to match NEWS sections.

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.

3 years agoMerge remote-tracking branch 'origin/wip-ungrafting' into HEAD
Maxim Cournoyer [Sat, 24 Apr 2021 01:32:22 +0000 (21:32 -0400)]
Merge remote-tracking branch 'origin/wip-ungrafting' into HEAD

3 years agonls: Fix Chinese cookbook inclusion.
Julien Lepiller [Sun, 18 Apr 2021 20:28:06 +0000 (22:28 +0200)]
nls: Fix Chinese cookbook inclusion.

* po/doc/local.mk: zh_Hans is for the cookbook, not the manual.

3 years agonls: Remove 'vi' in LINGUAS
Julien Lepiller [Sun, 18 Apr 2021 19:05:54 +0000 (21:05 +0200)]
nls: Remove 'vi' in LINGUAS

The po file is no longer available.

* po/packages/LINGUAS: Remove 'vi'.

3 years agognu: Add kirc.
WinterHound [Sun, 18 Apr 2021 10:25:23 +0000 (15:55 +0530)]
gnu: Add kirc.

* gnu/packages/irc.scm (kirc): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
3 years agognu: libopenmpt: Update to 0.5.8 [security fixes].
Tobias Geerinckx-Rice [Sun, 18 Apr 2021 17:00:52 +0000 (19:00 +0200)]
gnu: libopenmpt: Update to 0.5.8 [security fixes].

* gnu/packages/audio.scm (libopenmpt): Update to 0.5.8.

3 years agognu: cifs-utils: Update to 6.13.
Tobias Geerinckx-Rice [Fri, 16 Apr 2021 14:31:12 +0000 (16:31 +0200)]
gnu: cifs-utils: Update to 6.13.

* gnu/packages/samba.scm (cifs-utils): Update to 6.13.

3 years agognu: python-poetry-core: Update to 1.0.3.
Tobias Geerinckx-Rice [Thu, 15 Apr 2021 12:47:45 +0000 (14:47 +0200)]
gnu: python-poetry-core: Update to 1.0.3.

* gnu/packages/python-build.scm (python-poetry-core): Update to 1.0.3.

3 years agognu: perl-pdf-api2: Update to 2.040.
Tobias Geerinckx-Rice [Wed, 14 Apr 2021 23:51:43 +0000 (01:51 +0200)]
gnu: perl-pdf-api2: Update to 2.040.

* gnu/packages/perl.scm (perl-pdf-api2): Update to 2.040.

3 years agognu: mujs: Update to 1.1.1.
Tobias Geerinckx-Rice [Wed, 14 Apr 2021 21:07:02 +0000 (23:07 +0200)]
gnu: mujs: Update to 1.1.1.

* gnu/packages/javascript.scm (mujs): Update to 1.1.1.

3 years agognu: psi-plus: Update to 1.5.1484.
Tobias Geerinckx-Rice [Wed, 14 Apr 2021 20:25:40 +0000 (22:25 +0200)]
gnu: psi-plus: Update to 1.5.1484.

* gnu/packages/messaging.scm (psi-plus): Update to 1.5.1484.

3 years agognu: python-webtest: Update to 2.0.35.
Tobias Geerinckx-Rice [Mon, 12 Apr 2021 00:48:18 +0000 (02:48 +0200)]
gnu: python-webtest: Update to 2.0.35.

* gnu/packages/python-web.scm (python-webtest): Update to 2.0.35.

3 years agognu: poke: Update to 1.2.
Efraim Flashner [Sun, 18 Apr 2021 18:01:04 +0000 (21:01 +0300)]
gnu: poke: Update to 1.2.

* gnu/packages/engineering.scm (poke): Update to 1.2.

3 years agodoc: Build the French HTML cookbook.
Julien Lepiller [Sun, 18 Apr 2021 14:48:53 +0000 (16:48 +0200)]
doc: Build the French HTML cookbook.

* doc/build.scm (%languages): Add 'fr' cookbook translation.

3 years agognu: python-lfdfiles: Fix build.
Lars-Dominik Braun [Sun, 18 Apr 2021 13:09:01 +0000 (15:09 +0200)]
gnu: python-lfdfiles: Fix build.

* gnu/packages/python-xyz.scm (python-lfdfiles) [source]: Remove
pre-generated C files.
[native-inputs]: Add python-cython.
[arguments]: Disable tests.

3 years agonls: Update 'ru' translation.
Julien Lepiller [Sun, 18 Apr 2021 02:30:32 +0000 (04:30 +0200)]
nls: Update 'ru' translation.

3 years agonls: Add Chinese (Traditional) translation.
Julien Lepiller [Sun, 18 Apr 2021 02:05:38 +0000 (04:05 +0200)]
nls: Add Chinese (Traditional) translation.

* po/doc/guix-cookbook.zh_Hans.po: New file.
* doc/local.mk (info_TEXINFOS): Add it.
* po/doc/local.mk (DOC_COOKBOOK_PO_FILES): Add it.

3 years agonls: Add Russian translation.
Julien Lepiller [Sun, 18 Apr 2021 02:04:17 +0000 (04:04 +0200)]
nls: Add Russian translation.

* po/guix/ru.po: New file.
* po/guix/LINGUAS: Add 'ru'.

3 years agonls: Add Dutch translation.
Julien Lepiller [Sun, 18 Apr 2021 02:03:35 +0000 (04:03 +0200)]
nls: Add Dutch translation.

* po/guix/nl.po: New file.
* po/guix/LINGUAS: Add 'nl'.

3 years agonls: Add Korean translation.
Julien Lepiller [Sun, 18 Apr 2021 02:01:25 +0000 (04:01 +0200)]
nls: Add Korean translation.

* po/doc/guix-cookbook.ko.po: New file.
* po/doc/guix-manual.ko.po: New file.
* doc/local.mk (info_TEXINFOS): Add them.
* po/doc/local.mk (DOC_PO_FILES, DOC_COOKBOOK_PO_FILES): Add them.
* po/guix/ko.po: New file.
* po/guix/LINGUAS: Add 'ko'.
* po/packages/ko.po: New file.
* po/packages/LINGUAS: Add 'ko'.

3 years agonls: Add Italian translation.
Julien Lepiller [Sun, 18 Apr 2021 01:57:36 +0000 (03:57 +0200)]
nls: Add Italian translation.

* po/doc/guix-manual.it.po: New file.
* po/doc/local.mk (DOC_PO_FILES): Add it.
* doc/local.mk (info_TEXINFOS): Add it.
* po/guix/it.po: New file.
* po/guix/LINGUAS: Add 'it'.

3 years agonls: Add Persian translation.
Julien Lepiller [Sun, 18 Apr 2021 01:52:11 +0000 (03:52 +0200)]
nls: Add Persian translation.

* po/packages/fa.po: New file.
* po/packages/LINGUAS: Add 'fa'.
* po/doc/guix-cookbook.fa.po: New file.
* po/doc/guix-manual.fa.po: New file.
* po/doc/local.mk (DOC_PO_FILES, DOC_COOKBOOK_PO_FILES): Add them.
* doc/local.mk (info_TEXINFOS): Add them.

3 years agonls: Update 'sk' translation.
Julien Lepiller [Sun, 18 Apr 2021 01:51:18 +0000 (03:51 +0200)]
nls: Update 'sk' translation.

3 years agonls: Add Slovak translation.
Julien Lepiller [Sun, 18 Apr 2021 01:49:36 +0000 (03:49 +0200)]
nls: Add Slovak translation.

* po/packages/sk.po: New file.
* po/packages/LINGUAS: Add 'sk'.
* po/doc/guix-manual.sk.po: New file.
* doc/local.mk (info_TEXINFOS): Add it.
* po/doc/local.mk (DOC_PO_FILES): Add it.

3 years agonls: Update 'pt_BR' translation.
Julien Lepiller [Sun, 18 Apr 2021 01:47:56 +0000 (03:47 +0200)]
nls: Update 'pt_BR' translation.

3 years agonls: Add Portuguese (Brazil) translation of the manual.
Julien Lepiller [Sun, 18 Apr 2021 01:45:44 +0000 (03:45 +0200)]
nls: Add Portuguese (Brazil) translation of the manual.

3 years agonls: Update 'vi' translation.
Julien Lepiller [Sun, 18 Apr 2021 01:35:17 +0000 (03:35 +0200)]
nls: Update 'vi' translation.

3 years agonls: Remove Vietnamese translations of packages.
Julien Lepiller [Sun, 18 Apr 2021 01:34:12 +0000 (03:34 +0200)]
nls: Remove Vietnamese translations of packages.

No translated string is used in Guix anymore.

3 years agonls: Update 'zh_CN' translations.
Julien Lepiller [Sun, 18 Apr 2021 01:07:29 +0000 (03:07 +0200)]
nls: Update 'zh_CN' translations.

3 years agonls: Update 'ta' translation.
Julien Lepiller [Sun, 18 Apr 2021 01:06:44 +0000 (03:06 +0200)]
nls: Update 'ta' translation.

3 years agognu: Update 'sv' translation.
Julien Lepiller [Sun, 18 Apr 2021 01:06:22 +0000 (03:06 +0200)]
gnu: Update 'sv' translation.

3 years agonls: Update 'sr' translations.
Julien Lepiller [Sun, 18 Apr 2021 01:06:04 +0000 (03:06 +0200)]
nls: Update 'sr' translations.

3 years agonls: Update 'pl' translations.
Julien Lepiller [Sun, 18 Apr 2021 01:05:16 +0000 (03:05 +0200)]
nls: Update 'pl' translations.

3 years agonls: Update 'hu' translations.
Julien Lepiller [Sun, 18 Apr 2021 01:04:56 +0000 (03:04 +0200)]
nls: Update 'hu' translations.

3 years agonls: Update 'da' translations.
Julien Lepiller [Sun, 18 Apr 2021 01:04:41 +0000 (03:04 +0200)]
nls: Update 'da' translations.

3 years agonls: Update 'cs' translation.
Julien Lepiller [Sun, 18 Apr 2021 01:04:24 +0000 (03:04 +0200)]
nls: Update 'cs' translation.