1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-03 07:45:55 +02:00
Commit Graph

156616 Commits

Author SHA1 Message Date
Maxim Cournoyer 9bbaae304b gnu: dwarves: Update to 1.29.
* gnu/packages/linux.scm (dwarves): Update to 1.29.

Change-Id: I65bbfdd54fe7d401e92d112965672a1cb7d6f8f3
2025-03-27 21:11:25 +09:00
Zheng Junjie eb30f5ecbe gnu: guile-knots: Use git-file-name.
* gnu/packages/guile-xyz.scm (guile-knots)[source]: Use git-file-name.

Change-Id: Ice44464de5a4ec654441aae847de8bca20c1461b
2025-03-27 09:16:36 +08:00
Zheng Junjie c6047ca655 gnu: guile2.0-bash: Use git-file-name.
* gnu/packages/guile-xyz.scm (guile2.0-bash)[source]: Use git-file-name.

Change-Id: I7b0b1e89a15cfd52e44975e2f99881e514b7d0ca
2025-03-27 09:16:08 +08:00
Zheng Junjie 1f518efcfb gnu: guildhall: Use git-file-name.
* gnu/packages/guile-xyz.scm (guildhall)[source]: Use git-file-name.

Change-Id: I8aeac34fd382ba6de2e92c03309675b0d9d46954
2025-03-27 09:16:08 +08:00
Zheng Junjie 7bd7e3eea0 gnu: guile-minikanren: Use git-file-name.
* gnu/packages/guile-xyz.scm (guile-minikanren)[source]: Use git-file-name.

Change-Id: I6574034a283ee9eb4c4b2d6fc987c8a77966bcc8
2025-03-27 09:16:07 +08:00
Zheng Junjie 791c5d79af gnu: guile-png: Use git-file-name.
* gnu/packages/guile-xyz.scm (guile-png)[source]: Use git-file-name.

Change-Id: I23ce548065131400faf601bc178454c74822f58a
2025-03-27 09:16:07 +08:00
Zheng Junjie 27828d7822 gnu: guile-miniadapton: Use git-file-name.
* gnu/packages/guile-xyz.scm (guile-miniadapton)[source]: Use git-file-name.

Change-Id: Id554af296b49e43e2fb158eaedac2ab3e600ea4e
2025-03-27 09:16:07 +08:00
Zheng Junjie 69e06dbd7e gnu: guile-ics: Use git-file-name.
* gnu/packages/guile-xyz.scm (guile-ics)[source]: Use git-file-name.

Change-Id: I7bb7fe30686e73fe5aeeeae00576b07c932e2dbe
2025-03-27 09:16:06 +08:00
Zheng Junjie 198240441b gnu: guile-mastodon: Use git-file-name.
* gnu/packages/guile-xyz.scm (guile-mastodon)[source]: Use git-file-name.

Change-Id: I7538ea04e996b7e59dffcdf758645ff4a893909b
2025-03-27 09:16:06 +08:00
Zheng Junjie 22bd59401f gnu: guile-prometheus: Use git-file-name.
* gnu/packages/guile-xyz.scm (guile-prometheus)[source]: Use git-file-name.

Change-Id: I9d4ef8109e679593bdd328db15de24f41c6175f5
2025-03-27 09:16:05 +08:00
Zheng Junjie 227eeed633 gnu: guile-pfds: Use git-file-name.
* gnu/packages/guile-xyz.scm (guile-pfds)[source]: Use git-file-name.

Change-Id: I287bf81570b111372b532eebfa14be0a98a36b89
2025-03-27 09:16:05 +08:00
Zheng Junjie 9dbdff7423 gnu: guile-dsv: Use git-file-name.
* gnu/packages/guile-xyz.scm (guile-dsv)[source]: Use git-file-name.

Change-Id: Id2db18efbba82dc8b5d544f6cbc13c2d1e1aa23d
2025-03-27 09:16:05 +08:00
Zheng Junjie 3a9ee2ab4d gnu: guile-oauth: Use git-file-name.
* gnu/packages/guile-xyz.scm (guile-oauth)[source]: Use git-file-name.

