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

179215 Commits

Author SHA1 Message Date
Ludovic Courtès ab72a155c6 store: Move low-level protocol bit-twiddling to (guix remote-procedures).
* guix/store.scm (%protocol-version, %worker-magic-1, %worker-magic-2)
(protocol-major, protocol-minor, protocol-version): Move to…
* guix/remote-procedures.scm: … here.

Change-Id: Idbb23e63ab6314aa7e9ce0e3e5aa835be85c27d9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-27 12:58:18 +01:00
Ludovic Courtès 68f1f74fb8 Define remote procedure interface in (guix remote-procedures).
* guix/store.scm (define-enumerate-type, operation-id)
(hash-algo, build-mode, gc-action): Remove.
(operation, define-operation): Remove.
(client-stub, define-client-stubs): New macros.
(%client-stubs): New variable.
<top level>: Call ‘visit-remote-procedures’.
(define-top-level-client-procedures): New macro.
<top level>: Call ‘define-top-level-client-procedures’.
(valid-path?, query-path-hash, query-path-info, ensure-path)
(find-roots, add-temp-root, add-indirect-root)
(references, referrers, valid-derivers, query-derivation-outputs)
(has-substitutes, substitutable-paths, substitutable-path-info)
(optimize-store, import-paths, query-failed-paths)
(clear-failed-paths, hash-path->path): Remove.
(set-build-options): Rewrite in terms of ‘set-options’.
(add-data-to-store): Rewrite in terms of ‘add-data-to-store/direct’.
(add-to-store, add-file-tree-to-store): Use ‘remote-procedure-id’ instead of
‘operation-id’.
(build-things): Rewrite in terms of ‘build-things/direct’.
(%built-in-builders): Rewrite in terms of ‘built-in-builders/direct’.
(verify-store): Rewrite in terms of ‘verify-store/direct’.
(run-gc): Rewrite in terms of ‘run-gc/direct’.
(export-path): Rewrite in terms of ‘export-path/direct’.
(substitute-urls): Rewrite in terms of ’substitute-urls/direct’.
* guix/remote-procedures.scm: New file.
* Makefile.am (MODULES): Add it.

Change-Id: I78b3d47e34205e8f8b93a51b273f56edc46e3902
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-27 12:58:18 +01:00
Ludovic Courtès b67831bb6e store: Require a more recent minor version.
* guix/store.scm (open-connection): Require minor version #x61 or later.
(set-build-options): Remove now useless conditionals.
(build-things): Remove ‘build/old’ and the condition on the minor version.

Change-Id: I17835524ad7d69d29dba81292c6691212e200117
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-27 12:58:17 +01:00
Ludovic Courtès 40b525be02 store: Rewrite ‘run-gc’ client stub using ‘operation’.
* guix/store.scm (run-gc): Rewrite using ‘operation’.

Change-Id: I63c83604be22af83ada073993994e8695ab4e7b0
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-27 12:58:17 +01:00
Ludovic Courtès 4dd5fd2dff store: Remove unnecessary protocol version conditionals.
In commit 36457566f9 (2014), the
‘worker-protocol.hh’ defines #x10e as the protocol version.  Thus, minor
versions lower than 14 existed in Nix but never existed in Guix.

* guix/store.scm (open-connection): Ensure minor version >= 14.
(set-build-options): Remove unnecessary conditionals on
‘store-connection-minor-version’.
(run-gc): Likewise.

Change-Id: I5fc32fbdf7412150ac81543b5da17d2c6f3473a1
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-27 12:58:17 +01:00
Ludovic Courtès 132250beff serialization: Rename ‘string’ to ‘utf8-string’.
This avoids name clash with the ‘string’ binding of core Guile.

* guix/serialization.scm <top level>: Change ‘string’ to ‘utf8-string’.
* guix/store.scm (valid-path?, hash-part->path):
(add-data-to-store, add-indirect-root): Adjust operation specification
accordingly.

