Commit graph

158876 commits

Author SHA1 Message Date
宋文武
cbc9fbcf2d
Revert "gnu: quickjs: Deprecate."
It seems quickjs-ng and quickjs are not API compatible.
This fixes building tic80.

This reverts commit b94cf86a89.

Change-Id: I3666ddbef8d1b2e71d49f9b14aef5a1be4b8495a
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-05-05 16:03:55 +02:00
Vagrant Cascadian
a824edd45e
gnu: lcrq: Update to 0.2.4.
* gnu/packages/networking.scm (lcrq): Update to 0.2.4.
[homepage]: Update redirected URL.

Change-Id: I22fe5ecb012d915552779acc2d7f69d43ea03a3b
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-05-05 15:22:31 +02:00
Ludovic Courtès
8745239dd2
news: Add entry for ‘guix shell --writable-root’.
* etc/news.scm: Add it.

Change-Id: I3b07d8156c32c0cb6de8e8bf3a26a3e1e5af66b1
2025-05-05 14:34:39 +02:00
Ludovic Courtès
a57ed987ff
linux-container: Lock mounts by default.
This makes it impossible to unmount or remount things from within
‘call-with-container’.

* gnu/build/linux-container.scm (initialize-user-namespace):
Add #:host-uid and #:host-gid. and honor them.
(run-container): Add #:lock-mounts?.  Honor it by calling ‘unshare’
followed by ‘initialize-user-namespace’.
(call-with-container): Add #:lock-mounts? and pass it down.
(container-excursion): Get the user namespace owning the PID namespace
and join it, then join the remaining namespaces.
* tests/containers.scm ("call-with-container, mnt namespace, locked mounts"):
New test.
("container-excursion"): Pass #:lock-mounts? #f.

Change-Id: I13be982aef99e68a653d472f0e595c81cfcfa392
2025-05-05 14:34:00 +02:00
Ludovic Courtès
e1a0171a56
linux-container: Set up “lo” and generate /etc/hosts by default.
* gnu/build/linux-container.scm (run-container): Add #:loopback-network?
and honor it via #:populate-file-system.
(call-with-container): Add #:loopback-network? and pass it to
‘run-container’.
* guix/scripts/environment.scm (launch-environment/container): Remove
call to ‘set-network-interface-up’ and remove generation of /etc/hosts.
* guix/scripts/home.scm (spawn-home-container): Likewise.

Change-Id: I5933a4e8dc6d8e19235a79696b62299d74d1ba21
2025-05-05 14:34:00 +02:00
Ludovic Courtès
3aa132e8c3
syscalls: Add ‘get-user-ns’.
* guix/build/syscalls.scm (NS_GET_USERNS): New variable.
(get-user-ns): New procedure.

Change-Id: I0cfba6a7cdf2ab64ef658b0f821ba4e7c6c89eab
2025-05-05 14:34:00 +02:00
Ludovic Courtès
ce363c1dc7
environment: Add ‘--writable-root’ and default to read-only root.
This is an incompatible change where the root file system in
‘guix shell -C’ is now read-only by default.

* guix/scripts/environment.scm (show-environment-options-help)
(%options): Add ‘--writable-root’.
* guix/scripts/environment.scm (setup-fhs): Invoke /sbin/ldconfig; moved
from…
(launch-environment): … here.
(launch-environment/container): Add #:writable-root? and pass it to
‘call-with-container’.  Move root file system setup to #:populate-file-system.
(guix-environment*): Honor ‘--writable-root’.
* tests/guix-environment-container.sh: Test it.
* doc/guix.texi (Invoking guix shell): Document ‘--writable-root’.
(Debugging Build Failures): Mention it before “rm /bin/sh”.

Change-Id: I2e8517d6f01eb8093160bffc0f9f56071ad6fee6
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-05-05 14:33:59 +02:00
Ludovic Courtès
7d28e6512c
guix home: ‘container’ provides a read-only root file system.
* guix/scripts/home.scm (spawn-home-container): Move creation of
accounts, /etc/hosts, /tmp, and HOME-DIRECTORY from the first argument
of ‘eval/container’ to #:populate-file-system.  Remove #:writable-root?.
* tests/guix-home.sh: Test that the root file system is read-only.

