Commit graph

157151 commits

Author SHA1 Message Date
Morgan Smith
0772d36076
import/utils: beautify-description: Validate argument.
* guix/import/utils.scm (beautify-description): Fix broken check for
non-strings.  Add a check for empty strings.
* tests/import-utils.scm: Add two tests.

Change-Id: Idf86df02aeb850fcc8808b7c9251082c1f816656
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-15 10:21:33 +02:00
Ashish SHUKLA
47a5cd9f9c
gnu: openssh: Update to 10.0p1
* gnu/packages/ssh.scm (openssh): Update to 10.0p1.

Change-Id: Ic80ed3a2b1caf2fd87a2c0ea4354dcd3f6f782f2
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-15 10:21:01 +02:00
Rutherther
a47fef62ab
gnu: fwupd: Check polkit actions at correct location
The polkit rules check in fwupdmgr doesn't make sense with Guix packaging, as
it's checking if there is fwupd policy files in the polkit's store path.
This will never be true, and the check will always fail.

One fix would be to skip the check completely. But that seems unnecessary as
the polkit actions are always in /etc/polkit-1/actions on the Guix system.
On foreign distros, it will be necessary to turn the check off manually by
FWUPD_POLKIT_NOCHECK=1. But it's important to note that this was the case even
till now, there is no new breakage. I think it's unlikely someone will be
using fwupd package from Guix on foreign distros anyway.

* gnu/packages/firmware.scm (fwupd)[arguments]{phases}: substitute polkit
actions directory to point to /etc/polkit-1/actions

Change-Id: Ia29d7a32f68a3da7951f45fe823e3ab8059cb670
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-15 10:21:01 +02:00
Rutherther
3193f0e61b
gnu: fwupd: Add elogind input
The fwupd package doesn't contain the dbus service in
share/dbus-1/system-service, that is because it is installed only
conditionally when elogind is available.

This will introduce the service in the output, so user's won't have to start
fwupd themselves, it will get started by dbus on demand.

I don't think this should break anything for systems that do not use elogin,
the only places this is used will fall back to error:
- https://github.com/fwupd/fwupd/blob/1.8.14/src/fu-util-common.c#L242,
- https://github.com/fwupd/fwupd/blob/1.8.14/src/fu-util-common.c#L287
Meaning users without elogind will get error either way, just a different kind
of error.

* gnu/packages/firmware.scm: (fwupd)[inputs]: Add elogind

Change-Id: Id44001de6950bb6b39f1b3bba316a08ce6640fc0
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-15 10:21:01 +02:00
Christopher O'Neill
b02bc66278
gnu: onedrive: Update to 2.5.3-1
* gnu/packages/sync.scm (onedrive): Update to 2.5.3. Move several commits
ahead to incorporate OpenSSL version error fix and other fixes.

Change-Id: I98ea4153af7053e5b551baa68f04a80fa7e3b0a3
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-15 10:21:01 +02:00
Ludovic Courtès
5b158ddca9
compile: Use ‘-O2 -Ono-letrectify’ for ‘gnu/home/services’.
Partly fixes <https://issues.guix.gnu.org/74748>.

* guix/build/compile.scm (optimization-options): Add ‘gnu/home/services’
alongside ‘gnu/services’.

Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: I7140c791e66f062093a32f4baf9199345560de9d
2025-04-15 10:21:01 +02:00
Fredrik Salomonsson
46eb47eb72
gnu: Add ptouch-print.
* gnu/packages/printers.scm (ptouch-print): New variable.

Change-Id: I2ab2a80b80932af8566f6c5879e63e7b0bced747
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-15 10:21:01 +02:00
Ludovic Courtès
9d850eb2f3
tests: Update ‘guix build -P1’ test.
Fixes a regression introduced with
63b635e073.

* tests/guix-build.sh: Replace libgit2 by libgcrypt in ‘-P1’ example.

Change-Id: Idb2a18dd8455ee6bfda14284834a6f37ccec6a05
2025-04-15 10:21:01 +02:00
Ludovic Courtès
a5f09791fd
Revert "doc: Emacs Packages: Remove outdated commentary on testing."
This reverts commit b17268b53e, which was
meant for the ‘emacs-team’ branch as part of a patch series.

