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.
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'.
* 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.
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.
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.
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>
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.
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.
* 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>
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>
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.
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)
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.
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 :=.
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.