Commit graph

105799 commits

Author SHA1 Message Date
Ludovic Courtès
047ae5c345
doc: Use VM image file name consistently.
Previously, what "/tmp/qemu-image" refers to could be unclear at first.

* doc/guix.texi (Running Guix in a VM): Use the original image file
name instead of /tmp/qemu-image.
* po/doc/guix-manual.de.po, po/doc/guix-manual.es.po,
po/doc/guix-manual.fr.po, po/doc/guix-manual.pt_BR.po,
po/doc/guix-manual.ru.po, po/doc/guix-manual.zh_CN.po: Adjust
accordingly.
2022-12-15 00:15:36 +01:00
Bruno Victal
2cf16f2c31
doc: Fix formatting for 'computed-file'.
* doc/guix.texi (G-Expressions): Fix formatting for 'computed-file'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-14 15:09:49 +01:00
Ludovic Courtès
09b984b77d
doc: Verify the release with my own OpenPGP key.
* doc/guix.texi (OPENPGP-SIGNING-KEY-ID, OPENPGP-SIGNING-KEY-URL):
Switch to my key.
2022-12-14 09:50:38 +01:00
Ludovic Courtès
6dbdb5fcf5
gnu: guix: Update to 1.4.0rc2. 2022-12-10 18:19:22 +01:00
Ludovic Courtès
7866294e32
deduplicate: Use 'sendfile' only with file ports.
Fixes a regression introduced in b129026e2e.

* guix/store/deduplication.scm (dump-file/deduplicate): Use 'sendfile'
only when INPUT' is a file port.
2022-12-10 18:13:39 +01:00
Ludovic Courtès
61b7e96877
install: 'umount-cow-store' retries upon EBUSY.
Possibly fixes <https://issues.guix.gnu.org/59884>.

* gnu/build/install.scm (umount*): New procedure.
(unmount-cow-store): Use it instead of 'umount'.
2022-12-10 14:34:35 +01:00
Mathieu Othacehe
1ab48edb16
installer: Detect mapped installation devices.
Fixes: <https://issues.guix.gnu.org/59823>

* gnu/installer/parted.scm (mapped-device?,
mapped-device-parent-partition): New procedures.
(eligible-devices): Detect mapped installation devices using the new
procedures.
2022-12-10 11:23:27 +01:00
Ludovic Courtès
b129026e2e
deduplicate: Use 'sendfile' for small file copies.
* guix/store/deduplication.scm (dump-file/deduplicate): Use 'sendfile'
instead of 'dump-port'.
* tests/store-deduplication.scm ("copy-file/deduplicate, below %deduplication-minimum-size"):
New test.
2022-12-10 10:56:48 +01:00
Ludovic Courtès
591af24ade
installer: Print progress bars and such as soon as \r is read.
Fixes <https://issues.guix.gnu.org/59922>.

Previously progress bars and related things would be buffered by
'run-external-command-with-line-hooks' until \n is read.

* gnu/installer/utils.scm (run-external-command-with-line-hooks): Use
'read-delimited' rather than 'get-line'.  Pass 'concat as the last
argument.
(%display-line-hook): Remove.
(run-command): Use 'display' instead of '%display-line-hook'.
(%syslog-line-hook): Add "\n" when LINE doesn't end in \n.
(%installer-log-line-hook): Do not add an extra newline.
(installer-log-line): Add an extra newline.
2022-12-09 17:49:22 +01:00
Ludovic Courtès
556520a33c
services: nscd: Use nscd from 'glibc-final' on native builds.
This reduces the closure size of systems by removing one glibc
copy--namely (@ (gnu packages base) glibc) in addition to (@ (gnu
packages commencement) glibc-final).

* gnu/services/base.scm (<nscd-configuration>)[glibc]: Change default
value to use 'let-system' and 'canonical-package' as appropriate.
2022-12-09 16:43:25 +01:00
Ludovic Courtès
755c4b496e
system: Remove unused yggdrasil OS template.
This file was added in fe1cd098d2 but it's
not referenced from anywhere, not even gnu/local.mk.  Furthermore, we
don't normally add full OS examples for the purposes of illustrating the
use of a single service.

* gnu/system/examples/yggdrasil.tmpl: Remove.
2022-12-09 16:40:53 +01:00
Ludovic Courtès
0406df0b9b
environment: '-C' doesn't throw when the NSS is dysfunctional.
Previously, if the name service switch was dysfunctional, as can happen
on foreign distros lacking nscd, "guix shell -C" would crash with a
backtrace on the uncaught 'getpwuid' exception.  To address that, catch
the exception and deal with it gracefully.

