Commit graph

76932 commits

Author SHA1 Message Date
Maxim Cournoyer
10cf742cbc
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.
2021-05-03 09:49:53 -04:00
Maxim Cournoyer
f13049f3a8
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.
2021-05-03 09:29:45 -04:00
Maxim Cournoyer
f995f710e8
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.
2021-05-03 09:29:44 -04:00
Julien Lepiller
a23789bbbd
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>
2021-05-03 09:29:44 -04:00
Julien Lepiller
283d4960a4
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.
2021-05-03 09:29:44 -04:00
Brendan Tildesley
ce5026b9f4
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>
2021-05-01 17:41:09 +02:00
Ludovic Courtès
78789cb6e2
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 97a43db8b4.

* gnu/packages/java.scm (icedtea-8)[arguments]: Add #:disallowed-references.
(openjdk9)[arguments]: Likewise.
(openjdk10)[arguments]: Likewise.
(openjdk11)[arguments]: Likewise.
2021-05-01 17:12:28 +02:00
Ludovic Courtès
668384d160
gnu: openjdk: Avoid non-top-level 'use-modules'.
* gnu/packages/java.scm (icedtea-8, openjdk9, openjdk11)[arguments]:
Replace non-top-level 'use-modules' by '@'.
2021-05-01 17:12:24 +02:00
Carlo Zancanaro
522a48a228
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
97a43db8b4, 'find-library' could return #f
and JNI substitutions would emit a literal "#f".

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2021-05-01 17:12:21 +02:00
Carlo Zancanaro
92b02d0c18
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>
2021-05-01 17:12:15 +02:00
Maxim Cournoyer
185709221d
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.
2021-05-01 01:03:18 -04:00
Maxim Cournoyer
0084f0054f
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>
2021-04-30 18:03:10 -04:00
Maxim Cournoyer
9bf205e5a0
gnu: guix: Update to 6fd7f16. 2021-04-29 21:18:56 -04:00
Maxim Cournoyer
6fd7f161d7
gnu: guix: Update to 1.3.0rc1. 2021-04-29 17:38:02 -04:00
Maxim Cournoyer
0d353b06ec
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.
2021-04-29 15:30:27 -04:00
Maxim Cournoyer
eaf79d319d
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.
2021-04-29 14:09:23 -04:00
Maxim Cournoyer
868113126c
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.
2021-04-29 14:09:23 -04:00
Maxim Cournoyer
ebf5d77eab
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.
2021-04-29 14:09:22 -04:00
Maxim Cournoyer
54dc9d36fa
build: Update and add new comments for the release target.
* Makefile.am (release): Update and add new comments.
2021-04-29 14:09:22 -04:00
Maxim Cournoyer
c8b1799fd7
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'.
2021-04-29 14:09:22 -04:00
Maxim Cournoyer
8214e70fa8
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.
2021-04-29 14:09:22 -04:00
Mathieu Othacehe
68110f7288
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.
2021-04-29 12:06:07 +02:00
Mathieu Othacehe
c254af8c73
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.
2021-04-28 15:52:20 +02:00
Mathieu Othacehe
2b645e359e
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.
2021-04-28 15:52:20 +02:00
Ludovic Courtès
42ac8da474
maint: Require "emacs-no-x" instead of "emacs" on armhf-linux.
* etc/release-manifest.scm (%base-packages/armhf): New variable.
(%base-manifest): Use it.
2021-04-27 22:22:15 +02:00
Ludovic Courtès
a363e430d6
maint: Don't require 'bootstrap-tarballs' for powerpc64le-linux.
* etc/release-manifest.scm (%base-manifest): Special-case
"powerpc64le-linux".
2021-04-27 17:53:43 +02:00
Ludovic Courtès
8121bfb7d6
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'.
2021-04-26 16:47:01 +02:00
Ludovic Courtès
601d86183a
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.
2021-04-26 16:46:56 +02:00
Ludovic Courtès
075de760d3
gnu: xfdesktop: Add Guix logo to default background.
* gnu/packages/xfce.scm (xfdesktop)[arguments]: In
'prepare-background-image' phase, add "xfce-verticals.png".
2021-04-26 16:46:52 +02:00
Ludovic Courtès
15b6c2a965
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 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.
2021-04-25 14:36:45 +02:00
Ludovic Courtès
69ffe875c3
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.
2021-04-25 14:36:40 +02:00
Julien Lepiller
f06685a985
doc: Fix cross-reference URL to translated manual.
* doc/htmlxref.cnf: Fix translated manual URL.
2021-04-25 14:36:33 +02:00
Ludovic Courtès
ff74e2a1bc
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".
2021-04-25 14:35:42 +02:00
Ludovic Courtès
9a618ee199
po: Remove file that no longer exists.
This is a followup to d95168321f.

* po/guix/POTFILES.in: Remove guix/scripts/import/nix.scm.
2021-04-25 14:34:23 +02:00
Ludovic Courtès
c59cc2383d
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.
2021-04-25 14:34:09 +02:00
Maxim Cournoyer
51f95d4e64
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.
2021-04-24 10:32:40 -04:00
Tobias Geerinckx-Rice
533359cea8
gnu: wireshark: Update to 3.4.5 [security fixes].
* gnu/packages/networking.scm (wireshark): Update to 3.4.5.
2021-04-23 23:39:34 -04:00
Mark H Weaver
bdb0ba51f8
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.
2021-04-23 23:39:34 -04:00
Ludovic Courtès
e318e989b7
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'.
2021-04-23 23:39:34 -04:00
Ludovic Courtès
68a4ca148b
import: go: Autoload (htmlprag).
Fixes <https://bugs.gnu.org/47924>.
Reported by Carl Dong <contact@carldong.me>.

* guix/import/go.scm: Autoload (htmlprag).
2021-04-23 23:39:34 -04:00
Ludovic Courtès
9406bb12ee
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'.
2021-04-23 23:39:34 -04:00
Maxim Cournoyer
ee990899bd
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.
2021-04-23 23:39:33 -04:00
Maxim Cournoyer
8b5339acfe
.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.
2021-04-23 23:39:33 -04:00
Maxim Cournoyer
7aeef7ee3d
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.
2021-04-23 23:37:10 -04:00
Ludovic Courtès
52d71fe8dd
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.
2021-04-23 21:32:46 -04:00
Maxim Cournoyer
129823c499
.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.
2021-04-23 21:32:46 -04:00
Maxim Cournoyer
b3f4df3f71
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.
2021-04-23 21:32:46 -04:00
Maxim Cournoyer
18dc8c6f0f
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.
2021-04-23 21:32:46 -04:00
Maxim Cournoyer
87c0d6265c
Merge remote-tracking branch 'origin/wip-ungrafting' into HEAD 2021-04-23 21:32:22 -04:00
Julien Lepiller
1eb26d0e07
nls: Fix Chinese cookbook inclusion.
* po/doc/local.mk: zh_Hans is for the cookbook, not the manual.
2021-04-18 22:29:44 +02:00