Change-Id: Ieda07fc961726c0581d1e91e121df6dbf31a1d1f
2025-03-27 09:16:04 +08:00
Vinicius Monego bef7d8e2b1 gnu: quantlib: Update to 1.37.
* gnu/packages/finance.scm (quantlib): Update to 1.37.

Change-Id: Ibce2d08bfc24788d0b1261506343d87bc38b80ff
2025-03-26 19:37:08 -03:00
Vinicius Monego 51876e592d gnu: homebank: Update to 5.8.6.
* gnu/packages/finance.scm (homebank): Update to 5.8.6.

Change-Id: Ia95697fdcb1dd80863283e8f005f39ff583b5323
2025-03-26 19:37:08 -03:00
Vinicius Monego 7648f82116 gnu: gmic: Update to 3.5.3.
* gnu/packages/image-processing.scm (gmic): Update to 3.5.3.

Change-Id: I965f5063515b80c0055c7eb3d94ff771fef9e022
2025-03-26 19:37:08 -03:00
Vinicius Monego 9454789346 gnu: python-ta-lib: Update to 0.6.3.
* gnu/packages/finance.scm (python-ta-lib): Update to 0.6.3.
[source]: Fetch from GitHub.
[build-system]: Use pyproject-build-system.
[arguments]<#:test-flags>: Ignore test file depending on polars.
<#:phases>: Add phase 'delete-precompiled-files after 'unpack and
'regenerate-talibc before 'build.
[native-inputs]: Replace python-cython by python-cython-3. Remove
python-nose. Add python-pytest, python-setuptools, python-wheel.

Change-Id: I9875ac9f43574cccc90366080bb930284b587902
2025-03-26 19:36:58 -03:00
Vinicius Monego d26d95c5f2 gnu: ta-lib: Update to 0.6.4.
* gnu/packages/finance.scm (ta-lib): Update to 0.6.4.
[source]: Fetch from new official home on GitHub.
[arguments]: Use Gexp. Add #:tests?. Remove #:parallel-build. Delete the
'link-math-library phase.
[native-inputs]: Add autoconf-2.71, automake, libtool.

Change-Id: I2853ba504a406a0d5d399449ce0345078e7499e5
2025-03-26 19:34:43 -03:00
Jussi Timperi cfdd0f58d0 gnu: xssproxy: Update to 1.1.1.
* gnu/packages/xdisorg.scm (xssproxy): Update to 1.1.1.
[source]<url>: https://github.com/timakro/xssproxy now permanently
redirects to https://github.com/vincentbernat/xssproxy.
[license]: Switch to expat.

Change-Id: Id8f940bf623959151c5c9e9adb014b4629ea994c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-03-26 22:51:17 +01:00
Ashish SHUKLA 8f64fc5561 gnu: gajim: Update to 1.9.5.
* gnu/packages/messaging.scm (gajim): Update to 1.9.5.
[arguments]<#:phases>: Update build-metadata, and
install-metadata phases.

Change-Id: I7c83fb8c53066c1c704f562a24e4334e6f14beab
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-03-26 22:51:16 +01:00
Ashish SHUKLA 858f9eb39b gnu: python-nbxmpp: Update to 5.0.4.
* gnu/packages/messaging.scm (python-nbxmpp): Update to 5.0.4.

Change-Id: If2e0f26eeb5659de30db8939d6b43e375d131acb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-03-26 22:51:16 +01:00
Ashish SHUKLA 7810b6acb3 gnu: nim: Update to 2.2.2
* gnu/packages/nim.scm (atlas, sat): New variables.
(nim): Update to 2.2.0. [arguments]: Use G-expressions.
<#:modules> Import modules used by phases. <#:phases>:
Add phase "copy-deps". Update phases "patch-installer",
"patch-dynamic-libraries", and "patch-more-shebangs".

Change-Id: I3f88dd6a3b78699e91e59b23ededf9f1923eb721
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-03-26 22:51:16 +01:00
Ludovic Courtès a145be2834 gnu: guix: Update to a9239a7.
* gnu/packages/package-management.scm (guix): Update to a9239a7.