Change-Id: Ibf7c571ac46689c2870a2c6db6a3632405d47544
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-27 12:58:17 +01:00
Ludovic Courtès 0c1ea038e9 serialization: Formally declare serializable types.
* guix/serialization.scm (write-boolean, read-boolean)
(read-base16, write-base16): New procedures.
(<substitutable>, <path-info>): New record types.
(read-substitutable-path-list, read-path-info): New procedures.
(define-serializable-types): New macro.
<top level>: Use it.
* guix/store.scm (<substitutable>, <path-info>)
(read-substitutable-path-list, read-path-info): Move to serialization.scm.
(read-arg, write-arg): Remove.
* guix/store.scm (open-connection, process-stderr)
(add-to-store, add-file-tree-to-store, run-gc)
(export-path, export-paths): Use ‘write-value’ and ‘read-value’.
(store-path): Rename to…
(make-store-path): … this.
(output-path, fixed-output-path): Adjust accordingly.

Change-Id: I0b8863e48cb59205fa7812e8202f9a175ec8606b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-27 12:58:17 +01:00
Clombrong 8dc57904e3 services: Add endlessh-service-type.
* docs/guix.texi: Document EndleSSH service and configuration.
* gnu/services/ssh.scm: New service.
* gnu/services/ssh.scm: Define shepherd service.

Merges: https://codeberg.org/guix/guix/pulls/5910
Co-Authored-By: Giacomo Leidi <therewasa@fishinthecalculator.me>
Change-Id: Ief4520b536276b88f2e5027ef0897bf84b2835df
Signed-off-by: Giacomo Leidi <therewasa@fishinthecalculator.me>
2026-01-27 11:46:03 +01:00
Daniel Khodabakhsh 3f5ebde420 gnu: Add node-typescript.
* gnu/packages/node-xyz.scm (node-typescript): New variable.

Change-Id: Ief680a973c6f4f98837db3b2b15109c10fda8c6e
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:46 +01:00
Daniel Khodabakhsh 116f04b948 gnu: Add node-types-source-map-support.
* gnu/packages/node-xyz.scm (node-types-source-map-support): New variable.

Change-Id: I4bfda700f971ad4b8ec2d04ff510e263f94d94bd
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:46 +01:00
Daniel Khodabakhsh 526e87d09f gnu: Add node-types-node.
* gnu/packages/node-xyz.scm (node-types-node): New variable.

Change-Id: I31801972ed59743856d56585aad450aa8368baea
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:46 +01:00
Daniel Khodabakhsh ee7d8a74a6 gnu: Add node-chalk.
* gnu/packages/node-xyz.scm (node-chalk): New variable.

Change-Id: Ia267af1f10b4b322682ceb44d0bae7d9ee0dc30b
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:46 +01:00
Daniel Khodabakhsh a93c9ae66c gnu: Add node-command-line-usage.
* gnu/packages/node-xyz.scm (node-command-line-usage): New variable.

Change-Id: I30410f1287e1a4aa07ea159e160bc7c6e79073ed
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:46 +01:00
Daniel Khodabakhsh 58e6543f6b gnu: Add node-hereby.
* gnu/packages/node-xyz.scm (node-hereby): New variable.

Change-Id: Ide051fbc2be3d80f70a45f1030211e20fbc9f9bf
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:46 +01:00
Daniel Khodabakhsh 5c98e5269a gnu: Add node-glob.
* gnu/packages/node-xyz.scm (node-glob): New variable.

Change-Id: I8a16ef870f604cac35cda534b49006c7f746895e
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh 0342cecbac gnu: Add node-minimatch.
* gnu/packages/node-xyz.scm (node-minimatch): New variable.

Change-Id: Ided488ef27a54d680681d966845e6e8cee74c0f3
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh edaab3e577 gnu: Add node-table-layout.
* gnu/packages/node-xyz.scm (node-table-layout): New variable.

Change-Id: I52722b5c23f877e0e11efca970a55a9bff4941eb
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh 3081706ffa gnu: Add node-wordwrapjs.
* gnu/packages/node-xyz.scm (node-wordwrapjs): New variable.

Change-Id: I7a85881db3e2ce9cd99517b655b53add55ee7158
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh 46d3c833c6 gnu: Add node-ansi-styles.
* gnu/packages/node-xyz.scm (node-ansi-styles): New variable.

