1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00
Commit Graph

149179 Commits

Author SHA1 Message Date
Jelle Licht
7b3b9331ae gnu: node-lts: Update to 20.18.1 [security fixes].
* gnu/packages/node.scm (node-lts): Update to 20.18.1.
[origin]: Delete bundled brotli, ngtcp2 and uv.
[:configure-flags]: Add shared-nghtcp2 flag. Add shared-nghttp3 flag.
[#:phases]<delete-problematic-tests>: Remove tests that fail due to linking to
unbundled libuv. Delete tests that depend on 64-bit time_t for 32-bit builds.
[native-inputs]: Replace libuv by libuv-for-node-lts.
[inputs]: Replace libuv by libuv-for-node-lts. Add ngtpc2, nghttp3.

Change-Id: I932e64f212283b34f0affad65c3d9f92fdea3d79
2024-12-18 22:02:19 +01:00
Jelle Licht
b0e5c1d038 gnu: llhttp-bootstrap: Update to 8.1.2.
* gnu/packages/node.scm (llhttp-bootstrap): Update to 8.1.2.

Change-Id: I4eff26889b2645c031fc9ea896657468d5752953
2024-12-18 22:02:19 +01:00
Jelle Licht
37ec990182 gnu: Add libuv-for-node-lts.
Specific versions of Node depend on specific versions of libuv.

* gnu/packages/libevent.scm (libuv-for-node-lts): New package.

Change-Id: I97f6b96002dde37a0cec56dbfd7ff8722982ff89
2024-12-18 22:02:19 +01:00
Jelle Licht
954385d48f gnu: Remove c-ares-for-node.
The node-lts package can now be built using the standard c-ares package.

* gnu/packages/adns.scm (c-ares-for-node): Delete variable.

Change-Id: I9e613f2d4aeacb6079d69f5bef22d11eb8dc6b18
2024-12-18 22:02:19 +01:00
Jelle Licht
efd55e049a gnu: node-lts: Replace customized c-ares-for-node by c-ares.
* gnu/packages/node.scm (node-lts) [native-inputs]: Replace c-ares-for-node by
c-ares.
[inputs]: Ditto.

Change-Id: Ibef027d55c14e302d406d6478fed474f67c0d508
2024-12-18 22:02:19 +01:00
Jelle Licht
30a215c15d gnu: Remove nghttp2-for-node.
This hidden package is not needed as the ancient version of node we use to
bootstrap llhttp can be built using the standard nghttp2 package.

* gnu/packages/web.scm (assimp-5.0): Delete variable.

Change-Id: Ib077fcc55c9bf7fd3caab69220aa8c86e5c33f8a
2024-12-18 22:02:19 +01:00
Jelle Licht
89b8a6d27d gnu: node: Replace customized nghttp2-for-node by nghttp2.
* gnu/packages/node.scm (node) [native-inputs]: Replace nghttp2-for-node by
nghttp2.
[inputs]: Ditto.
[arguments]<#:phases>: Adjust accordingly by skipping failing tests.

Change-Id: Ia3d63ea1c428c1353d6ec6fda394ccb016eb6603
2024-12-18 22:02:19 +01:00
Janneke Nieuwenhuizen
d32a5f6eed system: examples: Fix typo in bare-hurd.tmpl.
* gnu/system/examples/bare-hurd.tmpl: Add missing line-continuation backslash.

Change-Id: Ib918cff3ca96f2a199869e876b6a75fedb09c983
2024-12-18 21:31:43 +01:00
Janneke Nieuwenhuizen
a316319668 gnu: Add tests/shadow.scm
This is a follow-up to commit
    a1ecd7f56c
    system: Add /etc/subuid and /etc/subgid support.

This file was already registered in gnu/local.mk.

* gnu/tests/shadow.scm: New file.

Change-Id: I1785206d56357f8262bd4277ef48f29183c47adc
2024-12-18 21:31:43 +01:00
Ludovic Courtès
777fde8299 etc: ungraft: Use ‘package-mapping’ directly.
* etc/manifests/ungraft.scm (ungraft): New procedure.
<top-level>: Use it.  Remove ‘ungraft-all’.

Change-Id: I6f1badf06dad9116d4242c7d1fff5ca53e6522f8
2024-12-18 18:32:41 +01:00
Ludovic Courtès
0107b771bd etc: upgrade: Really compute joint upgrades.
Previously, since input rewriting did not happen recursively, libgcrypt
would for instance be built against the old libgpg-error.

* etc/manifests/upgrade.scm (joint-security-upgrades): Pass #:recursive? #t
to ‘package-input-rewriting’.

Change-Id: I7daaa11629aa12b833ca941a3a996c3db2754a7a
2024-12-18 18:32:41 +01:00
Ludovic Courtès
5316e84e1b packages: Add #:recursive? to ‘package-input-rewriting’.
* guix/packages.scm (package-input-rewriting): Add #:recursive?
[cut?]: Honor it.
* tests/packages.scm ("package-input-rewriting, recursive"): New test.
* doc/guix.texi (Defining Package Variants): Document it.

Change-Id: Ie82f35ae0ae873dc68f8b1c0dd6616f552772e65
2024-12-18 18:32:41 +01:00
Giacomo Leidi
2767b4ef03 services: Add rootless-podman-service-type.
* gnu/services/containers.scm: New file;
(rootless-podman-configuration): new variable;
(rootless-podman-service-subids): new variable;
(rootless-podman-service-accounts): new variable;
(rootless-podman-service-profile): new variable;
(rootless-podman-shepherd-services): new variable;
(rootless-podman-service-etc): new variable;
(rootless-podman-service-type): new variable.
* gnu/local.mk: Test it.
* gnu/local.mk: Add them.
* doc/guix.texi (Miscellaneous Services): Document it.

Change-Id: I041496474c1027da353bd6852f2554a065914d7a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 18:32:41 +01:00
Giacomo Leidi
17e5ca8190 services: iptables: Provide a default value.
There doesn't seem to be a reason to force users to write

(service iptables-service-type
         (iptables-configuration))

instead of simply

(service iptables-service-type)

This patch provides a default value for the iptables-service-type.

* gnu/services/networking.scm (iptables-service-type): Set default-value.

Change-Id: I93b6c544dfb064c7a0a999549dff61007a38f842
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 18:32:41 +01:00
Giacomo Leidi
9411a1495f services: pam: Allow extension of pam limits.
* gnu/services/pam.scm (pam-limits-service-type): Allow extension of pam
limits rules from users and services.

Change-Id: I93a363d1a2887493d52ef3ae32fc9721f81ddfa8
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 18:32:40 +01:00
Giacomo Leidi
3eb720bd0b system: pam: Export pam records predicates.
* gnu/system/pam.scm: Export pam-service-name?, pam-entry? and pam-limits-entry?.

Change-Id: I609acfcaae85b4969dc385b72b307e470f5a246e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 18:32:40 +01:00
Giacomo Leidi
a1ecd7f56c system: Add /etc/subuid and /etc/subgid support.
This commit adds a Guix System service to handle allocation of subuid
and subgid requests.  Users that don't care can just add themselves as a
subid-range and don't need to specify anything but their user name.
Users that care about specific ranges, such as possibly LXD, can specify
a start and a count.

* doc/guix.texi (Miscellaneous Services): Document it.
* gnu/build/activation.scm (activate-subuids+subgids): New variable.
* gnu/local.mk: Add gnu/tests/shadow.scm.
* gnu/system/accounts.scm (sexp->subid-range): New variable.
* gnu/system/shadow.scm (%root-subid): New variable;
(subids-configuration): new record;
(subid-range->gexp): new variable;
(assert-valid-subids): new variable;
(delete-duplicate-ranges): new variable;
(subids-activation): new variable;
(subids-extension): new record;
(append-subid-ranges): new variable;
(subids-extension-merge): new variable;
(subids-service-type): new variable.
* gnu/tests/shadow.scm (subids): New system test.

Change-Id: I3755e1c75771220c74fe8ae5de1a7d90f2376635
Signed-off-by: Giacomo Leidi <goodoldpaul@autistici.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 18:32:40 +01:00
Giacomo Leidi
337037d22c accounts: Add /etc/subid and /etc/subgid allocation logic.
This commit adds allocation logic for subid ranges. Subid ranges are
ranges of contiguous subids that are mapped to a user in the host
system. This patch implements a flexible allocation algorithm allowing
users that do not want (or need) to specify details of the subid ranges
that they are requesting to avoid doing so, while upholding requests of
users that need to have specific ranges.

* gnu/build/accounts.scm (%subordinate-id-min): New variable;
(%subordinate-id-max): new variable;
(%subordinate-id-count): new variable;
(subordinate-id?): new variable;
(&subordinate-id-error): new variable;
(&subordinate-id-overflow-error): new variable;
(&illegal-subid-range-error): new variable;
(&specific-subid-range-expected-error): new variable;
(&generic-subid-range-expected-error): new variable;
(within-interval?): new variable;
(allocate-unused-range): new variable;
(allocate-generic-range): new variable;
(allocate-specific-range): new variable;
(reserve-subids): new variable;
(range->entry): new variable;
(entry->range): new variable;
(allocate-subids): new variable;
(subuid+subgid-databases): new variable.

* gnu/system/accounts.scm (subid-range-end): New variable;
(subid-range-has-start?): new variable;
(subid-range-less): new variable.

* test/accounts.scm: Test them.

Change-Id: I8de1fd7cfe508b9c76408064d6f498471da0752d
Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Giacomo Leidi <goodoldpaul@autistici.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 18:32:40 +01:00
Giacomo Leidi
58f430f69e accounts: Add /etc/subuid and /etc/subgid support.
This commit adds a new record type, <subid-entry> and serializers
and deserializers for it in (gnu build accounts).  Each instance of this
record represents one line in either /etc/subuid or /etc/subgid.  Since
Shadow uses the same representation for both files, it should be ok if
we do it as well.

This commit adds also <subid-range>, a user facing representation of
<subid-entry>. It is supposed to be usable directly in OS configurations.

* gnu/build/accounts.scm (subid-entry): New record;
(write-subgid): add serializer for subgids;
(write-subuid): add serializer for subuids;
(read-subgid): add serializer for subgids;
(read-subuid): add serializer for subuids.
* gnu/system/accounts.scm (subid-range): New record.
* test/accounts.scm: Test them.

Change-Id: I6b037e40e354c069bf556412bb5b626bd3ea1b2c
Signed-off-by: Giacomo Leidi <goodoldpaul@autistici.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 18:32:40 +01:00
Julien Lepiller
478b9ccea8 gramps: Update to 5.2.3.
* gnu/packages/genealogy.scm (gramps): Update to 5.2.3.

Change-Id: Icfd3470989da905d50233564b894887305e9de1e
2024-12-18 18:24:17 +01:00
Janneke Nieuwenhuizen
7c1199828b system: examples: Update instructions in {bare,devel}-hurd64.tmpl.
* gnu/system/examples/bare-hurd64.tmpl: Remove --machine q35, there seems to
be no longer any need for this.  Mention that there is no login prompt.
* gnu/system/examples/devel-hurd64.tmpl: Likewise.

Change-Id: Ib918cff3ca96f2a199869e876b6a75fedb09c983
2024-12-18 17:00:13 +01:00
Hilton Chain
573f47a2b0 gnu: Add privacy-redirect-icecat.
* gnu/packages/browser-extensions.scm (privacy-redirect)
(privacy-redirect/icecat): New variables.

Change-Id: I92778c4b46a30f88f23758cc65837b4aecccbd09
2024-12-18 22:57:11 +08:00
Hilton Chain
0e4b36f21c gnu: Add livemarks-icecat.
* gnu/packages/browser-extensions.scm (livemarks,livemarks/icecat): New
variables.

Change-Id: Ie13563ac62ed2d39c5b52e681c6f9351dbdab41c
2024-12-18 22:57:11 +08:00
Hilton Chain
014fc1894f gnu: Add adaptive-tab-bar-colour-icecat.
* gnu/packages/browser-extensions.scm (adaptive-tab-bar-colour)
(adaptive-tab-bar-colour/icecat): New variables.

Change-Id: I94343ef4246b1a7a0f5606b7d2214174475e7f03
2024-12-18 22:57:11 +08:00
Hilton Chain
396eb759d4 gnu: librewolf: Support Guix icecat browser extensions.
* gnu/packages/patches/librewolf-use-system-wide-dir.patch: New file.
* gnu/local.mk (dist_patch_DATA): Regisiter it.
* gnu/packages/librewolf.scm (make-librewolf-source)[patches]: Add it along with
torbrowser-compare-paths.patch.
(librewolf)[native-search-paths]: Add ICECAT_SYSTEM_DIR.

Change-Id: I8609d25a7e2725ad94ab257d720326639eb06778
2024-12-18 22:57:11 +08:00
Hilton Chain
fdfff10791 gnu: Add papersway.
* gnu/packages/wm.scm (papersway): New variable.

Change-Id: I36b21a08fb86d0b8ca526ef5c9b2946e3caa3729
2024-12-18 22:57:10 +08:00
Hilton Chain
0ef86deaa6 gnu: perl-anyevent-i3: Update to 0.19.
* gnu/packages/wm.scm (perl-anyevent-i3): Update to 0.19.

Change-Id: I6fd24c31520c501aa0cb14506e3bbf2dd7dc0a76
2024-12-18 22:57:10 +08:00
Hilton Chain
ae9bce9b07 gnu: phantomsocks: Update to 0.0.0-20241119070700-535ab0adb1e4.
* gnu/packages/networking.scm (phantomsocks): Update to
0.0.0-20241119070700-535ab0adb1e4.

Change-Id: I4d61a68e686969c656caae0bc230ca7defa50395
2024-12-18 22:57:08 +08:00
Maxim Cournoyer
2b32a38098 system/examples: Fix qemu invocation in comment of bare-hurd64.tmpl.
* gnu/system/examples/bare-hurd64.tmpl: Add missing backslash escape.

Change-Id: I84c5d37c6efb005a14f15b96432360628003d87b
2024-12-18 23:28:18 +09:00
Maxim Cournoyer
118d6429c8 system/examples: Use latest QEMU for hurd examples.
* gnu/system/examples/bare-hurd64.tmpl: Replace qemu@7 with qemu in invocation
example.
* gnu/system/examples/devel-hurd64.tmpl: Likewise.

Change-Id: I3cdbff6f68b810feff1d9b2929a323498af3fd29
2024-12-18 23:28:18 +09:00
Maxim Cournoyer
2dc4a9cca3 system/examples: Fix git clone instructions in devel-hurd64.tmpl template.
* gnu/system/examples/devel-hurd64.tmpl: Fix git clone instructions in
comment.

Change-Id: Id82f3e5d7888355507ac90e86e3bff4c27e6fba1
2024-12-18 23:28:18 +09:00
Maxim Cournoyer
a5850e73d6 gnu: mygui: Use gexps.
* gnu/packages/game-development.scm (mygui) [arguments]: Use gexps.
[description]: Fix MyGUI capitalization.

Change-Id: I99c693dfea6ff81bc2fc5411427fadd5911b3f31
2024-12-18 23:28:18 +09:00
Maxim Cournoyer
8b38443700 gnu: bullet: Modernize.
* gnu/packages/game-development.scm (bullet)
[source]: Remove trailing #t in snippet.
[arguments]: Use gexps.  Remove trailing #t in phase.

Change-Id: I8792845f83acfffc8be40cc453fcf9d0c3c4e2df
2024-12-18 23:28:18 +09:00
Maxim Cournoyer
e4020c2732 gnu: bullet: Update to 3.25.
* gnu/packages/game-development.scm (bullet): Update to 3.25.

Change-Id: I73844285c63fe0288f247f3fd441201fdffb5505
2024-12-18 23:28:17 +09:00
Maxim Cournoyer
555f641f11 gnu: Add ogre-next.
* gnu/packages/graphics.scm (ogre-next): New variable.

Change-Id: I0342e7c9917a5bf3c91cf464cf80a9137798b722
2024-12-18 23:28:17 +09:00
Maxim Cournoyer
53a457e4a1 gnu: mygui: Update to 3.4.3.
* gnu/packages/game-development.scm (mygui): Update to 3.4.3.

Change-Id: I5732fc176c5cfafabe3346367f0790e6a5f4a8e9
Series-to: 74075@debbugs.gnu.org
Series-version: 2
2024-12-18 23:28:17 +09:00
Maxim Cournoyer
cb7cea7c8c gnu: ogre: Add support for Wayland, Vulkan and Bullet.
* gnu/packages/graphics.scm (ogre)
[configure-flags]: Add -DOGRE_BUILD_RENDERSYSTEM_VULKAN=ON.
[native-inputs]: Add vulkan-headers.
[inputs]: Add bullet, glslang, spirv-tools and wayland.

Change-Id: I77f8964f36facd40f48a80006cfaa0a17c7971e5
2024-12-18 23:28:17 +09:00
Maxim Cournoyer
116d23760d gnu: ogre: Update to 14.3.2.
* gnu/packages/graphics.scm (ogre): Update to 14.3.2.
[phases] <do-not-attempt-building-gtest, run-x-server>: New phases.
[native-inputs]: Update imgui source to latest.  Add xorg-server-for-tests.

Change-Id: Iabe6bb580106158976e7193bbb27d59df2466e29
2024-12-18 23:28:17 +09:00
Maxim Cournoyer
801c930fc6 gnu: ogre: Use gexps.
* gnu/packages/graphics.scm (ogre) [arguments]: Use gexps.

Change-Id: I0e9ebeea06769dc849e9579501ffa44fbd4ebc3b
2024-12-18 23:28:17 +09:00
Maxim Cournoyer
3125239d94 gnu: imgui: Update to 1.91.4.
* gnu/packages/toolkits.scm (imgui): Update to 1.91.4.

Change-Id: I9a8f03db59fc795e065ebe4eaee60ca994164349
2024-12-18 23:28:17 +09:00
Efraim Flashner
bff32e20e7 gnu: glib: Fix build on powerpc-linux.
* gnu/packages/glib.scm (glib)[arguments]: When building for
powerpc-linux skip another test.

Change-Id: Ibc3d166ce8d60119ae7c0a1874ab0bdfada44921
2024-12-18 15:26:34 +02:00
Brian Kubisiak
3e096a6bab environment: Suppress all output with --verbosity=0
* guix/scripts/environment.scm (guix-environment*): Call
'with-status-verbosity' earlier.

Fixes: <https://issues.guix.gnu.org/71298>
Change-Id: I69c7dd1058b44d587312d957312a130a8703cfca
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 13:23:30 +01:00
Ashish SHUKLA
a34c9713e2 gnu: libgit2: Update to 1.8.4.
* gnu/packages/version-control.scm (libgit2-1.8): Update to 1.8.4.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 13:22:48 +01:00
Ludovic Courtès
011bf3280b gnu: libjami: Prepare for libgit2 1.8.4.
* gnu/packages/patches/libjami-libgit2-compatibility.patch: New file.
* gnu/packages/jami.scm (libjami)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.

Change-Id: I6a87d47f9a0ec1663b7ad3459960e9aaaf4bf562
2024-12-18 13:22:48 +01:00
Brian Kubisiak
6930741eb5 gnu: squashfuse: Fix cross compiling.
* gnu/packages/file-systems.scm (squashfuse)[arguments]: Use
pkg-config-for-target.
(squashfuse-for-appimage)[arguments]: Use substitute-keyword-arguments
to modify inherited phases instead of %standard-phases.

Change-Id: I6e52a94e46c5a89ba215a7eaceb7f54a80c52429
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 13:22:48 +01:00
Lars Bilke
27a371ff94 doc: Add note on nsncd as a replacement for nscd.
* doc/guix.texi Add note on nsncd in Name Service Switch section.

Change-Id: Ib804ab2e7d83d13f8f81d875f957eae2304eb232
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 13:22:48 +01:00
Evgeny Pisemsky
7824f62953 gnu: book-faif: Add missing dependency.
* gnu/packages/fsf.scm (book-faif): Add missing dependency.

Change-Id: I9dccb7898a91e7c2f999ca8659732ea094c2717d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 13:22:48 +01:00
Spencer King
df0b2ef897 gnu: Add julia-initialvalues.
* gnu/packages/julia-xyz.scm (julia-initialvalues): New variable.

Change-Id: I926f04a907377a6aee255adf6e4dcc813766cdf0
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 13:22:48 +01:00
Greg Hogan
0e80fef620 gnu: libusb-compat: Fix upstream hash mismatch.
Fixes <https://issues.guix.gnu.org/73974>.

* gnu/packages/libusb.scm (libusb-compat)[source]: Update sha256.
Add snippet.

Change-Id: Id44539e77936912d10b5048d1d6ce2f6ec49f7ad
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 13:22:47 +01:00
Dariqq
f0aa6c45b6 lint: Check for more types of custom 'check phases.
* guix/lint.scm (check-optional-tests): Also check for add-before and
add-after when adding custom 'check phases.

Change-Id: Idc959f90d7e9aa9d5001f34e00f88b41aa20fb2a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 13:22:47 +01:00