Change-Id: I3538fa161a349481e1c525c80bb357b06268a8d4
2025-03-26 22:51:16 +01:00
Nicolas Goaziou cd8219efc8 gnu: Add emacs-sage-shell-mode.
* gnu/packages/emacs-xyz.scm (emacs-sage-shell-mode): New variable.

Change-Id: I73189f919f0f1a36b0f4826685b8ace4563a9a81
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:29 +01:00
Liliana Marie Prikler 762b497946 gnu: Add lis.
* gnu/packages/maths.scm (lis): New variable.

Change-Id: I68bf93787346815912d02b919cb5c9acf884483e
2025-03-26 21:47:29 +01:00
Sughosha 6c195d1ade gnu: plasma: Re-order propageated-inputs and update comments.
* gnu/packages/kde-plasma.scm (plasma)[propagated-inputs]: Re-order; update
inline comments.

Change-Id: Icf347b1ec080f808627c95f0e29522dc00c6401f
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Sughosha 0cdb587628 services: plasma-polkit-settings: Add missing packages.
* gnu/services/desktop.scm (plasma-polkit-settings): Add kdeplasma-addons,
kglobalaccel, kpmcore and kwalletmanager.

Change-Id: I4e5544a7211fdf898b02ea51750e6d66a3b79ca9
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Sughosha f0f33b837a services: plasma-dbus-service: Add missing packages.
* gnu/services/desktop.scm (plasma-dbus-service): Add kdeplasma-addons,
kpmcore and kwalletmanager.

Change-Id: Icef5290368f681b95be3cf14d0238f1bbf47c0f6
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Sughosha 234a26e362 gnu: plasma: Add missing dependencies.
* gnu/packages/kde-plasma.scm (plasma)[propagated-inputs]: Add kpmcore,
kwalletmanager and partitionmanager.

Change-Id: I382eb94f23693e71df9a684465c7e72e2607f886
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Sergio Pastor Pérez 198b7c280f gnu: Add imhex.
* gnu/packages/hexedit.scm (make-imhex-patterns, imhex): New variables.

Change-Id: I114d3a6c0dae32ea434a77a6bd88b8ff6870b70c
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Sergio Pastor Pérez fbb853b821 gnu: Add imhex-pattern-language.
* gnu/packages/hexedit.scm (imhex-pattern-language): New variable.

Change-Id: I641bebed0bea9b2c8aca87f54d0fb457064a07d7
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Sergio Pastor Pérez cee8e1cd90 gnu: Add xdgpp.
* gnu/packages/cpp.scm (xdgpp): New variable.

Change-Id: Ia11c0926e5b7f6e60c5dd48e8973cfd6391b1469
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Sergio Pastor Pérez 40c93eda32 gnu: Add nativefiledialog-extended.
* gnu/packages/cpp.scm (nativefiledialog-extended): New variable.

Change-Id: I89ed4554db3ec8075bbb7d50bbfb4b99cae81a27
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Sergio Pastor Pérez 51f0c29f9e gnu: Add miniaudio.
* gnu/packages/cpp.scm (miniaudio): New variable.

Change-Id: I27b74793dd7b80af4437e0a1b997cc87fe8822e5
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Sergio Pastor Pérez d1fc0b5840 gnu: Add lunasvg.
* gnu/packages/cpp.scm (lunasvg): New variable.

Change-Id: I77b7943e26e4e676a1575e3e33305f6f4476b401
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Sergio Pastor Pérez 3eea6dbebb gnu: Add plutovg.
* gnu/packages/cpp.scm (plutovg): New variable.

Change-Id: I23d615af1545b79f07a64902c472e6a2e081af5a
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Sergio Pastor Pérez ffe4bac7d3 gnu: Add jthread.
* gnu/packages/cpp.scm (jthread): New variable.

Change-Id: I163ab0f8dbd9bc5ed0250612938f82926b07bc92
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:27 +01:00
Sergio Pastor Pérez 32e6e43e57 gnu: Add edlib.
* gnu/packages/cpp.scm (edlib): New variable.

