gnu: nginx: Update to 1.27.2. * gnu/packages/web.scm (nginx): Update to 1.27.2. (nginx-documentation): Update to 1.27.2. Change-Id: I082a410630f1ea9c6765233e159b04134758354d Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: racket: Update to 8.15. * gnu/packages/racket.scm (%racket-version): Update to 8.15. (racket)[inputs]<drracket, gui, htdp, lazy, rackunit> <redex, scribble, slideshow, typed-racket, string-constants> <syntax-color>: Update hashes. * gnu/packages/chez.scm (chez-scheme-for-racket): Update to 10.1.0-pre-release.3. Change-Id: I1d5d1f4033fce375f485db7a62996aea831d0de1 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
daemon: Explicitly unlock output path in the has-become-valid case. Fixes <https://issues.guix.gnu.org/31785>. Similar to <https://github.com/NixOS/nix/issues/178>, fixed in <https://github.com/NixOS/nix/commit/29cde917fe6b8f2e669c8bf10b38f640045c83b8>. We can't rely on Goal deletion to release our locks in a timely manner. In the case in which multiple guix-daemon processes simultaneously try producing an output path path1, the one that gets there first (P1) will get the lock, and the second one (P2) will continue trying to acquire the lock until it is released. Once it has acquired the lock, it checks to see whether the path has already become valid in the meantime, and if so it reports success to those Goals waiting on its completion and finishes. Unfortunately, it fails to release the locks it holds first, so those stay held until that Goal gets deleted. Suppose we have the following store path dependency graph: path4 / | \ path1 path2 path3 P2 is now sitting on path1's lock, and will continue to do so until path4 is completed. Suppose there is also a P3, and it has been blocked while P1 builds path2. Now P3 is sitting on path2's lock, and can't acquire path1's lock to determine that it has been completed. Likewise P2 is sitting on path1's lock, and now can't acquire path2's lock to determine that it has been completed. Finally, P3 completes path3 while P2 is blocked. Now: - P1 knows that path1 and path2 are complete, and holds no locks, but can't determine that path3 is complete - P2 knows that path1 and path3 are complete, and holds locks on path1 and path3, but can't determine that path2 is complete - P3 knows that path2 and path3 are complete, and holds a lock on path2, but can't determine that path1 is complete And none of these locks will be released until path4 is complete. Thus, we have a deadlock. To resolve this, we should explicitly release these locks as soon as they should be released. * nix/libstore/build.cc (DerivationGoal::tryToBuild, SubstitutionGoal::tryToRun): Explicitly release locks in the has-become-valid case. * tests/store-deadlock.scm: New file. * Makefile.am (SCM_TESTS): Add it. Change-Id: Ie510f84828892315fe6776c830db33d0f70bcef8 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: ecl-command-line-args: Disable tests. * gnu/packages/lisp-xyz.scm (ecl-command-line-args): Disable tests. Change-Id: I0c8b0c7e55144348020b178cb1b1f5f4ab019cb4
gnu: sbcl-command-line-args: Update to 0.1.2. * gnu/packages/lisp-xyz.scm (sbcl-command-line-args): Update to 0.1.2. Change-Id: If59aa39f719b89d7ffe873e08453ed7da0cf071a
gnu: guile-g-golf: Update to 0.8.0-rc9. * gnu/packages/guile-xyz.scm (guile-g-golf): Update to 0.8.0-rc9. Change-Id: I9c9a4123767fc5f9d6e3279aca346fad66bd590d Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
news: Add 'de' translation. * etc/news.scm: Add German translation for kexec entry. Change-Id: Ie7dd93cb18df0d07e73df3efc56805820e66d49c
gnu: guix-data-service: Update to 0.0.1-57.d3c87fb. * gnu/packages/web.scm (guix-data-service): Update to 0.0.1-57.d3c87fb. Change-Id: I9b0fd6a5d259970ce2e5174e76b2c598b8ce46e9
gnu: guile-knots: Update to 0-3.6119ece. * gnu/packages/guile-xyz.scm (guile-knots): Update to 0-3.6119ece. [native-inputs]: Add guile-lib. Change-Id: I74515dbab3fb643dc2223d202ba81de2cd70b2d5
gnu: csvkit: Fix tests. * gnu/packages/wireservice.scm (csvkit): Fix tests [source]: Apply patch. [native-inputs]: Add (libc-utf8-locales-for-target). * gnu/packages/patches/csvkit-set-locale-for-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Change-Id: I787c0da270fa4062491efcfa0c55a1b8bbac7b59 Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
gnu: cl-simple-matrix: Update to 1.3-0.878c68f. * gnu/packages/lisp-xyz.scm (sbcl-simple-matrix): Update to 1.3-0.878c68f. Change-Id: Id4f0165dc72ab3da58102d612370d55fcc4f9bc0
gnu: jc: Update to 1.25.4. * gnu/packages/admin.scm (jc): Update to 1.25.4. Change-Id: I7ec2570b56040c9a899aa1524df009f4899f9e59
.guix-authorizations: Authorise Greg Hogan's key. * .guix-authorizations (oom): Register PGP key fingerprint. Change-Id: I934ae652383e92608cf54c00c1bb3da689e30bb9
gnu: spectrwm: Update to 3.6.0. * gnu/packages/wm.scm (spectrwm): Update to 3.6.0. [arguments]: Update make-flags. [inputs]: Add libxcb. [native-inputs]: Add libbsd. Change-Id: Ib7912c43b9e80be2a24cae46d44e039e5b84e6df Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: plan9port: License has changed from LPL to Expat. * gnu/packages/plan9.scm (plan9port)[license]: Delete license:lpl1.02. Change-Id: Iae98c728f416e05ee9489f5dca848ae819833cc7 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: miniflux: Update to 2.2.4. * gnu/packages/web.scm (miniflux): Update to 2.2.4. [inputs]: Add go-golang-org-x-image Change-Id: I2308d5b7b151f7b77513d7245d05c802f0114776 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: yt-dlp: Update to 2024.12.23. * gnu/packages/video.scm (yt-dlp): Update to 2024.12.23. Change-Id: Ide6d201be0d8742802629ea7eb9053f2f45714eb Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add julia-precompiletools. * gnu/packages/julia-xyz.scm (julia-precompiletools): New variable. Change-Id: Id5adc9a28c8985bddf51261a2385b7168ffe8b4e Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add julia-bittwiddlingconveniencefunctions. * gnu/packages/julia-xyz.scm (julia-bittwiddlingconveniencefunctions): New variable. Change-Id: I822c61c780ce5035346f3f307a6e9dc1be8fd013 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add julia-dynamicpolynomials. * gnu/packages/julia-xyz.scm (julia-dynamicpolynomials): New variable. Change-Id: I03be75f274c29cb4102e16b76c77c5d9b0a0cb54 Signed-off-by: Ludovic Courtès <ludo@gnu.org>