Change-Id: I5ea900aae7a16418d442de5cd058eed5e18a7cbc
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh c40a927df6 gnu: Add node-brace-expansion.
* gnu/packages/node-xyz.scm (node-brace-expansion): New variable.

Change-Id: I3d2d96c5a888d3e70ed23248e7e02b3a92ae14c2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh 2371b45028 gnu: Add node-fast-xml-parser.
* gnu/packages/node-xyz.scm (node-fast-xml-parser): New variable.

Change-Id: I1e569fed347895d0409b65110f184e90f7d9222c
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh 6649e34002 gnu: Add node-minipass-7.
* gnu/packages/node-xyz.scm (node-minipass-7): New variable.

Change-Id: I9a7fa292a8117795959a3f45cb300d9e07fd6a45
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh aae52b37be gnu: Add node-path-scurry.
* gnu/packages/node-xyz.scm (node-path-scurry): New variable.

Change-Id: I39598efc068bc706a481d121f6b0c5615a83effc
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh 6d11b2c0c0 gnu: Add node-pretty-ms.
* gnu/packages/node-xyz.scm (node-pretty-ms): New variable.

Change-Id: I77eb83b965af37f31076766d4a0e795e61d64ab7
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh efe368426f gnu: Add node-source-map-support.
* gnu/packages/node-xyz.scm (node-source-map-support): New variable.

Change-Id: Ie975afe66498a174a78536c0075c53306a73593d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh f868a14709 gnu: Add node-supports-color.
* gnu/packages/node-xyz.scm (node-supports-color): New variable.

Change-Id: I00d7701662e4d3752426aca5aece879fa8d15c79
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh d44c3fc267 gnu: Add node-which.
* gnu/packages/node-xyz.scm (node-which): New variable.

Change-Id: I31434c264ba2df58ed74eb3f35a97faea327ddf6
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:45 +01:00
Daniel Khodabakhsh b02a4eefbd gnu: Add node-balanced-match.
* gnu/packages/node-xyz.scm (node-balanced-match): New variable.

Change-Id: I91006e112da75c54a777bf6da83d5d939a7de9d1
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:44 +01:00
Daniel Khodabakhsh 029db9af52 gnu: Add node-color-convert.
* gnu/packages/node-xyz.scm (node-color-convert): New variable.

Change-Id: Ifc3061862a5d0abbad0fedf1b36ea4f9e554b418
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:44 +01:00
Daniel Khodabakhsh 333b5bba9d gnu: Add node-dprint-formatter.
* gnu/packages/node-xyz.scm (node-dprint-formatter): New variable.

Change-Id: I3b850a1a3d821f125f52d02718c49c7252ed0247
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:44 +01:00
Daniel Khodabakhsh 433fd24130 gnu: Add node-jsonc-parser.
* gnu/packages/node-xyz.scm (node-jsonc-parser): New variable.

Change-Id: I4a482d482b587006bac621161c01a31ab8c16a55
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:44 +01:00
Daniel Khodabakhsh 9ac0df45ee gnu: Add node-array-back.
* gnu/packages/node-xyz.scm (node-array-back): New variable.

Change-Id: I348ce710940d8309c1fb55313425541061644228
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:44 +01:00
Daniel Khodabakhsh 145d4ca98e gnu: Add node-buffer-from.
* gnu/packages/node-xyz.scm (node-buffer-from): New variable.

Change-Id: Id90afe871a323fa513832544c222560a0954da0a
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:44 +01:00
Daniel Khodabakhsh 4ce6be078a gnu: Add node-deep-extend.
* gnu/packages/node-xyz.scm (node-deep-extend): New variable.

Change-Id: I567a994e57e48d54e5a938cd56fb4d98445448c7
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:44 +01:00
Daniel Khodabakhsh 0cb873f173 gnu: Add node-escape-string-regexp.
* gnu/packages/node-xyz.scm (node-escape-string-regexp): New variable.

Change-Id: I5879164912380f9880313bf45349c42a270f4c07
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:44 +01:00
Daniel Khodabakhsh 3ca4d943fe gnu: Add node-fastest-levenshtein.
* gnu/packages/node-xyz.scm (node-fastest-levenshtein): New variable.

