summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-05guix-install.sh: Exit early if Guix is already installed.Maxim Cournoyer
* etc/guix-install.sh (sys_create_store): Move the check & exit before The Guix binary archive is unpacked. Re-indent tar extraction command.
2021-05-05guix-install.sh: Propose automatically fetching OpenPGP keys.Maxim Cournoyer
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.
2021-05-05guix-install.sh: Please the shellcheck linter.Maxim Cournoyer
* 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.
2021-05-05gnu: guix: Phases refer to #:system, #:target, and #:native-inputs.Ludovic Courtès
* 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).
2021-05-05gnu: guix: Avoid Bash wrapper.Ludovic Courtès
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.
2021-05-05gnu: guix: Add run-time dependency on Guile-Lib.Ludovic Courtès
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.
2021-05-04Update NEWS.Ludovic Courtès
2021-05-04locale: Remove glibc 2.29 from '%default-locale-libcs'.Ludovic Courtès
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.
2021-05-03doc: Update to cover for an additional OpenPGP signing key.Maxim Cournoyer
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.
2021-05-03maint: Do not xz-compress ISO images.Ludovic Courtès
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>
2021-05-03nls: Guard against the list of translated Texinfo files becoming stale.Julien Lepiller
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>
2021-05-03doc: Update the URL of the system VM image.Maxim Cournoyer
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-03nls: Remove the doc-po-update target.Maxim Cournoyer
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-03build: Replace the doc-po-update prerequisite by doc-pot-update.Maxim Cournoyer
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-03nls: Do not update po files on first make invocation.Julien Lepiller
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-03Makefile: Reimplement `download-po` target.Julien Lepiller
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-01gnu: xfce4-settings: Add gsettings-desktop-schemas.Brendan Tildesley
* 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-01gnu: openjdk: Disallow references to the JDK used for build.Ludovic Courtès
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.
2021-05-01gnu: openjdk: Avoid non-top-level 'use-modules'.Ludovic Courtès
* gnu/packages/java.scm (icedtea-8, openjdk9, openjdk11)[arguments]: Replace non-top-level 'use-modules' by '@'.
2021-05-01gnu: openjdk: Fix library substitution when libraries aren't found.Carlo Zancanaro
* 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>
2021-05-01gnu: openjdk: Clean up runtime dependencies between Java versions.Carlo Zancanaro
* 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-01guix-install.sh: Add support for more than one signing key.Maxim Cournoyer
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-04-30build: Correct a mistake in the guix-manual.pot rule.Maxim Cournoyer
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-29gnu: guix: Update to 6fd7f16.Maxim Cournoyer
2021-04-29gnu: guix: Update to 1.3.0rc1.Maxim Cournoyer
2021-04-29build: Make doc-po-update and doc-pot-update targets idempotent.Maxim Cournoyer
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-29build: Build the guix.pot-update and contributing.pot-update targets only once.Maxim Cournoyer
* po/doc/local.mk (doc-pot-update): Fix an issue where guix.pot-update an contributing.pot-update were built twice.
2021-04-29build: Have the release target depend on 'all'.Maxim Cournoyer
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-29build: Add the qcow2 file extension to the VM image.Maxim Cournoyer
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-29build: Update and add new comments for the release target.Maxim Cournoyer
* Makefile.am (release): Update and add new comments.
2021-04-29Makefile.am: Remove the GUIX_FOR_BINARY_TARBALL variable.Maxim Cournoyer
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-29guix-install.sh: Ensure GUIX_BINARY_FILE_NAME is an absolute path.Maxim Cournoyer
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-29gnu: kmscon: Fix layout setup.Mathieu Othacehe
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-28installer: Add MSDOS disk label support on UEFI systems.Mathieu Othacehe
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-28installer: Force GPT disk label when UEFI is supported.Mathieu Othacehe
* gnu/installer/newt/partition.scm (run-label-page): Force the GPT disk label when UEFI is supported.
2021-04-27maint: Require "emacs-no-x" instead of "emacs" on armhf-linux.Ludovic Courtès
* etc/release-manifest.scm (%base-packages/armhf): New variable. (%base-manifest): Use it.
2021-04-27maint: Don't require 'bootstrap-tarballs' for powerpc64le-linux.Ludovic Courtès
* etc/release-manifest.scm (%base-manifest): Special-case "powerpc64le-linux".
2021-04-26gnu: kmscon: Open a new keymap-update FIFO once a request has been processed.Ludovic Courtès
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-26gnu: xfce, mate: Propagate 'font-dejavu'.Ludovic Courtès
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-26gnu: xfdesktop: Add Guix logo to default background.Ludovic Courtès
* gnu/packages/xfce.scm (xfdesktop)[arguments]: In 'prepare-background-image' phase, add "xfce-verticals.png".
2021-04-25http-client: Remove exception mishandling in 'http-multiple-get'.Ludovic Courtès
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.
2021-04-25http-client, substitute: Gracefully handle GnuTLS EAGAIN/EINTR.Ludovic Courtès
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-25doc: Fix cross-reference URL to translated manual.Julien Lepiller
* doc/htmlxref.cnf: Fix translated manual URL.
2021-04-25cve: Gracefully handle bogus CVE entries.Ludovic Courtès
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-25po: Remove file that no longer exists.Ludovic Courtès
This is a followup to d95168321f4a9bf6857b598da0a183b45a868d54. * po/guix/POTFILES.in: Remove guix/scripts/import/nix.scm.
2021-04-25import: Remove Nix importer.Ludovic Courtès
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-24guix-install.sh: Allow overriding the Guix binary source.Maxim Cournoyer
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-23gnu: wireshark: Update to 3.4.5 [security fixes].Tobias Geerinckx-Rice
* gnu/packages/networking.scm (wireshark): Update to 3.4.5.
2021-04-23gnu: icecat: Update to 78.10.0-guix0-preview1 [security fixes].Mark H Weaver
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-23file-systems: read-partition-{uuid,label} don't swallow ENOENT & co.Ludovic Courtès
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'.