Change-Id: Icda54706321d51b95b563c86c3fb2238cc65ee20
2025-05-05 14:33:59 +02:00
Ludovic Courtès
a391394a22
linux-container: Support having a read-only root file system.
Until now, the read-only file system set up by ‘call-with-container’
would always be writable.  With this change, it can be made read-only.
With this patch, only ‘least-authority-wrapper’ switches to a read-only
root file system.

* gnu/build/linux-container.scm (remount-read-only): New procedure.
(mount-file-systems): Add #:writable-root? and #:populate-file-system
and honor them.
(run-container): Likewise.
(call-with-container): Likewise.
* gnu/system/linux-container.scm (container-script): Pass #:writable-root?
to ‘call-with-container’.
(eval/container): Add #:populate-file-system and #:writable-root? and
honor them.
* guix/scripts/environment.scm (launch-environment/container):
Pass #:writable-root? to ‘call-with-container’.
* guix/scripts/home.scm (spawn-home-container): Likewise.
* tests/containers.scm ("call-with-container, mnt namespace, read-only root")
("call-with-container, mnt namespace, writable root"): New tests.

Change-Id: I603e2fd08851338b737bb16c8af3f765e2538906
2025-05-05 14:33:59 +02:00
Ludovic Courtès
acc4215644
guix home: ‘container’ explicitly mounts $HOME and /run/user/1000.
* guix/scripts/home.scm (spawn-home-container): Pass #:mounts to
‘eval/container’.

Change-Id: I1986c1411711cebaf623f97897d91436d8167037
2025-05-05 14:33:59 +02:00
Ludovic Courtès
d4c3b31b86
linux-container: Add #:mounts to ‘eval/container’.
* gnu/system/linux-container.scm (eval/container): Add #:mounts
parameter and honor it.

Change-Id: I1d5970f53a3d67db93e937e392f9bf36e75d1573
2025-05-05 14:33:59 +02:00
Rutherther
e9cd72875e
services: guix: Fix case when /etc/guix/acl is a dangling symlink.
One possible solution for an issue when /etc/guix/acl file exists, but points
to a non-existent location. This can for example happen if one is
reinitializing the system, and remove only /gnu/store and /var/guix, keep the
rest okay. This is a major advantage of guix as compared to other distros that
usually need you to reinitialize the whole root partition. But this will leave
the user with acl file pointing to non-existent location. The file-exists?
procedure will return #f for broken symbolic links.

I think that another reason one would get this issue is, if one was booted in
a live iso, chrooted, fixing their system. They would switch generations to
one with different acl file, delete other generations gc rooting the original
acl file and then gc. One could do this approach for example when recovering
from file corruptions in the store, to get rid of the unsubstitutable paths
that can't be repaired with guix gc --verify.

This fixes the issue by looking for type of a file through lstat, instead of
relying on file-exists?. If the symlink is a broken symlink, it is
removed. Other than that the old behavior is kept:
- If regular file, back it up
- If symlink pointing to the store, remove it
- If symlink not pointing to the store, back it up

* gnu/services/base.scm (substitute-key-authorization): Check if acl file is a
possibly-dangling symbolic link.

Change-Id: I2f8170606b2f4afeea48f04acfd738b04cafc7cf
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-05-05 14:33:59 +02:00
Tomas Volf
a2282c68ff
environment: Restore action for SIGPIPE.
Code in `ui.scm' in `initialize-guix' procedure changes the handling of
SIGPIPE to SIG_IGN.  So restore the handling to SIG_DFL so that process
executed will have the usual action.  Technically we should record what the
handling was, and restore it to the previous value, but that would be much
more invasive change.

Always setting it to SIG_DFL is at least less surprising than always setting
to SIG_IGN.

* guix/scripts/environment.scm (launch-environment): Restore default action
for SIGPIPE.

Change-Id: Ifabae1d3e71aa44e63078cea5bd3824b8f61ba14
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-05-05 12:15:55 +02:00
Romain GARBAGE
79bc4ebb33
transformations: Git source transformations honour RECURSIVE?.
* guix/transformations.scm (package-git-url+recursive?): New variable.
(package-git-url): Remove variable.
(evaluate-git-replacement-specs): Use package-git-url+recursive?.
(transform-package-source-branch, transform-package-source-commit, transform-package-source-git-url): Update
according to changes above.
* doc/guix.texi (Package Transformation Options): Update documentation.
* tests/transformations.scm: Update tests. Add tests for RECURSIVE?
inheritance with WITH-COMMIT and WITH-SOURCE.