Change-Id: Ia38b1d92d64134f638b13d9afb981f44a374a10e
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:27 +01:00
Ludovic Courtès a9239a769c guix-install.sh: Support the unprivileged daemon where possible.
* etc/guix-install.sh (create_account): New function.
(sys_create_build_user): Use it.  When ‘guix-daemon.service’ contains
“User=guix-daemon” only create the ‘guix-daemon’ user and group.
(sys_delete_build_user): Delete the ‘guix-daemon’ user and group.
(can_install_unprivileged_daemon): New function.
(sys_create_store): When installing the unprivileged daemon, change
ownership of /gnu and /var/guix, and create /var/log/guix.
(sys_authorize_build_farms): When the ‘guix-daemon’ account exists,
change ownership of /etc/guix.

Change-Id: I73e573f1cc5c0cb3794aaaa6b576616b66e0c5e9
2025-03-26 17:57:45 +01:00
Ludovic Courtès 107eb8ee8f etc: systemd services: Run ‘guix-daemon’ as an unprivileged user.
* etc/guix-daemon.service.in (ExecStart): Remove ‘--build-users-group’.
(Environment): Add ‘GUIX_STATE_DIRECTORY’.
(Before, User, AmbientCapabilities, PrivateMounts, BindPaths): New fields.
* etc/gnu-store.mount.in (Before): Remove.
(WantedBy): Change to ‘multi-user.target’.

Change-Id: Id826b8ab535844b6024d777f6bd15fd49db6d65e
2025-03-26 17:57:45 +01:00
Ludovic Courtès 2f65438eba tests: Run in a chroot and unprivileged user namespaces.
* build-aux/test-env.in: Pass ‘--disable-chroot’ only when unprivileged
user namespace support is lacking and warn in that case.
* tests/store.scm ("build-things, check mode"): Use ‘gettimeofday’
rather than a shared file as a source of entropy.
("symlink is symlink")
("isolated environment", "inputs are read-only")
("inputs cannot be remounted read-write")
("build root cannot be made world-readable")
("/tmp, store, and /dev/{null,full} are writable")
("network is unreachable"): New tests.
* tests/processes.scm ("client + lock"): Skip when
‘unprivileged-user-namespace-supported?’ returns true.

Change-Id: I3b3c3ebdf6db5fd36ee70251d07b893c17ca1b84
2025-03-26 17:57:44 +01:00
Ludovic Courtès f854095b6f tests: Add missing derivation inputs.
These missing inputs go unnoticed when running ‘guix-daemon
--disable-chroot’ but are immediately visible otherwise.

* tests/derivations.scm ("fixed-output derivation"): Add %BASH to #:sources.
("fixed-output derivation: output paths are equal"):
("fixed-output derivation, recursive"):
("derivation with a fixed-output input"):
("derivation with duplicate fixed-output inputs"):
("derivation with equivalent fixed-output inputs"):
("build derivation with coreutils"): Likewise.
* tests/packages.scm (bootstrap-binary): New procedure.
("package-source-derivation, origin, sha512"): Use it instead of
‘search-bootstrap-binary’ and add BASH to #:sources.
("package-source-derivation, origin, sha3-512"): Likewise.

Change-Id: I4c9087df23c47729a3aff15e9e1435b7266e36e2
2025-03-26 17:57:44 +01:00
Ludovic Courtès 29164192e9 linux-container: ‘unprivileged-user-namespace-supported?’ returns #f on non-Linux.
Previously this procedure would return #t on non-Linux systems.

* gnu/build/linux-container.scm (unprivileged-user-namespace-supported?):
When USERNS-FILE doesn’t exist, return (user-namespace-supported?).

Reported-by: Reepca Russelstein <reepca@russelstein.xyz>
Change-Id: I92050338b8b68bc3bd87100317eba69fcdf14a0a
2025-03-26 17:57:44 +01:00
Ludovic Courtès bdd7b9a45d daemon: Move comments where they belong.
* nix/libstore/build.cc (DerivationGoal::startBuilder): Shuffle
comments for clarity.

