Commit graph

95594 commits

Author SHA1 Message Date
Ludovic Courtès
d7d049fdcd
services: kmsconf: Load GNU Freefont.
This provides glyphs for additional fonts such as Amharic that were
otherwise missing.

Fixes <https://issues.guix.gnu.org/60164>.
Reported by Wolf <wolf@wolfsden.cz>.

* gnu/services/base.scm (kmscon-service-type): In 'start' method,
pass #:environment-variables to set 'XDG_DATA_DIRS'.
2022-12-18 13:08:04 +01:00
Ludovic Courtès
495c50008b
installer: final: Delete SQLite WAL and shm files upon completion.
Previously, db.sqlite-{wal,shm} could be left behind after stopping
guix-daemon.  When resuming installation, SQLite could end up behaving
as if transactions visible in the WAL file had been committed, in spite
of having restored SAVED-DATABASE.

Fixes <https://issues.guix.gnu.org/59784>.
Reported by pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de>.

* gnu/installer/final.scm (install-system): Before restarting
guix-daemon, delete db.sqlite-{wal,shm}.
2022-12-18 01:17:17 +01:00
Ludovic Courtès
9b6703eabe
installer: final: Stop guix-daemon before accessing store database.
As part of fixing <https://issues.guix.gnu.org/59784>, make sure
/var/guix/db.sqlite is only copied while guix-daemon is stopped.

* gnu/installer/final.scm (call-with-mnt-container): Add FIXME comment.
(install-system): Copy DATABASE-FILE and SAVED-DATABASE only when
'guix-daemon' is stopped.  Add logging lines.
2022-12-18 01:17:17 +01:00
Ludovic Courtès
b1aef25453
install: Make sure uvesafb can be loaded.
Fixes <https://issues.guix.gnu.org/60010>.
Reported by pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de>.

Previously, the 'modprobe' executable would try and fail to load the
module from /lib/modules/*.  Set 'LINUX_MODULE_DIRECTORY' to make sure
'modprobe' looks for the module in the right place.

* gnu/system/install.scm (uvesafb-shepherd-service)[modprobe]: New
variable.
In 'start' method, invoke it instead of KMOD/bin/modprobe.
2022-12-15 23:54:10 +01:00
Ludovic Courtès
6dbdb5fcf5
gnu: guix: Update to 1.4.0rc2. 2022-12-10 18:19:22 +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
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
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
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
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
883fefe160
gnu: guix: Update to 1.4.0rc1. 2022-11-30 23:04:29 +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
宋文武
efb67084b2
gnu: lxqt: Change version to 1.2.0.
* gnu/packages/lxqt.scm (lxqt): Use the version of liblxqt.
2022-11-28 11:23:12 +08:00
宋文武
3cb0b6f222
gnu: screengrab: Update to 2.5.0.
* gnu/packages/lxqt.scm (screengrab): Update to 2.5.0.
2022-11-28 11:14:01 +08:00
宋文武
23be2e56f9
gnu: qtermwidget: Update to 1.2.0.
* gnu/packages/lxqt.scm (qtermwidget): Update to 1.2.0.
2022-11-28 11:14:01 +08:00
宋文武
eaff6c2491
gnu: qps: Update to 2.6.0.
* gnu/packages/lxqt.scm (qps): Update to 2.6.0.
2022-11-28 11:14:01 +08:00
宋文武
114d2e0080
gnu: pavucontrol-qt: Update to 1.2.0.
* gnu/packages/lxqt.scm (pavucontrol-qt): Update to 1.2.0.
2022-11-28 11:14:01 +08:00
宋文武
18e53bd145
gnu: lximage-qt: Update to 1.2.0.
* gnu/packages/lxqt.scm (lximage-qt): Update to 1.2.0.
2022-11-28 11:14:01 +08:00
宋文武
0a03e718d2
gnu: lxqt-themes: Update to 1.2.0.
* gnu/packages/lxqt.scm (lxqt-themes): Update to 1.2.0.
2022-11-28 11:14:01 +08:00
宋文武
ddd7041d9f
gnu: lxqt-sudo: Update to 1.2.0.
* gnu/packages/lxqt.scm (lxqt-sudo): Update to 1.2.0.
2022-11-28 11:14:00 +08:00
宋文武
83c6883e87
gnu: lxqt-session: Update to 1.2.0.
* gnu/packages/lxqt.scm (lxqt-session): Update to 1.2.0.
2022-11-28 11:14:00 +08:00
宋文武
a5d62afcf5
gnu: lxqt-runner: Update to 1.2.0.
* gnu/packages/lxqt.scm (lxqt-runner): Update to 1.2.0.
2022-11-28 11:14:00 +08:00
宋文武
15f98b84d8
gnu: lxqt-qtplugin: Update to 1.2.0.
* gnu/packages/lxqt.scm (lxqt-qtplugin): Update to 1.2.0.
2022-11-28 11:14:00 +08:00
宋文武
01d53f86e0
gnu: lxqt-powermanagement: Update to 1.2.0.
* gnu/packages/lxqt.scm (lxqt-powermanagement): Update to 1.2.0.
2022-11-28 11:14:00 +08:00