aboutsummaryrefslogtreecommitdiff
path: root/gnu
AgeCommit message (Collapse)Author
2024-12-18system: Add /etc/subuid and /etc/subgid support.Giacomo Leidi
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-18accounts: Add /etc/subid and /etc/subgid allocation logic.Giacomo Leidi
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-18accounts: Add /etc/subuid and /etc/subgid support.Giacomo Leidi
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-18gramps: Update to 5.2.3.Julien Lepiller
* gnu/packages/genealogy.scm (gramps): Update to 5.2.3. Change-Id: Icfd3470989da905d50233564b894887305e9de1e
2024-12-18system: examples: Update instructions in {bare,devel}-hurd64.tmpl.Janneke Nieuwenhuizen
* 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-18gnu: Add privacy-redirect-icecat.Hilton Chain
* gnu/packages/browser-extensions.scm (privacy-redirect) (privacy-redirect/icecat): New variables. Change-Id: I92778c4b46a30f88f23758cc65837b4aecccbd09
2024-12-18gnu: Add livemarks-icecat.Hilton Chain
* gnu/packages/browser-extensions.scm (livemarks,livemarks/icecat): New variables. Change-Id: Ie13563ac62ed2d39c5b52e681c6f9351dbdab41c
2024-12-18gnu: Add adaptive-tab-bar-colour-icecat.Hilton Chain
* gnu/packages/browser-extensions.scm (adaptive-tab-bar-colour) (adaptive-tab-bar-colour/icecat): New variables. Change-Id: I94343ef4246b1a7a0f5606b7d2214174475e7f03
2024-12-18gnu: librewolf: Support Guix icecat browser extensions.Hilton Chain
* 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-18gnu: Add papersway.Hilton Chain
* gnu/packages/wm.scm (papersway): New variable. Change-Id: I36b21a08fb86d0b8ca526ef5c9b2946e3caa3729
2024-12-18gnu: perl-anyevent-i3: Update to 0.19.Hilton Chain
* gnu/packages/wm.scm (perl-anyevent-i3): Update to 0.19. Change-Id: I6fd24c31520c501aa0cb14506e3bbf2dd7dc0a76
2024-12-18gnu: phantomsocks: Update to 0.0.0-20241119070700-535ab0adb1e4.Hilton Chain
* gnu/packages/networking.scm (phantomsocks): Update to 0.0.0-20241119070700-535ab0adb1e4. Change-Id: I4d61a68e686969c656caae0bc230ca7defa50395
2024-12-18system/examples: Fix qemu invocation in comment of bare-hurd64.tmpl.Maxim Cournoyer
* gnu/system/examples/bare-hurd64.tmpl: Add missing backslash escape. Change-Id: I84c5d37c6efb005a14f15b96432360628003d87b
2024-12-18system/examples: Use latest QEMU for hurd examples.Maxim Cournoyer
* 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-18system/examples: Fix git clone instructions in devel-hurd64.tmpl template.Maxim Cournoyer
* gnu/system/examples/devel-hurd64.tmpl: Fix git clone instructions in comment. Change-Id: Id82f3e5d7888355507ac90e86e3bff4c27e6fba1
2024-12-18gnu: mygui: Use gexps.Maxim Cournoyer
* gnu/packages/game-development.scm (mygui) [arguments]: Use gexps. [description]: Fix MyGUI capitalization. Change-Id: I99c693dfea6ff81bc2fc5411427fadd5911b3f31
2024-12-18gnu: bullet: Modernize.Maxim Cournoyer
* 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-18gnu: bullet: Update to 3.25.Maxim Cournoyer
* gnu/packages/game-development.scm (bullet): Update to 3.25. Change-Id: I73844285c63fe0288f247f3fd441201fdffb5505
2024-12-18gnu: Add ogre-next.Maxim Cournoyer
* gnu/packages/graphics.scm (ogre-next): New variable. Change-Id: I0342e7c9917a5bf3c91cf464cf80a9137798b722
2024-12-18gnu: mygui: Update to 3.4.3.Maxim Cournoyer
* 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-18gnu: ogre: Add support for Wayland, Vulkan and Bullet.Maxim Cournoyer
* 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-18gnu: ogre: Update to 14.3.2.Maxim Cournoyer
* 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-18gnu: ogre: Use gexps.Maxim Cournoyer
* gnu/packages/graphics.scm (ogre) [arguments]: Use gexps. Change-Id: I0e9ebeea06769dc849e9579501ffa44fbd4ebc3b
2024-12-18gnu: imgui: Update to 1.91.4.Maxim Cournoyer
* gnu/packages/toolkits.scm (imgui): Update to 1.91.4. Change-Id: I9a8f03db59fc795e065ebe4eaee60ca994164349
2024-12-18gnu: glib: Fix build on powerpc-linux.Efraim Flashner
* gnu/packages/glib.scm (glib)[arguments]: When building for powerpc-linux skip another test. Change-Id: Ibc3d166ce8d60119ae7c0a1874ab0bdfada44921
2024-12-18gnu: libgit2: Update to 1.8.4.Ashish SHUKLA
* gnu/packages/version-control.scm (libgit2-1.8): Update to 1.8.4. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18gnu: libjami: Prepare for libgit2 1.8.4.Ludovic Courtès
* 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-18gnu: squashfuse: Fix cross compiling.Brian Kubisiak
* 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-18gnu: book-faif: Add missing dependency.Evgeny Pisemsky
* gnu/packages/fsf.scm (book-faif): Add missing dependency. Change-Id: I9dccb7898a91e7c2f999ca8659732ea094c2717d Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18gnu: Add julia-initialvalues.Spencer King
* gnu/packages/julia-xyz.scm (julia-initialvalues): New variable. Change-Id: I926f04a907377a6aee255adf6e4dcc813766cdf0 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18gnu: libusb-compat: Fix upstream hash mismatch.Greg Hogan
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-18gnu: julia-multivariatepolynomials: Update to 0.5.7.Spencer King
* gnu/packages/julia-xyz.scm (julia-multivariatepolynomials): Update to 0.5.7. Change-Id: Ie4ddfe39cbf56ae8b4d386c5729814502f257b77 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18gnu: Add julia-argcheck.Spencer King
* gnu/packages/julia-xyz.scm (julia-argcheck): New variable. Change-Id: I0cef75b36ea3de1af1b9ed6469af5b687495e436 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18gnu: julia-changesofvariables: Update to 0.1.9.Spencer King
* gnu/packages/julia-xyz.scm (julia-changesofvariables): Update to 0.1.9. Change-Id: I5bb8acad2d4ff0f7c66d86b8353e7e1f8698a55a Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18gnu: Add julia-simdtypes.Spencer King
* gnu/packages/julia-xyz.scm (julia-simdtypes): New variable. Change-Id: I33f4321abd19b44bc0d04dac45be07624ad55098 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18gnu: Add julia-terminterface.Spencer King
* gnu/packages/julia-xyz.scm (julia-terminterface): New variable. Change-Id: I22ad743410ff9704e3281440120befc857a10660 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18gnu: isc-dhcp: Fix cross compilation for arm32Christoph Buck
* gnu/packages/admin.scm (isc-dhcp): Fix cross compilation for arm32 Change-Id: I52a863d2cb44e81e26de3224a7c5f8c6d2420cc6 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18gnu: python-pygpgme: Fix build.Danny Milosavljevic
* gnu/packages/gnupg.scm (python-pygpgme)[native-inputs]: Add python-setuptools, python-wheel. Change-Id: Ida614c2ddcf8b7f275496a2e56e35ada0eb7667b
2024-12-18gnu: perl-pdl: Clarify return value.Danny Milosavljevic
* gnu/packages/patches/pdl-2.019-glut-bitmap-fonts.patch: Modify. Change-Id: Ib32237ddde43cd0c743074372e2fb8cb2693f52e
2024-12-18gnu: glibc: Graft with fix for CVE-2024-2961.Maxim Cournoyer
* gnu/packages/base.scm (%glibc-patches): New variable. (glibc) [source]: Use it. [properties]: Mark CVE-2024-2961 as hidden (resolved). [replacement]: Add field to graft with... (glibc/fixed): ... this new package. Fixes: <https://issues.guix.gnu.org/70581> Change-Id: I6dd70b0e157283925824348f180c466c2f6387c9
2024-12-18gnu: openmpi-5: Streamline source and do not install HTML doc.Maxim Cournoyer
This reduces the installed package size by 63 MiB. * gnu/packages/mpi.scm (openmpi-5) [source]: Add modules, snippet fields. Change-Id: Ie3dc365a2e4e48dc4c385dd447d3c64b7db065ca
2024-12-18gnu: openpmix: Do not install HTML documentation.Maxim Cournoyer
This reduces the package size from 9 MiB to 5 MiB. * gnu/packages/parallel.scm (openpmix) [source]: Add snippet. Change-Id: I36e4a1e456225588df96f5eb70ed607505dae493
2024-12-18gnu: openpmix: Fix indentation.Maxim Cournoyer
* gnu/packages/parallel.scm (openpmix): Fix indentation. Change-Id: I05751408847343ac593e666afc5f1efbbef94a79
2024-12-18gnu: openpmix: Enable Python bindings.Maxim Cournoyer
* gnu/packages/parallel.scm (openpmix) [arguments] <configure-flags>: Add '--enable-python-bindings'. <phases>: Add set-LDFLAGS phase. [native-inputs]: Add python-cython. Change-Id: I6910ed9c3c7b47b3a76085b95b1f251286a48077
2024-12-18gnu: python-pyparted: Update to 3.13.0.Sharlatan Hellseher
* gnu/packages/disk.scm: Add pyproject. (python-pyparted): Update to 3.13.0, fix build. [propagated-inputs]: Remove python-six. [native-inputs]: Add python-pytest, python-setuptools, and python-wheel. Change-Id: I1f5e7ff6e49ed4c868f7bb3033a92d27020f4114
2024-12-18gnu: python-icontract: Add missing input.Sharlatan Hellseher
* gnu/packages/python-check.scm (python-icontract) [native-inputs]: Add python-wheel. Change-Id: Ib4dac8d1a05536e09d80e9d102795f68238bfaef
2024-12-18gnu: python-vine: Fix build.Sharlatan Hellseher
* gnu/packages/python-xyz.scm (python-vine) [arguments]<test-flags>: Skip 4 tests. [native-inputs]: Remove python-case. Change-Id: I4e8f359556bd97bf6d21a8ac7b7e4823e21043fb
2024-12-18gnu: python-textdistance: Update to 4.6.3.Sharlatan Hellseher
* gnu/packages/python-xyz.scm (python-textdistance): Update to 4.6.3. Fix build. [build-system]: Swap to pyproejct-build-system. [arguments]<phases>: Remove 'delete-external-test. [propagated-inputs]: Add python-jellyfish, python-distance, python-levenshtein, python-pylev, python-pyxdameraulevenshtein, and python-rapidfuzz. [native-inputs]: Remove python-hypothesis, python-isort, python-pytest-runner, and python-tabulate; add python-pytest-xdist, python-setuptools, and python-wheel. Change-Id: I4dae8d535897a1444123ea22603079184435bb5f
2024-12-18gnu: Add python-distance.Sharlatan Hellseher
* gnu/packages/python-xyz.scm (python-distance): New variable. Change-Id: I0c8d98f39d779fcbcb5ce37bf64db118dfc0b4e4
2024-12-18gnu: Add python-pyxdameraulevenshtein.Sharlatan Hellseher
* gnu/packages/python-xyz.scm (python-pyxdameraulevenshtein): New variable. Change-Id: I33b3bc5ec63c014fcca8b10623be0f5e0cf1eb91