Reported by remsd1 on #guix.

* guix/scripts/environment.scm (launch-environment/container): Wrap
'getpwuid' call in 'false-if-exception'.
2022-12-09 09:59:53 +01:00
Tobias Geerinckx-Rice
416a691cff
guix-install.sh: Authorize all project build farms at once.
* etc/guix-install.sh (sys_authorize_build_farms):
Iterate over all hosts.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-12-09 09:59:32 +01:00
Ludovic Courtès
156a881001
services: base: Use 'match-record' instead of 'match'.
* gnu/services/base.scm (agetty-shepherd-service)
(mingetty-shepherd-service)
(nscd.conf-file)
(udev-shepherd-service)
(udev-etc)
(gpm-shepherd-service)
(network-set-up/linux)
(network-tear-down/linux)
(static-networking-shepherd-service)
(greetd-agreety-tty-session-command)
(greetd-agreety-tty-xdg-session-command): Use 'match-record' instead of
'match'.
(guix-accounts): Use <guix-configuration> accessors.
(udev-service-type): Use <udev-configuration> accessors.
2022-12-08 13:21:53 +01:00
Ludovic Courtès
93d37985da
home: services: Use 'match-record' instead of 'match'.
* gnu/home/services/mcron.scm (home-mcron-shepherd-services): Use
'match-record' instead of 'match'.
* gnu/home/services/shells.scm (home-bash-extensions): Likewise.
* gnu/home/services/xdg.scm (serialize-xdg-desktop-entry): Likewise.
2022-12-08 13:21:46 +01:00
Ludovic Courtès
883aa80b45
doc: Recommend 'match-record'.
* doc/contributing.texi (Data Types and Pattern Matching): Recommend
'match-record'.
2022-12-08 13:21:35 +01:00
Ludovic Courtès
754a7660a1
records: 'match-record' checks fields at macro-expansion time.
This allows 'match-record' to be more efficient (field offsets are
computed at compilation time) and to report unknown fields at
macro-expansion time.

* guix/records.scm (map-fields): New macro.
(define-record-type*)[rtd-identifier]: New procedure.
Define TYPE as a macro and use a separate identifier for the RTD.
(lookup-field, match-record-inner): New macros.
(match-record): Rewrite in terms of 'match-error-inner'.
* tests/records.scm ("match-record, simple")
("match-record, unknown field"): New tests.
* gnu/services/cuirass.scm (cuirass-shepherd-service): Rename 'log-file'
local variable to 'main-log-file'.
* gnu/services/getmail.scm (serialize-getmail-configuration-file): Move
after <getmail-configuration-file> definition.
2022-12-08 13:21:23 +01:00
Ludovic Courtès
a420b4f34e
services: fail2ban: Start server in the foreground.
Previously, we were passing '-b', thereby starting the server in the
background.  Consequently the 'start' method could complete before the
server was ready to accept connections on its socket, leading to
non-deterministic test failures.

Reported by Mathieu Othacehe <othacehe@gnu.org>.

* gnu/services/security.scm (fail2ban-shepherd-service): Change
FAIL2BAN-ACTION to invoke 'fail2ban-client'.
Change 'start' method to use 'make-forkexec-constructor'; start the
server in the foreground with '-f' and pass '-x' to force execution of
the server, as done upstream in 'fail2ban.service.in'.
2022-12-06 17:49:50 +01:00
Ludovic Courtès
a508b5c778
services: fail2ban: Remove unnecessary Shepherd 'modules' field.
* gnu/services/security.scm (fail2ban-shepherd-service): Remove
unnecessary 'modules' field.
2022-12-06 17:07:46 +01:00
Ludovic Courtès
e45c83c397
services: fail2ban: 'stop' returns #f when the dameon is stopped.
* gnu/services/security.scm (fail2ban-shepherd-service): Change
FAIL2BAN-ACTION to return an 'invoke' gexp.
Adjust the shepherd 'start' and 'stop' fields accordingly.  Have 'stop'
return #f on success.
2022-12-06 17:07:12 +01:00
Ludovic Courtès
fe563a87ad
gnu: texinfo, info-reader: Do not run tests when cross-compiling.
Fixes a regression introduced in
a3264f31df.

Reported by Mathieu Othacehe <othacehe@gnu.org>.