Change-Id: I9d9b01924698aaf5bb6ac2c8472311976eeaacc6
2025-04-15 10:21:00 +02:00
Ian Eure
287aec56a5
gnu: sssd: Update to 2.9.6.
This package has been broken since Samba was updated from 4.17.x to 4.18.x in
744e973de3.  This patch updates sssd to 2.9.6
and fixes the build.

* gnu/packages/sssd.scm (sssd): Update to 2.9.6.
[#:configure-flags]: Point to docbook catalog.
[#:phases 'patch-samba-pkgconfig]: Correct library path.
[#:phases ‘disable-active-directory-tests]: Disable tests that require AD
running in a VM.
[#:inputs]: Update docbook-xml to 4.5.

Change-Id: I13effcd34995e2e9c7fdc6d95d0fa2e35cf15bae
2025-04-14 15:13:10 -07:00
Ludovic Courtès
dd94798552
daemon: Catch SIGINT, SIGTERM, and SIGHUP for proper termination.
Previously the daemon would not install handlers for these signals.  It
would thus terminate abruptly when receiving them, without properly
closing the SQLite database.

Consequently, the database’s WAL file, which is normally deleted by the
last client closing the database (via ‘sqlite3_close’), would not be
deleted when the guix-daemon process is terminated; instead, it would
persist and possibly keep growing beyond reason.

This patch fixes that.

* nix/nix-daemon/nix-daemon.cc (handleSignal, setTerminationSignalHandler):
New functions.
(processConnection): Call it.

Reported-by: Christopher Baines <mail@cbaines.net>
Change-Id: I07e510a1242e92b6a629d60eb840e029c0f921be
2025-04-14 17:33:11 +02:00
Ludovic Courtès
dfac0a5a95
guix: Avoid ‘fdatasync’ call for caches and regular files.
Fixes <https://issues.guix.gnu.org/77606>.

Calling ‘fdatasync’ for each and every narinfo file created by ‘guix
substitute’ proved to be too expensive on spinning HDDs and/or under
load (from 0.1s to 1.3s for the ‘fdatasync’ call alone).

* guix/git-authenticate.scm (cache-authenticated-commit): Pass #:sync? #f.
* guix/http-client.scm (http-fetch/cached): Likewise.
* guix/scripts/discover.scm (write-publish-file): Likewise.
* guix/scripts/style.scm (format-whole-file): Likewise.
* guix/substitutes.scm (cache-narinfo!): Likewise.

Reported-by: Christopher Baines <mail@cbaines.net>
Change-Id: I82297eae737bc5aae8a3f7604119e9f3d4b625bf
2025-04-14 17:31:50 +02:00
Ludovic Courtès
3271843122
substitutes: Ignore corrupt cached narinfos.
* guix/substitutes.scm (cached-narinfo): Add ‘eof-object?’ clause.

Change-Id: I2d776f64b6521f778b4ab3f956b35cdef2ddb383
2025-04-14 17:31:49 +02:00
Ludovic Courtès
5525315092
utils: Add #:sync? parameter to ‘with-atomic-file-output’.
* guix/utils.scm (with-atomic-file-output): Add #:sync? and honor it.
Add ‘force-output’ call.

Change-Id: I2479778ae55360c0fab3389ac9249045a27b3568
2025-04-14 17:31:49 +02:00
Ludovic Courtès
c44495bb10
cache: Remove unused import.
* guix/cache.scm: Remove unused import.

Change-Id: I06956534aa5342a084ebf71b61518c515ce9288c
2025-04-14 17:31:49 +02:00
Florent Pruvost
0f69a4df16
gnu: cppcheck: Update to 2.17.1.
* gnu/packages/check.scm (cppcheck): Update to 2.17.1.
Replace ‘cppcheck-disable-char-signedness-test.patch’ by
‘cppcheck-fix-basedir-test.patch’.
* gnu/packages/patches/cppcheck-disable-char-signedness-test.patch: Remove.
* gnu/packages/patches/cppcheck-fix-basedir-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Update accordingly.

Change-Id: Iebd33e2966ef30a3cd5b7b157f1051fcacbe1884
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-14 17:27:29 +02:00
Ludovic Courtès
2caa8cb26f
gnu: microscheme: Use gexps.
* gnu/packages/avr-xyz.scm (microscheme)[arguments]: Use gexps.

Change-Id: Ifea17e8e1d8ba69ec0517a9d79ccb94e1e203dc4
2025-04-14 17:27:10 +02:00
Ludovic Courtès
d867facecb
gnu: microscheme: Remove dependency on clang and cppcheck.
* gnu/packages/avr-xyz.scm (microscheme)[arguments]: Pass “build”
as #:make-flags.
[native-inputs]: Remove dependency on clang and cppcheck.

Change-Id: Ib3d60984e6c660f4ad599433260d0bf8743b5b38
2025-04-14 17:27:10 +02:00
Morgan Smith
b17268b53e
doc: Emacs Packages: Remove outdated commentary on testing.
* doc/contributing.texi (Emacs Packages): Removeoutdated commentary on
testing.  We now run the tests by default like is done in other build systems.

Change-Id: I245a0a412615a1177fbd1b6e723fda3749f7e49f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-14 16:59:34 +02:00
Ludovic Courtès
b5e567bb2b
git: Override the user’s ‘core.autocrlf’ settings.
Fixes <https://issues.guix.gnu.org/77214>.

Fixes a bug whereby setting ‘core.autocrlf’ to ‘true’ in ~/.gitconfig
would lead ‘guix pull’ & co. to obtain non-bit-identical files,
including possibly syntactically-invalid Scheme files.

* guix/git.scm (clone*): Set ‘core.autocrlf’ to ‘input’.

Reported-by: Jodi Jodingtonstinski <jodijodingtondev@gmail.com>
Change-Id: I11fb20813a9fc1e14828ca8ebf5092c4b1181e5c
2025-04-14 16:58:44 +02:00
Andrew Wong
0502a30d31
gnu: Add meteo-qt.
* gnu/packages/weather.scm (meteo-qt): New variable.

Change-Id: I2ba0a0612845659abfb917811866684eb46c3a80
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-04-14 14:59:50 +02:00
Vitor Hugo
348db4d469
gnu: moonlight-qt: Add wayland support.
* gnu/packages/games.scm (moonlight-qt)[inputs]: Ann wayland.

Change-Id: I0a24f8c1011360681afe6c2f8200787aec4868ef
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-04-14 14:54:26 +02:00
Junker
2cddd8b935
gnu: Add sbcl-stumpwm-tomato.
* gnu/packages/wm.scm (sbcl-stumpwm-tomato): New variable.

Change-Id: Ice90869f46947d873bf1332ed53a701dc0aac60b
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2025-04-14 14:02:27 +02:00
Junker
740c6cb279
gnu: Add sbcl-stumpwm-rofi.
* gnu/packages/wm.scm (sbcl-stumpwm-rofi): New variable.

Change-Id: I95dfa85ac995f72b5cc6eead6a7cb0775c99ca83
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2025-04-14 13:54:45 +02:00
Junker
35c1f38294
gnu: Add sbcl-stumpwm-stump-nm.
* gnu/packages/wm.scm (sbcl-stumpwm-stump-nm): New variable.

Change-Id: I155ab3fc653e118f3b3969374cfeb22f2c695819
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2025-04-14 13:46:48 +02:00
Noé Lopez
d11544c231
teams: Add entry for Noé Lopez.
* etc/teams.scm ("Noé Lopez"): New member.

Change-Id: Ibd22c52ed5898ea4bea5f6b68df3cf7b464bfed2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-04-14 12:34:46 +02:00
Cayetano Santos
5b13aa9ea4
gnu: Add python-surf.
* gnu/packages/electronics.scm (python-surf): New variable.

Change-Id: Iddedfd5acfe3dbe04e092de27b42b6fdf1c95fb1
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-04-14 11:00:00 +02:00
Sergey Trofimov
59d031253f
gnu: qutebrowser: Update to 3.4.0.
* gnu/packages/web-browsers.scm (qutebrowser): Update to 3.4.0.

Change-Id: Ib08c86aeeb8566e739507a4b3348a1b20ffbae9c
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-04-14 10:40:06 +02:00
Sergey Trofimov
7fff0c1d6d
gnu: qutebrowser: Install docs.
* gnu/packages/web-browsers.scm (qutebrowser): Build and install
documentation.

Change-Id: I76f1b30282a7822f896c5896ff51c69016768169
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-04-14 10:39:55 +02:00
Brian Kubisiak
ea96f4b0c5
gnu: python-crossenv: Update to 1.5.0.
* gnu/packages/python-xyz.scm (python-crossenv): Update to 1.5.0.

Change-Id: Ib5f2e912cddc35cec8e342c023a4f2cbe641ce93
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-04-14 10:32:36 +02:00
Ian Eure
6b9a7f5118
gnu: greaseweazle-host-tools: Update to 1.22.
* gnu/packages/disk.scm (greaseweazle-host-tools): Update to 1.22.
[native-inputs]: Add python-setuptools and python-wheel.
[native-inputs]: Reformat.

Change-Id: Ib9fbfe0c130a1caf71a857ab8ee4e34f89f54697
2025-04-14 10:19:52 +02:00
Ian Eure
1c6aa45d9a
gnu: ganeti: Use python-bitarray-2.
Tests fail with the newer version of python-bitarray, so continue using 2.8.1.

* gnu/packages/virtualization.scm (ganeti):
[inputs]: Replace python-bitarray with python-bitarray-2.

Change-Id: If2c70ca30770f5e3ecfd0fd8d2e1be918ef9f419
2025-04-14 10:19:50 +02:00
Ian Eure
e18c66240a
gnu: Add python-bitarray-2.
* gnu/packages/python-xyz.scm (python-bitarray-2): New variable.

Change-Id: I211f067c83c957573a4762ab3e07a8dff7f7a316
2025-04-14 10:19:48 +02:00
Ian Eure
3f99acb7ff
gnu: python-bitarray: Update to 3.3.1.
* gnu/packages/python-xyz.scm (python-bitarray): Update to 3.3.1.

Change-Id: I89b12ad734211cff07a74a0e68dc14ab7b9f8ea8
2025-04-14 10:19:46 +02:00
Andy Tai
5dae752728
gnu: mc: Update to 4.8.33.
* gnu/packages/mc.scm (mc): Update to 4.8.33.
[arguments](phases): Remove uid/gid fix in 'fix-tests.
[inputs]: Add python.

Change-Id: Ie709ec8d4b4c3c278367933bdd1777d0535523f1
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-04-14 10:16:43 +02:00
Roman Scherer
98a6071b5a
gnu: speakersafetyd: Add log file.
* gnu/services/sound.scm (speakersafetyd-configuration) [log-file]: New field.
(speakersafetyd): Use it via #:log-file.

Change-Id: I870bc7bfd69249da3a9c981f627e751395386bd2
2025-04-14 13:49:29 +09:00
Roman Scherer
01a66639ef
gnu: speakersafetyd: Run as unprivileged user.
* gnu/services/sound.scm (speakersafetyd): Run as unprivileged user.
(speakersafetyd-accounts): New procedure.
(speakersafetyd-activation): Likewise.
(speakersafetyd-shepherd-service): Specify the #:group, #:user and
 #:supplementary-groups arguments.
(speakersafetyd-service-type): Extend activation-service-type.

Change-Id: I870bc7bfd69249da3a9c981f627e751395386bd2
2025-04-14 13:48:01 +09:00
Roman Scherer
f4681dce23
gnu: speakersafetyd: Update to 1.1.2.
* gnu/packages/rust-apps.scm (speakersafetyd): Update to 1.1.2.

Change-Id: I1c6d7b6080b18bd8228e8b39d1a0b42267e2b7e1
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-14 13:47:56 +09:00
Maxim Cournoyer
5af2a0c390
import/pypi: Improve renaming procedure.
A package named upstream like 'tmdb-python' now gets named 'python-tmdb'
instead of 'python-tmdb-python', which is ugly and doesn't match our
convention (info "(guix) Python Modules").

* guix/import/pypi.scm (python->package-name): Turn a -python suffix into a
python- prefix.

Change-Id: I7c0227d569c0afe6b16329d7cedb51728e4365b0
2025-04-14 13:34:00 +09:00
Maxim Cournoyer
19de75a165
tests: Streamline ngircd test image.
* gnu/tests/messaging.scm (%ngircd-os): Remove openssh-service-type and screen
package.

Change-Id: Ia08225500c544087676606ef7805037fa2b0ea5b
2025-04-14 10:34:52 +09:00
Maxim Cournoyer
25f86fdc4f
build: dbus-service: Quote body argument in 'with-retries' syntax.
Otherwise the code would be evaluated instead of shown.

* gnu/build/dbus-service.scm (with-retries): Quote the body data in the error
message.

Change-Id: I7a06f08327bdc7df70ae56a146855bc32ad3e63e
2025-04-14 10:34:52 +09:00
Maxim Cournoyer
e78f8a85bb
services: ngircd: Revert to use make-forkexec-constructor.
The use of make-systemd-constructor appears to cause problems when connecting
via TLS (see: https://github.com/ngircd/ngircd/issues/330).

* gnu/services/messaging.scm (ngircd-global): [pid-file]: Set default value
and remove maybeness.  Adjust doc.
* gnu/services/messaging.scm (ngircd-configuration): Adjust comment.
(ngircd-wrapper): Expose writable PID file and preserve pid namespace.
(ngircd-shepherd-service): Replace make-systemd-constructor with
make-forkexec-constructor and adjust surrounding accordingly.
(ngircd-activation): New procedure.
(ngircd-service-type): Extend activation-service-type with it.

Change-Id: Ic7c135ab45122e180107cde8bb9976426e3afbc4
2025-04-14 10:34:52 +09:00
Maxim Cournoyer
5533ebf57b
gnu: libressl: Add debug output.
* gnu/packages/tls.scm (libressl) [outputs]: New field.

Change-Id: Ie4949d46d3b9f403b4c87e4f3ae876c40c3032a6
2025-04-14 10:34:52 +09:00
Maxim Cournoyer
e365a71381
gnu: libressl: Use gexp and drop obsolete workaround.
All of our kernels are now on the 5.x series, and other systems using 3.x
kernels are EOL.

* gnu/packages/tls.scm (libressl) [#:configure-flags]: Use gexps, and remove
the 'ac_cv_func_getentropy=no' flag.

Change-Id: If82e89d471adf3f6ea5983fa042f03dc5350c0d8
2025-04-14 10:34:52 +09:00
Maxim Cournoyer
9cacc537a5
gnu: ngircd: Add debug output.
* gnu/packages/messaging.scm (ngircd) [outputs]: New field.

Change-Id: I9673f0ace445b982506bff9dc535d192e6fbf1e3
2025-04-14 10:34:51 +09:00
Maxim Cournoyer
f1d1f3c945
services: ngircd: Fix typo in doc.
* gnu/services/messaging.scm (ngircd-options) <pam?>: Fix typo.
* doc/guix.texi (Messaging Services): Update.

Change-Id: If14e406089b2c945cac37e25d8e08a3812e4b28e
2025-04-14 10:34:51 +09:00
Maxim Cournoyer
d46bad2cd9
services: ngircd: Disable PAM by default.
This was the original intention, as PAM authentication cannot be easily
satisfied when the service runs as non-root, which is the case.

* gnu/services/messaging.scm (ngircd-configuration) <options>: Remove maybe
and set default value.
* doc/guix.texi (Messaging Services): Update.

Change-Id: I8435cf5be7206f9165d69cbbac11c205bf928c8f
2025-04-14 10:34:51 +09:00
Maxim Cournoyer
a42630e85b
services: ngircd: Expose a new ssl-verify? option.
* gnu/services/messaging.scm (ngircd-server) [ssl-verify?]: New field.
* doc/guix.texi (Messaging Services): Regenerate doc.

Change-Id: Ia2d6e557bd89448d8cc2d1cd88e606e2b1ef5029
2025-04-14 10:34:51 +09:00
Maxim Cournoyer
f47ff4fcce
services: ngircd: Allow specifying Shepherd requirements.
* gnu/services/messaging.scm (ngircd-configuration)
[shepherd-requirement]: New field.
* gnu/services/messaging.scm (ngircd-shepherd-service) [requirement]: Use it.
* doc/guix.texi (Messaging Services): Update doc.

Change-Id: I8164c132ca25830885005d0e8f55554047c84a95
2025-04-14 10:34:51 +09:00
Maxim Cournoyer
57768a7566
gnu: pounce: Add patch improving diagnostics.
* gnu/packages/patches/pounce-readable-checks.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/messaging.scm (pounce): Use it.

Change-Id: Ibfe10d4a6c99f86a0c925ad1bed2bcc14fb4c95c
2025-04-14 10:34:51 +09:00