Change-Id: Id6a5e6957a9955c8173b06b3e14f2986c6dfc4bc
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-05-05 12:15:47 +02:00
jgart
63088c295d
gnu: trealla: Update to 2.70.3.
* gnu/packages/prolog.scm (trealla): Update to 2.70.3.

Change-Id: Iea8a9a982833384233590fc5874940418cb64fa1
2025-05-05 01:47:48 -05:00
Vinicius Monego
17119f1a35
gnu: librecad: Update to 2.2.1.1.
* gnu/packages/engineering.scm (librecad): Update to 2.2.1.1.
[source]: Update commit string.

Change-Id: Icbbadac1c7c7d0f7f690a3eb44149aa561be0f22
2025-05-04 20:21:12 -03:00
Vinicius Monego
b7d74b4fce
gnu: mixxx: Update to 2.5.1.
* gnu/packages/music.scm (mixxx): Update to 2.5.1.

Change-Id: Ie828f097d8a93d3c42d4e31319e9e229240c16b5
2025-05-04 20:21:12 -03:00
Vinicius Monego
4cbee7f265
gnu: libdjinterop: Update to 0.24.3.
* gnu/packages/audio.scm (libdjinterop): Update to 0.24.3.

Change-Id: I818a88d2012ce80df0cffd8adab9e92c55b38641
2025-05-04 20:21:12 -03:00
Vinicius Monego
8d6ac722a3
gnu: homebank: Update to 5.9.
* gnu/packages/finance.scm (homebank): Update to 5.9.

Change-Id: If4293c9084379b809aa492c414e8b4ef15d838f0
2025-05-04 20:21:12 -03:00
Vinicius Monego
cdaa53112d
gnu: python-obspy: Update to 1.4.2.
* gnu/packages/geo.scm (python-obspy): Update to 1.4.2.

Change-Id: Ibb28a28a58701c3e4b4e96a1116b5cc5c9424c96
2025-05-04 20:21:12 -03:00
Vinicius Monego
1b8cdbbc42
gnu: gimp: Build with OpenEXR 3.
* gnu/packages/gimp.scm (gimp-2, gimp-3): Replace openexr-2 by openexr.

Change-Id: I4e707e8ed2cd34af013e5d7b2c665615473e7c0a
2025-05-04 20:21:11 -03:00
Vinicius Monego
d7140816f9
gnu: gegl: Build with OpenEXR 3.
* gnu/packages/gimp.scm (gegl)[inputs]: Replace openexr-2 by openexr.

Change-Id: I1e11f19a8a748eb4b2892a8cfd7efa86d500557d
2025-05-04 20:21:11 -03:00
Vinicius Monego
32cc703f13
gnu: celluloid: Update to 0.28.
* gnu/packages/video.scm (celluloid): Update to 0.28.

Change-Id: I4ce14420e8e78bbc27fb79f22d61547c4def7824
2025-05-04 20:21:11 -03:00
Vinicius Monego
0f865fe8b8
gnu: haruna: Update to 1.4.0.
* gnu/packages/kde-multimedia.scm (haruna): Update to 1.4.0.

Change-Id: I1785b8596e3267026ac210278fe8f22bb0e436d1
2025-05-04 20:21:07 -03:00
Sören Tempel
3cdf7bec6b
gnu: loksh: Update to 7.7.
* gnu/packages/shells.scm (loksh): Update to 7.7.

Signed-off-by: jgart <jgart@dismail.de>
2025-05-04 14:44:49 -05:00
jgart
c2c4bc8758
gnu: trealla: Update to 2.69.12.
* gnu/packages/prolog.scm (trealla): Update to 2.69.12.

Change-Id: I525a7a9ed6e1f3aca56063810202bb455a343a3c
2025-05-04 13:39:34 -05:00
Andrew Wong
3d7ba86d6a
gnu: xandikos: Update to 0.2.12.
* gnu/packages/dav.scm (xandikos): Update to 0.2.12.
[arguments]<phases>: Fix tests by setting "XANDIKOSPATH".
[inputs]: Add python-vobject.