* gnu/packages/texinfo.scm (texinfo)[arguments]: Change #:tests? to not
run tests when cross-compiling.
2022-12-06 15:22:26 +01:00
Ludovic Courtès
9ad14196ce
image: Clarify comment.
* gnu/system/image.scm: Adjust comment.
2022-12-06 15:11:44 +01:00
Ludovic Courtès
6232959311
tests: docker-system: Increase image size.
* gnu/tests/docker.scm (run-docker-system-test)[vm]: Increase
'disk-image-size'.
2022-12-06 15:10:24 +01:00
Ludovic Courtès
f59aa79ca3
system: vm: Non-volatile 'run-vm.sh' creates a CoW image.
Previously, copying the image would consume a lot of space and was
I/O-intensive, to the point that the marionette connection timeout of
20s could be reached when running tests like "docker-system".

* gnu/system/vm.scm (common-qemu-options): Pass 'format=' for each
'-drive' option.
(system-qemu-image/shared-store-script)[copy-image]: New variable.
[builder]: Use it when VOLATILE? is false.
2022-12-06 15:06:35 +01:00
Maxim Cournoyer
2493de0d1a
Revert "tests: install: Fix iso-image-installer test."
This reverts commit 0f66ef9aa9.  e2fsprogs is
now included in the installation operating system since
34f69bc6e6ea555929ecca83ee7592f5261ff5f2, making this workaround obsolete.

Suggested-by: Ludovic Courtès <ludo@gnu.org>
2022-12-06 10:24:59 +01:00
Maxim Cournoyer
ba4aed0f1f
install: Add missing e2fsprogs utility.
* gnu/system/install.scm (%installer-disk-utilities): Add e2fsprogs.

Reported-by: Adam Kandur <kefironpremise@gmail.com>
2022-12-06 10:24:55 +01:00
Maxim Cournoyer
aeecd06ab9
system: Rename and move %base-packages-disk-utilities.
Rationale: It is only used in INSTALLATION-OS and doesn't make sense to be
used in another context, given that file systems now automatically pull their
dependencies since commit 45eac6cdf5 (services:
Add file system utilities to profile).

* gnu/system.scm (%base-packages-disk-utilities): Deprecate and rename to...
* gnu/system/install.scm (%installer-disk-utilities): ... this.
(installation-os) [packages]: Adjust accordingly.
2022-12-06 10:24:39 +01:00
Maxim Cournoyer
43e18fd6c6
system: Add e2fsprogs to %base-packages-utils.
Rationale: Even when not using an ext file system, the utilities provided by
e2fsprogs are useful, for example to set the copy-on-write attribute of a
Btrfs file system.

* gnu/system.scm (%base-packages-utils): Add e2fsprogs.
2022-12-06 10:23:09 +01:00
zimoun
e692cb6035
gnu: julia-documenter: Fix test suite regression.
* gnu/packages/julia-xyz.scm (julia-documenter)[arguments]<#:phases>:
Substitute a work around to fix the change of 'git submodule' default
behaviour introduced by Git v2.38.1.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-05 22:24:38 +01:00
Ludovic Courtès
241772d5c0
installer: Log provenance data.
* gnu/installer.scm (provenance-sexp): New procedure.
(installer-program)[installer-builder]: Add 'installer-log-line' call.
2022-12-05 14:57:15 +01:00
Julien Lepiller
29a09fa5e4
nls: Update translations.
po/packages/vi.po: New file.
po/packages/LINGUAS: Add it.
2022-12-04 23:15:02 +01:00
Maxim Cournoyer
41407fda7a
services: configuration: Rename location accessor to "source-location".
Fixes <https://issues.guix.gnu.org/59423>.

* gnu/services/configuration.scm (define-configuration-helper): Rename the
accessor of the %location field from "NAME-location" to
"NAME-source-location".

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reported-by: Pierre Langlois <pierre.langlois@gmx.com>
2022-12-04 21:47:19 +01:00
Ludovic Courtès
90612b9f1f
build: Add 'sanity-check-next.py' to the distribution.
Reported by Vagrant Cascadian <vagrant@debian.org>.

* Makefile.am (AUX_FILES): Add 'sanity-check-next.py'.
2022-12-03 18:50:10 +01:00
Ludovic Courtès
7ef490e3fc
Update NEWS. 2022-12-02 23:20:54 +01:00
Ludovic Courtès
1b06e77108
modules: Recognize #:declarative?.
This addition has become necessary since commit
54003af85c, which makes use
of #:declarative? in modules produced by 'make-config.scm'.