Change-Id: I6557c103ade4a3ab046354548ea193c68f8c9c05
2025-03-26 17:57:44 +01:00
Ludovic Courtès 0163c732a1 daemon: Drop Linux ambient capabilities before executing builder.
* config-daemon.ac: Check for <sys/prctl.h>.
* nix/libstore/build.cc (DerivationGoal::runChild): When ‘useChroot’ is
true, call ‘prctl’ to drop all ambient capabilities.

Change-Id: If34637fc508e5fb6d278167f5df7802fc595284f
2025-03-26 17:57:44 +01:00
Ludovic Courtès a3d6f5ae70 daemon: Create /var/guix/profiles/per-user unconditionally.
* nix/libstore/local-store.cc (LocalStore::LocalStore): Create
‘perUserDir’ unconditionally.

Change-Id: I5188320f9630a81d16f79212d0fffabd55d94abe
2025-03-26 17:57:44 +01:00
Ludovic Courtès ae18b3d9e6 daemon: Allow running as non-root with unprivileged user namespaces.
Many thanks to Reepca Russelstein for their review and guidance on these
changes.

* nix/libstore/build.cc (guestUID, guestGID): New variables.
(DerivationGoal)[readiness]: New field.
(initializeUserNamespace): New function.
(DerivationGoal::runChild): When ‘readiness.readSide’ is positive, read
from it.
(DerivationGoal::startBuilder): Call ‘chown’
only when ‘buildUser.enabled()’ is true.  Pass CLONE_NEWUSER to ‘clone’
when ‘buildUser.enabled()’ is false or not running as root.  Retry
‘clone’ without CLONE_NEWUSER upon EPERM.
(DerivationGoal::registerOutputs): Make ‘actualPath’ writable before
‘rename’.
(DerivationGoal::deleteTmpDir): Catch ‘SysError’ around ‘_chown’ call.
* nix/libstore/local-store.cc (LocalStore::createUser): Do nothing if
‘dirs’ already exists.  Warn instead of failing when failing to chown
‘dir’.
* guix/substitutes.scm (%narinfo-cache-directory): Check for
‘_NIX_OPTIONS’ rather than getuid() == 0 to determine the cache
location.
* doc/guix.texi (Build Environment Setup): Reorganize a bit.  Add
section headings “Daemon Running as Root” and “The Isolated Build
Environment”.  Add “Daemon Running Without Privileges” subsection.
Remove paragraph about ‘--disable-chroot’.
(Invoking guix-daemon): Warn against ‘--disable-chroot’ and explain why.
* tests/derivations.scm ("builder is outside the store"): New test.

Reviewed-by: Reepca Russelstein <reepca@russelstein.xyz>
2025-03-26 17:57:43 +01:00
Ludovic Courtès 40f69b586a daemon: Remount root directory as read-only.
* nix/libstore/build.cc (DerivationGoal::runChild): Bind-mount the store
and /tmp under ‘chrootRootDir’ to themselves as read-write.
Remount / as read-only.

Change-Id: I79565094c8ec8448401897c720aad75304fd1948
2025-03-26 17:57:43 +01:00
Ludovic Courtès 93474f9288 daemon: Remount inputs as read-only.
* nix/libstore/build.cc (DerivationGoal::runChild): Remount ‘target’ as
read-only.

Reported-by: Reepca Russelstein <reepca@russelstein.xyz>
Change-Id: Ib7201bcf4363be566f205d23d17fe2f55d3ad666
2025-03-26 17:57:43 +01:00
Ludovic Courtès 550ca89744 daemon: Bind-mount all the inputs, not just directories.
* nix/libstore/build.cc (DerivationGoal::startBuilder): Add all of
‘inputPaths’ to ‘dirsInChroot’ instead of hard-linking regular files.
Special-case symlinks.
(DerivationGoal)[regularInputPaths]: Remove.

Reported-by: Reepca Russelstein <reepca@russelstein.xyz>
Change-Id: I070987f92d73f187f7826a975bee9ee309d67f56
2025-03-26 17:57:43 +01:00