Change-Id: I4b5040b90e52c603dc1920cb92c3b771169940d8
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-05-04 18:18:27 +02:00
Sughosha
9f7f05e11f
Partial revert "services: plasma: Fix kded not being started."
This partially reverts cea6eedfce.

* gnu/services/desktop.scm (plasma-dbus-service): Remove kded.

Change-Id: Iaf441f6c779170a24ab2bec8908da81b182e32b1
Signed-off-by: Zheng Junjie <z572@z572.online>
2025-05-04 21:58:41 +08:00
Efraim Flashner
8e8a94ba15
gnu: slurm-minimal: Only build with openpmix when supported.
* gnu/packages/parallel.scm (slurm-minimal)[inputs]: Only include
openpmix on systems where it is supported.

Change-Id: If8ec32d409eb19bceff61d9f8a9350ec346744a0
2025-05-04 16:40:12 +03:00
Efraim Flashner
0095f2a015
gnu: mpich: Update to 4.3.0.
* gnu/packages/mpi.scm (mpich): Update to 4.3.0.
[arguments]: Adjust the configure-flags depending on if ucx is an input.
Move the 'check phase to after the 'install phase.

Change-Id: I2dd14703947d1ead4c99a64501ab92b8d4027521
2025-05-04 16:40:08 +03:00
Vinicius Monego
f72ce07fa3
gnu: Add python-vector.
* gnu/packages/python-science.scm (python-vector): New variable.

Change-Id: I77d72b0c18a0bc215cb2198ce5447e587b13d0fe
2025-05-04 08:16:28 -03:00
Vinicius Monego
c1c7d09bf3
gnu: Add python-decaylanguage.
* gnu/packages/python-science.scm (python-decaylanguage): New variable.

Change-Id: I5c709016f80b19cef22105bff42ca62b8f384f1b
2025-05-04 08:16:28 -03:00
Vinicius Monego
dae5362436
gnu: Add python-particle.
* gnu/packages/python-science.scm (python-particle): New variable.

Change-Id: Ib2462e25aadba797532c005a3b4d4e4a238a611e
2025-05-04 08:16:28 -03:00
Vinicius Monego
1c17f30d9b
gnu: Add python-hepunits.
* gnu/packages/python-science.scm (python-hepunits): New variable.

Change-Id: I174495c4fdacd21491e9e7d5abdd7d5dd0e5ffe8
2025-05-04 08:16:28 -03:00
Vinicius Monego
d08134c28e
gnu: Add python-hist.
* gnu/packages/python-science.scm (python-hist): New variable.

Change-Id: Ia3495b6d94a620b797318ffce162aa1d58e79049
2025-05-04 08:16:27 -03:00
Vinicius Monego
f534495d41
gnu: Add python-histoprint.
* gnu/packages/python-science.scm (python-histoprint): New variable.

Change-Id: I1ace11116c39e2c803afd10849c107c3f232273e
2025-05-04 08:16:27 -03:00
Vinicius Monego
36de5a4047
gnu: Add python-uhi.
* gnu/packages/python-science.scm (python-uhi): New variable.

Change-Id: I12e802cfc9dd6473cac9657dc477e470238f1bbc
2025-05-04 08:16:27 -03:00
Vinicius Monego
5a08490ee5
gnu: Add python-deflate.
* gnu/packages/python-compression.scm (python-deflate): New variable.

Change-Id: I7b04deb2ed291cff1e36422b8e4bf127a0575d08
2025-05-04 08:16:27 -03:00
Vinicius Monego
eb6a1d9317
gnu: Add python-boost-histogram.
* gnu/packages/python-science.scm (python-boost-histogram): New variable.

Change-Id: I91e73a0a3e3a698197b2d309bd5bdf388fd2697a
2025-05-04 08:16:27 -03:00
Vinicius Monego
3b5215d062
gnu: Add python-resample.
* gnu/packages/statistics.scm (python-resample): New variable.

Change-Id: I0bd8ed6c0532c5dba6efd9d15b056da401072fcf
2025-05-04 08:16:27 -03:00
Vinicius Monego
a786cd333c
gnu: python-scikit-build-core: Update to 0.11.2.
* gnu/packages/python-science.scm (python-scikit-build-core): Update to
0.11.2.