Change-Id: I452ea3174da66509b199c38031ae6e5ca08f1a85
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:44 +01:00
Daniel Khodabakhsh 9ce61658d1 gnu: Add node-has-flag.
* gnu/packages/node-xyz.scm (node-has-flag): New variable.

Change-Id: I75d3d85928e8f3cd884ce9dc3a6c20927f62965a
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:44 +01:00
Daniel Khodabakhsh 699ddb16dd gnu: Add node-isexe.
* gnu/packages/node-xyz.scm (node-isexe): New variable.

Change-Id: I412db97f7c94d3eed15edf9ca9a27f843a3079aa
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:44 +01:00
Daniel Khodabakhsh bde545386f gnu: Add node-lru-cache.
* gnu/packages/node-xyz.scm (node-lru-cache): New variable.

Change-Id: Ic09c6608d11554d0e67935dab87a0f681d1ca49b
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:44 +01:00
Daniel Khodabakhsh 333f7c1709 gnu: Add node-minipass-5.
* gnu/packages/node-xyz.scm (node-minipass-url): New variable.

Change-Id: Ib3edc6d85aa3e279751b296870d6ed1f571affcf
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:43 +01:00
Daniel Khodabakhsh 6765faeb84 gnu: Add node-undici-types.
* gnu/packages/node-xyz.scm (node-undici-types): New variable.

Change-Id: I2a958fa4b7aeda01587105fe1027607df7677851
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:43 +01:00
Daniel Khodabakhsh 7d94b835e9 gnu: node-minimist: Update to 1.2.8.
* gnu/packages/node-xyz.scm (node-minimist): Update to 1.2.8.

Change-Id: Ie9eb70530a2870365794c4d3b2432dddc4e27361
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:43 +01:00
Daniel Khodabakhsh 9de7fa194d gnu: Add node-parse-ms.
* gnu/packages/node-xyz.scm (node-parse-ms): New variable.

Change-Id: I9d12b5acff3122276e7074c9b77ba1b3d109a4fd
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:43 +01:00
Daniel Khodabakhsh dd7dac883e gnu: Add node-picocolors.
* gnu/packages/node-xyz.scm (node-picocolors): New variable.

Change-Id: I60c0bbf7b2ea058f398f81dfcf635165ffd1b027
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:43 +01:00
Daniel Khodabakhsh a98bfe26fb gnu: Add node-reduce-flatten.
* gnu/packages/node-xyz.scm (node-reduce-flatten): New variable.

Change-Id: Ib8887489b53f1e4cad033ddeffe597a7d3ad6dfa
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:43 +01:00
Daniel Khodabakhsh 5eab0ad523 gnu: Add node-source-map.
* gnu/packages/node-xyz.scm (node-source-map): New variable.

Change-Id: I13e2be02c270f18f300eb61ad3504b8bfceda5cd
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:43 +01:00
Daniel Khodabakhsh 89ad8677b0 gnu: Add node-strnum.
* gnu/packages/node-xyz.scm (node-strnum): New variable.

Change-Id: I33988e4fd6eca9b81c650b171b777af747056760
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:43 +01:00
Daniel Khodabakhsh ba1e0dc41a gnu: Add node-typical.
* gnu/packages/node-xyz.scm (node-typical): New variable.

Change-Id: I0053fc63f641b1ba6e294931496b41ab6e33dc86
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-01-27 10:39:35 +01:00
Efraim Flashner 1cad718948 gnu: make-rust-sysroot: Remove cross-gcc work-around.
* gnu/packages/rust.scm (make-rust-sysroot/implementation)
[native-inputs]: Remove gcc-14.

Change-Id: Ia2c8dcff4b3fac5f7d61d7890e35f769e7bdc1bf
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-01-27 10:55:49 +02:00
Cayetano Santos 149c5bf876 gnu: emacs-marginalia: Update to 2.9.
* gnu/packages/emacs-xyz.scm (emacs-marginalia): Update to 2.9.

Change-Id: I2976a02f3636919dbc0c68b39cc40210d72dfb9b
2026-01-27 09:28:12 +01:00