Reported by zimoun <zimon.toutoune@gmail.com>.

* guix/modules.scm (extract-dependencies): Recognize #:declarative?,
which was introduced in Guile 3.0.8.
2022-12-02 23:20:54 +01:00
Ludovic Courtès
047425a662
syscalls: Adjust for lack of 'libutil.so' on glibc >= 2.34.
This is a re-implementation of 3c8b6fd94c
done in a way that works for both glibc >= 2.34 and earlier versions.

* guix/build/syscalls.scm (syscall->procedure): When LIBRARY is true,
fall back to global symbols if (dynamic-link library) fails.

(cherry picked from commit 3f6c32a88f)
2022-12-02 14:58:26 +01:00
Ludovic Courtès
883fefe160
gnu: guix: Update to 1.4.0rc1. 2022-11-30 23:04:29 +01:00
Ludovic Courtès
020184fd39
maint: Adjust sed script from 'release' target.
This is a followup to fdafd40432.  This
effect would to set 'GUIX_DISPLAYED_VERSION' to the empty string.

* Makefile.am (release): Remove '/v' from sed script for
GUIX_DISPLAYED_VERSION.
2022-11-30 20:02:41 +01:00
Ludovic Courtès
1aa7ee52c6
build: Build gnu/packages/*.go in two passes.
This works around <https://issues.guix.gnu.org/59717>, whereby heap
usage would go beyond what's reasonable, preventing compilation of the
'guix' package on armhf-linux.

This is a followup to ef82ba9dd9.

* Makefile.am (MODULES_PACKAGES1, MODULES_PACKAGES): New variables.
(MODULES_PACKAGES): Define in terms of them and use :=.
(MODULES_CORE, MODULES_SYSTEM, MODULES_CLI, MODULES_PO): Define with :=.
2022-11-30 19:58:33 +01:00
Ludovic Courtès
1bc9d5222f
maint: Leave 'gcc-toolchain' out for i586-gnu.
This is a temporary measure to work around the fact that we're currently
lacking the necessary CPU power and human power to build everything up
to 'gcc-toolchain'.

* etc/release-manifest.scm (%base-packages/hurd): Comment out
"gcc-toolchain" for now.
2022-11-28 13:51:51 +01:00
Ludovic Courtès
459e4f2a4f
Merge commit 'master' into version-1.4.0 2022-11-28 12:26:32 +01:00
Ludovic Courtès
a3264f31df
gnu: texinfo: Disable tests on GNU/Hurd.
* gnu/packages/texinfo.scm (texinfo)[arguments]: Add #:tests? argument.
2022-11-28 11:45:00 +01:00
Paul A. Patience
e6bffa99b1
gnu: cl-calispel: Fix homepage URL.
* gnu/packages/lisp-xyz.scm (sbcl-calispel)[home-page]: Fix URL.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2022-11-28 09:34:01 +01:00
Paul A. Patience
1a4eb38bdd
gnu: Add cl-with-user-abort.
* gnu/packages/lisp-xyz.scm (sbcl-with-user-abort, cl-with-user-abort,
  ecl-with-user-abort): New variables.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2022-11-28 09:32:10 +01:00
(unmatched-parenthesis
6f4bfc5263
gnu: Add aerc.
* gnu/packages/mail.scm (aerc): New variable.

Signed-off-by: Raghav Gururajan <rg@raghavgururajan.name>
2022-11-28 02:12:48 -05:00
Andrew Tropin
ffc9986ee2
gnu: calibre: Add missing python-pycryptodome dependency.
* gnu/packages/ebook.scm (calibre)[inputs]: Add missing python-pycryptodome
dependency.
2022-11-28 10:50:30 +04:00
Bruno Victal
59bdfbb196
gnu: mympd: Update to 10.1.3
* gnu/packages/mpd.scm (mympd): Update to 10.1.3.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2022-11-28 13:45:27 +08:00
Andrew Tropin
6cba399c04
gnu: telega: Use new package style.
* gnu/packages/emacs-xyz.scm (emacs-telega, emacs-telega-contrib): Use gexps,
remove trailing #t.
2022-11-28 09:44:00 +04:00
jgart
6fe253da9b
gnu: Add emacs-spongebob.
* gnu/packages/emacs-xyz.scm (emacs-spongebob): New variable.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-11-28 06:26:06 +01:00
jgart
0bb20a2231
gnu: Add emacs-frowny.
* gnu/packages/emacs-xyz.scm (emacs-frowny): New variable.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-11-28 06:26:06 +01:00