Change-Id: I66d04ba5ed89d3a9eb57df1e9491b8170d5b1571
2025-05-04 08:16:27 -03:00
Vinicius Monego
8a7871ccc7
gnu: python-pyvips: Update to 3.0.0.
* gnu/packages/python-xyz.scm (python-pyvips): Update to 3.0.0.
[source]: Fetch from GitHub.
[build-system]: Use pyproject-build-system.
[arguments]<#:phases>: Delete the now unnecessary 'fix-build, 'fix-paths
and custom 'check phases. Also build in API mode.
[native-inputs]: Add pkg-config, python-setuptools, python-wheel. Remove
python-pytest-flake8, python-pytest-runner.
[propagated-inputs]: Add python-pkgconfig.
(python-pyvips-for-python-scooby): Do not delete the phase that was
deleted in the parent package.

Change-Id: I8b3ac54f5b118a565f7297cf455698e690197e78
2025-05-04 08:16:27 -03:00
Vinicius Monego
329d073bf1
gnu: nip2: Update to 8.9.1.
* gnu/packages/image-processing.scm (nip2): Update to 8.9.1.
[arguments]<#:phases>: Delete the 'disable-test-conv phase. Remove
trailing #t from 'set-home.

Change-Id: If6a96c4cc83880634110efaa99a58b2e475e3687
2025-05-04 08:16:27 -03:00
Vinicius Monego
5bbac900ad
gnu: nip2: Remove inputs propagated from vips.
* gnu/packages/image-processing.scm (nip2)[inputs]: Remove fftw, glib,
imagemagick, lcms, libexif, libgsf, libjpeg-turbo, librsvg-for-system,
libtiff, libwebp, libxml2, matio, openexr-2, orc, poppler.

Change-Id: Ifeae1ae6b6d41dd89e73edcf3c6963b3a03fdd81
2025-05-04 08:16:27 -03:00
Vinicius Monego
6e6c698a6a
gnu: vips: Propagate inputs to satisfy vips.pc.
* gnu/packages/image-processing.scm (vips)[inputs]: Remove giflib,
niftilib. Move glib:bin to native-inputs. Move expat, fftw, lcms,
libexif, libgsf, libjpeg-turbo, libpng, librsvg-for-system, libtiff,
libxml2, libwebp, matio, openexr, orc, pango to ...
[propagated-inputs]: ... here.

Change-Id: Icf5a6764c17d839b66d298a00724a473e0b920b8
2025-05-04 08:16:27 -03:00
Vinicius Monego
17454306ca
gnu: vips: Update to 8.16.1.
* gnu/packages/image-processing.scm (vips): Update to 8.16.1.
[home-page]: Follow redirect.

Change-Id: I53e0caeba41bc674adb2f264ce55775ffc27029f
2025-05-04 08:16:27 -03:00
Vinicius Monego
4ff2725c41
gnu: python-opentsne: Update to 1.0.2.
* gnu/packages/machine-learning.scm (python-opentsne): Update to 1.0.2.
[build-system]: Use pyproject-build-system.
[arguments]: Use Gexp. Delete the 'skip-test' phase. Rename the
'set-numba-cache-dir' phase to 'preparations' and also rebuild
extensions to run tests.
[native-inputs]: Replace python-cython by python-cython-3. Add
python-pytest, python-setuptools, python-wheel.

Change-Id: I1c4a7cf3127a5254c9a14dcc71d9fa5652f6878f
2025-05-04 08:16:27 -03:00
Vinicius Monego
6c033db8fb
gnu: python-pynndescent: Update to 0.5.13.
* gnu/packages/machine-learning.scm (python-pynndescent): Update to
0.5.13.

Change-Id: I8aa5e906a6d2a34be4ed61c37fca4dd7c64fabe3
2025-05-04 08:16:27 -03:00
Vinicius Monego
c4bde11a71
gnu: gsequencer: Update to 7.7.6.
* gnu/packages/music.scm (gsequencer): Update to 7.7.6.
[home-page]: Follow redirect.

Change-Id: I3ebc903cccb4ddaef7740be76e9c7751a411c978
2025-05-04 08:16:27 -03:00
Vinicius Monego
d39c2b8d49
gnu: gmic: Update to 3.5.4.
* gnu/packages/image-processing.scm (gmic): Update to 3.5.4.

Change-Id: Ie99eef2cfb62e7ba8d6953fe94d2af64a2f5dc68
2025-05-04 08:16:26 -03:00