1
0
forked from tribes/guix

Compare commits

...

414 Commits

Author SHA1 Message Date
Jason Conroy d6f104f777 gnu: ocaml5: Add ocaml-async.
* gnu/packages/ocaml5.scm (ocaml-async): New variable.

Change-Id: I3a9f9cadb7dd00f97262bcea07d845797016a489
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:14:45 +02:00
Jason Conroy 437171281b gnu: ocaml5: Add ocaml-async-log.
* gnu/packages/ocaml5.scm (ocaml-async-log): New variable.

Change-Id: I7b77eeda5446d5f911fb16a777fc65c5181e3f94
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:14:43 +02:00
Jason Conroy d229320ef2 gnu: ocaml5: Add ocaml-async-unix.
* gnu/packages/ocaml5.scm (ocaml-async-unix): New variable.

Change-Id: I8501731fdf333852480710087dc06cf3ed902391
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:14:40 +02:00
Jason Conroy f2fe33b686 gnu: ocaml5: Add ocaml-textutils.
* gnu/packages/ocaml5.scm (ocaml-textutils): New variable.

Change-Id: I5ad8b987b8a2ff86be9a8ff9bf91162efdb071ef
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:14:38 +02:00
Jason Conroy 232513e816 gnu: ocaml5: Add ocaml-core-unix.
* gnu/packages/ocaml5.scm (ocaml-core-unix): New variable.

Change-Id: I48e9ab6f3dca93455759ea541173e90cd2d4c18f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:14:36 +02:00
Jason Conroy 1b57a5e9bf gnu: ocaml5: Add ocaml-async-rpc-kernel.
* gnu/packages/ocaml5.scm (ocaml-async-rpc-kernel): New variable.

Change-Id: I44b894a7aed49f69c79642678761d7fd15be1810
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:14:32 +02:00
Jason Conroy 1b557a0f90 gnu: ocaml5: Add ocaml-textutils-kernel.
* gnu/packages/ocaml5.scm (ocaml-textutils-kernel): New variable.

Change-Id: I44b894a7aed49f69c79642678761d7fd15be1810
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:14:12 +02:00
Jason Conroy 44f515ff89 gnu: ocaml5: Add ocaml-async-kernel.
* gnu/packages/ocaml5.scm (ocaml-async-kernel): New variable.

Change-Id: I3ef3e68cf0140b14d75441143ff048f8c222cc64
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:14:09 +02:00
Jason Conroy b4bff5eab2 gnu: ocaml5: Add ocaml-intrinsics.
* gnu/packages/ocaml5.scm (ocaml-intrinsics): New variable.

Change-Id: I9c5bb1ade7a96c21d97d7724a1bcf0d943806c9a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:14:06 +02:00
Jason Conroy 9500fde05e gnu: ocaml5: Add ocaml-core-kernel.
* gnu/packages/ocaml5.scm (ocaml-core-kernel): New variable.

Change-Id: If86e2dd0d968443581db5348414980dbbfb5c733
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:14:03 +02:00
Jason Conroy aa402ba2a9 gnu: ocaml5: Add ocaml-expect-test-helpers-core.
* gnu/packages/ocaml5.scm (ocaml-expect-test-helpers-core): New variable.

Change-Id: I2fce0c2722a0f1f08f357ff8477241c63c17d7c3
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:14:01 +02:00
Jason Conroy 874ca2cfc0 gnu: ocaml5: Add ocaml-timezone.
* gnu/packages/ocaml5.scm (ocaml-timezone): New variable.

Change-Id: Iadfcaeb2e7fb0c1342d18ecb43140b6b3cd6de7c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:58 +02:00
Jason Conroy 5d5b1fd9b3 gnu: ocaml5: Add ocaml-protocol-version-header.
* gnu/packages/ocaml5.scm (ocaml-protocol-version-header): New variable.

Change-Id: I6970a15d9209cba45f7b72a7082a6156abeb8d28
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:56 +02:00
Jason Conroy a9478b27ef gnu: ocaml5: Add ocaml-core.
* gnu/packages/ocaml5.scm (ocaml-core): New variable.

Change-Id: I7db80634390393160c3266ed51ea122619527741
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:53 +02:00
Jason Conroy 5f15f6b890 gnu: ocaml5: Add ocaml-ppx-diff.
* gnu/packages/ocaml5.scm (ocaml-ppx-diff): New variable.

Change-Id: I189e22002743a91530daf4f9f062c04baf791a3e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:51 +02:00
Jason Conroy 6b1b97de91 gnu: ocaml5: Add ocaml-base-bigstring.
* gnu/packages/ocaml5.scm (ocaml-base-bigstring): New variable.

Change-Id: I04db07a41505993355bc036920882c51d2ca407c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:48 +02:00
Jason Conroy 3677020726 gnu: ocaml5: Add ocaml-gel.
* gnu/packages/ocaml5.scm (ocaml-gel): New variable.

Change-Id: Ifbe58844e03333a1c0bd213e028241875fa3896b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:45 +02:00
Jason Conroy b510776c7a gnu: ocaml5: Add ocaml-int-repr.
* gnu/packages/ocaml5.scm (ocaml-int-repr): New variable.

Change-Id: I48fd9ca81b8bce69e3f24c4d051fe82313b07175
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:42 +02:00
Jason Conroy c94b574180 gnu: ocaml5: Add ocaml-uopt.
* gnu/packages/ocaml5.scm (ocaml-uopt): New variable.

Change-Id: I7d966a6750ca254e2b5b4c35dbb619baf16dae17
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:39 +02:00
Jason Conroy 02e674eaa0 gnu: ocaml5: Add ocaml-ppx-jane.
* gnu/packages/ocaml5.scm (ocaml-ppx-jane): New variable.

Change-Id: Iaf5aa2a5f49bfc7a7fb2504f2c27512f526c9422
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:37 +02:00
Jason Conroy 4e57f00b9c gnu: ocaml5: Add ocaml-spawn.
* gnu/packages/ocaml5.scm (ocaml-spawn): New variable.

Change-Id: If14f69f4c399bbdb5c4f81fa7eac5d6774bf5fb8
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:34 +02:00
Jason Conroy 0a101ca665 gnu: ocaml5: Add ocaml-ppx-log.
* gnu/packages/ocaml5.scm (ocaml-ppx-log): New variable.

Change-Id: Ia7a7d0e9bc56547347f6f0509196b390fdb7b7e2
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:31 +02:00
Jason Conroy c742619230 gnu: ocaml5: Add ocaml-base-quickcheck.
* gnu/packages/ocaml5.scm (ocaml-base-quickcheck): New variable.

Change-Id: I569ee7902eaa97d34250c5d758dd056e0cc1e87a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:28 +02:00
Jason Conroy 1c9bc324d2 gnu: ocaml5: Add ocaml-splittable-random.
* gnu/packages/ocaml5.scm (ocaml-splittable-random): New variable.

Change-Id: Ia253a2ee619ddbe12c61c6f64a895fa0ae6fcf61
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:25 +02:00
Jason Conroy 3df73d452d gnu: ocaml5: Add ocaml-ppx-bench.
* gnu/packages/ocaml5.scm (ocaml-ppx-bench): New variable.

Change-Id: I67a509f873683b77f5679f54be256237e34b7a5d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:22 +02:00
Jason Conroy 5a2700ccc1 gnu: ocaml5: Add ocaml-ppx-module-timer.
* gnu/packages/ocaml5.scm (ocaml-ppx-module-timer): New variable.

Change-Id: I3c501fa7591a9500da0fdceb1869d848af8cf9df
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:19 +02:00
Jason Conroy 5ecaef7144 gnu: ocaml5: Add ocaml-ppx-string-conv.
* gnu/packages/ocaml5.scm (ocaml-ppx-string-conv): New variable.

Change-Id: I280ecf605919b35d1d4f262e319d417ef3afc74b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:16 +02:00
Jason Conroy 4643ca7d17 gnu: ocaml5: Add ocaml-sexp-pretty.
* gnu/packages/ocaml5.scm (ocaml-sexp-pretty): New variable.

Change-Id: I6111a707072c8c1bff8d82ecf42c31b42c2cec7d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:13 +02:00
Jason Conroy 01c7f1bf7f gnu: ocaml5: Add ocaml-ppx-string.
* gnu/packages/ocaml5.scm (ocaml-ppx-string): New variable.

Change-Id: I6dd536304a9dcfdff351b09f6142f081ee66b0e1
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:10 +02:00
Jason Conroy 71530dd7ef gnu: ocaml5: Add ocaml-capitalization.
* gnu/packages/ocaml5.scm (ocaml-capitalization): New variable.

Change-Id: I012f11a32a84ec17bd948b2e4952b121a00902af
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:08 +02:00
Jason Conroy 28c4b89ea4 gnu: ocaml5: Add ocaml-ppx-bin-prot.
* gnu/packages/ocaml5.scm (ocaml-ppx-bin-prot): New variable.

Change-Id: Ic5a0f3f5c58fd27bfdb4eb1dc1879d31b0c5d0a8
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:05 +02:00
Jason Conroy 788e4ec1dd gnu: ocaml5: Add ocaml-bin-prot.
* gnu/packages/ocaml5.scm (ocaml-bin-prot): New variable.

Change-Id: I87c4cb0daeab2b3efc1bc72a43e7ba342aec0b78
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:03 +02:00
Jason Conroy d89b8d645e gnu: ocaml5: Add ocaml-ppx-sexp-message.
* gnu/packages/ocaml5.scm (ocaml-ppx-sexp-message): New variable.

Change-Id: Id2665032a1301f0ceda455aec2e5056e5ac79e64
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:13:00 +02:00
Jason Conroy 986f1d00c3 gnu: ocaml5: Add ocaml-ppx-sexp-value.
* gnu/packages/ocaml5.scm (ocaml-ppx-sexp-value): New variable.

Change-Id: Id524192bf9ff3482da6bd088bd65d12e25bb71e8
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:56 +02:00
Jason Conroy bc9e782e05 gnu: ocaml5: Add ocaml-ppx-custom-printf.
* gnu/packages/ocaml5.scm (ocaml-ppx-custom-printf): New variable.

Change-Id: Ie6587f90e393cac7eeb3c323d5f123c86ac47e80
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:53 +02:00
Jason Conroy 6453bfdb75 gnu: ocaml5: Add ocaml-ppx-optional.
* gnu/packages/ocaml5.scm (ocaml-ppx-optional): New variable.

Change-Id: Ia672a5ed7a1a71b520c1ddb7158a84ed60bde0ad
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:51 +02:00
Jason Conroy f841d2a817 gnu: ocaml5: Add ocaml-ppx-typerep-conv.
* gnu/packages/ocaml5.scm (ocaml-ppx-typerep-conv): New variable.

Change-Id: I25f6bdba5c89f2ca676a65bab85d9bf71e04daa4
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:48 +02:00
Jason Conroy 5f1129ec40 gnu: ocaml5: Add ocaml-ppx-variants-conv.
* gnu/packages/ocaml5.scm (ocaml-ppx-variants-conv): New variable.

Change-Id: I845f127df37bc796a4469e7d9a0c2591dfc46368
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:45 +02:00
Jason Conroy 98b6ea54af gnu: ocaml5: Add ocaml-ppx-fields-conv.
* gnu/packages/ocaml5.scm (ocaml-ppx-fields-conv): New variable.

Change-Id: Id7f57cae609f53e83418dbc7b400a5a8f98a58af
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:42 +02:00
Jason Conroy d0d74f8149 gnu: ocaml5: Add ocaml-ppx-ignore-instrumentation.
* gnu/packages/ocaml5.scm (ocaml-ppx-ignore-instrumentation): New variable.

Change-Id: I61da9db88b2ce1905ebda5f6e78c2dd668d39bc5
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:39 +02:00
Jason Conroy aa71910492 gnu: ocaml5: Add ocaml-ppx-disable-unused-warnings.
* gnu/packages/ocaml5.scm (ocaml-ppx-disable-unused-warnings): New variable.

Change-Id: I0b8baf49554c7f9feaf98710ed640b4d7e43a883
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:37 +02:00
Jason Conroy 3b46e4ac40 gnu: ocaml5: Add ocaml-ppx-fixed-literal.
* gnu/packages/ocaml5.scm (ocaml-ppx-fixed-literal): New variable.

Change-Id: I0e5800ba1f251177a0f00e7bf646f699a021c734
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:35 +02:00
Jason Conroy f0c44795d9 gnu: ocaml5: Add ocaml-variantslib.
* gnu/packages/ocaml5.scm (ocaml-variantslib): New variable.

Change-Id: Icf716bd29622c8a327c277d875694eb133a24e4e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:31 +02:00
Jason Conroy 2eabcaabec gnu: ocaml5: Add ocaml-fieldslib.
* gnu/packages/ocaml5.scm (ocaml-fieldslib): New variable.

Change-Id: If9e37e2be90df8c50c65d5284cba14a691faeee8
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:21 +02:00
Jason Conroy 0dd1293eb5 gnu: ocaml5: Add ocaml-ppx-pipebang.
* gnu/packages/ocaml5.scm (ocaml-ppx-pipebang): New variable.

Change-Id: I351a0839cfa36cf6607a86ac129028790bc99434
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:18 +02:00
Jason Conroy 035861b47c gnu: ocaml5: Add ocaml-ppx-stable.
* gnu/packages/ocaml5.scm (ocaml-ppx-stable): New variable.

Change-Id: I535fef922765241d547e886a79ddc5c43569b501
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:16 +02:00
Jason Conroy ee8b13aba1 gnu: ocaml5: Add ocaml-typerep.
* gnu/packages/ocaml5.scm (ocaml-typerep): New variable.

Change-Id: I6fbc492bf101875687ac79ace3b3d5cdf7a26267
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:13 +02:00
Jason Conroy a1be5f9511 gnu: ocaml5: Add ocaml-ppx-tydi.
* gnu/packages/ocaml5.scm (ocaml-ppx-tydi): New variable.

Change-Id: I4ce2c317fd8db0392460292cdac7097e876e31e6
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:12:04 +02:00
Jason Conroy f9b586c33d gnu: ocaml5: Add ocaml-ppx-stable-witness.
* gnu/packages/ocaml5.scm (ocaml-ppx-stable-witness): New variable.

Change-Id: I6c4d91f9cb1c3aa68597061fe39f859c899dddf6
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-08 19:11:56 +02:00
Jason Conroy 85a6d53dee gnu: ocaml5: Update ocaml-ppxlib to 0.37 and all dependees broken by change.
* gnu/packages/ocaml5.scm:
(ocaml5-ppxlib): Update to 0.37.0.
(ocaml5-ppx-optcomp): Update to 0.17.1.
(ocaml5-ppxlib-jane): Update to 0.17.4.
(ocaml5-ppx-globalize): Update to 0.17.2.
(ocaml5-ppx-js-style): Update to 0.17.1.
(ocaml5-ppx-sexp-conv): Update to 0.17.1.
(ocaml5-ppx-inline-test): Update to 0.17.1.
(ocaml5-ppx-expect): Update to 0.17.3.
(ocaml5-ppx-let): Update to 0.17.1.
(ocaml5-qcheck): Update to 0.27.
(ocaml5-js-of-ocaml-base) Update to 6.2.0.

Change-Id: If0936655228b2ae5dde09fae8d5721ecf7eb839c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 1aaf49ffb3 gnu: ocaml5: Remove ocaml-bisect-ppx.
* gnu/packages/ocaml5.scm (ocaml-bisect-ppx): Remove variable.

Change-Id: I15150ed181c211f5018155e7ad54dfb9958008c7
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 38bd9550b5 gnu: ocaml5: Remove ocaml-bisect-ppx dependency from ocaml-odoc.
* gnu/packages/ocaml5.scm (ocaml-odoc)[propagated-inputs]: Remove
ocaml-bisect-ppx.

Change-Id: Ie087a8e4a98888f9bef2cc5a94fdfb3133ce1a7b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 9bd3654c34 gnu: ocaml5: Remove ocaml-bisect-ppx dependency from ocaml-markup.
* gnu/packages/ocaml5.scm (ocaml-markup)[propagated-inputs]:
  Remove ocaml-bisect-ppx.

Change-Id: I5277318ef194d5991444232fe6ab6389b14b028c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 0c4d6c3023 gnu: ocaml5: Add ocaml-mirage.
* gnu/packages/ocaml5.scm (ocaml-mirage): New variable.

Change-Id: I60ffac66d9f73550c9aa1d27212039f902ed263b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 0c5131d830 gnu: ocaml5: Add ocaml-functoria.
* gnu/packages/ocaml5.scm (ocaml-functoria): New variable.

Change-Id: I1cecb3cd5a442e250366cc6ccff7c412d40dedbd
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 9004036b3c gnu: ocaml5: Add ocaml-mirage-runtime.
* gnu/packages/ocaml5.scm (ocaml-mirage-runtime): New variable.

Change-Id: I4c4a3b5b608618e46f9edabf7cfffe97304a54d4
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 47b4519008 gnu: ocaml5: Add ocaml-functoria-runtime.
* gnu/packages/ocaml5.scm (ocaml-functoria-runtime): New variable.

Change-Id: I70fb1730d7c3ded36a14d9ceda308d241199a334
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 684a196246 gnu: ocaml5: Add %ocaml-mirage-base.
* gnu/packages/ocaml5.scm (%ocaml-mirage-base): New variable.

Change-Id: I2daeb5d84a4a64f9df6f79f651dcbdfc000c5f64
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 3fd7e3248c gnu: ocaml5: Add ocaml-emile.
* gnu/packages/ocaml5.scm (ocaml-emile): New variable.

Change-Id: I8cecea2216848ff62c6c9106c2581ddbb0614723
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 639d51557c gnu: ocaml5: Add ocaml-pecu.
* gnu/packages/ocaml5.scm (ocaml-pecu): New variable.

Change-Id: I66a4920953d9ae91a649ab751f92740dc66c9d75
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 5b28c547ed gnu: ocaml5: Add ocaml-crowbar.
* gnu/packages/ocaml5.scm (ocaml-crowbar): New variable.

Change-Id: Ic4a5b63a991b2f9cb9aa79df950a5894c9ffe487
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 63cabdf96f gnu: ocaml5: Add js-of-ocaml.
* gnu/packages/ocaml5.scm (js-of-ocaml): New variable.

Change-Id: I72995d84082ac6d1762c0e8875fc05597c99d53b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 79a7a8b053 gnu: ocaml5: Add js-of-ocaml-compiler.
* gnu/packages/ocaml5.scm (js-of-ocaml-compiler): New variable.

Change-Id: I9740f70795a8b9a8aa4135cd2ab23954a549c5a1
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy d1266b12e4 gnu: ocaml5: Add %js-of-ocaml-base.
* gnu/packages/ocaml5.scm (%js-of-ocaml-base): New variable.

Change-Id: I3ac77775d076fadd4e229ecff9e9e2bf494593e9
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 4bdf926ff5 gnu: ocaml5: Add ocaml-uucp.
* gnu/packages/ocaml5.scm (ocaml-uucp): New variable.

Change-Id: I3608da7f843f16cea70e7fdfde18bc9dc5e90caa
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy a35b441ae2 gnu: ocaml5: Add ocaml-uucd.
* gnu/packages/ocaml5.scm (ocaml-uucd): New variable.

Change-Id: I1cb49bb6e7909fe1bf84ae0b72ed86e82ff95a7d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 63837fe008 gnu: ocaml5: Add ocaml-uunf.
* gnu/packages/ocaml5.scm (ocaml-uunf): New variable.

Change-Id: Ied12026d04efe7b61bf31f427a9c6609c6a4cdd9
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 63dbba2b9e gnu: ocaml5: Add ocaml-merlin.
* gnu/packages/ocaml5.scm (ocaml-merlin): New variable.

Change-Id: I3409a8c14a657f1ce65b7ac4934613c512c1abf3
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:43 +01:00
Jason Conroy 1e8a51c1a1 gnu: ocaml5: Add ocaml-sedlex.
* gnu/packages/ocaml5.scm (ocaml-sedlex): New variable.

Change-Id: I13fd7a50881588f062757f6ccc2d0dcd63db110b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 6ff7bba2b1 gnu: ocaml5: Add ocaml-gen.
* gnu/packages/ocaml5.scm (ocaml-gen): New variable.

Change-Id: I79a85fa613e1191f0dbc70cabf95b5fa251cb88f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy f562a7d337 gnu: ocaml5: Add ocaml-mdx.
* gnu/packages/ocaml5.scm (ocaml-mdx): New variable.

Change-Id: Idac0570be5ac02c11ea4494695e769deae248d7e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 17d9131b4b gnu: ocaml5: Add ocaml-calendar.
* gnu/packages/ocaml5.scm (ocaml-calendar): New variable.

Change-Id: I2b306f36fcf58390890ca2e35b341b3f9c259933
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 3a58088f94 gnu: ocaml5: Add ocaml-uri.
* gnu/packages/ocaml5.scm (ocaml-uri): New variable.

Change-Id: I4bd5dc7a78f434f998abbc0218671763132a3629
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 0e8345bb86 gnu: ocaml5: Add ocaml-ipaddr.
* gnu/packages/ocaml5.scm (ocaml-ipaddr): New variable.

Change-Id: I4ec2fe34374f4d994cde735e7cbd0bd25d861b0a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy f94a40ec1e gnu: ocaml5: Add ocaml-macaddr.
* gnu/packages/ocaml5.scm (ocaml-macaddr): New variable.

Change-Id: I528dbba1903629020416f14e66e1e960ce987d42
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 49e1119fdc gnu: ocaml5: Add ocaml-angstrom.
* gnu/packages/ocaml5.scm (ocaml-angstrom): New variable.

Change-Id: Iad89fed65d1b5f704a3036a3bde9eed74771032f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy c3ee8a1cc8 gnu: ocaml5: Add ocaml-stringext.
* gnu/packages/ocaml5.scm (ocaml-stringext): New variable.

Change-Id: I95a8f85082d97f8fdcb13796e772dfaa92ce26fa
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy d3293941c4 gnu: ocaml5: Add ocaml-reactivedata.
* gnu/packages/ocaml5.scm (ocaml-reactivedata): New variable.

Change-Id: I97bb3fcabda57d199c75ee70f0a0f13ee2a905ce
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 3464b5b9fe gnu: ocaml5: Add ocaml-react.
* gnu/packages/ocaml5.scm (ocaml-react): New variable.

Change-Id: I0d89091aa403446a5ed22e7b4c699adf47a36248
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 603c279815 gnu: ocaml5: Add ocaml-xmlm.
* gnu/packages/ocaml5.scm (ocaml-xmlm): New variable.

Change-Id: I3a77b38a0bf3172ae110ec0036a6b5238ccde5c1
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 01399eb025 gnu: ocaml5: Add ocaml-afl-persistent.
* gnu/packages/ocaml5.scm (ocaml-afl-persistent): New variable.

Change-Id: I84563f91b1a83d25260340c57aa552a19c0e1b8e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 84aa576390 gnu: ocaml5: Add ocaml-qtest.
* gnu/packages/ocaml5.scm (ocaml-qtest): New variable.

Change-Id: I77b397aa0ab7bc022cfc6cb729a988117f46fa34
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 09a34f2cfe gnu: ocaml5: Add ocaml-qcheck.
* gnu/packages/ocaml5.scm (ocaml-qcheck): New variable.

Change-Id: Ia566eab599af83c50c91e92d22aaf1a1fcceae3c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy df7e6a1ef1 gnu: ocaml5: Add ocaml-dot-merlin-reader.
* gnu/packages/ocaml5.scm (ocaml-dot-merlin-reader): New variable.

Change-Id: Iba517a443d1119bc710dbe25473d07d6db49e6c7
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 69a16cb336 gnu: ocaml5: Add ocaml-index.
* gnu/packages/ocaml5.scm (ocaml-index): New variable.

Change-Id: I6746d1c6266b6c25ec98121b4a7ce3057272b723
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 3a45476b60 gnu: ocaml5: Add ocaml-merlin-lib.
* gnu/packages/ocaml5.scm (ocaml-merlin-lib): New variable.

Change-Id: I7bd989b31556b1ab2007446b6365398750a9887d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 7025b19f37 gnu: ocaml5: Add %ocaml-merlin-base.
* gnu/packages/ocaml5.scm (%ocaml-merlin-base): New variable.

Change-Id: Id7e8b3b8409a2d11f880dc6aaa07657a9a8f1326
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 026188f5f6 gnu: ocaml5: Add ocaml-csexp package alias.
* gnu/packages/ocaml5.scm (ocaml-csexp): New variable.

Change-Id: Id536a27afbf23474f5f0da01849a2ad76e0450e3
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy 49daceae50 gnu: ocaml5: Add ocaml-ppx-let.
* gnu/packages/ocaml5.scm (ocaml-ppx-let): New variable.

Change-Id: I444fdeb3cd75fbacdc527fe8965aea4387548e88
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:42 +01:00
Jason Conroy fff33a6f6c gnu: ocaml5: Add ocaml-domain-name.
* gnu/packages/ocaml5.scm (ocaml-domain-name): New variable.

Change-Id: I5077b7dabd6407c7388716ee2b36cb387c05885c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy a036bad27c gnu: ocaml5: Add ocaml-cstruct.
* gnu/packages/ocaml5.scm (ocaml-cstruct): New variable.

Change-Id: I9511b8d2ea641bd10a8e8bf6466df1ab4b0457dc
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy a93901c7b7 gnu: ocaml5: Add ocaml-bigstringaf.
* gnu/packages/ocaml5.scm (ocaml-bigstringaf): New variable.

Change-Id: Ia0d55c248413c940e87d91da28c231dda222e913
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy 90a4aaff5a gnu: ocaml5: Add ocaml-syntax-shims.
* gnu/packages/ocaml5.scm (ocaml-syntax-shims): New variable.

Change-Id: Ia84a0322b8270c02a3c24a03266a0ad29d8500ba
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy effe39f4f9 gnu: ocaml5: Add ocaml-pprint.
* gnu/packages/ocaml5.scm (ocaml-pprint): New variable.

Change-Id: I93e468b5e38444349d7ae758561ce63c50ea74b3
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy 6d4f6f2118 gnu: ocaml5: Add ocaml-opam-monorepo.
* gnu/packages/ocaml5.scm (ocaml-opam-monorepo): New variable.

Change-Id: I78d7ba3ae95396a192c0e3bfea5404d0b4ffc97e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy 274409f4b8 gnu: ocaml5: Add opam.
* gnu/packages/ocaml5.scm (opam): New variable.

Change-Id: I5404427fc5e64dd6dd08f28e0fe5416fbfffe126
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy 0553f676e5 gnu: ocaml5: Add dune package alias.
* gnu/packages/ocaml5.scm (dune): New variable.

Change-Id: Ica37aafeb9c1e829148265387cab111358480f6c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy b743d1ef8e gnu: ocaml5: Add ocaml-opam-client.
* gnu/packages/ocaml5.scm (ocaml-opam-client): New variable.

Change-Id: Ic7da633804d2da577d2aa73970b84a8141168a5f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy 9455eefb6a gnu: ocaml5: Add ocaml-opam-solver.
* gnu/packages/ocaml5.scm (ocaml-opam-solver): New variable.

Change-Id: If36b4d2cf159d77576add3b7d280af2a8f6fb927
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy b02ba9cc62 gnu: ocaml5: Add ocaml-opam-state.
* gnu/packages/ocaml5.scm (ocaml-opam-state): New variable.

Change-Id: I9c7cbd5b521a5015e71097eb1a6a1656caa4d7fa
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy 830f42c478 gnu: ocaml5: Add ocaml-spdx-licenses.
* gnu/packages/ocaml5.scm (ocaml-spdx-licenses): New variable.

Change-Id: Ib4befc19ab7d5b3442149969e48cd994909bb2d2
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy a8e64b4cd2 gnu: ocaml5: Add ocaml-opam-repository.
* gnu/packages/ocaml5.scm (ocaml-opam-repository): New variable.

Change-Id: I225b15cd8f0db5167a22485230696ce5e1fab9cd
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy bfca02cfdf gnu: ocaml5: Add opam-installer.
* gnu/packages/ocaml5.scm (opam-installer): New variable.

Change-Id: Ia79cc6571c6550bcb088a1e6361c69203435e722
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy 6a978f04ed gnu: ocaml5: Add ocaml-opam-format.
* gnu/packages/ocaml5.scm (ocaml-opam-format): New variable.

Change-Id: If7cbad389553e69eee8535afb7eb5d20bfa58679
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy a94cbb5c29 gnu: ocaml5: Add ocaml-opam-core.
* gnu/packages/ocaml5.scm (ocaml-opam-core): New variable.

Change-Id: Idca286362b9a98f17f58c3a51ffd991664c34391
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy 5314745d81 gnu: ocaml5: Add ocaml-swhid-core.
* gnu/packages/ocaml5.scm (ocaml-swhid-core): New variable.

Change-Id: If4c5011f1607beb0894bf99b8fa3337f64fd72de
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy dde7a24214 gnu: ocaml5: Add ocaml-patch.
* gnu/packages/ocaml5.scm (ocaml-patch): New variable.

Change-Id: Ic00ffb44c59d1bb23c96b48e3f8db2fec4eb0dc2
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy 91708e1f20 gnu: ocaml5: Add ocaml-sha.
* gnu/packages/ocaml5.scm (ocaml-sha): New variable.

Change-Id: Iee12f864a33ef086ee9739b7ac701db9a78b3a1a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy 745f701a4c gnu: ocaml5: Add ocaml-dose3.
* gnu/packages/ocaml5.scm (ocaml-dose3): New variable.

Change-Id: I64e075f1cd67bb5dc5970d95fb010a3475467f04
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy c6185aa906 gnu: ocaml5: Add ocaml-base64.
* gnu/packages/ocaml5.scm (ocaml-base64): New variable.

Change-Id: Ib4788ca932fc67cac1145cc43481f2619e614d72
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:41 +01:00
Jason Conroy 1f1cf5afc1 gnu: ocaml5: Add ocaml-opam-0install-cudf.
* gnu/packages/ocaml5.scm (ocaml-opam-0install-cudf): New variable.

Change-Id: I2899f08396f2679b607da6c94298af67df39c880
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy 4191335929 gnu: ocaml5: Add ocaml-mccs.
* gnu/packages/ocaml5.scm (ocaml-mccs): New variable.

Change-Id: I7ba8f739f3149091593bbe7ea965fc8cd57c9b92
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy 625c497f76 gnu: ocaml5: Add ocaml-cudf.
* gnu/packages/ocaml5.scm (ocaml-cudf): New variable.

Change-Id: I77d93a081698c63518404ae4a9626e15d0ca5f49
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy e3cd725af8 gnu: ocaml5: Add ocaml-0install-solver.
* gnu/packages/ocaml5.scm (ocaml-0install-solver): New variable.

Change-Id: I1b17b5ed0cffb2e192299e82a286db23c74df620
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy c10b8a5f50 gnu: ocaml5: Add ocaml-jsonm.
* gnu/packages/ocaml5.scm (ocaml-jsonm): New variable.

Change-Id: I90c20a9cdfe90b5ed4a38ce2a793e2e18e7804d4
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy 7246d9e163 gnu: ocaml5: Add ocaml-extlib.
* gnu/packages/ocaml5.scm (ocaml-extlib): New variable.

Change-Id: Icbf21215620ea343a2390c2b3d17e2dbc55492bc
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy 036a27acee gnu: ocaml5: Add ocaml-graph.
* gnu/packages/ocaml5.scm (ocaml-graph): New variable.

Change-Id: I7f4f39693c1f06c1f9080d738ae91f3adb62d34b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy be6305567b gnu: ocaml5: Add ocaml-graphics.
* gnu/packages/ocaml5.scm (ocaml-graphics): New variable.

Change-Id: I93b4204f5a4e988d2cddc21d40d087cc5d8e51a2
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy dd7216ca6e gnu: ocaml5: Add ocaml-odoc.
* gnu/packages/ocaml5.scm (ocaml-odoc): New variable.

Change-Id: Ia4b7cb31029cc83ac26816a3c199cdfdb7ad78a8
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy f77b0b7835 gnu: ocaml5: Add ocaml-odoc-parser.
* gnu/packages/ocaml5.scm (ocaml-odoc-parser): New variable.

Change-Id: I1ab60fed77fa736e34e6108cf7fe794a330be3c0
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy da97add730 gnu: ocaml5: Add %ocaml-odoc-base.
* gnu/packages/ocaml5.scm (%ocaml-odoc-base): New variable.

Change-Id: I1271de3b97e5c3d1763d746fafb795906943b413
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy 5e7ac6d167 gnu: ocaml5: Add ocaml-ppx-expect.
* gnu/packages/ocaml5.scm (ocaml-ppx-expect): New variable.

Change-Id: I1b21d0261a96cabdd57106c4dc094aaea76ed8ad
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy d838e25510 gnu: ocaml5: Add ocaml-ppx-inline-test.
* gnu/packages/ocaml5.scm (ocaml-ppx-inline-test): New variable.

Change-Id: I4e22731bbe628e315cbab748047c4d7dbf06b495
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy f8485897aa gnu: ocaml5: Add ocaml-time-now.
* gnu/packages/ocaml5.scm (ocaml-time-now): New variable.

Change-Id: I938ec70ea565510173f2778924eb136cfd59287b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy b7c1b743b7 gnu: ocaml5: Add ocaml-ppx-base.
* gnu/packages/ocaml5.scm (ocaml-ppx-base): New variable.

Change-Id: I058a83e1012d5d311860c8c8ba8351e46042b79c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy 1d60b593f1 gnu: ocaml5: Add ocaml-jst-config.
* gnu/packages/ocaml5.scm (ocaml-jst-config): New variable.

Change-Id: I3b46ac5ac1588a8f2bb822882d4e0f0fe8c83cfa
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy 155728c5f5 gnu: ocaml5: Add dune-configurator package alias.
* gnu/packages/ocaml5.scm (dune-configurator): New variable.

Change-Id: I9897d1aff8a6cfe67cbf5c93c1e7b54f43beb9f1
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy 99a2ca995d gnu: ocaml5: Add ocaml-markup.
* gnu/packages/ocaml5.scm (ocaml-markup): New variable.

Change-Id: Ia2ca067f1b4c6cb284535fc1aeff4e6cc1a85acc
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy 7a442f31c9 gnu: ocaml5: Add ocaml-ppx-assert.
* gnu/packages/ocaml5.scm (ocaml-ppx-assert): New variable.

Change-Id: Iac5f83df4b2a8150cb07093bbc6295e728d247dc
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy af9fb821b2 gnu: ocaml5: Add ocaml-ppx-hash.
* gnu/packages/ocaml5.scm (ocaml-ppx-hash): New variable.

Change-Id: Ie3f20679f07d49337c027826ed2cf851b885b614
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy 4188678725 gnu: ocaml5: Add ocaml-ppx-sexp-conv.
* gnu/packages/ocaml5.scm (ocaml-ppx-sexp-conv): New variable.

Change-Id: I1cc754532867ed733e5a195bc7fd082bec344605
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy 76bcbbc7ff gnu: ocaml5: Add ocaml-ppx-js-style.
* gnu/packages/ocaml5.scm (ocaml-ppx-js-style): New variable.

Change-Id: I4be3a76e4b7cb84e229c63f26d60a970bb236250
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:40 +01:00
Jason Conroy 49a0de6a5c gnu: ocaml5: Add ocaml-ppx-globalize.
* gnu/packages/ocaml5.scm (ocaml-ppx-globalize): New variable.

Change-Id: I435442be413eded2780f2d547048cdef415d6a56
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy b8838101d4 gnu: ocaml5: Add ocaml-ppx-enumerate.
* gnu/packages/ocaml5.scm (ocaml-ppx-enumerate): New variable.

Change-Id: I8fb4847a94b15d317f08a9d5a8c982b1a5d66cc6
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy 24ed912ecd gnu: ocaml5: Add ocaml-ppx-compare.
* gnu/packages/ocaml5.scm (ocaml-ppx-compare): New variable.

Change-Id: I7abd0fb6c52dfab0bb3b8c68d49a16115d43cfe2
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy f9387e8dcf gnu: ocaml5: Add ocaml-yojson.
* gnu/packages/ocaml5.scm (ocaml-yojson): New variable.

Change-Id: I2a86e9b856d2792f12e8208f5349b3a0070e47e3
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy 1859b34437 gnu: ocaml5: Add ocaml-tyxml.
* gnu/packages/ocaml5.scm (ocaml-tyxml): New variable.

Change-Id: I9e5dab372cc03b8c8ff9abc2ed0df9a4e3d7a488
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy 73f3f1465b gnu: ocaml5: Add ocaml-ppxlib-jane.
* gnu/packages/ocaml5.scm (ocaml-ppxlib-jane): New variable.

Change-Id: Id1056a3518a0115aabbb392a9028f50ba3f40d1e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy 23749a99df gnu: ocaml5: Add ocaml-ppx-optcomp.
* gnu/packages/ocaml5.scm (ocaml-ppx-optcomp): New variable.

Change-Id: I590342778222a372cb66c7cfbe5ca6a19b9b95ca
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy eae7dbbb79 gnu: ocaml5: Add ocaml-ppx-here.
* gnu/packages/ocaml5.scm (ocaml-ppx-here): New variable.

Change-Id: I37d20cde0f3a3a74b9340db7eaa8dae5fa6cd952
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy 041c55f4a6 gnu: ocaml5: Add ocaml-ppx-cold.
* gnu/packages/ocaml5.scm (ocaml-ppx-cold): New variable.

Change-Id: If615490179b779f8b59cd11eb347210e1a66b1cd
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy b88cc852f7 gnu: ocaml5: Add ocaml-bisect-ppx.
* gnu/packages/ocaml5.scm (ocaml-bisect-ppx): New variable.

Change-Id: I1a85bf51764bf4afef4eac9896f2bc529b2d92b2
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy f0db2c24bb gnu: ocaml5: Add ocaml-ppxlib.
* gnu/packages/ocaml5.scm (ocaml-ppxlib): New variable.

Change-Id: If58d4e7322051cfdf1202211d30e8ec9a6c06274
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy d2abfb188c gnu: ocaml5: Add ocaml-bos.
* gnu/packages/ocaml5.scm (ocaml-bos): New variable.

Change-Id: I93c84a45c98c6cb93332f01d449e776f977ec4c2
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy 48514183fa gnu: ocaml5: Add ocaml-logs.
* gnu/packages/ocaml5.scm (ocaml-logs): New variable.

Change-Id: I19cf645488c3350260b31ef50f72d6253a0cbcf0
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy d2b5d72ab3 gnu: ocaml5: Add ocaml-cinaps.
* gnu/packages/ocaml5.scm (ocaml-cinaps): New variable.

Change-Id: I44524bfa65a69b8fe35869c587515bd00e9c1b3e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy e7ef1f0b82 gnu: ocaml5: Add ocaml-crunch.
* gnu/packages/ocaml5.scm (ocaml-crunch): New variable.

Change-Id: Ia13dd80f5c1413ed8f9232f3fde0af196099dc59
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy efb01d8e60 gnu: ocaml5: Add ocaml-ptime.
* gnu/packages/ocaml5.scm (ocaml-ptime): New variable.

Change-Id: I1a4a58c92e4afde406b9726e6307d170adf6ef9f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy 14d14d8850 gnu: ocaml5: Add ocaml-fpath.
* gnu/packages/ocaml5.scm (ocaml-fpath): New variable.

Change-Id: I3b52ddb126bbb63cec3bc190c054106f0ee22eae
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy d6d05dd0a9 gnu: ocaml5: Add ocaml-sexplib.
* gnu/packages/ocaml5.scm (ocaml-sexplib): New variable.

Change-Id: Iab50d29e1e58f9264dd18a2d7b9737cf5cef8d0a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy a5c5ec2a49 gnu: ocaml5: Add ocaml-rresult.
* gnu/packages/ocaml5.scm (ocaml-rresult): New variable.

Change-Id: I3b10b5960822e89765b6caebeab158528b85700e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy 113a4dae7c gnu: ocaml5: Add ocaml-mtime.
* gnu/packages/ocaml5.scm (ocaml-mtime): New variable.

Change-Id: I45be82897750cd8d0af0ccadbf514fca30faade0
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy 70f28d49f3 gnu: ocaml5: Add ocaml-uchar.
* gnu/packages/ocaml5.scm (ocaml-uchar): New variable.

Change-Id: I14200e64f51d6586f88327d9f283afde473a5a11
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:39 +01:00
Jason Conroy 39bb021211 gnu: ocaml5: Add ocaml-stdio.
* gnu/packages/ocaml5.scm (ocaml-stdio): New variable.

Change-Id: I471e0eac29b665f3216ba0eee1075ec9e4867c0c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy f71049262f gnu: ocaml5: Add ocaml-parsexp.
* gnu/packages/ocaml5.scm (ocaml-parsexp): New variable.

Change-Id: I62ba51c98e133a93afd71e20eaf4e50217cb07fe
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 7bf1345cc5 gnu: ocaml5: Add ocaml-base.
* gnu/packages/ocaml5.scm (ocaml-base): New variable.

Change-Id: I38d744ed9a177a2649c24ad5a677c35477630745
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy eaa3d56bd8 gnu: ocaml5: Add ocaml-menhir.
* gnu/packages/ocaml5.scm (ocaml-menhir): New variable.

Change-Id: I9bfc905570731097e6815ccf380713de93025542
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 9012648077 gnu: ocaml5: Add ocaml package alias.
* gnu/packages/ocaml5.scm (ocaml): New variable.

Change-Id: I4727d8f27531aae2263dc29ce15b141e5ddd6d54
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 17d1fb79f6 gnu: ocaml5: Add ocaml-version.
* gnu/packages/ocaml5.scm (ocaml-version): New variable.

Change-Id: Ic585c971e84cc414225b78626072783070b14305
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 18a4dc281f gnu: ocaml5: Add ocaml-sexplib0.
* gnu/packages/ocaml5.scm (ocaml-sexplib0): New variable.

Change-Id: I1033df43f1532f7b6556ed246f9af11a20ac01df
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 9df58f9e22 gnu: ocaml5: Add ocaml-ppx-derivers.
* gnu/packages/ocaml5.scm (ocaml-ppx-derivers): New variable.

Change-Id: Iceef13659fe5c64a45b1a5a890a5f430d5b08d10
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 858ee49018 gnu: ocaml5: Add ocaml-octavius.
* gnu/packages/ocaml5.scm (ocaml-octavius): New variable.

Change-Id: Ifcea3b1b9413f5d81fab3f2a224d0b60c50a7130
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 0ddc94c634 gnu: ocaml5: Add ocaml-num.
* gnu/packages/ocaml5.scm (ocaml-num): New variable.

Change-Id: Id0b896232eebac8282a73dcd1ba5774e384b7072
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 5ac6c61c53 gnu: ocaml5: Add ocaml-jane-street-headers.
* gnu/packages/ocaml5.scm (ocaml-jane-street-headers): New variable.

Change-Id: I71639b86f252c31a393c731cd86389cc22d022d0
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 05c938c285 gnu: ocaml5: Add ocaml-intrinsics-kernel.
* gnu/packages/ocaml5.scm (ocaml-intrinsics-kernel): New variable.

Change-Id: I7e3dfc07c12a0a4306f21104aa04d942751ef242
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 831aec1d62 gnu: ocaml5: Add ocaml-compiler-libs.
* gnu/packages/ocaml5.scm (ocaml-compiler-libs): New variable.

Change-Id: I61f20e23e545717356cb73610092345df3c0dc33
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 7b3e202ced gnu: ocaml5: Add helper to build origins for Jane Street packages.
* gnu/packages/ocaml5.scm (janestreet-github-origin): New variable.

Change-Id: I34f0f99adde1bf6d7ecc3102d82dd60bc3c17276
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy d2166f0114 gnu: ocaml5: Add ocaml-camlp-streams.
* gnu/packages/ocaml5.scm (ocaml-camlp-streams): New variable.

Change-Id: I261bd02e1c39ebbae38ec0e042e6447363442985
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 068cedbf94 gnu: ocaml5: Add ocaml-alcotest.
* gnu/packages/ocaml5.scm (ocaml-alcotest): New variable.

Change-Id: I65956e9fe85e5f1bd99ea48a2a711bee3b26641b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy a4923fc882 gnu: ocaml5: Add ocaml-re.
* gnu/packages/ocaml5.scm (ocaml-re): New variable.

Change-Id: I625c32f2e35dda2bb7f13eb7447b79ad68d863a5
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 93f4cfae7a gnu: ocaml5: Add ocaml-ounit.
* gnu/packages/ocaml5.scm (ocaml-ounit): New variable.

Change-Id: Icc60eb1d9b9c9002ec3b459a5eb78313e2c722ec
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy ebd633d61a gnu: ocaml5: Add ocaml-ounit2.
* gnu/packages/ocaml5.scm (ocaml-ounit2): New variable.

Change-Id: I388ae135c14c573516069b78ef3361f81fa5d657
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 8ac6a808d2 gnu: ocaml5: Add ocaml-lwt.
* gnu/packages/ocaml5.scm (ocaml-lwt): New variable.

Change-Id: I5918d78b27db11e541a50ee85bad012a9f9dc3a9
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 874cf35c2e gnu: ocaml5: Add ocaml-ocplib-endian.
* gnu/packages/ocaml5.scm (ocaml-ocplib-endian): New variable.

Change-Id: Ib9472272a79b551bcb56f0acd60a50b07ebe385f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 4b74fc638c gnu: ocaml5: Add ocaml-fmt.
* gnu/packages/ocaml5.scm (ocaml-fmt): New variable.

Change-Id: I14cd4cb4143468226d4640785adcf7966b7e2f8a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:38 +01:00
Jason Conroy 83156d1841 gnu: ocaml5: Add ocaml-uutf.
* gnu/packages/ocaml5.scm (ocaml-uutf): New variable.

Change-Id: I24b1573bf8755c48c03ea1f7b68c3a4d10b1fd7a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy beb7802d26 gnu: ocaml5: Add ocaml-uuidm.
* gnu/packages/ocaml5.scm (ocaml-uuidm): New variable.

Change-Id: Ifefbbea28612fa7eae95bd9bb667897e9cfccbec
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy c200ead805 gnu: ocaml5: Add ocaml-astring.
* gnu/packages/ocaml5.scm (ocaml-astring): New variable.

Change-Id: I499b8a4e3788b8ed6ca88ff708fb06f305fa1b6d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy 558bb8a2eb gnu: ocaml5: Add ocaml-mmap.
* gnu/packages/ocaml5.scm (ocaml-mmap): New variable.

Change-Id: I4ed2d44be4ef12614242f8ad040409ea9dc1cb1a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy 2c3ecc989f gnu: ocaml5: Add ocaml-bigarray-compat.
* gnu/packages/ocaml5.scm (ocaml-bigarray-compat): New variable.

Change-Id: I258851aaec598b98fbcd06054ffcae60e0990b82
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy ccb316a7bb gnu: ocaml5: Add ocaml-cppo.
* gnu/packages/ocaml5.scm (ocaml-cppo): New variable.

Change-Id: I787495978ebdb3d4d6575df96e249647008b416a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy 3f05ded799 gnu: ocaml5: Add ocaml-cmdliner.
* gnu/packages/ocaml5.scm (ocaml-cmdliner): New variable.

Change-Id: I6f6b8004c5bd702202a66b06c6f9fd305507007f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy db8586d0f0 gnu: ocaml5: Add ocaml-stdlib-shims.
* gnu/packages/ocaml5.scm (ocaml-stdlib-shims): New variable.

Change-Id: I606f51c505a430f99475dd9612dcaccc0f508940
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy f2750fe61a gnu: ocaml5: Add ocaml-seq.
* gnu/packages/ocaml5.scm (ocaml-seq): New variable.

Change-Id: I4366224850086d6cb6ff3d0e97385014f7aa3470
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy 6b11662006 gnu: ocaml5: Add ocaml-topkg.
* gnu/packages/ocaml5.scm (ocaml-topkg): New variable.

Change-Id: I603ea803d8ff8874efe022f2c2d1921cdc47dcf1
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy 2ec94053f7 gnu: ocaml5: Add ocaml-result package alias.
* gnu/packages/ocaml5.scm (ocaml-result): New variable.

Change-Id: I1dd019074cc1b79eeed29d37737e80beb7c91a42
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy 3b97cec454 guix: ocaml-build-system: Support installer tool opaline.
* guix/build/ocaml-build-system.scm (install): Invoke `opaline` when
`opam-installer` is not in $PATH.

Change-Id: I6271b3acb028b7eb868bc690d14ef76529d1f856
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy 7d73f715a9 gnu: ocaml5: Add opaline.
* gnu/packages/ocaml5.scm (opaline): New variable.

Change-Id: I2adc3ebf68002ab89192f15798d6479ed8becef2
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy e7f92e0d8f gnu: ocaml5: Add ocaml-opam-file-format.
* gnu/packages/ocaml5.scm (ocaml-opam-file-format): New variable.

Change-Id: Ibb19698643b3ad570e00ed9e00b6fb85b61c8104
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy e5231a0b1e gnu: ocaml5: Add ocamlbuild.
* gnu/packages/ocaml5.scm (ocamlbuild): New variable.

Change-Id: I3d9a2c5c69bc39b1662b3f72de2b0d4a4eba1762
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy a8de6191f1 gnu: ocaml: Move ocaml5.0-dune-bootstrap to module ocaml5.
* gnu/packages/ocaml.scm (ocaml5.0-dune-bootstrap): Delete variable.
* gnu/packages/ocaml5.scm (ocaml5.0-dune-bootstrap): New variable.

Change-Id: Idb58f33850f960cfa1ad49a3f897ad17e0383e93
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy 5d2a37ec85 gnu: ocaml: Move ocaml5.0-findlib to module ocaml5.
* gnu/packages/ocaml.scm (ocaml5.0-findlib): Delete variable.
* gnu/packages/ocaml5.scm (ocaml5.0-findlib): New variables.
* guix/build-system/ocaml.scm (default-ocaml5.0-findlib): Update package
reference.

Change-Id: Idb58f33850f960cfa1ad49a3f897ad17e0383e93
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy 2d6ee375df gnu: ocaml: Move ocaml5.3-dune to module ocaml5.
* gnu/packages/ocaml.scm (ocaml5.3-dune): Delete variable.
* gnu/packages/ocaml5.scm (ocaml5.3-dune): New variable.
* guix/build-system/ocaml.scm (default-ocaml5.3-dune): Update package
reference.

Change-Id: I3f3e453e15638e36afbe7fd7bd920bc5fa328d06
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy 08192668d8 gnu: ocaml: Move ocaml5.3-dune-configurator to module ocaml5.
* gnu/packages/ocaml.scm (ocaml5.3-dune-configurator): Delete variable.
* gnu/packages/ocaml5.scm (ocaml5.3-dune-configurator): New variable.

Change-Id: I8d8a0e4687e6bca9b80ca964a8da115fc58f0c6e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy c9f3cf4cdc gnu: ocaml: Move ocaml5.3-csexp to module ocaml5.
* gnu/packages/ocaml.scm (ocaml5.3-csexp): Delete variable.
* gnu/packages/ocaml5.scm (ocaml5.3-csexp): New variable.

Change-Id: Iaccfcbb6a3b238d053d9c47f1be918b66ce3f73b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:37 +01:00
Jason Conroy 6c5c2c58aa gnu: ocaml: Move ocaml5.3-result to module ocaml5.
* gnu/packages/ocaml.scm (ocaml5.3-result): Delete variable.
* gnu/packages/ocaml5.scm (ocaml5.3-result): New variable.

Change-Id: If63a977367a963ca6a714a4f92a0847086aa5516
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy d6a41161a2 gnu: ocaml: Move ocaml5.3-dune-bootstrap to module ocaml5.
* gnu/packages/ocaml.scm (ocaml5.3-dune-bootstrap): Delete variable.
* gnu/packages/ocaml5.scm (ocaml5.3-dune-bootstrap): New variable.

Change-Id: I3f3e453e15638e36afbe7fd7bd920bc5fa328d06
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy 16a2b48a93 gnu: ocaml: Move ocaml5.3-findlib to module ocaml5.
* gnu/packages/ocaml.scm (ocaml5.3-findlib): Delete variable.
* gnu/packages/ocaml5.scm (ocaml5.3-findlib): New variables.
* guix/build-system/ocaml.scm (default-ocaml5.3-findlib): Update package
reference.

Change-Id: Idb58f33850f960cfa1ad49a3f897ad17e0383e93
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy 784cf826d6 gnu: ocaml: Move ocaml@5.3 to module ocaml5.
* gnu/packages/ocaml.scm (ocaml-5.3): Delete variable.
* gnu/packages/ocaml5.scm (ocaml-5.3): New variable.
* guix/build-system/ocaml.scm (default-ocaml5.3): Update package reference.

Change-Id: I8fe23536d188fdede4b93907e87341a1d0c0b2ee
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy 88f85ac189 gnu: ocaml: Move ocaml@5.0 to module ocaml5.
* gnu/packages/ocaml.scm (ocaml-5.0): Delete variable.
* gnu/packages/ocaml5.scm (ocaml-5.0): New variable.
* guix/build-system/ocaml.scm (default-ocaml5.0): Update package reference.

Change-Id: I3f3e453e15638e36afbe7fd7bd920bc5fa328d06
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy ee7562e362 gnu: ocaml: Add new ocaml5 module to the build.
* gnu/packages/ocaml5.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register new module.
* etc/teams.scm: Add "gnu/packages/ocaml5.scm".
* CODEOWNERS: Regenerate file.

Change-Id: I4632396d066c39c6c8a2d234c51b4fcf627e1e47
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy 75157a1c77 guix: ocaml-build-system: Remove obsolete lower function.
* guix/build-system/ocaml.scm:
(lower): Remove variable.

Change-Id: Idb49514bd89c1b837d751228d1385f912ad660c1
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy 57b45dbd9e guix: dune-build-system: Provide separate build system instances for OCaml 4.x and 5.x dev stacks.
* guix/build-system/dune.scm:
Update header docs.
(make-dune-build-system): New variable.
(dune-build-system): Define in terms of `make-dune-build-system`.
(ocaml5-dune-build-system): New variable.
(lower): Remove variable.

Change-Id: I2f72d93945f285436878e13b5212c90b7c2cf85f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy 17162148b3 guix: ocaml-build-system: Provide separate build system instances for OCaml 4.x and 5.x dev stacks.
* guix/build-system/ocaml.scm:
Update header docs.
(make-ocaml-build-system): New variable.
(ocaml-build-system): Define in terms of `make-ocaml-build-system`.
(ocaml5-build-system): New variable.
(default-ocaml5, default-ocaml5-findlib, default-ocaml5-dune):
Add to exports.

Change-Id: Icfede9a62c48fb4e0eee0c94608239f6a1ad896f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy 4472578cd0 guix: dune-build-system: Define lower in terms of a higher-order function.
* guix/build-system/dune.scm:
(make-lower): New variable.
(lower): Define in terms of `make-lower`.

Change-Id: I33586023237e7a7a852196c6ec7607aa5f3c00b6
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy 25128042cd guix: ocaml-build-system: Define lower in terms of a higher-order function.
* guix/build-system/ocaml.scm:
  (make-lower): New variable.
  (lower): Define in terms of `make-lower`.

Change-Id: I9ee6ee2ae9a2d02c94028161100393254c5a2316
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy 7a010c17d2 guix: ocaml: Identify OCaml and Dune build systems by name.
* guix/build-system/ocaml.scm (package-with-explicit-ocaml):
Identify OCaml and Dune build systems using `build-system-name`.

Change-Id: I406ff96ec4ccb018eabc02cdab843faa0b4a77ab
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy 6cb58e0155 guix: ocaml-build-system: Use more general names for OCaml 5.x package aliases.
guix/build-system/ocaml.scm (default-ocaml5, default-ocaml5-findlib)
(default-ocaml5-dune): New variables.

Change-Id: I5e3e5a1877ff83e0e7aa875c6bbf458b043ab66c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy de9466ae89 guix: ocaml: Collect aliases for core ocaml packages in one place.
* guix/build-system/ocaml.scm (default-dune): New variable.
* guix/build-system/dune.scm (default-dune): Remove variable.

Change-Id: I6f98fe3699bc700d2b119d19510083f214cc32ba
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy 00dd1ddacf guix: ocaml: Add package-with-ocaml5.3.
* guix/build-system/ocaml.scm (package-with-ocaml5.3)
(strip-ocaml5.3-variant): New variables.
* gnu/packages/ocaml.scm (ocaml5.3-dune-bootstrap)
(ocaml5.3-dune, ocaml5.3-dune-configurator)
(ocaml5.3-csexp, ocaml5.3-result): New variables.

Change-Id: Ic605701593b70f293ec05f7cad073203dc71aa5f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
Jason Conroy 594ff01bc3 guix: Add ocaml5.3-findlib.
* gnu/packages/ocaml.scm (ocaml5.3-findlib): New variable.

Change-Id: Ie357babc368047b6e44df059bbc01c9b6080a28d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-03-13 18:53:36 +01:00
jgart 7db0b45720 gnu: trealla: Update to 2.91.5.
* gnu/packages/prolog.scm (trealla): Update to 2.91.5.

Change-Id: Ieb40be1e5466ae2480722f75d5edba4a02847ee7
2026-03-13 13:16:36 -04:00
Sharlatan Hellseher 3ec1e8297d Revert "gnu: Remove python-virtualenv-for-hatch."
This reverts commit b264415711.

Hatch still needs a lower version:

  ...checking requirements: ERROR: hatch==1.9.7
  ContextualVersionConflict(virtualenv
  20.29.1 (/gnu/store/<...>-python-virtualenv-20.29.1/lib/python3.11/site-packages),
  Requirement.parse('virtualenv<20.26.0'), {'hatch'})

Change-Id: I8da2372dc595bb62629581193540ef8bc17295e8
2026-03-13 15:46:31 +00:00
Andreas Enge 685d46774d gnu: wxwidgets: Update to 3.2.9.
* gnu/packages/wxwidgets.scm (wxwidgets): Update to 3.2.9.

Change-Id: I71b1974ed9653de5ee0f0b0eaa1da115d300b81b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-13 15:43:38 +00:00
Andy Tai a7ca954df5 gnu: units: Update to 2.26.
* gnu/packages/maths.scm (units): Update to 2.26.

Merges: https://codeberg.org/guix/guix/pulls/6835
Change-Id: I48946549f1938e51bc390c5e36a3546a1453966a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-13 15:42:28 +00:00
Carlos Durán Domínguez c2dcea8665 gnu: Update showmethekey to 1.21.0.
* gnu/packages/video.scm (showmethekey): Update to 1.21.0.

Merges: https://codeberg.org/guix/guix/pulls/7036
Change-Id: I0ccbe85e0028862c315ebb32fb8694a07bafed2d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-13 15:41:10 +00:00
Hugo Buddelmeijer 61ba412769 gnu: grub: Fix build for the 64bit Hurd.
Patch is unnecessary after grub is upgraded to 2.14 in
https://codeberg.org/guix/guix/pulls/6457.

* gnu/packages/bootloaders.scm (grub)[arguments]: Remove patch.
* gnu/packages/patches/grub-hurd64.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Unregister it.

Fixes: guix/guix#7106
Merges: https://codeberg.org/guix/guix/pulls/7110
Change-Id: I288ae85f006e44e48e666123eb45cee9f1693026
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-13 15:27:38 +00:00
Jake Forster 07992d2593 gnu: orthanc-postgresql: Update to 10.0.
* gnu/packages/medical.scm (orthan-postgresql): Update to 10.0.

Change-Id: I60c0a418bf336f6ec6ec30ffeee5f7060b2f7676
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-13 15:22:13 +00:00
Jake Forster f799b7fc1e gnu: orthanc: Update to 1.12.10.
* gnu/packages/medical.scm (orthanc): Update to 1.12.10.
[arguments]<#:phases>{remove-localtime-requirement}: Update substitution.
[inputs]: Replace boost-1.83 with boost.

Change-Id: I08f72fe6fe3f9dde590b791d5ed03684d081fea6
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-13 15:22:13 +00:00
Sharlatan Hellseher 3d270f4df2 gnu: gvisor-tap-vsock: Update to 0.8.8.
* gnu/packages/containers.scm (gvisor-tap-vsock): Update to 0.8.8.
[native-inputs]: Remove go-github-com-pkg-errors; add
go-github-com-foxcpp-go-mockdns, go-github-com-inetaf-tcpproxy, and
go-gopkg-in-yaml-v3.

Change-Id: I4faca7792df86c2dc32feff741eb77bbce150870
2026-03-13 15:16:52 +00:00
Sharlatan Hellseher e416c65984 gnu: cni-plugins: Update to 1.9.0.
* gnu/packages/containers.scm (cni-plugins): Update to 1.9.0.
[arguments] <import-path>: Provide "..." to build all available commands
with default {build} phase.
<unpack-path>: Use it.
[phases]{build, install}: Use default phases.

Change-Id: I2cb217954b276925212fd676267bcf2ecdea6a9f
2026-03-13 15:08:44 +00:00
Foster Hangdaan 78b59a2e9d gnu: podman: Update to 5.8.1.
* gnu/packages/containers.scm (podman): Update to 5.8.1.

Merges: https://codeberg.org/guix/guix/pulls/7068
Change-Id: I5d20b0b2b92cb08c16c739e09c461a7c69a15d4f
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-13 15:08:40 +00:00
Sharlatan Hellseher b264415711 gnu: Remove python-virtualenv-for-hatch.
* gnu/packages/python-xyz.scm (python-virtualenv-for-hatch): Delete variable.

Change-Id: I7fdf1e9c6062dda2dee0d825d1e5951b84e6eede
2026-03-13 13:37:08 +00:00
Hugo Buddelmeijer 2c43dcf299 gnu: stiff: Move to (gnu packages astronomy).
* gnu/packages/image-processing.scm (stiff): Move from here...
* gnu/packages/astronomy.scm: ...to here.

Change-Id: I6122cad526dbe0ef70cb489427ba2ef7cec344bb
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-13 12:26:17 +00:00
Hugo Buddelmeijer a2cfd46081 gnu: stiff: Fix build by using CFLAGS=-fcommon.
* gnu/packages/image-processing.scm (stiff): Fix build.
[source]: Switch to git-fetch.
[arguments]<#:configure-flags>: Add CFLAGS=-fcommon.
[home-page]: Update redirect.

Merges: https://codeberg.org/guix/guix/pulls/7035
Change-Id: I344650f0b4b03a2101c790e483ff9afc54b4065c
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-13 12:25:50 +00:00
Sharlatan Hellseher 1a3f2eebcb gnu: python-simplesat: Move to maths.
* gnu/packages/python-xyz.scm (python-simplesat): Move from here ...
* gnu/packages/maths.scm: ... to here.

Change-Id: I3f2f832e3c9099705800aa88c07913a407c722b4
2026-03-13 12:23:20 +00:00
Sharlatan Hellseher 82467ac1cd gnu: python-zipfile2: Move to python-compression.
* gnu/packages/python-xyz.scm (python-zipfile2): Move from here ...
* gnu/packages/python-compression.scm: ... to here.

Change-Id: I70701db8244adc10b4c5777e55fed042bf3a06d5
2026-03-13 12:23:19 +00:00
Sharlatan Hellseher 665ad66134 gnu: packages/electronics: Sort used modules.
* gnu/packages/electronics.scm: Sort #:use-module alphabetically, remove
duplicated `(gnu packages maths)'

Change-Id: I8b68de277716c94576cf3b7f8e41a3fd8d18bfc5
2026-03-13 12:23:19 +00:00
Gabriel Wicki 7267c31058 gnu: electronics: Delete whitespace.
* gnu/packages/electronics.scm: Delete whitespace.

Change-Id: I698071a1422ea7c2c5b277965d73cf75af93d11b
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-03-13 12:55:45 +01:00
Guillaume Le Vaillant b272a19ad5 gnu: bitcoin-cash-node: Update to 29.0.0.
* gnu/packages/finance.scm (bitcoin-cash-node): Update to 29.0.0.

Change-Id: I392cdcd1264ce6bacc37a28e36ed81607a2560fc
2026-03-13 11:51:38 +01:00
Guillaume Le Vaillant 1d831f0d44 gnu: monero-gui: Update to 0.18.4.7.
* gnu/packages/finance.scm (monero-gui): Update to 0.18.4.7.

Change-Id: I708c062fce11f07629b847613582c6fa778c0d2a
2026-03-13 11:51:38 +01:00
Guillaume Le Vaillant a13f9f1514 gnu: p2pool: Update to 4.14.
* gnu/packages/finance.scm (p2pool): Update to 4.14.

Change-Id: I4525e802f68a1c7a64dc85b25ae673209754cfd9
2026-03-13 11:51:38 +01:00
Nguyễn Gia Phong c46d6a70b6 gnu: Remove arcan-wayland.
This package was deprecated in 2023.

References: e68581080e ("gnu: arcan-wayland: Deprecate in favor of arcan.")

* gnu/packages/arcan.scm (arcan-wayland): Delete variable.

Merges guix/guix!7095

Change-Id: I88bd4ea56ccc0291747e04e030ea714804bd1fee
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-13 11:45:08 +01:00
Nguyễn Gia Phong cab232d5ac gnu: xarcan: Update to 0.7.1.
* gnu/packages/arcan.scm (xarcan): Update to 0.7.1.
[sources]: Update url.
[inputs]: Add xcb-util-image.
[description]: Fix mas column.

Fixes guix/guix#7054
Merges guix/guix!7095

Change-Id: I80d82b7550454493245c5a6e7a52e4389a223b21
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
2026-03-13 11:45:08 +01:00
Nguyễn Gia Phong 08b8cb91fd gnu: durden: Update to 0.6.3.
* gnu/packages/arcan.scm (durden): Update to 0.6.3.
[sources]: Update url.

Fixes guix/guix#7054
Merges guix/guix!7095

Change-Id: I9ac1edc352b24a4cfdc441064681d58bf70bfa66
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-13 11:44:46 +01:00
Sergio Pastor Pérez 8143b0a37f gnu: imhex: Update to 1.38.1.
* gnu/packages/hexedit.scm (imhex): Update to 1.38.1.
[source]: Adjust snippet to not delete a submodule.
[arguments] <#:phases>: Adjust `fix-paths' phase.
[inputs]: Add libssh2, openssl and update glfw to version 3.4.

Merges guix/guix!7097

Change-Id: I21f71b3c56c4781b8121a51922824bf5534c2e46
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-13 11:38:23 +01:00
Wilko Meyer 14c46566c3 gnu: ddcui: Update to 0.6.0.
* gnu/packages/hardware.scm (ddcui): Update to 0.6.0.

Change-Id: I9bd33e4cc15c61660a3d8909ba6c7e3ef0f2a83e
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2026-03-13 11:27:59 +01:00
Wilko Meyer 06fccbd078 gnu: ddcutil: Update to 2.2.5.
* gnu/packages/hardware.scm (ddcutil): Update to 2.2.5.

Change-Id: I88cf29d689257235bf757253fb2a903b4901e548
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2026-03-13 11:27:57 +01:00
Danny Milosavljevic d6567a6a17 gnu: emacs-org-contacts: Remove unused propagation.
Follow-up to fe1875c827

* gnu/packages/emacs-xyz.scm (emacs-org-contacts)[propagated-inputs]: Remove
emacs-org.

Change-Id: Ia20d7a57ac3931f58b9891c5996306f8b3fa61cb
2026-03-13 11:10:31 +01:00
Danny Milosavljevic 2a0428e3fc gnu: rust-codex@0.98.0: Add modules.
Follow-up to 279410efb8.

* gnu/packages/rust-sources.scm (rust-codex-0.98.0)[source]<#:modules>: Add.

Change-Id: Iaf5f8785d960023feb05886011620dba602c6ca9
2026-03-13 11:09:25 +01:00
Cayetano Santos 1220325857 gnu: python-burr: Update to 0.42.0.
* gnu/packages/machine-learning.scm (python-burr): Update to 0.42.0.

Change-Id: I63c16dcb5b42cdc898b411a71606acd9becd109a
2026-03-13 11:01:09 +01:00
Sergey Trofimov fe1875c827 gnu: emacs-org-contacts: Update to 1.3.
* gnu/packages/emacs-xyz.scm (emacs-org-contacts): Update to 1.3.

Change-Id: I8229ad73b498b5f50c696cd8728d1805786c8a48
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2026-03-13 10:55:23 +01:00
Danny Milosavljevic 279410efb8 gnu: Add codex.
* gnu/packages/patches/codex-0.98.0-remove-patch-sections.patch: New file.
* gnu/packages/patches/rust-codex-0.98.0-test-shebangs.patch: New file.
* gnu/packages/patches/rust-codex-0.98.0-test-timeout.patch: New file.
* gnu/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add references to the patches.
* gnu/packages/rust-apps.scm (codex): New variable.
* gnu/packages/rust-crates.scm: Add crates.
* gnu/packages/rust-sources.scm (rust-codex-0.98.0): New variable.

Change-Id: Ic4af28034cbae83a7e212ee328cbdc25bce31ef0
2026-03-13 10:47:43 +01:00
Cayetano Santos 7986689cb6 gnu: ctranslate2: Update to 4.7.1.
* gnu/packages/machine-learning.scm (ctranslate2): Update to 4.7.1.

Change-Id: I8ddf3d1c860e2a56e0d4177fda951e7b19bbaab2
2026-03-13 10:44:47 +01:00
Andreas Enge d86bff271a gnu: openfoam-org: Fix build.
* gnu/packages/simulation.scm (openfoam-org)[inputs]: Replace vtk by
vtk-9.5, which fixes the build; and fmt-11 by fmt, which are the same.

Merges guix/guix!7052
Fixes: guix/guix#3783

Change-Id: Ifac2256ce0f3541fb79a4d89c9affeee22d73fe1
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-13 10:05:40 +01:00
Andy Tai 007741a6f7 gnu: koboldcpp: Remove openblas from inputs.
* gnu/packages/machine-learning.scm (koboldcpp) [inputs]: Delete
openblas.

Merges guix/guix!7072

Change-Id: Id5f7ef7485f9e7458e6869f1ff78b12603294e07
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
2026-03-13 08:56:18 +01:00
Maxim Cournoyer 6048910a4b gnu: grub-ieee1275: Limit supported systems to those where tests pass.
* gnu/packages/bootloaders.scm (grub-ieee1275)
[supported-systems]: Remove i686-linux, x86_64-linux, i586-gnu and x86_64-gnu.

Change-Id: Ibdc404da1865b2b063419190fdb5ce5d74792ee2
2026-03-13 14:58:44 +09:00
Danny Milosavljevic 9d131cf9ce gnu: grub-efi32: Fix cross-compilation.
* gnu/packages/bootloaders.scm (grub-efi32)[arguments]<#:phases>
{patch-ovmf-path}: Modify.

Change-Id: I43c4854c08f9e932c91b8f895878a1c1a95146cd
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2026-03-13 14:58:19 +09:00
Danny Milosavljevic 9a47c5f06a gnu: grub: Update to 2.14.
* gnu/packages/bootloaders.scm (make-grub): Update to 2.14.
[arguments]
<#:configure-flags>: Add -Wno-error to CFLAGS when building with clang.
<#:make-flags>: Add TARGET_IMG_BASE_LDOPT.
<#:phases>{patch-ovmf-path}: Fix OVMF paths.
[inputs]: Add libtasn1.
(grub-efi32)[arguments]<#:phases>
{patch-ovmf-path}: Adjust.
(grub-coreboot)[arguments]<#:phases>
{disable-broken-tests}: Add asn1_test.

Change-Id: I902c27ea2dd1be23560c64cd978226d94dfe72ff
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
2026-03-13 14:58:19 +09:00
Maxim Cournoyer 61e11fdd91 gnu: make-grub: Streamline.
This hasn't been needed since ce362bc1f3.

* gnu/packages/bootloaders.scm (make-grub)
[native-inputs]: Do not provide a variant binutils for 32-bit systems.

Change-Id: I4a3f086ccf7e7e746c7a4d8290943b735f82779a
2026-03-13 14:58:19 +09:00
Maxim Cournoyer 66bdf01a27 gnu: qemu: Update to 10.2.1.
* gnu/packages/virtualization.scm (qemu): Update to 10.2.1.

Change-Id: I6d8f336dc4ca8c9fe43f9f804e91eba2809bb17c
2026-03-13 14:58:19 +09:00
Maxim Cournoyer 5c9626bb36 gnu: qemu-minimal: Fix build for systems lacking ipxe-qemu support.
* gnu/packages/virtualization.scm (qemu-minimal)
[#:phases] {dont-require-ipxe-firmware}: Adjust phase.

Change-Id: Id1aacebaea1f18cfa9106fe46e2f26719b48d68d
2026-03-13 14:58:19 +09:00
Noé Lopez 4966ea6de3 Add news entries for GNOME 48.
* etc/news.scm: Add news entry for GNOME update.
* NEWS: Mention GNOME update.

Merges: https://codeberg.org/guix/guix/pulls/7067
Change-Id: I6081f3aa703ba500ebf89c77be7807cd815913d8
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2026-03-13 03:48:46 +01:00
Noé Lopez b52ce9041a GNOME 48 marker.
This is just a marker commit that the news entry can refer to.

Change-Id: I76cd2ff079f844cd4bd583fd4d8f8221a6a21219
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2026-03-13 03:39:23 +01:00
Sharlatan Hellseher 6ea5df94cf gnu: Add clasp-pathname-utils.
* gnu/packages/lisp-xyz.scm (clasp-pathname-utils): New variable.

Change-Id: I8c5a8bccf3348838128e1fc039995a8de1f5bd5b
2026-03-12 23:27:27 +00:00
Sharlatan Hellseher c8f6f78e56 gnu: cl-radiance: Update to 2.1.2-4.8249b00.
* gnu/packages/lisp-xyz.scm (sbcl-radiance): Update to
8249b00388ffe1c7e516a148c8ea8e7d9bc4243c commit.
[source, home-page]: Project has been mibrated to CodeBerg.
[phases]{disable-quicklisp}: Remove phase.

Change-Id: Ifd7790664c214dc181152c5648d79c0fdc3605d3
2026-03-12 23:27:27 +00:00
Sharlatan Hellseher 9ee78c6796 gnu: cl-deploy: Update to 3.0.0-4.c9b869d.
* gnu/packages/lisp-xyz.scm (sbcl-deploy): Update to
c9b869d943d39fcddd8c4aa380995645bd2e3c0b commit.

Change-Id: Ib5ddd82be3d5b47bf9960017d0e70e2d74a16b67
2026-03-12 23:27:27 +00:00
Sharlatan Hellseher b2ce49a331 gnu: cl-pathname-utils: Update to 1.1.0-5.c0aa51a.
* gnu/packages/lisp-xyz.scm (sbcl-pathname-utils): Update to
c0aa51ab78cb21581700d44deeed88a4743b6f13 commit.
[source, home-page]: Project has been mibrated to CodeBerg.

Change-Id: I186e6121ddae6bffeb108099609c516b6557fac3
2026-03-12 23:27:27 +00:00
Vagrant Cascadian 85c935291a gnu: linux-libre: Enable DMABUF kernel options.
* gnu/packages/linux.scm (default-extra-linux-options): Enable UDMABUF,
DMABUF_HEADS, DMABUF_HEAPS_SYSTEM and DMABUF_HEAPS_CMA.
2026-03-12 16:18:33 -07:00
Vagrant Cascadian 96f3b0e584 gnu: linux-libre-arm64-mnt-reform 6.19: New package.
* gnu/packages/linux.scm (linux-libre-arm64-mnt-reform-6.19): New variable.
2026-03-12 16:18:31 -07:00
Vagrant Cascadian 392e16605b gnu: Add reform-debian-packages-for-6.19.
* gnu/packages/linux.scm (reform-debian-packages-for-6.19): New variable.
2026-03-12 16:18:28 -07:00
Wilko Meyer e5c98645a0 gnu: linux-libre-arm64-mnt-reform 6.12: Enable more FBCON options.
* gnu/packages/linux.scm (linux-libre-arm64-mnt-reform-6.12): Add kernel
configuration for FBCON rotation, CONFIG_FONTS, CONFIG_HIDRAW, and enable
fonts.

Change-Id: I55ad4fab0427c499097e98e17de04f1c2e6fe8b4
2026-03-12 16:18:26 -07:00
Wilko Meyer 4d2c9843f3 gnu: linux-libre-arm64-mnt-reform 6.18: Enable more FBCON options.
* gnu/packages/linux.scm (linux-libre-arm64-mnt-reform-6.18): Add kernel
configuration for FBCON rotation, CONFIG_FONTS, CONFIG_HIDRAW, and enable
fonts.

Change-Id: I62c7bd03e30d8cf8eb931e2999befb5acf8d1af2
2026-03-12 16:18:23 -07:00
Vagrant Cascadian ae547c7606 gnu: linux-libre: Enable DMABUF kernel options.
* gnu/packages/linux.scm (default-extra-linux-options): Enable UDMABUF,
DMABUF_HEADS, DMABUF_HEAPS_SYSTEM and DMABUF_HEAPS_CMA as modules. Enable
DMABUF_MOVE_NOTIFY and DMABUF_HEAPS_CMA_LEGACY.
2026-03-12 16:18:20 -07:00
Wilko Meyer df3dbf05e7 gnu: linux-libre 5.10: Update to 5.10.252.
* gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.252.
(linux-libre-5.10-pristine-source): Update hash.

Change-Id: I564813b80fca705cda0d27972d556261d12bb0a0
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-03-12 16:18:18 -07:00
Wilko Meyer 8d7155fcad gnu: linux-libre 5.15: Update to 5.15.202.
* gnu/packages/linux.scm (linux-libre-5.15-version): Update to 5.15.202.
(linux-libre-5.15-pristine-source): Update hash.

Change-Id: Ibbea707bace52b584d8d73283af9c1b1845a7700
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-03-12 16:18:15 -07:00
Wilko Meyer 23d9ea0275 gnu: linux-libre 6.1: Update to 6.1.166.
* gnu/packages/linux.scm (linux-libre-6.1-version): Update to 6.1.166.
(linux-libre-6.1-pristine-source): Update hash.

Change-Id: I86cc731cffa03915073446ce1f5a4ff6c6b4477b
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-03-12 16:18:12 -07:00
Wilko Meyer 5a9550f05f gnu: linux-libre 6.6: Update to 6.6.129.
* gnu/packages/linux.scm (linux-libre-6.6-version): Update to 6.6.129.
(linux-libre-6.6-pristine-source): Update hash.

Change-Id: Ief5f6695798d29b939a077bfaeced08a4d81db65
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-03-12 16:18:10 -07:00
Wilko Meyer 581031ba42 gnu: linux-libre 6.12: Update to 6.12.76.
* gnu/packages/linux.scm (linux-libre-6.12-version): Update to 6.12.76.
(linux-libre-6.12-pristine-source): Update hash.
(deblob-scripts-6.12): Update deblob-check hash.

Change-Id: I7fc23f29ef9ce4cacd55c9aa94fd8837845bb2a3
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-03-12 16:18:07 -07:00
Wilko Meyer e81a4e7004 gnu: linux-libre 6.18: Update to 6.18.16.
* gnu/packages/linux.scm (linux-libre-6.18-version): Update to 6.18.16.
(linux-libre-6.18-pristine-source): Update hash.
(deblob-scripts-6.18): Update deblob-check hash.

Change-Id: I558ecc464b75507d02ce8c213caeaf65357f9836
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-03-12 16:18:05 -07:00
Wilko Meyer 08c22e8ae0 gnu: linux-libre 6.19: Update to 6.19.6.
* gnu/packages/linux.scm (linux-libre-6.19-version): Update to 6.19.6.
(linux-libre-6.19-pristine-source): Update hashes.
(deblob-scripts-6.19): Update deblob-check hash.

Change-Id: Ica2630c4a5faa07e6b87f0763a3291f0728a6cf7
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-03-12 16:18:01 -07:00
Foster Hangdaan 04637755e9 gnu: qtile: Downgrade to 0.33.0.
* gnu/packages/wm.scm (qtile): Downgrade to 0.33.0 which supports Python
3.11, the current Python version.

Merges: https://codeberg.org/guix/guix/pulls/6624
Change-Id: I7f9157e604512b3d03a54d60febded75c5c41c57
Reviewed-by: Hugo Buddelmeijer <hugo@buddelmeijer.nl>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-12 19:18:16 +00:00
Nicolas Graves 16a8b177f1 gnu: python-fastbencode: Update to 0.3.9.
* gnu/packages/python-xyz.scm (python-fastbencode): Update to 0.3.9.
[source]: Switch to git-fetch.
[arguments]<#:test-flags>: Refresh them.
<#:imported-modules, #:modules>: Use necessary modules.
<#:phases>: Add phase 'prepare-cargo-build-system.
[inputs]: Add maturin and bencode cargo-inputs.
[native-inputs]: Replace python-setuptools by python-setuptools-rust.
Add rust, rust:cargo, make-rust-sysroot.

* gnu/packages/rust-crates.scm: Record required crates.

Merges: https://codeberg.org/guix/guix/pulls/7057
Change-Id: Iedd3b3f90a4845b03ba18ffaad007ec3be16048b
Reviewed-by: Hugo Buddelmeijer <hugo@buddelmeijer.nl>
Reviewed-by: Efraim Flashner <efraim@flashner.co.il>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-12 19:18:15 +00:00
Evgeny Pisemsky f3e14dfa74 gnu: python-mkdocs-material: Switch to git-fetch.
* gnu/packages/python-xyz.scm (python-mkdocs-material)
[source]: Switch to git-fetch.

Change-Id: I54f0236e716f6f4c56fc11c639f64b26c87fc5f7
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-12 19:18:15 +00:00
Evgeny Pisemsky 8a0495b6da gnu: python-mkdocs-material: Update to 7.3.6.
* gnu/packages/python-xyz.scm (python-mkdocs-material): Update to 7.3.6.
[arguments]: Fix path to lunr in phases.

Merges: https://codeberg.org/guix/guix/pulls/6964
Change-Id: Ifcf7599f364d3dc0debe79001ee134d47c4d2e45
Reviewed-by: Hugo Buddelmeijer <hugo@buddelmeijer.nl>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-12 19:18:15 +00:00
bdunahu 510baaaad8 gnu: Add python-meshtastic.
* gnu/packages/radio.scm (python-meshtastic): New variable.

Change-Id: I2c6ee6d02cfea3c0e300ef3ab29a246d68f6897b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-03-12 19:18:15 +00:00
Cayetano Santos c1868b0dff gnu: python-yamlcore-0.0.2: Rename to python-yamlcore.
* gnu/packages/python-xyz.scm (python-yamlcore-0.0.2): Deprecate and
move from here…
(python-yamlcore): …to here.  Update to 0.0.4.
[source]: Switch to git-fetch.
* gnu/packages/electronics.scm (librelane)[inputs]: Remove
python-yamlcore-0.0.2; add python-yamlcore.

Change-Id: I207c00a654c8d4964abc8d8441627a56a854eede
2026-03-12 20:12:36 +01:00
Cayetano Santos ba55fa7ce6 gnu: librelane: Update to 3.0.0rc1.
* gnu/packages/electronics.scm (librelane): Update to 3.0.0rc1.

Change-Id: I152d9bfdc12b602c40e5603ff4663315aec9b633
2026-03-12 19:33:58 +01:00
Ricardo Wurmus 8c0aea2fbe gnu: python-decoupler: Update to 2.1.4.
* gnu/packages/bioinformatics.scm (python-decoupler): Update to 2.1.4.

Change-Id: I1fdc99e586340ae42530cc209d2e4fe9e22b2292
2026-03-12 14:51:12 +01:00
Ricardo Wurmus 158098977f gnu: python-cell2cell: Update to 0.8.4.
* gnu/packages/bioinformatics.scm (python-cell2cell): Update to 0.8.4.

Change-Id: I0210208e0d61f46a707e352d45c9246c473200d0
2026-03-12 14:51:11 +01:00
Ricardo Wurmus 38917f00de gnu: python-gseapy: Update to 1.1.12.
* gnu/packages/bioinformatics.scm (python-gseapy): Update to 1.1.12.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
python-gseapy.

Change-Id: Ia912e4cb5aac93cb2aa523baccd9cc5bfbff6a6a
2026-03-12 14:51:11 +01:00
Cayetano Santos eaed801e32 gnu: nextpnr: Update to 0.10.
* gnu/packages/patches/nextpnr-imgui.patch: Remove patch.
* gnu/local.mk (dist_patch_DATA): Unregister it.
* gnu/packages/electronics.scm (nextpnr): Update to 0.10.
[sources]<#:snippet>: Keep ’imgui and ’qtimgui.
<#:patches>: Delete.
[inputs]: Replace pybind11-2 by pybind11; delete qtimgui.
[arguments]: Add ’fix-test #:phase.
* gnu/packages/electronics.scm (nextpnr-cli)[inputs]: Restore.

Merges guix/guix!6057

Change-Id: I2beb8629967b20309051a7ab8c67528742d080cc
2026-03-12 14:13:54 +01:00
Cayetano Santos 8be660ea5e gnu: apycula: Update to 0.31.
* gnu/packages/electronics.scm (apycula): Update to 0.31.
[inputs]: Remove python-crc.
[propagated-inputs]: Add python-cattrs, python-crcmod, python-numpy,
python-msgpack, and python-msgspec.
[native-inputs]: Add python-setuptools-scm.

Merges guix/guix!6057

Change-Id: Ie5c8950a2632a168ed4686f744c06704495f5ddf
2026-03-12 14:11:30 +01:00
Cayetano Santos 7ca9795c58 gnu: prjpeppercorn: Update to 1.12.
* gnu/packages/electronics.scm (prjpeppercorn): Update to 1.12.
[inputs]: Remove boost-1.88; add boost.

Merges guix/guix!6057

Change-Id: I337b0861c2628267db77db7ad2f8533973a3e5ca
2026-03-12 14:11:23 +01:00
Cayetano Santos 41bcf04f85 gnu: prjtrellis: Update dependencies.
* gnu/packages/electronics.scm (prjtrellis)[inputs]: Replace boost-1.88
by boost; replace pybind11-2 by pybind11.

Merges guix/guix!6057

Change-Id: I345cd8d5e652f014c9becffa0d4cec0365a9d4ba
2026-03-12 14:11:16 +01:00
crai0 46b660ac0b gnu: Add cocogitto.
* gnu/packages/rust-apps.scm (cocogitto): New variable.
* gnu/packages/rust-crates.scm: Add crates for cocogitto.

Change-Id: I022acd6727e22adeff0df011e7d56c4653217b4f
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-03-12 14:59:05 +02:00
Spencer King 51ca2c0da1 gnu: Add deacon.
* gnu/packages/bioinformatics.scm (deacon): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Add entry for
deacon.

Change-Id: I148a0bdc56abf5dbe68a8cdf81f6fe2944645f4d
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-03-12 14:10:13 +02:00
Sharlatan Hellseher 391200d054 gnu: go-1.25: Update to 1.25.8 [security-fixes].
go1.25.8 (released 2026-03-05) includes security fixes to the
html/template, net/url, and os packages, as well as bug fixes to the go
command, the compiler, and the os package.

See: <https://github.com/golang/go/compare/go1.25.7...go1.25.8>,
<https://www.openwall.com/lists/oss-security/2026/03/06/1>

Containes fixes for:
CVE-2026-27142: URLs in meta content attribute actions are not escaped
                in html/template.
CVE-2026-25679: Incorrect parsing of IPv6 host literals in net/url.
CVE-2026-27139: FileInfo can escape from a Root in os.

* gnu/packages/golang.scm (go-1.25): Update to 1.25.8.

Change-Id: I01a80a78f20075fe6c05c46f97dfe35f770a99a0
2026-03-12 11:18:05 +00:00
Sharlatan Hellseher ac0efb2c97 gnu: go-1.26: Update to 1.26.1 [security-fixes].
go1.26.1 (released 2026-03-05) includes security fixes to the
crypto/x509, html/template, net/url, and os packages, as well as bug
fixes to the go command, the go fix command, the compiler, and the os
and reflect packages.

See: <https://github.com/golang/go/compare/go1.26.0...go1.26.1>,
<https://www.openwall.com/lists/oss-security/2026/03/06/1>

Containes fixes for:
CVE-2026-27137: Incorrect enforcement of email constraints in
                crypto/x509.
CVE-2026-27138: Panic in name constraint checking for malformed
                certificates in crypto/x509.
CVE-2026-27142: URLs in meta content attribute actions are not escaped
                in html/template.
CVE-2026-25679: Incorrect parsing of IPv6 host literals in net/url.
CVE-2026-27139: FileInfo can escape from a Root in os.

* gnu/packages/golang.scm (go-1.26): Update to 1.26.1.

Change-Id: I1c014a334407d9ca927d9e403c8c7e92cad8fe1d
2026-03-12 11:17:56 +00:00
Efraim Flashner 952a8d75d8 gnu: git-cliff: Install manpage and shell completions.
* gnu/packages/version-control.scm (git-cliff)[arguments]: Add a phase
to generate and install the manpage and the shell completions.

Change-Id: Ib548fed6cd03f21c0dade2d773fcf8146638dc5b
2026-03-12 12:56:53 +02:00
Aaron Covrig 17f966389b gnu: Add git-cliff.
* gnu/packages/version-control.scm (git-cliff): New variable.
* gnu/packages/rust-crates.scm: Add dependencies for git-cliff.

Change-Id: I9369a4e2a94b46a0d8085f502159f5a87e671002
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-03-12 12:42:45 +02:00
Steve George a1125cec7b gnu: jujutsu: Update to 0.39.0.
* gnu/packages/rust-apps.scm (jujutsu): Update to 0.39.0.
  [arguments]<cargo-test-flags>: skip test_push_updates_with_options.

Change-Id: I8d9dfa16856a67263167a3ef63def9e722f9176c
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-03-12 12:08:28 +02:00
Efraim Flashner 362fe5e09c gnu: rust-hashify-0.2.7.b787649: Make regular cargo source.
* gnu/packages/rust-crates.scm (rust-hashify-0.2.7.b787649): Rename to
rust-hashify-0.2.7.b787649-for-pimsync, use git-fetch.
(lookup-cargo-inputs): Adjust accordingly.
* gnu/packages/rust-sources.scm (rust-hashify-0.2.7.b787649): Remove
variable.

Change-Id: Ia2c68a8df078a35abf6b60ebdc526a2a006b0999
2026-03-12 12:04:00 +02:00
Cayetano Santos cbfed3a6a5 gnu: openfpgaloader: Update to 1.1.1.
* gnu/packages/flashing-tools.scm (openfpgaloader): Update to 1.1.1.
[arguments]: Update ’install-rules #:phase.

Change-Id: Ia291e91534141f7c4eed6234d46a906debcaf7b9
2026-03-12 10:11:41 +01:00
Efraim Flashner 1eed2746e4 gnu: dmd-bootstrap: Use gdb/pinned.
* gnu/packages/dlang.scm (dmd-bootstrap)[native-inputs]: Replace gdb
with gdb/pinned.

Change-Id: I64c1ea0fbe6cfd994cfa504c256c7ece8d756eb1
2026-03-12 10:38:19 +02:00
Liliana Marie Prikler 0adf301971 gnu: lager: Update to 0.1.3.
* gnu/packages/cpp.scm (lager): Update to 0.1.3.
2026-03-12 08:57:23 +01:00
Liliana Marie Prikler dfb1b7d18d gnu: zug: Update to 0.1.2.
* gnu/packages/cpp.scm (zug): Update to 0.1.2.
2026-03-12 08:57:23 +01:00
Liliana Marie Prikler dc597e30fe gnu: immer: Update to 0.9.1.
* gnu/packages/cpp.scm (immer): Update to 0.9.1.
[#:configure-flags]: Drop “-DDISABLE_WERROR=ON”.
2026-03-12 08:57:23 +01:00
Sergey Trofimov df01541cde gnu: emacs-telega: Update to 0.8.601.
* gnu/packages/emacs-xyz.scm (emacs-telega): Update to 0.8.601.
[propagated-inputs]: Remove emacs-company which is optional.
[native-inputs]: Delete empty list.

Change-Id: I77245943014043b4278e094192ca02b11f8b3e6c
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:23 +01:00
Noé Lopez 171b21a8f7 gnu: Remove guile-gnome.
* gnu/packages/gtk.scm (guile-gnome): Remove.

Closes <https://issues.guix.gnu.org/34499>.
Closes guix/guix#6300.

Change-Id: I16314205d939ced3803c390cf3853db26b2f6051
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:23 +01:00
Jonas Meeuws 54d5bf9a38 gnu: d-demangler: Update synopsis and description.
gnu/packages/dlang.scm (d-demangler) [synopsis, description]: Remove mention
of a non-existent command.  Refer to the package as a library.  Note that this
only wraps D's ‘std.demangle’.

Change-Id: I8fe98d4bb031f8f50468a4c1a5b907d3ff24de0c
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:23 +01:00
Jonas Meeuws b923081da0 gnu: d-demangler: Reformat.
* gnu/packages/dlang.scm (d-demangler): Reformat.

Change-Id: I910f786afbc1fe4819ca9b1081a89553213bde2f
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:23 +01:00
Jonas Meeuws f1d06ca5f7 gnu: dmd: Reformat.
* gnu/packages/dlang.scm (dmd-bootstrap, dmd): Reformat.

Change-Id: I93ac5dff7a57138343e46b57f8d18121fec4cc20
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:23 +01:00
Jonas Meeuws fc67e0bb2f gnu: dmd: Reinstate tests.
* gnu/packages/dlang.scm (dmd-bootstrap)
[#:phases]: Add ‘patch-tests’.
[native-inputs]: Add gdb.

* gnu/packages/dlang.scm (dmd)
[arguments]: Strip ‘#:tests?’.

Change-Id: I2208f9a74749c366fc32f7c885d1773955d041a8
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:23 +01:00
Jonas Meeuws 6000c99766 gnu: dmd: Update to 2.111.0.
* gnu/packages/dlang.scm (dmd-bootstrap): Update to 2.111.0.
[#:make-flags]: Remove deprecated “-f posix.mak”.
[#:phases]<patch-git-ls-tree>: Apply ‘substitute*’ to “Makefile” instead of
the deprecated “posix.mak”.
[supported-systems]: Add aarch64-linux (experimental).

Change-Id: Ia9be09edfe7790e8e0989b2ce473dd65e66f4cb7
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:23 +01:00
Jonas Meeuws 0cb07b2acd gnu: dmd: Improve packaging.
* gnu/packages/dlang.scm (dmd-bootstrap)
[#:make-flags]: Remove unneeded “DFLAGS=-L--allow-multiple-definition”.
[#:modules]: Move here from dmd.  Add (srfi srfi-26).
[#:phases]: Add ‘patch-git-ls-tree’, ‘patch-paths-in-phobos‘.
Remove ‘copy-phobos-source-and-chdir’ in favor of custom ‘unpack’.
Remove ‘adjust-phobos-install-dirs’, ‘install-druntime’, ‘install-includes’,
‘install-dmd’, ‘refine-install-layout’, ‘patch-dmd.conf’ in favor of custom
‘install’.
<unpack>: Replace with a copy of the gnu phase, but unpack the 2 sources to
“source/dmd” and “source/phobos”.
<build>: Replace.  Run gnu ‘build’ in dmd subdir.
<build-phobos>: New phase.  Run gnu ‘build’ in phobos subdir.
<check>: Replace.  Run gnu ‘check’ in dmd subdir.
<check-phobos>: New phase.  Run gnu ‘check’ in phobos subdir.
<install>: Replace with custom install script, that gets everything right the
first time.  Shared libraries get installed to “lib/lib“, static libraries to
“out/lib”.  Include files are installed to “out/include/d/dmd” to avoid
conflicts with other compilers.
<install-license-files>: Replace.  Run gnu ‘install-license-files’ in the dmd
subdir.
[inputs]: Add bash-minimal (for std.process).

* gnu/packages/dlang.scm (dmd)
[#:modules]: Move to dmd-bootstrap.
[#:make-flags]: Don't delete “DFLAGS=-L--allow-multiple-definition” as it no
longer exists.
[#:phases]<rewrite-references-to-bootstrap>: Rebase the ‘add-after’ on the
‘install’ phase.  Simplify discovery of the executable.
[native-inputs]: Substitute replacing gdmd with dmd-bootstrap for remove and
append.
[outputs]: Add “lib” (for “.so” files) and “debug”.

Change-Id: If0d5e1a2e4a45a26252b886aaa0ac91d9814e4fe
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws 0a716ce224 gnu: dmd: Disable no-op tests.
* gnu/packages/dlang.scm (dmd)[arguments]: Don't reinstate tests.  Add a
comment explaining the reasoning.

Change-Id: I8ad8d6cd63b7f5b148ae448d6b4521398837208c
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws 1183614bbe gnu: Reorganize dlang.scm.
* gnu/packages/dlang.scm: Add additional section comments.
[d-tools]: Move down.

Change-Id: Ic0ac1ded1e7171d78a75d18bb2ff85e9ee50b303
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws b7d24094ac gnu: gdmd: Update to 0.26.0.
Change-Id: I3435e05606629e908a0ceba9c11a1438e4a2e9b9
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws 9ae76a34d7 gnu: gdmd: Alias to gdmd-14.
* gnu/packages/gcc.scm (gdmd): Redefine as an alias to gdmd-14.  Avoids
ambiguous package specification warnings and executing make-gdmd twice.

Change-Id: I45455d4b3f547d8d77bc46a553102eebf727b45e
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws 734f27f40b gnu: Add gdmd-15.
* gnu/packages/gcc.scm (gdmd-15): New variable.

Change-Id: Ie0ca533fc682e8b253d6ec1704d983defd9af210
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws da9924996d gnu: Add gdmd-14.
* gnu/packages/gcc.scm (gdmd-14): New variable.

Change-Id: Ia48a712e6a467ba19b6e076a4e4e02c348562264
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws ae5e8e6f38 gnu: Add gdmd-13.
* gnu/packages/gcc.scm (gdmd-13): New variable.

Change-Id: Icfb019980c92044bd2ed4a2e1457702a67db206c
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws 78a99ae8df gnu: Add gdmd-12.
* gnu/packages/gcc.scm (gdmd-12): New variable.

Change-Id: I5e67d746d44200ba3eb98a4329be0cac3f996ac1
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws 8741d3ac63 gnu: Add gdmd-11.
* gnu/packages/gcc.scm (gdmd-11): New variable.

Change-Id: Ic42eead141efc199c867ac80d44b1e083cc76bd3
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws 4415dfd7d1 gnu: Add gdmd-10.
* gnu/packages/gcc.scm (gdmd-10): New variable.

Change-Id: I2473a0078934dcde937395c5dba0fb62c703725d
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws 36a763ebcc gnu: Add gdmd-9.
* gnu/packages/gcc.scm (gdmd-9): New variable.

Change-Id: I9e10f6ff88122761baa3c751e8cfbe6c7708c168
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws 7026105c94 gnu: gdmd: Base version on the wrapped gdc version.
* gnu/packages/gcc.scm (make-gdmd): New private procedure.
(gdmd): Implement in terms of make-gdmd.

Change-Id: I3fc2ce8af7ca3489a8f3bf4d607b530083a900b1
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:22 +01:00
Jonas Meeuws 79f19d37da gnu: gdmd: Reformat.
* gnu/packages/gcc.scm (gdmd): Reformat.

Change-Id: I107ae3bf5ab982dccdaf5450bd7ed3937da3b192
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:21 +01:00
Jonas Meeuws 02fea8e954 gnu: gdmd: Update to 0.25.0.
* gnu/packages/gcc.scm (gdmd): Update to 0.25.0.
[source]: Prefix git tag with “script-”.

Change-Id: Icab7bb068d87e3813b15d1c360fb593ee5eac716
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:21 +01:00
Jonas Meeuws 4c5cce5c44 gnu: gdmd: Move to gcc.
* gnu/packages/dlang.scm (gdmd): Move from here ...
* gnu/packages/gcc.scm: ... to here.

Change-Id: I43fa2f66f812edc6c74442c7d911fe902265f5e0
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:21 +01:00
Jonas Meeuws 7d203df47b gnu: Add gdc-15.
* gnu/packages/gcc.scm (gdc-15): New public variable.

Change-Id: Ib8e2d6ca8bab3c0412b7d59b7acd40e075f61d74
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:21 +01:00
Jonas Meeuws f4aa217a16 gnu: Add gdc-13.
* gnu/packages/gcc.scm (gdc-13): New public variable.

Change-Id: If7ac081ece1185da1004adf90027e412ae471ae8
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:21 +01:00
Jonas Meeuws 97091b854f gnu: Add gdc-12.
* gnu/packages/gcc.scm (gdc-12): New public variable.

Change-Id: Ic5711bc318aeb766763e3dfc6f1da81a340b8c7b
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:21 +01:00
Jonas Meeuws 5310af43cd gnu: Add gdc-10.
* gnu/packages/gcc.scm (gdc-10): New public variable.

Change-Id: I74e8ed8c635e2f80af5b5504e4d2de97aed188a5
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:21 +01:00
Jonas Meeuws d06610cb8a gnu: Add gdc-9.
* gnu/packages/gcc.scm (gdc-9): New public variable.

Change-Id: I059397ce7ee398c1ed8b6cfcc1d294916c64203a
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:21 +01:00
Jonas Meeuws 5b8d122129 gnu: gdc: Add intermediary gdc-14 variable.
* gnu/packages/gcc.scm (gdc-14): New variable, renamed from gdc.
(gdc): Redefine as an alias for gdc-14.

Change-Id: Ic2f4252fb75da703c9048b74c66026eda249023b
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:21 +01:00
Jonas Meeuws 298ed1adc6 gnu: gdc: Support GCC 9 through 15 with cleaner packaging.
* gnu/packages/gcc.scm (make-gdc): New variable.  This procedure returns a
package based on the previous gdc-11 and gdc definitions.
[#:modules]: Add (ice-9 ftw).
[#:configure-flags]: Add “--disable-c++tools” and “--disable-plugin”.
Add “--disable-libcc1”, “--disable-libatomic” (since version 11),
“--disable-libcc1”, “--disable-libgomp”, “--disable-libitm”,
“--disable-libquadmath”, “--disable-libsanitizer”, “--disable-libssp”, and
“--disable-libstdcxx” (until version 15).
[#:phases]: Add ‘gdc-cleanup-install’.
[inputs]: Add gcc:lib.
[synopsis]: Override the one inherited from gcc.
[description]: Override the one inherited from gcc.  Append a frontend version
note if such version was provided as argument.
[home-page]: Override the one inherited from gcc.
(gdc-11): Implement in terms of make-gdc.  Make public.
(gdc): Implement in terms of make-gdc, with gdc-11 as bootstrap-gdc
argument.  Make public.

Change-Id: I44d351f8c97427a6bbd1821f9547ae680a154b06
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-12 08:57:20 +01:00
jgart e7771eb39d gnu: lilypond: Downgrade to 2.24.4.
* gnu/packages/music.scm (lilypond): Downgrade to 2.24.4.

This package should track the stable release of LilyPond.

Change-Id: I3a4ae814a719961039a8b7180e8dbd4d8ecc5012
2026-03-12 13:18:13 +05:30
Cayetano Santos b56073dca7 gnu: emacs-build-farm: Update remote.
* gnu/packages/emacs-xyz.scm (emacs-build-farm)[source, home-page]:
Update url.

Change-Id: Ie38f0723bcdb70ee25c84fa9e92c6d107b4137e1
2026-03-12 08:33:04 +01:00
Cayetano Santos 1a80fb3978 gnu: emacs-bui: Update remote.
* gnu/packages/emacs-xyz.scm (emacs-bui)[source, home-page]: Update url.

Change-Id: I886b1ab88b9d273903298fcbdd3bba8353d6203a
2026-03-12 08:33:04 +01:00
Maxim Cournoyer c7877de635 gnu: gnome-boxes: Update to 49.1.
* gnu/packages/gnome.scm (gnome-boxes): Update to 49.1.
[#:phases] {relax-gcc-14-strictness}: Delete.

Change-Id: I00767a2f05ec1d0f4e51114724d15eea4d71c127
2026-03-12 16:27:20 +09:00
Maxim Cournoyer 720a7e91af gnu: gnome-maps: Update to 49.4.
* gnu/packages/geo.scm (gnome-maps): Update to 49.4.
[#:phases] {wrap}: Simplify wrapper.  Previous strategy now caused GI errors
like "cannot register existing type 'GIRepository'".
[inputs]: Add bash-minimal.  Replace webkitgtk-for-gtk3 with webkitgtk.

Change-Id: I6ddad3e5232c3301c2cc8000d6e0516f48c4c53e
2026-03-12 16:23:36 +09:00
Cayetano Santos f3ea176158 gnu: spike: Update to 1.1.0-0.591cff1.
See https://github.com/riscv-software-src/riscv-isa-sim/issues/2237

* gnu/packages/virtualization.scm (spike): Update to 1.1.0-0.591cff1.
[arguments]: Remove ’gcc14 #:phase.
[inputs]: Remove bash-minimal.
[native-inputs]: Remove python-wrapper; add python-minimal-wrapper.

Merges guix/guix!6633

Change-Id: If7ab6451972235cf2faa8debe21f1c54b0ae8009
2026-03-12 08:22:11 +01:00
Maxim Cournoyer f1223aec55 gnu: gnome-meta-core-utilities: Add decibels.
* gnu/packages/gnome.scm (gnome-meta-core-utilities)
[propagated-inputs]: Add decibels.

Change-Id: Id00c8e789ced1fdd40b6221ad3c0542e33f8d2c1
2026-03-12 15:43:04 +09:00
Noé Lopez 95088727b3 gnu: Add decibels.
* gnu/packages/gnome.scm (decibels): New variable.

Co-authored-by: Maxim Cournoyer <maxim@guixotic.coop>
Change-Id: I3df869ad682aa2dce71ef1e57b142ccb221bb327
2026-03-12 15:42:06 +09:00
Maxim Cournoyer ba9de7e3f8 gnu: gnome-essential-extras: Switch font to font-adwaita.
* gnu/packages/gnome.scm (gnome-essential-extras): Replace
font-abattis-cantarell with font-adwaita.

Change-Id: I8d4fe81a364caec14e8962b653fd743299ed2840
2026-03-12 14:02:12 +09:00
Maxim Cournoyer 15b6aae8e2 gnu: gnome-music: Fix error at execution.
Before this change, the execution would fail with a "TypeError: constructor
returned NULL" error.

* gnu/packages/gnome.scm (gnome-music) [inputs]: Replace tracker with
tinysparql and tracker-miners with localsearch.

Change-Id: I9ba1be70ca385fb0303e0ce717ee22f9cb206235
2026-03-12 13:24:25 +09:00
jgart 9567989516 gnu: Remove ecl-3d-math.
* gnu/packages/lisp-xyz.scm (ecl-3d-math): Delete variable.

Change-Id: If5fd048e25c97cfc1e0b2706536e88c6fa3125a8
2026-03-11 23:49:10 -04:00
jgart 19ec70870e gnu: Remove ecl-lispbuilder-sdl.
* gnu/packages/lisp-xyz.scm (ecl-lispbuilder-sdl): Delete variable.

Change-Id: I0f0e526f44e564332a2d9bb773c9a044b67e3267
2026-03-11 17:40:00 -04:00
jgart 609eb6ed87 gnu: Remove ecl-cl-prevalence.
* gnu/packages/lisp-xyz.scm (ecl-cl-prevalence): Delete variable.

Change-Id: Ie436b4efafc3af65c27d45098a6931024d686086
2026-03-11 16:04:31 -04:00
jgart 82b133e41c gnu: Remove ecl-prometheus.
* gnu/packages/lisp-xyz.scm (ecl-prometheus): Delete variable.

Change-Id: I318471bb4e980f1f344abcbee9a076426a9662bd
2026-03-11 15:56:03 -04:00
Sören Tempel 7f62f5ce89 gnu: pimsync: Update to 0.5.7.
* gnu/packages/dav.scm (pimsync): Update to 0.5.7.
[arguments] <phases>: Add 'use-guix-vendored-dependencies.
* gnu/packages/rust-sources.scm: Add rust-hashify-0.2.7.b787649.
* gnu/packages/rust-crates.scm: Update crates accordingly.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-03-11 21:15:25 +02:00
Artyom V. Poptsov 00f336d159 gnu: nebula: Update to 1.10.3.
* gnu/packages/networking.scm (nebula): Update to 1.10.3.
[inputs]: Add go-filippo-io-bigmod.

Change-Id: I4d2d06eeec81992a97530d914d3b4765b1211cd6
2026-03-11 22:06:35 +03:00
Artyom V. Poptsov 4c764497b4 gnu: Add go-filippo-io-bigmod.
* gnu/packages/golang-crypto.scm (go-filippo-io-bigmod): New variable.

Change-Id: I1c033912f92bb492ec2cf2db0a255e3feaa11ae1
2026-03-11 22:06:35 +03:00
Artyom V. Poptsov 5ef4ef7b3d gnu: hcxtools: Update to 7.1.2.
* gnu/packages/networking.scm (hcxtools): Update to 7.1.2.

Change-Id: I06e354118c199f22fb9ea94c8e19a48bba2d47fc
2026-03-11 22:06:34 +03:00
Andreas Enge 6da5c6775b gnu: Remove ocrodjvu.
* gnu/packages/djvu.scm (ocrodjvu): Delete variable.

Fixes: guix/guix#6307
Change-Id: Ib7e7e3cf7925347f7ef5bcaa4cf093572a30d911
2026-03-11 18:32:08 +01:00
Nguyễn Gia Phong ec77e0e743 doc: Version Control Services: Generalize introduction.
* doc/guix.texi (Version Control Services):
  Update description to not be Git-exclusive.
  Update instroduction to mention Fossil in addition to Git.
  Add anchor points to navigate to individual services
  from the introduction.

Change-Id: I3af870a80fcf249bed97b0d29370f71ff00a9e73
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4354
2026-03-11 18:27:46 +01:00
Nguyễn Gia Phong 3433fb987b services: Add fossil-service-type.
* gnu/services/version-control.scm
  (fossil-service-type, fossil-configuration): New public variables.
* gnu/tests/version-control.scm (%test-fossil): Add system tests.
* doc/guix.texi (Version Control Services): Add Fossil documentation.

Change-Id: I84e09fe8c11e161ed7c4bdba42b0ae38ef4c2096
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-11 18:27:46 +01:00
Yelninei 6eb6971f4d services: Add and use shepherd-signal-action.
* gnu/services/shepherd.scm (shepherd-signal-action): New procedure.

* gnu/services/audio.scm (mpd-shepherd-service): Use it for actions.
* gnu/services/base.scm (syslog-shepherd-service):
* gnu/services/base.scm (dnsmasq-shepherd-service):
* gnu/services/file-sharing.scm (transmission-daemon-shepherd-service):
* gnu/services/monitoring.scm (vnstat-shepherd-service):
* gnu/services/mail.scm (rspamd-shepherd-service):

* doc/guix.texi (shepherd-signal-action): Document it.

Change-Id: Ief5e00c7d430ec4aa28c3ef11d0ef9897793b45f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #6097
2026-03-11 18:27:46 +01:00
Evgeny Pisemsky 1ec777def8 gnu: guile-usbrelay: Update to 0.1.1.
* gnu/packages/hardware.scm (guile-usbrelay): Update to 0.1.1.
[arguments]<#:phases>: ignore lambda arguments and invoke explicit command in
'compile-ffi, add 'install-udev-rules.

Change-Id: I8194d662345cfeb9e36816484b0f3d902a2c1a02
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5188
2026-03-11 18:27:46 +01:00
Evgeny Pisemsky 62ae9661a2 gnu: guile-uuid: Improve package.
* gnu/packages/guile-xyz.scm (guile-uuid): Run guix style.
[arguments]: Rename 'remove-unnecessary-file phase to 'check and run tests
there, add 'install-info-documentation phase.
[native-inputs]: Add texinfo.

Change-Id: Iabfc636fd75891ec77895123291ab9c3c567f7ed
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7015
2026-03-11 18:27:46 +01:00
Ludovic Courtès ade722cd48 gnu: hpn-ssh-sans-x: Use a distinct name.
* gnu/packages/ssh.scm (hpn-ssh-sans-x)[name]: New field.

Change-Id: I15ea01bd8b05512d35dcd93939a4f64ab6cc264c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7019
2026-03-11 18:27:46 +01:00
Ludovic Courtès 6f62d591c3 gnu: Remove module imports from the host Guile.
These imports are incorrect and would trigger a warning since
f650dc0d80.

* gnu/packages/display-managers.scm (guix-simplyblack-sddm-theme)[arguments]:
Remove (srfi srfi-26) from #:modules.
* gnu/packages/fonts.scm (font-meslo-lg)[arguments]: Remove (ice-9 ftw)
from #:modules.
* gnu/packages/ssh.scm (hpn-ssh)[arguments]: Remove (ice-9 string-fun)
from #:imported-modules.
* gnu/packages/tls.scm (dehydrated)[arguments]: Remove (srfi srfi-26)
from #:modules.

Change-Id: Ib712f9f1df62e65adfb685a3a37f1c53a22acad0
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-11 18:27:46 +01:00
Ludovic Courtès 0dc5e5e5bd profiles: Use ‘with-imported-modules’.
* guix/profiles.scm (fonts-dir-file)[build]: Wrap in ‘with-imported-modules’.
Remove #:modules argument to ‘gexp->derivation’.

Change-Id: I29d71d0ff61cf8b81796ad412f2f95b111f028a7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-11 18:27:45 +01:00
Ludovic Courtès be88f949b4 profiles: Do not import (srfi srfi-26) from the host Guile.
The problem was made evident by the warnings added in
f650dc0d80.  The extra import was added in
0a5ce0d1df, in 2017.

* guix/profiles.scm (fonts-dir-file): Remove (srfi srfi-26) from #:modules.

Fixes: https://issues.guix.gnu.org/80578
Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: I0ad0a380f9c6421f0876aea7f68e1debf38a1db8
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-11 18:27:45 +01:00
Ludovic Courtès e812ee2a97 gexp: Properly record location in ‘gexp->derivation’ & co.
* guix/gexp.scm (gexp-with-hidden-inputs): Make the last argument to
‘make-gexp’ a source property alist.
(gexp->derivation): Likewise.

Change-Id: I70fa287ab571f4d791e8633131dd55c74624c18c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-11 18:27:45 +01:00
Efraim Flashner e4af10ab21 gnu: garage: Update to 2.2.0.
* gnu/packages/storage.scm (garage): Update to 2.2.0.
* gnu/packages/rust-crates.scm (lookup-crate-inputs): Update garage
crates.

Change-Id: I4deba5fe0baea114b72cb35a1780fc0c8f7467e8
2026-03-11 19:05:19 +02:00
Foster Hangdaan 161caf314c gnu: Add garage.
* gnu/packages/storage.scm (garage): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Add garage.

Change-Id: Ifc4b9e54a3745a56f5bf0a346e6f4d190f6efc39
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-03-11 19:05:19 +02:00
jgart e704ee00c6 gnu: sbcl-cl-ana: Update to 0.0.0-3.88abde5.
* gnu/packages/lisp-xyz.scm (sbcl-cl-ana): Update to 0.0.0-3.88abde5.
[sources]: Add patch.
* gnu/packages/patches/cl-ana-pr-49.patch: Include patch file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I352e36708ddbb5c1700b18425485fcb60125ca6e
2026-03-11 12:24:18 -04:00
jgart 2336e40c51 gnu: trealla: Update to 2.91.4.
* gnu/packages/prolog.scm (trealla): Update to 2.91.4.

Change-Id: I0fe96f6a7d5308bbe6d7821d0fe061370f0fa10f
2026-03-11 12:09:11 -04:00
Christopher Baines 991c410bcf build-aux: Disable file port name canonicalization in a few places.
I'm assuming this doesn't have any meaningful effect, and it seems to reduce
the number of readlink calls by a lot.

* build-aux/build-self.scm (build-program): Set
%file-port-name-canonicalization to #f.
(build): Ditto.
* build-aux/compile-as-derivation.scm: Ditto.

Change-Id: If43415c46c3911e84c76d1a9828b9c417a140a1b
2026-03-11 15:31:06 +00:00
Christopher Baines c56f19efc6 compile-as-derivation: Buffer the current-error-port.
To avoid one character per syscall output from within the build procedure.

* build-aux/compile-as-derivation.scm: Buffer the current-error-port.

Change-Id: I7725ef0cb1f3ad4e9f5fdd284734f376fd57b253
2026-03-11 15:31:06 +00:00
Christopher Baines ba35edb100 build-self: Setup buffering for the store socket.
In the case where port->connection is used, since this doesn't setup
buffering.

* build-aux/build-self.scm (build-program): Setup buffering for the store
socket.

Change-Id: I822bb628e92d1070e78a2ad9e95665ca2ff4a351
2026-03-11 15:31:06 +00:00
Christopher Baines e6581cc5f9 store: Export the %default-store-connection-buffer-size.
So it can be used elsewhere, for example where port->connection is used and
there's a need to setup buffering.

* guix/store.scm (%default-buffer-size): Rename to
%default-store-connection-buffer-size.
(connect-to-daemon, open-connection): Update accordingly.

Change-Id: Ieb932577304786e5dee891ad1652e03c388d4112
2026-03-11 15:31:04 +00:00
Cayetano Santos 894349cec8 gnu: python-vunit: Implement parallel tests.
* gnu/packages/electronics.scm (python-vunit)[arguments]: Set parallel
flag in ’run-examples #:phase.

Change-Id: If3460b4715f244fd52262f8a67cbc2e88a2dfafc
2026-03-11 15:27:36 +01:00
Cayetano Santos 80d798b252 gnu: open-logic: Implement parallel tests.
* gnu/packages/hdl.scm (open-logic)[arguments]: Set parallel flag in
’check #:phase.

Change-Id: Ie0287c20ee191eae69a9a33b80dcf8138d30ba3c
2026-03-11 15:25:30 +01:00
Cayetano Santos b908441cc1 gnu: open-logic: Update to 4.4.1.
* gnu/packages/hdl.scm (open-logic): Update to 4.4.1.

Change-Id: Iebd7b3f429383b8bd31cec39330b3bab6918ccd6
2026-03-11 15:15:16 +01:00
Jonas Meeuws 576eb72293 gnu: d-tools: Skip a test.
* gnu/packages/dlang.scm (d-tools): Add 'patch-tests phase.

Fixes: guix/guix#7000
Change-Id: I2ab62691fe9428c400112d59dda49e76d2582d8b
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-03-11 11:38:48 +01:00
Cayetano Santos 9d66b99bd3 gnu: json-for-vhdl: Move to hdl.
* gnu/packages/electronics.scm (json-for-vhdl): Move from here ...
* gnu/packages/hdl.scm: ... to here.

Change-Id: I498b652ae7edcad71dd0924264dbd84694ac6a87
2026-03-11 11:24:39 +01:00
Cayetano Santos 1ef7a2925f gnu: python-vunit: Update to 5.0.0-dev.9.
* gnu/packages/electronics.scm (python-vunit): Update to 5.0.0-dev.9.
[inputs]: Remove json-for-vhdl-for-vunit.
[arguments]<#:phases>: Remove ’fix-ghdl-jit; add ’fix-ghdl-version;
update ’unbundle.

Change-Id: Ic5cdd3da890be2ca1da07a21d4af3f78866220a1
2026-03-11 11:13:15 +01:00
Cayetano Santos 5376d5aa18 gnu: nvc: Update to 1.19.3.
* gnu/packages/electronics.scm (nvc): Update to 1.19.3.

Change-Id: Ie7d5416b0f605e9516a8ee8a4469624f8b54d5d7
2026-03-11 10:53:37 +01:00
Cayetano Santos b393d63b06 gnu: klayout: Update to 0.30.7.
* gnu/packages/electronics.scm (klayout): Update to 0.30.7.

Change-Id: I63d285ce85a82ec05795d6a7a6fe8fa0c2342045
2026-03-11 10:53:37 +01:00
Cayetano Santos 6d68127ff5 gnu: python-klayout: Use klayout sources.
* gnu/packages/electronics.scm (python-klayout)[version, source]:
Identify with that of klayout.

Change-Id: I5886a5ceec93c930608549ef63bf42027b3fd246
2026-03-11 10:53:31 +01:00
Danny Milosavljevic 08c1be701d gnu: Add python-pocket-tts.
* gnu/packages/speech.scm (python-pocket-tts): New variable.

Change-Id: Id91307c0c934ba36db3c488e606230249ff50363
2026-03-11 10:33:24 +01:00
Nicolas Goaziou ae1d77b36d gnu: Add emacs-khalel.
* gnu/packages/emacs-xyz.scm (emacs-khalel): New variable.

Change-Id: I1f2dd0e21a2e84911165d98245e45c078f9011a8
2026-03-11 09:37:02 +01:00
Denis 'GNUtoo' Carikli fe8599a6be gnu: Add bincfg.
* gnu/packages/flashing-tools.scm (bincfg): New variable.

Merges guix/guix!7016

Change-Id: I75539ef75e6ea08ffe34dd1f11d2dec56683dcf4
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-11 08:19:23 +01:00
Janneke Nieuwenhuizen 0d622898fa gnu: info-reader: Support cross-build and build from git.
* gnu/packages/texinfo.scm (info-reader)[arguments]: Inherit from texinfo-7's
arguments.  Rewrite using g-expressions.

Change-Id: I3dcd73c781ad24ae6579384c08c5bb49f95dd783
Fixes: #6976,
2026-03-11 06:06:10 +01:00
Janneke Nieuwenhuizen fdbe8b80a8 gnu: texinfo: Support cross-build and build from git.
Fixes #6976.

* gnu/packages/texinfo.scm (texinfo-7)[source]: Update to use git-fetch.
[native-inputs]: New field.
[arguments]: Add phases `patch-bootstrap-shebangs', `patch-jrtangle', and when
cross-building, also add phase `build-native-tools'.

Change-Id: I3dcd73c781ad24ae6579384c08c5bb49f95dd783
2026-03-11 06:04:49 +01:00
Maxim Cournoyer 50b58e1109 gnu: python-audioread: Fix gstreamer initialization.
* gnu/packages/mp3.scm (python-audioread) [arguments]: New field.

Change-Id: Ie1545631e97cdd5b3d9a6bbe80ed9809f1e4de48
2026-03-11 10:03:23 +09:00
Maxim Cournoyer b8d7a360e2 gnu: python-gst: Update to 1.28.1.
* gnu/packages/gstreamer.scm (python-gst): Update to 1.28.1.
[#:phases] {check}: Re-order phase after...
{install}: ... this one.
{disable-problematic-tests, add-install-to-pythonpath}: New phases.

Change-Id: I2790555af875e23582a53c3fbd5e3f91179811cc
2026-03-11 10:03:23 +09:00
Maxim Cournoyer f16f25db36 gnu: gst-rtsp-server: Update to 1.28.1.
* gnu/packages/gstreamer.scm (gst-rtsp-server): Update to 1.28.1.

Change-Id: I1ac41675323df1d6b7fd58f5b37ffc724a8799e5
2026-03-11 10:03:23 +09:00
Maxim Cournoyer 1e35909396 gnu: gst-editing-services: Update to 1.28.1.
* gnu/packages/gstreamer.scm (gst-editing-services): Update to 1.28.1.

Change-Id: I259ee0ea7929d53582adb3350376fbf55bcbfc4f
2026-03-11 10:03:23 +09:00
Maxim Cournoyer 6235f7884f gnu: gst-libav: Update to 1.28.1.
* gnu/packages/gstreamer.scm (gst-libav): Update to 1.28.1.

Change-Id: I5cea2d41f6ebdabe942b764e9db4c5fe96ded520
2026-03-11 10:03:23 +09:00
Maxim Cournoyer afd42897fa gnu: gst-plugins-ugly: Update to 1.28.1.
* gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.28.1.

Change-Id: I48d15dff2bc7ea325f668cdb4ad2244d55b02990
2026-03-11 10:03:22 +09:00
Maxim Cournoyer 0dd06db986 gnu: gst-plugins-bad: Update to 1.28.1.
* gnu/packages/gstreamer.scm (gst-plugins-bad): Update to 1.28.1.
(gst-plugins/selection) [#:phases] {disable-auto-plugins}: Adjust for file
name change.

Change-Id: I719e543cd68bb4c75b1e41bb480a3f0f7a894fa9
2026-03-11 10:03:22 +09:00
Maxim Cournoyer b953fb3280 gnu: gst-plugins-good: Update to 1.28.1.
* gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.28.1.

Change-Id: I169dbf4f2e2e827af25872fe6d3bdec5827eb65d
2026-03-11 10:03:22 +09:00
Maxim Cournoyer 9921aec680 gnu: gst-plugins-base: Update to 1.28.1.
* gnu/packages/gstreamer.scm (gst-plugins-base): Update to 1.28.1.
[source]: Apply a patch.
[propagated-inputs]: Add libdrm.
* gnu/packages/patches/gst-plugins-base-null-pointer.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: Id027d1e6ddc5ff331d4d64965266d7a99d859d3b
2026-03-11 10:03:22 +09:00
Maxim Cournoyer 42c072e0ee gnu: gstreamer: Update to 1.28.1.
* gnu/packages/gstreamer.scm (gstreamer): Update to 1.28.1.

Change-Id: I33dfc230d39fab46aab587843a8a48b1c13a8c93
2026-03-11 10:03:22 +09:00
Maxim Cournoyer eb72f37bce gnu: gstreamer-docs: Update to 1.28.1.
* gnu/packages/gstreamer.scm (gstreamer-docs): Update to 1.28.1.

Change-Id: I67ebdaf41393bde0cd6e072eff6b89955e2109d5
2026-03-11 10:03:22 +09:00
Maxim Cournoyer a24dec0561 gnu: orc: Update to 0.4.42.
* gnu/packages/gstreamer.scm (orc): Update to 0.4.42.

Change-Id: I3ffc7565a25e1d71a52bf2dad301a60edd60231b
2026-03-11 10:03:22 +09:00
Maxim Cournoyer f76c7c0b54 gnu: ffmpeg: Fix build on powerpc64le.
* gnu/packages/video.scm (ffmpeg) [powerpc]
<#:configure-flags>: Ignore 'sws-floatimg-cmp' test.

Change-Id: I37604768718ac88fac9fef0d21a6044b50bc08ff
2026-03-11 10:03:22 +09:00
Maxim Cournoyer c7dc180019 gnu: libx264: Update to 165-0.0480cb0.
This fixes the build on powerpc64le-linux.

* gnu/packages/video.scm (libx264): Update to 165-0.0480cb0.

Change-Id: I42b21736e0715460cbdfe47732263ba0a02193bf
2026-03-11 10:03:22 +09:00
John Kehayias 687bf4fb8e gnu: syncthing-gtk: Fix runtime introspection error.
* gnu/packages/syncthing.scm (syncthing-gtk)[inputs]: Replace python-pygobject
with python-gobject-3.50.

Change-Id: Id8370953a9e06d614cf71f8a93ef4b8dc3e0b018
2026-03-10 20:49:58 -04:00
John Kehayias 407259dff9 gnu: gammastep: Fix runtime introspection error.
* gnu/packages/xdisorg.scm (gammastep)[inputs]: Replace python-pygobject with python-gobject-3.50.

Change-Id: Idbaade8bdf5f36d81b8ef9d817baa02d13f51331
2026-03-10 20:45:27 -04:00
Ludovic Courtès ee8eba01f0 gnu: Remove misplaced ‘GUILE_EXTENSIONS_PATH’ spec in Guile libraries.
The ‘GUILE_EXTENSIONS_PATH’ variable “belongs” to Guile, not to libraries that
depend on Guile.

* gnu/packages/guile-xyz.scm (guile-yamlpp, guile-wayland-scm-socket)
(guile-wayland-scm-shm, guile-wayland-scm): Remove ‘native-search-paths’ field.

Change-Id: I9a9927e945ec31572684df4ff325f3a7ed0393a9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #6919
2026-03-10 23:10:05 +01:00
Ludovic Courtès 4d50228576 gnu: guile-cv: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (guile-cv)[source]: Switch to ‘git-fetch’.
[arguments]: In ‘fix-guile-site-directory’ phase, remove call to
‘delete-file’.

Change-Id: I5160d65536f0407f357c80a1a723dc5363dc590f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #6981
2026-03-10 23:07:45 +01:00
Ludovic Courtès 787846c091 gnu: guile-file-names: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (guile-file-names)[source]: Switch to
‘git-fetch’.
[arguments]: In ‘fix-target-directory’ phase, modify ‘Makefile.am’.
[native-inputs]: Add ‘autoconf’, ‘automake’, and ‘texinfo’.

Change-Id: I794893f9c465077b00ee4f8ae5fe88500948755a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 23:07:45 +01:00
Ludovic Courtès e70a0d0d6a gnu: guile-ncurses: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (guile-ncurses)[source]: Switch to ‘git-fetch’.
[native-inputs]: Add ‘autoconf’, ‘automake’, ‘libtool’, and ‘texinfo’.

Change-Id: Iae936f8aa1239818b60466b4feee40a3cda60885
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 23:07:45 +01:00
Ludovic Courtès 22237a6b70 gnu: guile-reader: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (guile-reader)[source]: Switch to ‘git-fetch’.
[arguments]: New field.
[native-inputs]: Add ‘autoconf, ‘automake‘, ‘libtool’, ‘gnu-gettext’, and
‘texinfo’.

Change-Id: I36075fbd232636f87f03ca19805499df6bbc8e34
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 23:07:45 +01:00
Ludovic Courtès 5eb4e0223e gnu: g-wrap: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (g-wrap)[source]: Switch to ‘git-fetch’.
[native-inputs]: Add ‘autoconf’, ‘automake‘, ‘libtool’, ‘gnu-gettext’, and
‘texinfo’.

Change-Id: Ibf512fe75488dcf9345986a772bb10bf4231d857
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 23:07:45 +01:00
Ludovic Courtès 18c1e15fec gnu: guile-lib: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (guile-lib)[source]: Switch to ‘git-fetch’.
[native-inputs]: Add ‘texinfo’.

Change-Id: I1827b86241cad68f0f26a693fe5403392c3e6653
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 23:07:44 +01:00
Ludovic Courtès 30d1b20602 gnu: guile-xosd: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (guile-xosd)[source]: Switch to ‘git-fetch’.
[native-inputs]: Add ‘autoconf’, ‘automake’, ‘libtool’, and ‘texinfo’.

Change-Id: I94c4e13bb4ce7c6ec4cc51cd808ccb140869c7c8
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 23:07:44 +01:00
Ludovic Courtès 15ca11ee88 gnu: guile-debbugs: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (guile-debbugs)[source]: Switch to ‘git-fetch’.
[native-inputs]: Add ‘autoconf’, ‘automake’, and ‘texinfo’.

Change-Id: I2dc7199c0d9149cdafd5dd6b8d2963719c6b6ccb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 23:07:44 +01:00
Ludovic Courtès a424f14b19 gnu: guile-sparql: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (guile-sparql)[source]: Switch to ‘git-fetch’.
[native-inputs]: Add ‘autoconf’, ‘automake’, and ‘texinfo’.

Change-Id: I565d469d59ca8d11c99170719779c4c5f44f74ca
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 23:07:44 +01:00
Ludovic Courtès c664cd93e6 gnu: guile-aa-tree: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (guile-aa-tree)[source]: Switch to ‘git-fetch’.

Change-Id: Ie523a559e22d89ecb20425ce093dfef3c113287e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 23:07:44 +01:00
Ludovic Courtès 2f7bab1115 gnu: guile-sjson: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (guile-sjson)[source]: Switch to ‘git-fetch’;
simplify ‘snippet’.

Change-Id: I14f4a8072ee3b6a0119220a29eb42e2c20b559fe
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 23:07:44 +01:00
Ludovic Courtès cdaf07f30d gnu: guile-daemon: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (guile-daemon)[source]: Switch to ‘git-fetch’.
[native-inputs]: Add ‘autoconf’, ‘automake’, and ‘texinfo’.

Change-Id: Ic97cc96fe47e95b6da4c0532e274eabfa458784c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 23:07:43 +01:00
Ludovic Courtès 9cdaac3acc gnu: artanis: Build from a version-control checkout.
* gnu/packages/guile-xyz.scm (artanis)[source]: Switch to ‘git-fetch’.
[native-inputs]: Add ‘autoconf‘, ‘automake’, and ‘gnu-gettext’.

Change-Id: I22d6d6f620a53930a424f14db16be4f585e99c54
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 23:07:43 +01:00
Ludovic Courtès 4c7f4a0c0e style: git-source: Show package name in message.
* guix/scripts/style.scm (url-fetch->git-fetch)[transform-source]: Show
package name in informative message.

Change-Id: I4533dfcd7abf12c2406c981bcb80b3e634d339bc
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #6894
2026-03-10 22:53:55 +01:00
Ludovic Courtès ac9f7dbce6 read-print: Add newline after ‘snippet’ field of ‘origin’.
* guix/read-print.scm (%newline-forms): Add ‘snippet’.

Change-Id: Ibdd654ca68cf9a820b75cdd81e991d747030fa73
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 22:53:55 +01:00
Ludovic Courtès 55ea428a29 read-print: Remove ‘source’ context for ‘git-reference’ indentation.
* guix/read-print.scm (%newline-forms): For ‘git-reference’, remove ‘source’.

Change-Id: I93905b3fcf36896c9aefc7060f9412174654562a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 22:53:54 +01:00
Ludovic Courtès 9adcf86358 style: git-source: Gracefully handle failure to checkout version tag.
Previously, when the version tag could not be cloned, ‘generate-git-source’
would return #f leading ‘guix style’ to crash with a type error.  Now, a
warning about the Git error is printed and ‘guix style’ keeps going.

* guix/scripts/style.scm (transform-to-git-fetch): Wrap ‘match’ clause in
‘catch’ and return #f on ‘git-error’.

Change-Id: If66b1c5f8e0a44155b96f3c54bab7c58aae406f8
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 22:53:54 +01:00
Ludovic Courtès 78ddf62bfe style: git-source: Handle more URLs.
* guix/import/utils.scm (tarball-url->git-repository-url): New procedure.
* guix/scripts/style.scm (url-fetch->git-fetch)[transform-source]: Add
‘repository-url’ parameter.
Use ‘tarball-url->git-repository-url’ when ‘home-page’ is not a Git URL.
(transform-to-git-fetch): Rename ‘home-page’ to ‘repository-url’.
* tests/import/utils.scm ("tarball-url->git-repository-url, guile"): New test.
* tests/style.scm ("url-fetch->git-fetch, mirror:// URL"): New test.

Change-Id: I4f8ca7c67a58f917d69380678b62c00962b0f9cd
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-10 22:53:54 +01:00
93 changed files with 12615 additions and 2109 deletions
+1
View File
@@ -316,6 +316,7 @@ gnu/packages/librewolf\.scm @guix/mozilla
gnu/packages/tor-browsers\.scm @guix/mozilla
gnu/packages/ocaml\.scm @guix/ocaml
gnu/packages/ocaml5\.scm @guix/ocaml
gnu/packages/coq\.scm @guix/ocaml
guix/build/ocaml-build-system\.scm @guix/ocaml
guix/build/dune-build-system\.scm @guix/ocaml
+4
View File
@@ -14,6 +14,10 @@ Copyright © 2026 Noé Lopez <noelopez@free.fr>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 1.6.0 (since 1.5.0)
** Distribution
*** GNOME updated to version 48
* Changes in 1.5.0 (since 1.4.0)
** Package management
*** New rpm format for the guix pack command
+13
View File
@@ -111,6 +111,9 @@ build daemon, from within the generated build program."
#~(begin
(use-modules (ice-9 match))
;; To avoid lots of readlink calls
(fluid-set! %file-port-name-canonicalization #f)
(eval-when (expand load eval)
;; (gnu packages …) modules are going to be looked up
;; under SOURCE. (guix config) is looked up in FRONT.
@@ -169,6 +172,13 @@ build daemon, from within the generated build program."
;; build output.
(connect sock AF_UNIX build-output)
(when (integer? proto)
;; port->connection doesn't setup buffering, so
;; do this here
(setvbuf (store-connection-socket store)
'block
%default-store-connection-buffer-size))
(display
(and=>
;; Silence autoload warnings and the likes.
@@ -239,6 +249,9 @@ Display a spinner when nothing happens."
#:rest rest)
"Return a derivation that unpacks SOURCE into STORE and compiles Scheme
files."
;; Avoid lots of readlink calls
(fluid-set! %file-port-name-canonicalization #f)
;; Build the build program and then use it as a trampoline to build from
;; SOURCE.
(mlet %store-monad ((build (build-program source version guile-version
+7
View File
@@ -20,6 +20,9 @@
(use-modules (srfi srfi-26))
;; Avoid lots of readlink calls
(fluid-set! %file-port-name-canonicalization #f)
;; Add ~/.config/guix/current to the search path.
(eval-when (expand load eval)
(and=> (or (getenv "XDG_CONFIG_HOME")
@@ -41,6 +44,10 @@
(match (command-line)
((program source)
;; The build procedure outputs to this port, so setup buffering to avoid
;; one char per syscall.
(setvbuf (current-error-port) 'line)
(with-error-handling
(with-store store
(let* ((script (string-append source "/build-aux/build-self.scm"))
+211 -10
View File
@@ -149,6 +149,7 @@ Copyright @copyright{} 2025 Rodion Goritskov@*
Copyright @copyright{} 2025 dan@*
Copyright @copyright{} 2025 Noé Lopez@*
Copyright @copyright{} 2026 David Elsing@*
Copyright @copyright{} 2026 Nguyễn Gia Phong@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -440,7 +441,7 @@ Services
* Power Management Services:: Extending battery life, etc.
* Audio Services:: The MPD.
* Virtualization Services:: Virtualization services.
* Version Control Services:: Providing remote access to Git repositories.
* Version Control Services:: Software version control servers.
* Game Services:: Game servers.
* PAM Mount Service:: Service to mount volumes when logging in.
* Guix Services:: Services relating specifically to Guix.
@@ -19917,7 +19918,7 @@ declaration.
* Power Management Services:: Extending battery life, etc.
* Audio Services:: The MPD.
* Virtualization Services:: Virtualization services.
* Version Control Services:: Providing remote access to Git repositories.
* Version Control Services:: Software version control servers.
* Game Services:: Game servers.
* PAM Mount Service:: Service to mount volumes when logging in.
* Guix Services:: Services relating specifically to Guix.
@@ -42368,13 +42369,30 @@ How often to run the node cleaning job. The default is once per day, at
@node Version Control Services
@subsection Version Control Services
The @code{(gnu services version-control)} module provides a service to
allow remote access to local Git repositories. There are three options:
the @code{git-daemon-service-type}, which provides access to repositories via
the @code{git://} unsecured TCP-based protocol, extending the
@code{nginx} web server to proxy some requests to
@code{git-http-backend}, or providing a web interface with
@code{cgit-service-type}.
The @code{(gnu services version-control)} module provides services to
allow remote access to local Git and Fossil repositories.
For Git, the following services are available.
@itemize
@item The @ref{git-daemon-service-type, Git daemon service}
provides access via the unsecured TCP-based @code{git://} protocol.
@item The @code{nginx} web server can proxy some requests
to @ref{git-http-backend, Git Smart HTTP backend}.
@item The @ref{cgit-service-type, cgit service} also implements
Git Smart HTTP protocol, in addition to a web interface.
@item The @ref{gitolite-service-type, Gitolite service} offers access
through SSH. The @ref{gitile-service-type, Gitile service}
can be used along side it to provide a web interface.
@end itemize
Fossil repositories are served along with a web interface
by the @ref{fossil-service-type, Fossil service}.
@anchor{git-daemon-service-type}
@subsubheading Git Daemon Service
@cindex Git daemon service
@cindex Git, hosting
@defvar git-daemon-service-type
Type for a service that runs @command{git daemon}, a simple TCP server to
@@ -42433,7 +42451,15 @@ Extra options that will be passed to @command{git daemon}.@footnote{Run
The @code{git://} protocol lacks authentication. When you pull from a
repository fetched via @code{git://}, you don't know whether the data you
receive was modified or is even coming from the specified host, and your
connection is subject to eavesdropping. It's better to use an authenticated
connection is subject to eavesdropping.
@anchor{git-http-backend}
@subsubheading Git HTTP Backend
@cindex Git HTTP backend
@cindex Git, hosting
It's better to use an authenticated
and encrypted transport, such as @code{https}. Although Git allows you
to serve repositories using unsophisticated file-based web servers,
there is a faster protocol implemented by the @code{git-http-backend}
@@ -42508,6 +42534,7 @@ HTTPS@. You will also need to add an @code{fcgiwrap} proxy to your
system services. @xref{Web Services}.
@end deffn
@anchor{cgit-service-type}
@subsubheading Cgit Service
@cindex Cgit service
@@ -43460,6 +43487,7 @@ could instantiate a cgit service like this:
(cgitrc "")))
@end lisp
@anchor{gitolite-service-type}
@subsubheading Gitolite Service
@cindex Gitolite service
@@ -43639,6 +43667,7 @@ Extra content to add verbatim into the git configuration file.
@end table
@end deftp
@anchor{gitile-service-type}
@subsubheading Gitile Service
@cindex Gitile service
@@ -43773,6 +43802,155 @@ like to serve.
@end table
@end deftp
@anchor{fossil-service-type}
@subsubheading Fossil Service
@cindex Fossil service
@cindex Fossil, forge
@uref{https://fossil-scm.org, Fossil} is a distributed
software configuration management system. In addition to version control
like Git, Fossil also supports bug tracking, wiki, forum, chat, etc.,
all accessible via its built-in web interface.
Fossil is highly reliable thanks to its robust file format based on SQLite
with atomic transactions. Its server is CPU, memory and bandwidth efficient
enough run comfortably on a cheap VPS or single board computer,
and be accessed over suboptimal connections.
The following example will configure Fossil to listen on a unix socket
behind a reverse proxy and serve repositories from a custom location.
@lisp
(service fossil-service-type
(fossil-configuration
(repository "/srv/museum")
(repo-list? #t)
(base-url "https://museum.example")
(socket-file "/var/run/fossil.sock")
(compress? #f)))
@end lisp
@deftp {Data Type} fossil-configuration
Available @code{fossil-configuration} fields are:
@table @asis
@item @code{package} (default: @code{fossil}) (type: package)
The Fossil package to use.
@item @code{user} (default: @code{"fossil"}) (type: string)
The user running the Fossil server.
@item @code{group} (default: @code{"fossil"}) (type: string)
The user group running the Fossil server.
@item @code{log-file} (default: @code{"/var/log/fossil.log"}) (type: string)
The path to the server's log.
@item @code{repository} (default: @code{"/var/lib/fossil"}) (type: string)
The name of the Fossil repository to be served, or a directory
containing one or more repositories with names ending in @code{.fossil}.
In the latter case, a prefix of the URL pathname is used to search the
directory for an appropriate repository. Files not matching the pattern
@code{*.fossil*} will be served as static content. Invoke
@command{fossil server --help} for more information.
@item @code{acme?} (default: @code{#f}) (type: boolean)
Deliver files from the @code{.well-known} subdirectory.
@item @code{base-url} (type: maybe-string)
The URL used as the base (useful for reverse proxies)
@item @code{chroot} (type: maybe-string)
The directory to use for chroot instead of @code{repository}.
@item @code{ckout-alias} (type: maybe-string)
The @var{name} for @code{/doc/@var{name}/...} to be treated as
@code{/doc/ckout/...}.
@item @code{compress?} (default: @code{#t}) (type: boolean)
Compress HTTP response.
@item @code{create?} (default: @code{#f}) (type: boolean)
Create a new @code{repository} if it does not already exist.
@item @code{error-log-file} (type: maybe-string)
The path for HTTP error log.
@item @code{ext-root} (type: maybe-string)
The document root for the /ext extension mechanism.
@item @code{files} (type: maybe-list-of-strings)
The glob patterns for static files.
@item @code{from} (type: maybe-string)
The path to be used as the diff baseline for the /ckout page.
@item @code{jail?} (default: @code{#t}) (type: boolean)
Whether to enter the chroot jail after dropping root privileges.
@item @code{js-mode} (type: maybe-fossil-js-mode)
How JavaScript is delivered with pages, either @code{'inline} at the end
of the HTML file, as @code{'separate} HTTP requests, or one single HTTP
request for all JavaScript @code{'bundled} together. Depending on the
needs of any given page, @code{'inline} and @code{'bundled} modes might
result in a single amalgamated script or several, but both approaches
result in fewer HTTP requests than the @code{'separate} mode.
@item @code{https?} (default: @code{#f}) (type: boolean)
Indicate that the requests are coming through a reverse proxy that has
already translated HTTPS into HTTP.
@item @code{ip} (type: maybe-string)
The IP for the server to listen on.
@item @code{local-authentication?} (default: @code{#f}) (type: boolean)
Enable automatic login for requests from localhost.
@item @code{localhost?} (default: @code{#f}) (type: boolean)
Listen on @code{127.0.0.1} only.
@item @code{main-menu} (type: maybe-string)
The file whose contents is to override the repository's @code{mainmenu}
setting.
@item @code{max-latency} (type: maybe-number)
The maximum latency in seconds for a single HTTP request.
@item @code{port} (default: @code{8080}) (type: port-number)
The port number for the server to listen on.
@item @code{list-repositories?} (default: @code{#f}) (type: boolean)
If @code{repository} is dir, URL @code{/} lists repos.
@item @code{redirect-to-https?} (default: @code{#t}) (type: boolean)
If set to @code{#f}, do not force redirects to HTTPS regardless of the
repository setting @code{redirect-to-https}.
@item @code{scgi?} (default: @code{#f}) (type: boolean)
Accept SCGI rather than HTTP.
@item @code{skin} (type: maybe-string)
The skin label to use, overriding repository settings.
@item @code{socket-file} (type: maybe-string)
The unix-domain socket to use instead of TCP/IP.
@item @code{socket-mode} (default: @code{0o640}) (type: mode-number)
The file permissions to set for the unix socket.
@item @code{th-trace?} (default: @code{#f}) (type: boolean)
Trace TH1 execution (for debugging purposes).
@item @code{tls-certificate} (type: maybe-string)
The certicate file (@file{fullchain.pem}) with which to enable TLS
(HTTPS) encryption.
@item @code{tls-private-key} (type: maybe-string)
The file storing the TLS private key.
@end table
@end deftp
@node Game Services
@subsection Game Services
@@ -50488,6 +50666,29 @@ cat $(herd configuration tor)
This can come in as a handy debugging tool!
@end deffn
@deffn {Procedure} shepherd-signal-action name signal @
[#:documentation `Send signal @var{signal} to the running service`] @
[#:message `Service has been asked to perform @var{name}`]
Return a shepherd action with @var{name} to send @var{signal} to the
running process. The optional @var{documentation} and @var{message} can be used
to customize the documentation and output message.
Many daemons perform special actions after receiving a specific signal.
For example the @command{syslogd} logger will reread its configuration file
after receiving @code{SIGHUP}.
After adding
@lisp
(shepherd-signal-action 'reload SIGHUP))
@end lisp
the @code{reload} action will be available and can be used with
@example
herd reload syslogd
@end example
@end deffn
@defvar shepherd-root-service-type
The service type for the Shepherd ``root service''---i.e., PID@tie{}1.
+35
View File
@@ -33,6 +33,7 @@
;; Copyright © 2025 Rivulet Cedar <rivulet_cedar@yeah.net>
;; Copyright © 2025 jgart <jgart@dismail.de>
;; Copyright © 2025 Steve George <steve@futurile.net>
;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
;;
;; Copying and distribution of this file, with or without modification, are
@@ -42,6 +43,40 @@
(channel-news
(version 0)
(entry (commit "b52ce9041ad58aeababd2d50d3e72bc23dffff60")
(title
(en "GNOME 48 is now available")
(fr "GNOME 48 maintenant disponible")
(de "GNOME 48 jetzt verfügbar"))
(body
(en "The GNOME desktop was updated from version 46 to 48, bringing
accent colors, an improved Files (Nautilus) application, a new image
viewer (Loupe), and more:
@itemize
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
@end itemize")
(fr "La version 48 de lenvironnement de bureau GNOME est maintenant
disponible. Les nouvelles fonctionnalitées incluent: les couleurs daccent,
lapplication Fichiers (Nautilus) améliorée, un nouveau visionneur
dimages (Loupe), et plus:
@itemize
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
@end itemize")
(de "Die GNOME-Desktopumgebung wurde von Version 46 auf 48
aktualisiert. Neue Funktionen in dieser Version sind die Möglichkeit, eine
Akzentfarbe zu wählen, Verbesserungen in der Dateien-Anwendung (Nautilus), ein
neuer Bildbetrachter (Loupe), und mehr. Für eine ausführlichere Liste an
Änderungen, siehe:
@itemize
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
@end itemize")))
(entry (commit "d659fe8666c4bc38fcbdbe7b7a35101f2d7cc41b")
(title
(en "Potential security vulnerability in glibc")
+1
View File
@@ -933,6 +933,7 @@ and Firefox."
importer, and the ocaml-build-system."
#:scope
(list "gnu/packages/ocaml.scm"
"gnu/packages/ocaml5.scm"
"gnu/packages/coq.scm"
"guix/build/ocaml-build-system.scm"
"guix/build/dune-build-system.scm"
+9 -3
View File
@@ -55,7 +55,7 @@
# Copyright © 2022 Hilton Chain <hako@ultrarare.space>
# Copyright © 2022 Alex Griffin <a@ajgrf.com>
# Copyright © 2022 ( <paren@disroot.org>
# Copyright © 2022 jgart <jgart@dismail.de>
# Copyright © 2022, 2026 jgart <jgart@dismail.de>
# Copyright © 2023-2025 Zheng Junjie <z572@z572.online>
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
# Copyright © 2023 Andy Tai <atai@atai.org>
@@ -75,6 +75,7 @@
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
# Copyright © 2025 Jason Conroy <jconroy@tscripta.net>
#
# This file is part of GNU Guix.
#
@@ -518,6 +519,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/nvi.scm \
%D%/packages/nx.scm \
%D%/packages/ocaml.scm \
%D%/packages/ocaml5.scm \
%D%/packages/ocr.scm \
%D%/packages/openkinect.scm \
%D%/packages/onc-rpc.scm \
@@ -1092,6 +1094,7 @@ dist_patch_DATA = \
%D%/packages/patches/ceph-fix-cmake.patch \
%D%/packages/patches/cf-tool-add-languages.patch \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/cl-ana-pr-49.patch \
%D%/packages/patches/cl-asdf-config-directories.patch \
%D%/packages/patches/clamav-config-llvm-libs.patch \
%D%/packages/patches/clamav-system-tomsfastmath.patch \
@@ -1124,6 +1127,7 @@ dist_patch_DATA = \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/codex-acp-0.9.2-remove-patch-sections.patch \
%D%/packages/patches/codex-acp-0.9.2-replace-result-flatten.patch \
%D%/packages/patches/codex-0.98.0-remove-patch-sections.patch \
%D%/packages/patches/cogl-fix-double-free.patch \
%D%/packages/patches/collada-dom-boost.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
@@ -1539,7 +1543,6 @@ dist_patch_DATA = \
%D%/packages/patches/grfcodec-gcc-compat.patch \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-efi-fat-serial-number.patch \
%D%/packages/patches/grub-hurd64.patch \
%D%/packages/patches/grub-setup-root.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-2.2-skip-oom-test.patch \
@@ -1579,6 +1582,7 @@ dist_patch_DATA = \
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
%D%/packages/patches/gst-plugins-base-null-pointer.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
%D%/packages/patches/gzdoom-find-system-libgme.patch \
%D%/packages/patches/hare-fallback-cache.patch \
@@ -1967,7 +1971,6 @@ dist_patch_DATA = \
%D%/packages/patches/netsurf-system-utf8proc.patch \
%D%/packages/patches/netsurf-y2038-tests.patch \
%D%/packages/patches/netsurf-longer-test-timeout.patch \
%D%/packages/patches/nextpnr-imgui.patch \
%D%/packages/patches/nhc98-c-update.patch \
%D%/packages/patches/nix-dont-build-html-doc.diff \
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
@@ -2381,6 +2384,9 @@ dist_patch_DATA = \
%D%/packages/patches/rust-codex-0.98.0-core-file-lock.patch \
%D%/packages/patches/rust-codex-0.98.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.98.0-execpolicy-file-lock.patch \
%D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \
%D%/packages/patches/rust-codex-0.98.0-test-timeout.patch \
%D%/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch \
%D%/packages/patches/rust-ring-0.17-ring-core.patch \
%D%/packages/patches/rw-igraph-0.10.patch \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
+73 -77
View File
@@ -186,85 +186,83 @@ engine with a Lua scripting interface.")
(synopsis "Combined display server, multimedia framework and game engine (SDL)")))
(define-public durden
(let ((commit "43211acd7994836d5c4ba039d7ecc939dcf8a5aa")
(revision "2"))
(package
(name "durden")
(version (git-version "0.6.1" revision commit))
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(uri (git-reference
(url "https://github.com/letoram/durden")
(commit commit)))
(sha256
(base32 "1jns4lq959s8ydykm0yg9sddzh74k7fdvjrnbz3z91idb7abl92d"))
(patches (search-patches "durden-shadow-arcan.patch"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan #~'(("durden/" "share/arcan/appl/durden/")
("util/" "share/arcan/appl/durden/util/")
("distr/durden" "bin/durden"))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "distr/durden"
(("/usr/share/\\$applname")
(string-append (assoc-ref outputs "out")
"/share/arcan/appl"))
(("@ARCAN_STORE_PATH@")
(string-append (assoc-ref inputs "arcan")
"/bin/arcan"))
(("([\\([:blank:]]+)basename " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/basename "))
(("([\\([:blank:]]+)date " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/date "))
(("([\\([:blank:]]+)ln " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/ln "))
(("([\\([:blank:]]+)mkdir " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/mkdir "))
(("([\\([:blank:]]+)true; " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/true; "))
(("([\\([:blank:]]+)\\[ " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/[ "))))))))
(inputs (list arcan coreutils))
(home-page "https://durden.arcan-fe.com/")
(synopsis "Desktop Environment for Arcan")
(description
"Durden is a desktop environment for the Arcan Display Server.
It serves both as a reference showcase on how to take advantage of some of the
features in Arcan, and as an entry to the advanced-user side of the desktop
environment spectrum.")
(license (list license:bsd-3 license:expat license:cc-by3.0
license:cc-by4.0 license:asl2.0)))))
(define-public xarcan
(package
(name "xarcan")
(name "durden")
(version "0.6.3")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(uri (git-reference
(url "https://github.com/letoram/xarcan")
(url "https://codeberg.org/letoram/durden")
(commit version)))
(sha256
(base32 "1g24mmwnc45ig0x8jk0v91488k8933w07vxi4305sla56q4n82p4"))))
(base32 "1w12mdjdbhw13134fj4kv43n1z6vrh1jhg1wc7m5hw82w8ncwqkm"))
(patches (search-patches "durden-shadow-arcan.patch"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan #~'(("durden/" "share/arcan/appl/durden/")
("util/" "share/arcan/appl/durden/util/")
("distr/durden" "bin/durden"))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "distr/durden"
(("/usr/share/\\$applname")
(string-append (assoc-ref outputs "out")
"/share/arcan/appl"))
(("@ARCAN_STORE_PATH@")
(string-append (assoc-ref inputs "arcan")
"/bin/arcan"))
(("([\\([:blank:]]+)basename " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/basename "))
(("([\\([:blank:]]+)date " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/date "))
(("([\\([:blank:]]+)ln " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/ln "))
(("([\\([:blank:]]+)mkdir " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/mkdir "))
(("([\\([:blank:]]+)true; " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/true; "))
(("([\\([:blank:]]+)\\[ " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/[ "))))))))
(inputs (list arcan coreutils))
(home-page "https://durden.arcan-fe.com/")
(synopsis "Desktop Environment for Arcan")
(description
"Durden is a desktop environment for the Arcan Display Server.
It serves both as a reference showcase on how to take advantage of some of the
features in Arcan, and as an entry to the advanced-user side of the desktop
environment spectrum.")
(license (list license:bsd-3 license:expat license:cc-by3.0
license:cc-by4.0 license:asl2.0))))
(define-public xarcan
(package
(name "xarcan")
(version "0.7.1")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(uri (git-reference
(url "https://codeberg.org/letoram/xarcan")
(commit version)))
(sha256
(base32 "1jpk272y58h94ss6j87i0cl1zlfp4g5803y0kpi09q8yy37icvcg"))))
(build-system meson-build-system)
(arguments
(list
@@ -302,6 +300,7 @@ environment spectrum.")
openssl
pixman
xcb-util
xcb-util-image
xcb-util-wm
xkbcomp
xkeyboard-config
@@ -309,11 +308,8 @@ environment spectrum.")
xtrans))
(home-page "https://arcan-fe.com")
(synopsis "Patched Xserver that bridges connections to Arcan")
(description "Patched Xserver with a KDrive backend that uses the arcan-shmif
to map Xlib/Xcb/X clients to a running arcan instance. It allows running an X session
as a window under Arcan.")
(description
"Patched Xserver with a KDrive backend that uses the arcan-shmif
to map Xlib/Xcb/X clients to a running arcan instance. It allows
running an X session as a window under Arcan.")
(license (list license:bsd-3 license:expat))))
;; Package was merged into arcan in upstream.
(define-deprecated-package arcan-wayland
arcan)
+27
View File
@@ -11791,6 +11791,33 @@ can be used to control telescopes over a serial port for tracking celestial
objects.")
(license license:gpl2+)))
(define-public stiff
(package
(name "stiff")
(version "2.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/astromatic/stiff")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1iffrncag1w6nd9c6v3dlx9m79nfg6ph42i0gsvlq8pvjph7s6pa"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
#~(list "CFLAGS=-fcommon")))
(inputs
(list libtiff zlib libjpeg-turbo))
(home-page "https://www.astromatic.net/software/stiff/")
(synopsis "Convert scientific FITS images to TIFF format")
(description
"STIFF is a program that converts scientific @acronym{FITS, Flexible Image
Transport System} images to the more popular TIFF format for illustration
purposes.")
(license license:gpl3+)))
(define-public stuff
;; XXX: No version tag available in GitHub.
;; See: https://github.com/astromatic/stuff/issues/6
+43 -7
View File
@@ -2366,7 +2366,7 @@ to explore and analyze bulk RNA-seq data.")
(define-public python-cell2cell
(package
(name "python-cell2cell")
(version "0.7.4")
(version "0.8.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2375,7 +2375,7 @@ to explore and analyze bulk RNA-seq data.")
(file-name (git-file-name name version))
(sha256
(base32
"02cqc5rm0qkm0np1k7bim1w7f5qjnwf1jcm5albd9cpvfs4bwgdr"))
"0z5dcm9i74c5iaqq92y25khg7i2smrfj8jb1g26iwzwf1cqxghmn"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -2685,7 +2685,7 @@ parsing of Variant Call Format (VCF) files.")
(define-public python-decoupler
(package
(name "python-decoupler")
(version "2.1.2")
(version "2.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2694,7 +2694,7 @@ parsing of Variant Call Format (VCF) files.")
(file-name (git-file-name name version))
(sha256
(base32
"05d70zrgv8l9ihkgmr7hqcgn66yx1v1lm0hcfbc370asp97k2f74"))))
"07kpcjbnp5c00p3iw2my6k3bxfivswyxs2dljj0yhgjhxw2900av"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -7294,6 +7294,42 @@ trees (phylogenies) and characters.")
with Python.")
(license license:expat)))
(define-public deacon
(package
(name "deacon")
(version "0.14.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "deacon" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1p7q48ql67mxqi7fv0jaxbfn0js85sb2ai0h3vfvizwd1lfyldxl"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:features ''("ensure_simd/scalar"))) ; Avoid AVX2 dependency.
(native-inputs (list pkg-config))
(inputs (cons* bzip2
xz
`(,zstd "lib")
(cargo-inputs 'deacon)))
(home-page "https://github.com/bede/deacon")
(synopsis
"Accelerated DNA sequence search and [host] depletion using minimizers")
(description
"Deacon filters DNA sequences in FASTA/Q files and streams using
SIMD-accelerated minimizer comparison with query sequence(s), emitting either
matching sequences (search mode), or sequences without matches (deplete mode).
Sequences match when they share enough distinct minimizers with the indexed
query to exceed chosen absolute and relative thresholds. Query size has little
impact on filtering speed, enabling ultrafast search and depletion with gene-,
genome- and pangenome-scale queries using a laptop.")
;; Upstream suggests compiling with '-C target-cpu=native'
(properties '((tunable? . #t)))
(license license:expat)))
(define-public delly
(package
(name "delly")
@@ -20327,7 +20363,7 @@ bgzipped text file that contains a pair of genomic coordinates per line.")
(build-system pyproject-build-system)
(arguments
(list
;; tests: 107 failed, 54 passed, 8 skipped, 7 xfailed, 14 errors
;; tests: 107 failed, 54 passed, 8 skipped, 7 xfailed, 14 errors
#:tests? #f)) ;most of them need remote data
(native-inputs
(list python-biopython
@@ -25243,7 +25279,7 @@ CSIv1, CSIv2 and FAI files.")
(define-public python-gseapy
(package
(name "python-gseapy")
(version "1.0.4")
(version "1.1.12")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -25252,7 +25288,7 @@ CSIv1, CSIv2 and FAI files.")
(file-name (git-file-name name version))
(sha256
(base32
"06gh09dwwj2xr5zx8i41smy8arx2pw7rll7sk50np28z419bnyz9"))))
"0xdh2v0s2jwj5n541z9zlcq5f6ka0r8jk03jdv8z3j27hc6azf3s"))))
(build-system cargo-build-system)
(arguments
(list
+54 -43
View File
@@ -44,6 +44,7 @@
(define-module (gnu packages bootloaders)
#:use-module (gnu packages)
#:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages disk)
#:use-module (gnu packages bison)
@@ -114,13 +115,13 @@
(define*-public (make-grub platform)
(package
(name (string-append "grub-" platform))
(version "2.12")
(version "2.14")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/grub/grub-" version ".tar.xz"))
(sha256
(base32
"1ahgzvvvwdxx7rl08pv5dyqlgp76jxz0q2cflxvsdsn4yy8p7jgk"))
"0hvd8i3ib6nwymfmvd6dia6axrn4xmrlsrg2r3c3i22vadrkr3dw"))
(patches (search-patches
"grub-efi-fat-serial-number.patch"
"grub-setup-root.patch"))
@@ -148,13 +149,21 @@
;; This needs to be compiled with clang for powerpc64le.
(if #$(and=> (%current-target-system)
target-ppc64le?)
(list "TARGET_CC=powerpc64le-linux-gnu-clang")
(list "TARGET_CC=powerpc64le-linux-gnu-clang"
"CFLAGS=-Wno-error")
'())
(if #$(and (target-ppc64le? (%current-system))
(not (%current-target-system)))
(list "CC=clang")
(list "CC=clang" "CFLAGS=-Wno-error")
'()))
;; The 'configure' script detects --image-base support and uses it,
;; but that shifts the i386-pc kernel.img start address from 0x9000
;; to 0x9074, breaking grub-install. Override with -Ttext.
;; See <https://lists.gnu.org/archive/html/grub-devel/2026-01/msg00041.html>.
#:make-flags
#~(list "TARGET_IMG_BASE_LDOPT=-Wl,-Ttext")
;; GRUB fails to load modules stripped with --strip-unneeded.
#:strip-flags
#~(list "--strip-debug" "--enable-deterministic-archives")
@@ -199,14 +208,6 @@
(setenv "BUILD_FREETYPE_CFLAGS"
(string-append "-I" freetype
"/include/freetype2"))))))
#$@(if (target-hurd64?)
#~((add-after 'unpack 'apply-hurd64-patch
(lambda _
(let ((patch
#$(local-file
(search-patch "grub-hurd64.patch"))))
(invoke "patch" "--force" "-p1" "-i" patch)))))
#~())
(add-before 'check 'disable-flaky-test
(lambda _
;; This test is unreliable. For more information, see:
@@ -229,7 +230,7 @@
(("test_unset grub_func_test")
"test_unset")))))))
(inputs
(append (list gettext-minimal freetype ncurses
(append (list gettext-minimal freetype ncurses libtasn1
;; Console-setup's ckbcomp is invoked by grub-kbdcomp. It
;; is required for generating alternative keyboard layouts.
@@ -285,22 +286,6 @@
;; targets are used.
(if (member (%current-system) (package-supported-systems qemu-minimal))
(list qemu-minimal)
'())
;; XXX: When building GRUB 2.02 on 32-bit x86, we need a binutils
;; capable of assembling 64-bit instructions. However, our default
;; binutils on 32-bit x86 is not 64-bit capable.
(if (string-match "^i[3456]86-" (%current-system))
(let ((binutils (package/inherit
binutils
(name "binutils-i386")
(arguments
(substitute-keyword-arguments (package-arguments binutils)
((#:configure-flags flags ''())
#~(cons* "--enable-64-bit-bfd" #$flags)))))))
(list (make-ld-wrapper "ld-wrapper-i386"
#:binutils binutils)
binutils))
'())))
(home-page "https://www.gnu.org/software/grub/")
(synopsis "GRand Unified Boot loader")
@@ -405,7 +390,8 @@ menu to select one of the installed operating systems.")
"test_sha512sum"
"grub_cmd_tr"
"test_unset"
"file_filter_test")
"file_filter_test"
"asn1_test")
" "))))))))
(supported-systems '("i686-linux" "x86_64-linux")))))
@@ -457,22 +443,27 @@ menu to select one of the installed operating systems.")
((target-arm32?) "arm")
(else ""))))
(substitute* "tests/util/grub-shell.in"
(("OVMF-ia32\\.fd")
(("\\$\\{srcdir\\}/OVMF(32)?\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("OVMF\\.fd")
(("/usr/share/qemu/OVMF(32)?\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/qemu-efi/QEMU_EFI\\.fd")
(("\\$\\{srcdir\\}/AAVMF(32)?\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/ovmf-arm/QEMU_EFI\\.fd")
(("/usr/share/qemu-efi-aarch64/QEMU_EFI\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/AAVMF/AAVMF(32)?\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
@@ -524,19 +515,41 @@ menu to select one of the installed operating systems.")
#$@(if (or (target-x86?)
(target-arm?))
#~((replace 'patch-ovmf-path
(lambda* (#:key inputs #:allow-other-keys)
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let ((arch #$(cond ((target-x86?) "ia32")
((target-arm?) "arm")
(else ""))))
(substitute* "tests/util/grub-shell.in"
(("OVMF-ia32\\.fd")
(("\\$\\{srcdir\\}/OVMF(32)?\\.fd")
(search-input-file
inputs (string-append
"/share/firmware/ovmf_" arch ".bin")))
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/qemu/OVMF(32)?\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("\\$\\{srcdir\\}/AAVMF(32)?\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/qemu-efi-aarch64/QEMU_EFI\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/AAVMF/AAVMF(32)?\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/ovmf-arm/QEMU_EFI\\.fd")
(search-input-file
inputs (string-append
"/share/firmware/ovmf_" arch ".bin"))))))))
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin"))))))))
#~())))))
(native-inputs
(cond
@@ -560,9 +573,7 @@ menu to select one of the installed operating systems.")
(package
(inherit (make-grub "ieee1275"))
(synopsis "GRand Unified Boot loader (ieee1275 version)")
(supported-systems '("i686-linux" "x86_64-linux"
"i586-gnu" "x86_64-gnu"
"powerpc-linux" "powerpc64le-linux"))))
(supported-systems '("powerpc-linux" "powerpc64le-linux"))))
(define-public grub-qemu
(package
+13 -20
View File
@@ -532,7 +532,7 @@ Layer-4 sockets.")
(define-public cni-plugins
(package
(name "cni-plugins")
(version "1.8.0")
(version "1.9.0")
(source
(origin
(method git-fetch)
@@ -541,7 +541,7 @@ Layer-4 sockets.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0bwczkf4kbrx47sa6mnp5kyn65dbg52qnlfyjyydrwshal8rz3gw"))
(base32 "0l3jgbizq0yaxld07hsdbh6ix2w6i789101ddk0ldnsmr93jg6ni"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor")))))
@@ -549,19 +549,10 @@ Layer-4 sockets.")
(arguments
(list
#:install-source? #f
#:tests? #f ; TODO: Figure out how to run tests.
#:import-path "github.com/containernetworking/plugins"
#:phases
#~(modify-phases %standard-phases
(replace 'build
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
;; XXX: Migrate to go-build-system logic.
(invoke "./build_linux.sh"))))
(replace 'install
(lambda* (#:key import-path #:allow-other-keys)
(copy-recursively (string-append "src/"import-path "/bin")
(string-append #$output "/bin")))))))
;; XXX: Tests require root access, see test_linux.sh.
#:tests? #f
#:import-path "github.com/containernetworking/plugins/plugins/..."
#:unpack-path "github.com/containernetworking/plugins"))
(native-inputs
(list go-github-com-alexflint-go-filemutex
go-github-com-buger-jsonparser
@@ -593,7 +584,7 @@ configure network interfaces in Linux containers.")
(define-public gvisor-tap-vsock
(package
(name "gvisor-tap-vsock")
(version "0.8.7")
(version "0.8.8")
(source
(origin
(method git-fetch)
@@ -602,7 +593,7 @@ configure network interfaces in Linux containers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1p9vypphssvqfcm3y2nc7b9v0wcc2smkrqq8k60vskaiza89974k"))
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
(modules '((guix build utils)))
(snippet
#~(begin
@@ -645,7 +636,9 @@ configure network interfaces in Linux containers.")
go-github-com-containers-winquit
go-github-com-coreos-stream-metadata-go
go-github-com-dustin-go-humanize
go-github-com-foxcpp-go-mockdns
go-github-com-google-gopacket
go-github-com-inetaf-tcpproxy
go-github-com-insomniacslk-dhcp
;; go-github-com-linuxkit-virtsock ;Windows only
go-github-com-mdlayher-vsock
@@ -654,7 +647,6 @@ configure network interfaces in Linux containers.")
go-github-com-onsi-ginkgo
go-github-com-onsi-gomega
go-github-com-opencontainers-go-digest
go-github-com-pkg-errors
go-github-com-sirupsen-logrus
go-github-com-songgao-packets
go-github-com-songgao-water
@@ -664,6 +656,7 @@ configure network interfaces in Linux containers.")
go-golang-org-x-mod
go-golang-org-x-sync
go-golang-org-x-sys
go-gopkg-in-yaml-v3
go-gvisor-dev-gvisor))
(home-page "https://github.com/containers/gvisor-tap-vsock")
(synopsis "Network stack for virtualization based on gVisor")
@@ -708,7 +701,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(define-public podman
(package
(name "podman")
(version "5.8.0")
(version "5.8.1")
(outputs '("out" "docker"))
(properties
`((output-synopsis "docker" "docker alias for podman")
@@ -721,7 +714,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(url "https://github.com/containers/podman")
(commit (string-append "v" version))))
(sha256
(base32 "0vyl6d198iqrxx3c5vgbdx95fxkmn9fcb0napq44h8bzvjcl9fnj"))
(base32 "1wdsdc0nj4m1v8mn95dhavi87ad0adqmld70da59gvp2abff5f0f"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
+31 -37
View File
@@ -2763,45 +2763,39 @@ comma separated value (CSV) files.")
(license license:bsd-3))))
(define-public immer
;; Use latest commit to fix build with gcc 14.
(let ((commit "df6ef46d97e1fe81f397015b9aeb32505cef653b")
(revision "0"))
(package
(name "immer")
(version (git-version "0.8.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/arximboldi/immer")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "032rb84ahvdnc1m6sj4lflrwnk4p1f2jsq1pv03xbgizp2lr2pkx"))))
(build-system cmake-build-system)
(arguments
(list
;; -Werror appears to report false positives.
;; See <https://github.com/arximboldi/immer/issues/223>.
#:configure-flags #~'("-DDISABLE_WERROR=ON")
#:modules `((guix build cmake-build-system)
((guix build gnu-build-system) #:prefix gnu:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'check (assoc-ref gnu:%standard-phases 'check)))))
(inputs (list boost libgc c-rrb))
(native-inputs (list catch2-3 doctest fmt pkg-config))
(home-page "https://sinusoid.es/immer")
(synopsis "Immutable data structures")
(description "Immer is a library of persistent and immutable data structures
(package
(name "immer")
(version "0.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/arximboldi/immer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04ckvmi391pspqiglzgi8h57gwr8822xhlrg5qdxf5yg6scgkfj2"))))
(build-system cmake-build-system)
(arguments
(list
#:modules `((guix build cmake-build-system)
((guix build gnu-build-system) #:prefix gnu:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'check (assoc-ref gnu:%standard-phases 'check)))))
(inputs (list boost libgc c-rrb))
(native-inputs (list catch2-3 doctest fmt pkg-config))
(home-page "https://sinusoid.es/immer")
(synopsis "Immutable data structures")
(description "Immer is a library of persistent and immutable data structures
written in C++.")
(properties '((lint-hidden-cpe-vendors . ("immer_project"))))
(license license:boost1.0))))
(properties '((lint-hidden-cpe-vendors . ("immer_project"))))
(license license:boost1.0)))
(define-public zug
(package
(name "zug")
(version "0.1.1")
(version "0.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2809,7 +2803,7 @@ written in C++.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06vsbzx4ripidpb6ia7y1y8pmjk6gxzr93ilby90ahj6p2x08baf"))
(base32 "1fy6wvvlp1253lzh66zcq5sp656jxvanxf7iq8pi37ymjq5fyynh"))
(modules '((guix build utils)))
(snippet #~(delete-file-recursively "tools"))))
(build-system cmake-build-system)
@@ -2831,7 +2825,7 @@ composable sequential transformations.")
(define-public lager
(package
(name "lager")
(version "0.1.1")
(version "0.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2839,7 +2833,7 @@ composable sequential transformations.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1by9d49qnkncifyjcq16zy605d7v4ps6hvc01q5nsp1nbswm94m4"))))
(base32 "123a75qklhiyic3yaj74h4p8jav2m92x9ssjnfsdiilhycp4p764"))))
(build-system cmake-build-system)
(arguments (list #:configure-flags #~(list "-Dlager_BUILD_EXAMPLES=no")
#:modules `((guix build cmake-build-system)
+9 -5
View File
@@ -77,13 +77,10 @@ command-line environment with support for file manipulation on remote WebDAV
servers.")
(license license:gpl2+)))
;; This package isn't reproducible due to non-deterministic behaviour in a
;; procedural macros that's provided by a crate used by pimsync.
;; See https://github.com/stalwartlabs/hashify/issues/4
(define-public pimsync
(package
(name "pimsync")
(version "0.5.6")
(version "0.5.7")
(source
(origin
(method git-fetch)
@@ -92,13 +89,20 @@ servers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01qxg0mk7if96rmb0q88wgjpnv1fb8iw2dbzwlm0ars1mi3xpmr3"))))
(base32 "0x90l9k3sfnszrvmzqclykpv2py33v9jh92ps68wdd7xkrjp42ga"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'use-guix-vendored-dependencies
(lambda _
(substitute* "Cargo.toml"
(("^\\[patch.crates-io\\]")
"")
(("^hashify.*$")
"hashify = { version = \"*\" }\n"))))
(add-after 'unpack 'setup-environment
(lambda _
(setenv "PIMSYNC_VERSION"
+1 -2
View File
@@ -237,8 +237,7 @@ blurred background.")
(base32 "09vb9b0pmyhj6fh0b6by59bykszbkdayhz678pnb4pyrdmlvv1am"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils)
(srfi srfi-26))
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils)
(srfi srfi-26))
-94
View File
@@ -357,97 +357,3 @@ and white.")
and background layers of images, which can then be encoded into a DjVu file.")
(home-page "https://jwilk.net/software/didjvu")
(license license:gpl2)))
(define-public ocrodjvu
(let ((revision "0")
(commit "0dd3364462fc77d5674b4457fcc8230835323c30"))
(package
(name "ocrodjvu")
(version (git-version "0.12" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
;; Use the following fork repository, as upstream
;; doesn't seem too concerned with Python 3
;; compatibility.
(url "https://github.com/rmast/ocrodjvu")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0x64hg9ysrk8sismxb4jgk0sq7r9j90v2i9765xhmxpiy6f0lpni"))))
(build-system gnu-build-system)
(arguments
(list
#:modules '((guix build gnu-build-system)
((guix build pyproject-build-system) #:prefix python:)
(guix build utils))
#:imported-modules `(,@%default-gnu-imported-modules
,@%pyproject-build-system-modules)
#:test-target "test"
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'fix-for-python-3.11
(lambda _
(substitute* "lib/cli/ocrodjvu.py"
;; The getargspec function has been removed in python 3.11.
(("init_args, _, _, _ = inspect.getargspec\\(cls.__init__\\)")
"init_args = inspect.getfullargspec(cls.__init__).args"))))
(add-before 'check 'disable-failing-test
(lambda _
(substitute* "tests/test_ipc.py"
;; test_wait_signal gets stuck forever
(("yield self\\._test_signal, name")
"return True")
;; test_path fails to find a file it should have created
(("path = os\\.getenv\\('PATH'\\)\\.split\\(':'\\)")
"return True"))
;; Disable tests with tesseract. They can't work without
;; the language files that must downloaded by the final user
;; as they are not packaged in Guix.
(substitute* "tests/ocrodjvu/test.py"
(("engines = stdout\\.getvalue\\(\\)\\.splitlines\\(\\)")
"engines = ['ocrad']"))
(substitute* "tests/ocrodjvu/test_integration.py"
(("engines = 'tesseract', 'cuneiform', 'gocr', 'ocrad'")
"engines = 'ocrad'"))))
(replace 'install
(lambda _
(invoke "make" "install"
"DESTDIR=" (string-append "PREFIX=" #$output))))
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap-path
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (file)
(wrap-program (search-input-file outputs file)
`("PATH" ":" prefix
(,(string-append
#$(this-package-input "djvulibre") "/bin:"
#$(this-package-input "ocrad") "/bin:"
#$(this-package-input "tesseract-ocr")
"/bin")))))
'("bin/djvu2hocr"
"bin/hocr2djvused"
"bin/ocrodjvu")))))))
(native-inputs
(list (libc-utf8-locales-for-target) libxml2 python-pynose python-pillow))
(inputs
(list bash-minimal
djvulibre
ocrad
python-djvulibre
python-future
python-html5lib
python-lxml
python-pyicu
python-regex
python-wrapper
tesseract-ocr))
(synopsis "Program to perform OCR on DjVu files")
(description
"@code{ocrodjvu} is a wrapper for OCR systems, that allows you to perform
OCR on DjVu files.")
(home-page "https://jwilk.net/software/ocrodjvu")
(license license:gpl2))))
+273 -213
View File
@@ -9,6 +9,7 @@
;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
;;; Copyright © 2025-2026 Jonas Meeuws <jonas.meeuws@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -38,6 +39,7 @@
#:use-module (guix build-system copy)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@@ -54,94 +56,12 @@
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
(define-public d-tools
(package
(name "d-tools")
(version "2.105.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlang/tools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0hvz786k0pi8697x1vk9x5bx52jiy7pvi13wmfkx15ddvv0x5j33"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
(mkdir-p "bin")
(setenv "CC" #$(cc-for-target))
(setenv "LD" #$(ld-for-target))
(invoke "ldc2" "rdmd.d" "--of" "bin/rdmd")
(apply invoke "ldc2" "--of=bin/dustmite"
(find-files "DustMite" ".*\\.d"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "bin/rdmd" "rdmd_test.d" "bin/rdmd"
"--rdmd-default-compiler" "ldmd2"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/man")))
(for-each delete-file (find-files "bin" "\\.o$"))
(copy-recursively "bin" bin)
(copy-recursively "man" man)))))))
(native-inputs
(list ldc
(module-ref (resolve-interface
'(gnu packages commencement))
'ld-gold-wrapper)))
(home-page "https://github.com/dlang/tools")
(synopsis "Useful D-related tools")
(description
"@code{d-tools} provides two useful tools for the D language: @code{rdmd},
which runs D source files as scripts, and @code{dustmite}, which reduces D code
to a minimal test case.")
(license license:boost1.0)))
;; Compilers and tooling for the D programming language.
;; Note: The GNU D compiler is defined in (gnu packages gcc) instead.
(define-public gdmd
(let ((commit "ff2c97a47408fb71c18a2d453294d18808a97cc5")
(revision "1"))
(package
(name "gdmd")
(version (git-version "0.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/D-Programming-GDC/gdmd")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0pd70clk70069xcjysaas7zszzmigrcw1zl2xxv8kzdg7y7xrzvm"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("dmd-script" "bin/gdmd")
("dmd-script.1" "share/man/man1/gdmd.1"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-gdc-location
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "dmd-script"
(("my \\$gdc_dir.*")
(string-append "my $gdc_dir = \""
(dirname (search-input-file inputs "/bin/gdc"))
"\";\n"))))))))
(inputs (list gdc perl))
(home-page "https://github.com/D-Programming-GDC/gdmd")
(synopsis "DMD-like wrapper for GDC")
(description "This package provides a DMD-like wrapper for the
@acronym{GNU D Compiler,GDC}.")
(license license:gpl3+))))
;; LLVM-based D compiler
;; We use GDC, the D frontend for GCC, to bootstrap ldc. We then use
;; ldc to bootstrap itself so that no reference remains to GDC.
@@ -409,8 +329,12 @@ integration tests...\n")
(properties
(alist-delete 'hidden? (package-properties ldc-bootstrap)))))
;;; Bootstrap version of phobos that is built with GDC, using GDC's standard
;;; library.
;; Reference D compiler
;; Note: Has limited supported-systems.
;; DMD built with GDC as the bootstrap D compiler (via the gdmd wrapper).
;; Shared libraries are not built, tests are disabled.
(define-public dmd-bootstrap
(package
;; This package is purposefully named just "dmd" and not "dmd-bootstrap",
@@ -418,16 +342,16 @@ integration tests...\n")
;; and their names must have the same length to avoid corrupting the
;; binary.
(name "dmd")
(version "2.106.1")
(version "2.111.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlang/dmd")
(commit (string-append "v" version))))
(url "https://github.com/dlang/dmd")
(commit (string-append "v" version))))
(file-name (git-file-name "dmd" version))
(sha256
(base32
"1bq4jws1vns2jjzfz7biyngrx9y5pvvgklymhrvb5kvbzky1ldmy"))))
"0cz5qdd1j89w2s7nzw9ahzwsqiraidg4ajy7syy7qkk7mwcyrf6r"))))
(build-system gnu-build-system)
(arguments
(list
@@ -436,111 +360,191 @@ integration tests...\n")
;; Disable tests, as gdmd cannot cope with some arguments used such as
;; '-conf'.
#:tests? #f
#:out-of-source? #t
#:test-target "test"
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
;; XXX: Proceed despite conflicts from symbols provided by both
;; the source built and GDC.
"DFLAGS=-L--allow-multiple-definition"
"ENABLE_RELEASE=1"
(string-append "HOST_CXX=" #$(cxx-for-target))
"HOST_DMD=gdmd"
(string-append "INSTALL_DIR=" #$output)
(string-append "SYSCONFDIR=" #$output "/etc")
"ENABLE_RELEASE=1"
;; Do not build the shared libphobos2.so library, to avoid
;; retaining a reference to gcc:lib.
"SHARED=0"
(string-append "SYSCONFDIR=" #$output "/etc")
"VERBOSE=1"
"-f" "posix.mak")
"VERBOSE=1")
#:modules
`(,@%default-gnu-modules
(srfi srfi-1)
(srfi srfi-26))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-phobos-source-and-chdir
;; Start with building phobos, which in turns will automatically
;; build druntime and dmd. A minimal dmd command is still
;; required to do so, which is why we need dmd-bootstrap-0.
(lambda _
(symlink "." "dmd") ;to please the build system expected layout
(copy-recursively
#$(this-package-native-input (git-file-name "phobos" version))
"phobos")
(chdir "phobos")))
(add-after 'copy-phobos-source-and-chdir 'adjust-phobos-install-dirs
(lambda _
(substitute* "posix.mak"
;; Install to lib directory, not to e.g. 'linux/lib64'.
(("\\$\\(INSTALL_DIR)/\\$\\(OS)/\\$\\(lib_dir)")
(string-append #$output "/lib"))
;; Do not install license file, already done by the gnu build
;; system.
((".*\\$\\(INSTALL_DIR)/phobos-LICENSE.txt.*") ""))))
(delete 'configure)
(add-after 'install 'install-druntime
(lambda args
(chdir "../druntime")
(apply (assoc-ref %standard-phases 'install) args)
(chdir "..")))
(add-after 'install-druntime 'install-includes
(lambda _
;; Normalize the include files prefix to include/dmd.
(let ((include-dir (string-append #$output "/include/dmd")))
(mkdir-p include-dir)
(rename-file (string-append #$output "/src/phobos")
(string-append include-dir))
(copy-recursively "druntime/import" include-dir))
(delete-file-recursively (string-append #$output "/src"))))
(add-after 'install-druntime 'install-dmd
(assoc-ref %standard-phases 'install))
(add-after 'install-license-files 'refine-install-layout
(lambda _
(let* ((docdir (string-append #$output "/share/doc/"
(strip-store-file-name #$output)))
;; The dmd binary gets installed to
;; e.g. /linux/bin64/dmd.
(dmd (car (find-files #$output "^dmd$")))
(dmd.conf (car (find-files #$output "^dmd.conf$")))
(os-dir (dirname (dirname dmd))))
;; Move samples from root to the doc directory.
(rename-file (string-append #$output "/samples")
(string-append docdir "/samples"))
;; Remove duplicate license file.
(delete-file (string-append #$output
"/dmd-boostlicense.txt"))
;; Move dmd binary and dmd.conf.
(install-file dmd (string-append #$output "/bin"))
(install-file dmd.conf (string-append #$output "/etc"))
(delete-file-recursively os-dir))))
(add-after 'refine-install-layout 'patch-dmd.conf
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (search-input-file outputs "etc/dmd.conf")
(("lib(32|64)")
"lib")
(("\\.\\./src/(phobos|druntime/import)")
"include/dmd")))))))
(native-inputs (list gdmd which
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlang/phobos")
(commit (string-append "v" version))))
(file-name (git-file-name "phobos" version))
(sha256
(base32
"1yw7nb5d78cx9m7sfibv7rfc7wj3w0dw9mfk3d269qpfpnwzs4n9")))))
(home-page "https://github.com/dlang/dmd")
#~(let* ((phase-in-sub-dir (lambda (phase sub-dir)
(lambda args
(with-directory-excursion sub-dir
(apply
(assoc-ref %standard-phases phase)
args)))))
(target-bin-sh (string-append
#$(this-package-input "bash-minimal")
"/bin/sh")))
(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(let ((dmd-source source)
(phobos-source #$(this-package-native-input
(git-file-name "phobos" version))))
(mkdir "source")
(chdir "source")
(copy-recursively dmd-source "dmd" #:keep-mtime? #t)
(copy-recursively phobos-source "phobos" #:keep-mtime? #t)
(for-each (lambda (f)
(false-if-exception (make-file-writable f)))
(find-files ".")))))
(add-after 'unpack 'patch-git-ls-tree
;; The druntime Makefile tries to use git ls-tree to get all
;; source files in dmd/druntime/. We replace the command with a
;; listing of those files.
(lambda _
(with-directory-excursion "dmd/druntime"
(substitute* "Makefile"
(("^MANIFEST *:*=.*$")
(string-append "MANIFEST := "
(string-join (map (cut string-drop <> 2)
(find-files "./")))
"\n"))))))
(add-after 'unpack 'patch-paths-in-phobos
(lambda _
(with-directory-excursion "phobos"
;; (substitute* "std/datetime/timezone.d"
;; (("\"/usr/share/zoneinfo/\"")
;; (format #f "~s" target-zoneinfo)))
;; (substitute* "std/net/curl.d"
;; (("\"libcurl\\.so\"")
;; (format #f "~s" target-lib-curl)))
(substitute* "std/process.d"
(("return \"/bin/sh\";")
(format #f "return ~s;" target-bin-sh))
(("#!/bin/sh")
(string-append "#!" target-bin-sh))))))
(add-after 'unpack 'patch-tests
(lambda _
;; Since the implementation of SOURCE_DATE_EPOCH support in
;; Ddoc, this test fails, as it expects Ddoc timestamps to
;; match the output of the `date` command.
;; XXX: Report upstream.
(substitute* (string-append
"dmd/compiler/test/compilable"
"/extra-files/ddocYear-postscript.sh")
(("^YEAR=.*$") "YEAR=1970\n"))
;; This test creates a shell script and runs it.
(substitute* "dmd/compiler/test/dshell/test6952.d"
(("/usr/bin/env bash") target-bin-sh))
;; In the sarif json output, the compiler version string ends
;; with a raw newline for some reason, causing these tests to
;; fail.
(for-each
delete-file
'("dmd/compiler/test/compilable/sarif_success_test.d"
"dmd/compiler/test/fail_compilation/sarif_test.d"
"dmd/compiler/test/fail_compilation/sarifmultiple_test.d"))
;; Locations in stack traces are broken for some reason,
;; causing these tests to fail.
;; XXX: Report upstream.
(for-each
delete-file
'("dmd/compiler/test/runnable/test17559.d"
"dmd/compiler/test/runnable/test19086.d"))
(substitute* "dmd/druntime/test/exceptions/Makefile"
(((string-append "line_trace line_trace_21656 "
"long_backtrace_trunc rt_trap_exceptions "))
""))
(substitute* "dmd/druntime/test/gc/Makefile"
((" invariant ") " "))))
(delete 'bootstrap)
(delete 'configure)
(replace 'build
(phase-in-sub-dir 'build "dmd"))
(add-after 'build 'build-phobos
(phase-in-sub-dir 'build "phobos"))
(replace 'check
(phase-in-sub-dir 'check "dmd"))
(add-after 'check 'check-phobos
(phase-in-sub-dir 'check "phobos"))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((platform (cond (#$(target-linux?) "linux")))
(bits (if #$(target-64bit?) 64 32))
(build-sub-dir (format #f "generated/~a/release/~a"
platform bits))
(out (assoc-ref outputs "out"))
(lib (assoc-ref outputs "lib"))
(out-bin (string-append out "/bin"))
(out-etc (string-append out "/etc"))
(out-include (string-append out "/include/d/dmd"))
(out-lib (string-append out "/lib"))
(lib-lib (string-append lib "/lib"))
(out-man (string-append out "/share/man")))
(with-directory-excursion "dmd"
(with-directory-excursion build-sub-dir
(install-file "dmd" out-bin)
(install-file "libdruntime.a" out-lib)
(for-each (cut install-file <> lib-lib)
(find-files "." "^libdruntime\\.so[.0-9]*$")))
(copy-recursively "druntime/import" out-include)
(copy-recursively "compiler/docs/man" out-man))
(with-directory-excursion "phobos"
(with-directory-excursion build-sub-dir
(install-file "libphobos2.a" out-lib)
(for-each (cut install-file <> lib-lib)
(find-files "." "^libphobos2\\.so[.0-9]*$")))
(copy-recursively "etc" (string-append out-include "/etc"))
(copy-recursively "std" (string-append out-include "/std")))
(mkdir-p out-etc)
(with-output-to-file (string-append out-etc "/dmd.conf")
(lambda _
(format #t "[Environment]\n")
(format #t "DFLAGS=")
(format #t " -I~a" out-include)
(format #t " -L-L~a" out-lib)
(format #t " -L-L~a" lib-lib)
(format #t " -L--export-dynamic")
(format #t " -fPIC")
(format #t "\n"))))))
(replace 'install-license-files
;; Phobos license is identical.
(phase-in-sub-dir 'install-license-files "dmd"))))))
(inputs
(list bash-minimal))
(native-inputs
(list gdmd which
gdb/pinned ; for tests
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlang/phobos")
(commit (string-append "v" version))))
(file-name (git-file-name "phobos" version))
(sha256
(base32
"1ydls3ar6d3f7ffqvidr46x3zrz3wlzjln5qa0nbz843ndjr4g7n")))))
(outputs '("out" "lib" "debug"))
(synopsis "Reference D Programming Language compiler")
(description "@acronym{DMD, Digital Mars D compiler} is the reference
compiler for the D programming language.")
(license license:boost1.0)
(home-page "https://github.com/dlang/dmd")
;; As reported by upstream:
;; https://wiki.dlang.org/Compilers#Comparison
(supported-systems '("i686-linux" "x86_64-linux"))
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
;; This variant exists only for bootstrapping purposes.
(properties '((hidden? . #t)))
(properties '((hidden? . #t)))))
(license license:boost1.0)))
;;; Second bootstrap of DMD, built using dmd-bootstrap, with its shared
;;; libraries preserved.
;; DMD built with dmd-bootstrap as the bootstrap D compiler.
;; Shared libraries are built now, tests are no longer disabled.
(define-public dmd
(package
(inherit dmd-bootstrap)
@@ -549,41 +553,37 @@ compiler for the D programming language.")
(strip-keyword-arguments
'(#:tests?) ;reinstate tests
(package-arguments dmd-bootstrap))
((#:disallowed-references _ ''())
((#:disallowed-references _ ''())
(list dmd-bootstrap))
((#:modules _ ''())
'((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))) ;for fold
((#:make-flags flags ''())
#~(fold delete #$flags '("DFLAGS=-L--allow-multiple-definition"
"HOST_DMD=gdmd"
#~(fold delete #$flags '("HOST_DMD=gdmd"
"SHARED=0")))
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
(add-after 'patch-dmd.conf 'rewrite-references-to-bootstrap
;; DMD keeps references to include files used to build a
;; binary. Rewrite those of dmd-bootstrap to itself, to reduce
;; its closure size.
(lambda* (#:key native-inputs inputs outputs
#:allow-other-keys)
(let ((dmd (search-input-file outputs "bin/dmd"))
(dmd-bootstrap (dirname
(dirname
(search-input-file
(or native-inputs inputs)
"bin/dmd")))))
;; XXX: Use sed, as replace-store-references wouldn't
;; replace the references, while substitute* throws an
;; error.
(add-after 'install 'rewrite-references-to-bootstrap
;; D compilers can keep references to the include files used to
;; build a binary in exception messages. For dmd, rewrite the
;; references to dmd-bootstrap to itself, to reduce its closure
;; size.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((in-dmd-bootstrap #$(this-package-native-input "dmd"))
(out (assoc-ref outputs "out"))
(out-bin-dmd (string-append out "/bin/dmd")))
;; XXX: Use sed, as replace-store-references wouldn't replace
;; the references, while substitute* throws an error.
(invoke "sed" "-i"
(format #f "s,~a,~a,g" dmd-bootstrap #$output)
dmd))))))))
(native-inputs (modify-inputs (package-native-inputs dmd-bootstrap)
(replace "gdmd" dmd-bootstrap)))
(format #f "s,~a,~a,g" in-dmd-bootstrap out)
out-bin-dmd))))))))
(native-inputs
(modify-inputs (package-native-inputs dmd-bootstrap)
(delete "gdmd")
(append dmd-bootstrap)))
(properties
(alist-delete 'hidden? (package-properties dmd-bootstrap)))))
;; D related tools
(define-public dub
(package
(name "dub")
@@ -634,6 +634,66 @@ while providing the opportunity to customize things when
needed.")
(license license:expat)))
(define-public d-tools
(package
(name "d-tools")
(version "2.105.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlang/tools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0hvz786k0pi8697x1vk9x5bx52jiy7pvi13wmfkx15ddvv0x5j33"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
;; Skip broken make ONESHELL shell test.
(substitute* "rdmd_test.d"
(("makeVersion = .*$") "makeVersion = \"skip\";"))))
(delete 'configure)
(replace 'build
(lambda _
(mkdir-p "bin")
(setenv "CC" #$(cc-for-target))
(setenv "LD" #$(ld-for-target))
(invoke "ldc2" "rdmd.d" "--of" "bin/rdmd")
(apply invoke "ldc2" "--of=bin/dustmite"
(find-files "DustMite" ".*\\.d"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "bin/rdmd" "rdmd_test.d" "bin/rdmd"
"--rdmd-default-compiler" "ldmd2"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/man")))
(for-each delete-file (find-files "bin" "\\.o$"))
(copy-recursively "bin" bin)
(copy-recursively "man" man)))))))
(native-inputs
(list ldc
(module-ref (resolve-interface
'(gnu packages commencement))
'ld-gold-wrapper)))
(home-page "https://github.com/dlang/tools")
(synopsis "Useful D-related tools")
(description
"@code{d-tools} provides two useful tools for the D language: @code{rdmd},
which runs D source files as scripts, and @code{dustmite}, which reduces D code
to a minimal test case.")
(license license:boost1.0)))
;; D libraries
(define-public gtkd
(package
(name "gtkd")
@@ -686,8 +746,8 @@ needed.")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lievenhey/d_demangler")
(commit (string-append "version-" version))))
(url "https://github.com/lievenhey/d_demangler")
(commit (string-append "version-" version))))
(file-name (git-file-name name version))
(sha256
(base32
@@ -705,8 +765,8 @@ needed.")
(install-file "libd_demangle.so"
(string-append #$output "/lib")))))))
(native-inputs (list dmd))
(home-page "https://github.com/lievenhey/d_demangler")
(synopsis "Utility to demangle D symbols")
(description "@command{d_demangle} is a small utility that can be used to
demangle D symbols. A shared library is also provided.")
(license license:gpl3+)))
(synopsis "D symbol demangling library")
(description "@code{libd_demangle.so} is a small shared library that can be used to
demangle D symbols. It exposes a C interface that wraps D's @code{std.demangle}.")
(license license:gpl3+)
(home-page "https://github.com/lievenhey/d_demangler")))
+191 -253
View File
@@ -76,11 +76,11 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages engineering)
#:use-module (gnu packages embedded)
#:use-module (gnu packages engineering)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
@@ -99,31 +99,31 @@
#:use-module (gnu packages libedit)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages logging)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages logging)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages maths)
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages regex)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages regex)
#:use-module (gnu packages ruby)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
@@ -132,16 +132,16 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages stb)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages toolkits)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml))
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define delkw (@@ (guix utils) delkw))
@@ -281,7 +281,7 @@ formal verification. This is the Yosyshq fork of ABC.")
(define-public apycula
(package
(name "apycula")
(version "0.28")
(version "0.31")
;; The pypi tar.gz file includes the necessary .pickle files, not available
;; in the home-page repository.
(source
@@ -289,11 +289,24 @@ formal verification. This is the Yosyshq fork of ABC.")
(method url-fetch)
(uri (pypi-uri "apycula" version))
(sha256
(base32 "0llwcz4fji4sbdajlr43spf3mgdaw42rm15va1l9zb8314fn7wq1"))))
(base32 "0pf43cd071kv5ann78hl5qrcj9vhndr46ds2g12sgnfjfvh6pfpg"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ;requires Gowin EDA tools
(inputs (list python-crc))
(native-inputs (list python-setuptools))
(arguments
(list #:tests? #f ;requires Gowin EDA tools
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-setup
(lambda _
;; Acceptable, but degraded performance.
(substitute* "setup.py"
((".*fastcrc.*") ""))))))) ;TODO: Package python-fastcrc
(propagated-inputs
(list python-cattrs
python-crcmod
python-numpy
python-msgpack
python-msgspec))
(native-inputs (list python-setuptools python-setuptools-scm))
(home-page "https://github.com/YosysHQ/apicula/")
(synopsis "Gowin FPGA bitstream format")
(description
@@ -797,71 +810,10 @@ iCE40 FPGAs and providing simple tools for analyzing and creating bitstream
files.")
(license license:isc)))
(define-public json-for-vhdl
;; No tagged releases.
(let ((commit "0dc9e317440263cd4941f157f5e5668baa858ec2")
(revision "0"))
(package
(name "json-for-vhdl")
(version (git-version "20220905" revision commit)) ;last revision
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Paebbels/JSON-for-VHDL/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1062g2c3dpsb67zhqrn1j04p7jl28g4mcxd6nhrqqfffjsvxkpw9"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("src" "share/json-for-vhdl/work/src"
#:include ("vhdl")))
#:phases
#~(modify-phases %standard-phases
;; The examples/Encodings_VUnit test requires vhdl builtins.
(add-after 'unpack 'fix-check
(lambda _
(substitute* "tests/VUnit/run.py"
(("from_argv\\(\\)")
"from_argv()\nvu.add_vhdl_builtins()")))))))
(native-search-paths
(list (search-path-specification
(variable "FW_JSON_VHDL")
(separator #f)
(files (list "share/json-for-vhdl")))))
(home-page "https://github.com/Paebbels/JSON-for-VHDL/")
(synopsis "Parse and query JSON data structures in VHDL")
(description
"The JSON-for-VHDL library provides a parser to query JSON data
structures from external files on disk. It provides a context to be
used in the declarative section of design units.")
(license license:asl2.0))))
;;; Required by python-vunit.
(define json-for-vhdl-for-vunit
(let ((commit "95e848b8902c6b4275d715462e1a2cc60706917c") ;sync with vunit
(revision "0"))
(package
(inherit json-for-vhdl)
(name "json-for-vhdl-for-vunit")
(version (git-version "20220106" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Paebbels/JSON-for-VHDL/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1c106hm0sfnzdi5j9vaacjlz7i5m1dm75j7lrgcdsa4siw5ac7k3")))))))
(define-public klayout
(package
(name "klayout")
(version "0.30.6") ;keep in sync with python-klayout
(version "0.30.7")
(source
(origin (method git-fetch)
(uri (git-reference
@@ -870,7 +822,7 @@ used in the declarative section of design units.")
(file-name (git-file-name name version))
(sha256
(base32
"0p4achjlynhg5wc0zmxkzljx115l7vcg3mp3f8i8pjydv8visnh4"))))
"0xyrn9vhx871vm141hgsb9qrdim51vfk2mw8hcqyam1ixkbz5jjv"))))
(build-system copy-build-system)
(arguments
(list
@@ -1062,7 +1014,7 @@ an embedded event driven algorithm.")
(define-public librelane
(package
(name "librelane")
(version "3.0.0rc0")
(version "3.0.0rc1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1071,7 +1023,7 @@ an embedded event driven algorithm.")
(file-name (git-file-name name version))
(sha256
(base32
"1hi4ppdwl1zh7yw1ncy1jrqc6za4mz243mqvfjr7mcdm349pyvb0"))))
"1593qrpsczdlml5cqqrx51fvlpxr9k85l2aba2dj0fv7gink4hx0"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1126,7 +1078,7 @@ an embedded event driven algorithm.")
python-rapidfuzz
python-rich
python-semver
python-yamlcore-0.0.2
python-yamlcore
ruby
verilator
yosys))
@@ -1356,7 +1308,6 @@ management with library, schematic and board editors.")
libparse, enabling dotlib file parsing.")
(license license:asl2.0)))
(define-public libpsf
;; There are no release nor tags.
(let ((commit "001dc734e01725e739847c8cde6480a0cf35a082")
@@ -1715,143 +1666,145 @@ circuits. This is commonly used as a part of toolchains in a process called
@acronym{LVS, layout versus schematic} with the intent to verify that the
layout of a circuit corresponds to the desired netlists.")
(license license:gpl1)))
(define-public nextpnr
(let ((commit "d8117e3cadaa4f4db606b64a465b7638b05dac68")
(revision "1"))
(package
(name "nextpnr")
(version (git-version "0.9" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/YosysHQ/nextpnr/")
(commit commit)
;; XXX: Fetch some bundled libraries such as QtPropertyBrowser,
;; json11 and python-console, which have custom modifications or
;; no longer have their original upstream.
(recursive? #t)))
(file-name (git-file-name name version))
(snippet
#~(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-26))
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "3rdparty"
;; The following sources have all been patched, so
;; cannot easily be unbundled.
"QtPropertyBrowser"
"json11"
"python-console"
"oourafft")))
(patches (search-patches "nextpnr-imgui.patch"))
(sha256
(base32 "0668adviwh8n9c5xy7k3qiyfn77rrzd79b403i3m19hhy8vq907p"))))
(outputs '("out" "bba"))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase ;for Qt 6
#:configure-flags
#~(list "-DARCH=generic;ice40;ecp5;himbaechel"
"-DBUILD_GUI=ON"
"-DUSE_OPENMP=ON"
"-DBUILD_TESTS=ON"
"-DHIMBAECHEL_UARCH=ng-ultra;gowin;gatemate"
"-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra"
"-DHIMBAECHEL_SPLIT=ON"
(string-append "-DHIMBAECHEL_PRJBEYOND_DB="
(search-input-directory
%build-inputs "share/prjbeyond-db"))
(string-append "-DHIMBAECHEL_PEPPERCORN_PATH="
(search-input-directory
%build-inputs "share/prjpeppercorn"))
(string-append
"-DEXPORT_BBA_FILES=" #$output:bba "/share/nextpnr/bba-files")
(string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version)
(string-append "-DICESTORM_INSTALL_PREFIX="
#$(this-package-native-input "icestorm"))
(string-append "-DTRELLIS_INSTALL_PREFIX="
#$(this-package-native-input "prjtrellis")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'unbundle-googletest
(lambda _
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(3rdparty\\/googletest.*")
(string-append "find_package(GTest)\n"
"add_library(gtest_main ALIAS "
"GTest::gtest_main)\n"))
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/googletest.*")
(string-append
#$(this-package-native-input "googletest") "/include)")))))
(add-after 'unpack 'unbundle-sanitizers-cmake
(lambda _
(substitute* "CMakeLists.txt"
;; Use the system sanitizers-cmake module. This is made
;; necessary 'sanitizers-cmake' installing a FindPackage
;; module but no CMake config file.
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake")
(string-append
#$(this-package-native-input "sanitizers-cmake")
"/share/sanitizers-cmake/cmake")))))
(add-after 'install 'run-tests
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "PATH"
(string-append #$output "/bin:" (getenv "PATH")))
;; ice40
(invoke "./nextpnr-ice40-test")
(chdir "../source")
(setenv "NEXTPNR" "nextpnr-ice40")
(with-directory-excursion "ice40/smoketest/attosoc"
(invoke "./smoketest.sh"))
(with-directory-excursion "tests/ice40/regressions"
(invoke "make" (string-append
"NPNR=" #$output "/bin/nextpnr-ice40")))
;; generic
(setenv "NPNR" "nextpnr-generic")
(invoke "nextpnr-generic" "--uarch" "example" "--test")
(with-directory-excursion "tests/generic/flow/bel-pin"
(invoke "./run.sh"))
;; ecp5
(invoke "nextpnr-ecp5"
"--um5g-25k" "--package" "CABGA381" "--test")
(with-directory-excursion "tests/ecp5/regressions"
(invoke "make"
(string-append
"NPNR=" #$output "/bin/nextpnr-ecp5")))))))))
(native-inputs
(list apycula
googletest
icestorm
iverilog
gzip
prjbeyond-db
`(,prjpeppercorn "db")
prjtrellis
python-minimal-wrapper
sanitizers-cmake
yosys))
(inputs
(list boost
eigen
pybind11-2
qtimgui))
(synopsis
"Place-and-Route tool for @acronym{FPGA, Field Programmable Gate Array}")
(description "@code{nextpnr} is an @acronym{EDA, Electronic Design
(package
(name "nextpnr")
(version "0.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/YosysHQ/nextpnr/")
(commit (string-append "nextpnr-" version))
;; XXX: Fetch some bundled libraries such as QtPropertyBrowser,
;; json11 and python-console, which have custom modifications or
;; no longer have their original upstream.
(recursive? #t)))
(file-name (git-file-name name version))
(snippet
#~(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-26))
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "3rdparty"
;; The following sources have all been patched, so
;; cannot easily be unbundled.
"QtPropertyBrowser"
"json11"
"python-console"
"oourafft"
"imgui"
"qtimgui")))
(sha256
(base32 "01iwavnnz9pik49mw8z83529grvaa45pvihivmnfzhq1z49cg0c2"))))
(outputs '("out" "bba"))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase ;for Qt 6
#:configure-flags
#~(list "-DARCH=generic;ice40;ecp5;himbaechel"
"-DBUILD_GUI=ON"
"-DUSE_OPENMP=ON"
"-DBUILD_TESTS=ON"
"-DHIMBAECHEL_UARCH=ng-ultra;gowin;gatemate"
"-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra"
"-DHIMBAECHEL_SPLIT=ON"
(string-append "-DHIMBAECHEL_PRJBEYOND_DB="
(search-input-directory
%build-inputs "share/prjbeyond-db"))
(string-append "-DHIMBAECHEL_PEPPERCORN_PATH="
(search-input-directory
%build-inputs "share/prjpeppercorn"))
(string-append
"-DEXPORT_BBA_FILES=" #$output:bba "/share/nextpnr/bba-files")
(string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version)
(string-append "-DICESTORM_INSTALL_PREFIX="
#$(this-package-native-input "icestorm"))
(string-append "-DTRELLIS_INSTALL_PREFIX="
#$(this-package-native-input "prjtrellis")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-test
(lambda _
(substitute* "himbaechel/uarch/gatemate/tests/lut.cc"
(("9LU") "8LU"))))
(add-after 'unpack 'unbundle-googletest
(lambda _
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(3rdparty\\/googletest.*")
(string-append "find_package(GTest)\n"
"add_library(gtest_main ALIAS "
"GTest::gtest_main)\n"))
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/googletest.*")
(string-append
#$(this-package-native-input "googletest") "/include)")))))
(add-after 'unpack 'unbundle-sanitizers-cmake
(lambda _
(substitute* "CMakeLists.txt"
;; Use the system sanitizers-cmake module. This is made
;; necessary 'sanitizers-cmake' installing a FindPackage
;; module but no CMake config file.
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake")
(string-append
#$(this-package-native-input "sanitizers-cmake")
"/share/sanitizers-cmake/cmake")))))
(add-after 'install 'run-tests
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "PATH"
(string-append #$output "/bin:" (getenv "PATH")))
;; ice40
(invoke "./nextpnr-ice40-test")
(chdir "../source")
(setenv "NEXTPNR" "nextpnr-ice40")
(with-directory-excursion "ice40/smoketest/attosoc"
(invoke "./smoketest.sh"))
(with-directory-excursion "tests/ice40/regressions"
(invoke "make" (string-append
"NPNR=" #$output "/bin/nextpnr-ice40")))
;; generic
(setenv "NPNR" "nextpnr-generic")
(invoke "nextpnr-generic" "--uarch" "example" "--test")
(with-directory-excursion "tests/generic/flow/bel-pin"
(invoke "./run.sh"))
;; ecp5
(invoke "nextpnr-ecp5"
"--um5g-25k" "--package" "CABGA381" "--test")
(with-directory-excursion "tests/ecp5/regressions"
(invoke "make"
(string-append
"NPNR=" #$output "/bin/nextpnr-ecp5")))))))))
(native-inputs
(list apycula
googletest
icestorm
iverilog
gzip
prjbeyond-db
`(,prjpeppercorn "db")
prjtrellis
python-minimal-wrapper
sanitizers-cmake
yosys))
(inputs
(list boost
eigen
pybind11))
(synopsis
"Place-and-Route tool for @acronym{FPGA, Field Programmable Gate Array}")
(description "@code{nextpnr} is an @acronym{EDA, Electronic Design
Automation}, portable and vendor neutral FPGA place and route tool.")
(home-page "https://github.com/YosysHQ/nextpnr/")
(license license:isc))))
(home-page "https://github.com/YosysHQ/nextpnr/")
(license license:isc)))
(define-public nextpnr-cli
(package
@@ -1864,9 +1817,6 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(substitute-keyword-arguments (package-arguments nextpnr)
((#:configure-flags flags '())
#~(delete! "-DBUILD_GUI=ON" #$flags)))))
(inputs
(modify-inputs (package-inputs nextpnr)
(delete "qtimgui")))
(synopsis
(string-append (package-synopsis nextpnr) " Cli only version."))))
@@ -1895,7 +1845,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(define-public nvc
(package
(name "nvc")
(version "1.19.2")
(version "1.19.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1904,7 +1854,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(file-name (git-file-name name version))
(sha256
(base32
"1wcniiphnzk81y9p093v6zqq9vd7qhw08639svacwmhd8a67yr6b"))))
"1zizz2dafm53lzpjayy6vig5pz5ri9cszdivg0jzzh8s3ggkpy1i"))))
(build-system gnu-build-system)
(arguments
(list #:out-of-source? #t
@@ -2105,7 +2055,7 @@ chip database for NG-Ultra architecture from NanoXplore.")
(define-public prjpeppercorn
(package
(name "prjpeppercorn")
(version "1.9")
(version "1.12")
(source
(origin
(method git-fetch)
@@ -2114,7 +2064,7 @@ chip database for NG-Ultra architecture from NanoXplore.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1z0kzkdham3pwh4fj03yyv9bla5v08mbv0ysbyq1snxr8cdabm8y"))))
(base32 "15qv7a0lpl671jlpafs9is0x0vms6i7jbkhp4l723lnr9kafqgm7"))))
(outputs (list "out"
"db")) ;FPGA database files
(build-system cmake-build-system)
@@ -2140,7 +2090,7 @@ chip database for NG-Ultra architecture from NanoXplore.")
(copy-recursively "tools"
(string-append datadir "/tools"))))))))
(inputs
(list boost-1.88))
(list boost))
(synopsis "GateMate FPGAs bitstream tools")
(description
"@code{Prjpeppercorn} includes programming tools for GateMate
@@ -2188,7 +2138,7 @@ architecture from Cologne Chip. It also provides data needed to produce a
(lambda _
(chdir "libtrellis"))))))
(native-inputs (list python-minimal-wrapper))
(inputs (list openocd boost-1.88 pybind11-2))
(inputs (list openocd boost pybind11))
(synopsis "Placement and routing for ECP5 FPGAs")
(description
"Project Trellis is a Nextpnr backend compatible with ECP5 FPGAs.
@@ -2601,16 +2551,8 @@ for @acronym{EDA, elecronic design automation} and chip design.")))
(define-public python-klayout
(package
(name "python-klayout")
(version "0.30.6") ;keep in sync with klayout
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/klayout/klayout")
(commit (string-append "v" version))))
(sha256
(base32 "0p4achjlynhg5wc0zmxkzljx115l7vcg3mp3f8i8pjydv8visnh4"))
(file-name (git-file-name name version))))
(version (package-version klayout))
(source (package-source klayout))
(build-system pyproject-build-system)
(arguments
(list
@@ -3358,7 +3300,7 @@ to enforce it.")
(define-public python-vunit
(package
(name "python-vunit")
(version "5.0.0-dev.8") ;v4.7.0 dates back from 2 years ago.
(version "5.0.0-dev.9") ;v4.7.0 dates back from 2 years ago.
(source
(origin
(method git-fetch)
@@ -3367,7 +3309,7 @@ to enforce it.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0a1bz5jh28i59x63fkgqf333jb68bm2hjicg2zlahzyydr4y1wji"))))
(base32 "1j9rvlshzi4mdy7wah1j8ri63drkjb47xly22q40wvl2xp2ghqgs"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3377,35 +3319,31 @@ to enforce it.")
(srfi srfi-26))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-ghdl-jit
(add-after 'unpack 'fix-ghdl-version
(lambda _
;; TODO: Remove when fixed upstream (see:
;; https://github.com/VUnit/vunit/pull/1121).
(substitute* "vunit/sim_if/ghdl.py"
((": \"llvm\",")
(string-append
": \"llvm\",\n\tr\"static elaboration, LLVM JIT code "
"generator\": \"llvm-jit\",")))))
;; Guix uses ghdl 6.0.0.
(substitute* "tests/unit/test_ghdl_interface.py"
(("GHDL 5\\.0\\.1") "GHDL 6.0.0")
(("GNAT Version: 14\\.2\\.0") "GNAT Version: 15.2.0"))))
(add-after 'install 'unbundle
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((site-packages
(string-append (site-packages inputs outputs)
"/vunit/vhdl/")))
(mkdir-p (string-append site-packages "JSON-for-VHDL"))
(symlink
(search-input-directory inputs "share/json-for-vhdl/work/src")
(string-append site-packages "JSON-for-VHDL/src"))
(symlink
(search-input-directory inputs "share/osvvm/work/osvvm")
(string-append site-packages "osvvm")))))
(add-after 'check 'run-examples
;; Run examples as an extra check.
(lambda* (#:key tests? #:allow-other-keys)
(lambda* (#:key tests? parallel-build? #:allow-other-keys)
(when tests?
(with-directory-excursion "examples/vhdl"
(for-each
(lambda (dir)
(invoke "python3" (string-append dir "/run.py"))
(invoke "python3" (string-append dir "/run.py")
"-p" (if parallel-build?
(number->string (parallel-job-count))
"1"))
(delete-file-recursively "vunit_out"))
(scandir "."
(negate
@@ -3435,7 +3373,7 @@ to enforce it.")
python-setuptools
python-setuptools-scm))
(inputs
(list json-for-vhdl-for-vunit osvvm-2023.04))
(list osvvm-2023.04))
(propagated-inputs
(list python-colorama))
(home-page "https://vunit.github.io")
+62 -31
View File
@@ -204,12 +204,14 @@
#:use-module (gnu packages aspell)
#:use-module (gnu packages audio)
#:use-module (gnu packages bash)
#:use-module (gnu packages calendar)
#:use-module (gnu packages chez)
#:use-module (gnu packages cmake)
#:use-module (gnu packages code)
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages dav)
#:use-module (gnu packages dictionaries)
#:use-module (gnu packages djvu)
#:use-module (gnu packages ebook)
@@ -8044,7 +8046,7 @@ next matching page.")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://notabug.org/alezost/emacs-bui.git")
(url "https://gitlab.com/alezost-emacs/bui.el")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -8053,7 +8055,7 @@ next matching page.")
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash))
(home-page "https://notabug.org/alezost/emacs-bui")
(home-page "https://gitlab.com/alezost-emacs/bui.el")
(synopsis "Buffer interface library for Emacs")
(description
"BUI (Buffer User Interface) is a library for making @code{list} and
@@ -8122,7 +8124,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://notabug.org/alezost/emacs-build-farm.git")
(url "https://gitlab.com/alezost-emacs/build-farm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -8131,7 +8133,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
(build-system emacs-build-system)
(propagated-inputs
(list emacs-bui emacs-magit-popup))
(home-page "https://notabug.org/alezost/emacs-build-farm")
(home-page "https://gitlab.com/alezost-emacs/build-farm")
(synopsis "Emacs interface for Hydra and Cuirass build farms")
(description
"This Emacs package provides an interface for Hydra and
@@ -8407,6 +8409,41 @@ them whenever another command is invoked.")
a command.")
(license license:gpl3+)))
(define-public emacs-khalel
(package
(name "emacs-khalel")
(version "0.1.15")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/hperrey/khalel")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06h5272kmg0ykf0zqdy2qwhlzszqsw176l1brk04bg8xyc3a4384"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'locate-input-binaries
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "khalel.el"
("khalel-khal-command"
(search-input-file inputs "/bin/khal"))
("khalel-vdirsyncer-command"
(search-input-file inputs "/bin/vdirsyncer"))))))))
(inputs (list khal vdirsyncer))
(home-page "https://gitlab.com/hperrey/khalel")
(synopsis "Interact with local or remote CalDAV calendars")
(description
"Khalel accesses calendars stored in ICS files and provides means of
listing existing events, edit them as well as to create new ones largely
through an Org mode interface.")
(license license:gpl3+)))
(define-public emacs-khardel
(package
(name "emacs-khardel")
@@ -21224,29 +21261,25 @@ required by the LaTeX output produced by Org mode.")
(license (license:fsf-free "https://www.tug.org/texlive/copying.html"))))
(define-public emacs-org-contacts
;; XXX: Upstream does not tag version bumps. Commit below matches latest
;; version bump.
(let ((commit "217ba04c9d638067a6ccb0829cf1885f54c1d568"))
(package
(name "emacs-org-contacts")
(version "1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://repo.or.cz/org-contacts")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0f0vjdvx0hffj2xvyrya8yfl77djmzmpxdxsx58ym4lmdvwyb6x3"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-org))
(home-page "https://repo.or.cz/org-contacts")
(synopsis "Contacts management system for Org mode")
(description "Manage your contacts from Org mode. You can auto
(package
(name "emacs-org-contacts")
(version "1.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://repo.or.cz/org-contacts")
(commit (string-append "release_" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1djnyswjbsb1k3ciyd2f9xfjfkhbkkfw3dzfmzzr8dx5v71gm47b"))))
(build-system emacs-build-system)
(home-page "https://repo.or.cz/org-contacts")
(synopsis "Contacts management system for Org mode")
(description "Manage your contacts from Org mode. You can auto
complete email addresses, export contacts to a vCard file, put birthdays
in your Org Agenda, and more.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-org-vcard
(package
@@ -41923,10 +41956,10 @@ service, and connect it with Emacs via inter-process communication.")
(license license:gpl3+))))
(define-public emacs-telega
(let ((commit "70945291fff62ad0c8c2d2c28cbad319138ae811"))
(let ((commit "805819bf81dffe2922e9e06ae02d58429d03aa1a"))
(package
(name "emacs-telega")
(version "0.8.600") ; see telega-version in telega.el
(version "0.8.601") ; see telega-version in telega.el
(source
(origin
(method git-fetch)
@@ -41934,7 +41967,7 @@ service, and connect it with Emacs via inter-process communication.")
(url "https://github.com/zevlg/telega.el")
(commit commit)))
(sha256
(base32 "08z81m3aa7lf895iy5fkdp52qkvl2nw1r1k1k67dipnyrj4y2bfk"))
(base32 "0d02ymr5fw6fknzf9ikaky48swd9yfp5zn846zlwb5083p6bpmis"))
(file-name (git-file-name "emacs-telega" version))
(patches
(search-patches "emacs-telega-test-env.patch"))))
@@ -41991,10 +42024,8 @@ service, and connect it with Emacs via inter-process communication.")
(string-append ";; " all))))))))
(inputs
(list emacs-telega-server ffmpeg tgs2png))
(native-inputs '())
(propagated-inputs
(list emacs-company
emacs-transient ; requires 0.9.0
(list emacs-transient ; requires 0.9.0
emacs-visual-fill-column))
(home-page "https://zevlg.github.io/telega.el/")
(synopsis "GNU Emacs client for the Telegram messenger")
+6 -6
View File
@@ -255,7 +255,7 @@ wallet and graphical user interface.")
(define-public bitcoin-cash-node
(package
(name "bitcoin-cash-node")
(version "28.0.1")
(version "29.0.0")
(source
(origin
(method git-fetch)
@@ -264,7 +264,7 @@ wallet and graphical user interface.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19v38clhxg6yd4xb8wh8bm3sf1ipv3ifg68nwgq0p8l5zqx41wgw"))))
(base32 "0fk0zfnl99552yfhzzvzj46lg16fr4dbgh0agp5pqll30wbk78d9"))))
(build-system cmake-build-system)
(native-inputs
(list help2man
@@ -1014,7 +1014,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
(version "0.18.4.6")
(version "0.18.4.7")
(source
(origin
(method git-fetch)
@@ -1030,7 +1030,7 @@ the Monero command line client and daemon.")
;; See the 'extract-monero-sources' phase.
(delete-file-recursively "monero")))
(sha256
(base32 "0l2ris97ibl2smyd4dyav5d81ky22nyv21qhzmmxsbgz3ds7d1mx"))))
(base32 "1nbv07jjwznz2x0ch1467vhnd0b4j3y01gv78dzbm7pilbb9wh72"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
@@ -2603,7 +2603,7 @@ mining.")
(define-public p2pool
(package
(name "p2pool")
(version "4.13")
(version "4.14")
(source
(origin
(method git-fetch)
@@ -2612,7 +2612,7 @@ mining.")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256 (base32 "1flpr0kzyl72hm5vjs9jixiv8fdhvwchlz3p2banb8naxlpads0x"))
(sha256 (base32 "10dp6kxmvdx5lz4n144s9av32nzfxgfw28kf92dnmrv13q5p7id2"))
(modules '((guix build utils)))
(snippet
#~(for-each delete-file-recursively
+88 -5
View File
@@ -447,6 +447,87 @@ referred to as the \"Odin 3 protocol\".")
dump Intel Firmware Descriptor data of an image file.")
(license license:gpl2)))
(define-public bincfg
(package
(name "bincfg")
(version "25.09")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://review.coreboot.org/coreboot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no test suite
#:make-flags
#~(list
(string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-after 'unpack 'chdir
(lambda _
(chdir "util/bincfg")))
(add-after 'build 'build-binaries
(lambda* (#:key make-flags #:allow-other-keys)
(for-each
(lambda (target result)
(apply invoke "make" (string-append "gen-" target) make-flags)
(rename-file result
(string-append target ".bin")))
(list
;; generate GbE for X200
"gbe-ich9m"
;; generate GbE for X220/x230
"gbe-82579LM"
;; generate IFD for X200
"ifd-x200")
(list
"flashregion_3_gbe.bin"
"flashregion_3_gbe.bin"
"flashregion_0_fd.bin"))))
;; The Makefile has no install target.
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin"))
(lib (string-append #$output "/lib/bincfg"))
(data (string-append #$output "/share/bincfg")))
;; Install the program
(install-file "bincfg" bin)
;; And its data
(for-each
(lambda (path)
(install-file path data))
(append (find-files "." ".*\\.set")
(find-files "." ".*\\.spec")))
;; And the files generated with the data
(for-each
(lambda (path)
(install-file path lib))
(find-files "." ".*\\.bin"))))))))
(native-inputs (list bison flex))
(home-page "https://coreboot.org")
(synopsis "Encoder/decoder for binary formats described in text files")
(description "
The bincfg program comes with specifications files for the following binary
formats:
@itemize
@item Various DDR3 and DDR4 SPD
@item Configuration data for the Intel 82579LM Gigabit Ethernet PHY
@item Configuration data for the Intel Gigabit Ethernet controller present in
the Intel ICH9-M chipset.
@item Intel Firmware Descriptor data for the Lenovo ThinkPad X200
@item Configuration data for the ITE IT8718F SuperIO
@end itemize
It also comes with example files generated by bincfg.")
(license license:gpl3+)))
(define-public intelmetool
(package
(name "intelmetool")
@@ -613,7 +694,7 @@ Unifinished Extensible Firmware Interface (UEFI) images.")
(define-public openfpgaloader
(package
(name "openfpgaloader")
(version "1.1.0")
(version "1.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -622,7 +703,7 @@ Unifinished Extensible Firmware Interface (UEFI) images.")
(file-name (git-file-name name version))
(sha256
(base32
"1jr9vx0r53h2wkmcyjkc5l90wvk4glinlkf42m00j7rp41bckfvp"))))
"00wbf7z5f55422fmqczxc6f7a2lmr52m1qx8m3ky5gl006rkf0sm"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config))
@@ -638,9 +719,11 @@ Unifinished Extensible Firmware Interface (UEFI) images.")
#~(modify-phases %standard-phases
(add-after 'install 'install-rules
(lambda _
(install-file
"../source/99-openfpgaloader.rules"
(string-append #$output "/lib/udev/rules.d/")))))))
(for-each
(lambda (f)
(install-file
f (string-append #$output "/lib/udev/rules.d/")))
(find-files "../source" "\\.rules$")))))))
(synopsis "Utility for programming FPGA")
(description "This package provides a program to transfer a bitstream
to an FPGA. To use @code{openfpgaloader} without root privileges it is
+1 -2
View File
@@ -4206,8 +4206,7 @@ characteristic so that they sit smoothly with the Tamil glyphs.")
(base32 "1594lxdk6788bb3i3c2fh74z4pwpzcp2r1xl3cz8cz77nrcjkl8m"))))
(build-system trivial-build-system)
(arguments
(list #:modules '((guix build utils)
(ice-9 ftw))
(list #:modules '((guix build utils))
#:builder
#~(let* ((orig #$(package-source this-package))
(dist (string-append orig "/dist/v" #$version))
+191 -19
View File
@@ -19,6 +19,7 @@
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Leo Nikkilä <hello@lnikki.la>
;;; Copyright © 2025-2026 Jonas Meeuws <jonas.meeuws@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -55,8 +56,10 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix memoization)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix search-paths)
#:use-module (guix utils)
@@ -1424,26 +1427,195 @@ as the 'native-search-paths' field."
"gfortran" '("fortran")
%generic-search-paths)))
(define-public gdc-11 ;kept for bootstrapping
(hidden-package
(custom-gcc gcc-11 "gdc" '("d")
%generic-search-paths)))
(define* (make-gdc gcc #:optional bootstrap-gdc #:key frontend-version)
(define gdc (custom-gcc gcc "gdc" '("d") (list $LIBRARY_PATH)))
(define version (package-version gdc))
(define (since-version? since) (version>=? version since))
(define (until-version? until) (version>? until version))
(package
(inherit gdc)
(arguments
(substitute-keyword-arguments (package-arguments gdc)
((#:modules modules)
`(,@modules
(ice-9 ftw)))
((#:configure-flags flags)
#~(append
#$flags
(list "--disable-c++tools"
#$@(if (since-version? "11") #~("--disable-libatomic") #~())
"--disable-libcc1"
"--disable-libgomp"
"--disable-libitm"
"--disable-libquadmath"
"--disable-libsanitizer"
"--disable-libssp"
#$@(if (until-version? "15") #~("--disable-libstdcxx") #~())
"--disable-plugin")))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'strip 'gdc-cleanup-install
(lambda* (#:key outputs #:allow-other-keys)
(define (delete-except-matches prefix patterns)
;; Remove all files except for those matching any of the
;; patterns.
(define (should-delete? path statbuf)
(define suffix (substring path (string-length prefix)))
(not (or (zero? (string-length suffix))
(any (cut string-match <> suffix)
patterns))))
(for-each (lambda (path)
(format #t "Deleting ~a\n" path)
(delete-file path))
(find-files prefix should-delete?))
;; Clean up empty directories.
(define (dir-empty? path statbuf)
(and (eq? (stat:type statbuf) 'directory)
(zero? (length (filter
(lambda (name)
(not (or (string=? name ".")
(string=? name ".."))))
(scandir path))))))
(while #t
(let* ((empty-dirs (find-files prefix dir-empty?
#:stat lstat
#:directories? #t)))
(if (zero? (length empty-dirs))
(break)
(for-each rmdir empty-dirs)))))
;; Leave out non-GDC binaries, man pages, locale files, and
;; c++ headers.
(delete-except-matches
(assoc-ref outputs "out")
(list "^/bin/.*gdc$"
"^/libexec/"
"^/share/info/gdc"
"^/share/man/man1/gdc"
"^/share/man/man7/"))
;; Leave out C/C++ libraries, headers and empty directories.
(delete-except-matches
(assoc-ref outputs "lib")
(list "^/lib/gcc/.*/include/d/"
"^/lib/gcc/.*/.*\\.[ao]$"
"^/lib/libgcc_s.*"
"^/lib/libgdruntime.*"
"^/lib/libgphobos.*"))
;; Repeat for the debug files.
(delete-except-matches
(assoc-ref outputs "debug")
(list "^/lib/debug/.*/bin/.*gdc\\.debug$"
"^/lib/debug/.*/lib/libgcc_s"
"^/lib/debug/.*/lib/libgdruntime"
"^/lib/debug/.*/lib/libgphobos"))))))))
(inputs
(modify-inputs (package-inputs gdc)
;; This makes flags like -static-libstdc++ work. Required for using this
;; compiler as a bootstrap compiler for GDC 12+.
;; Additionally, this allows us to support linking with GCC libraries,
;; without building or storing them ourselves.
(append (list gcc "lib"))))
(native-inputs
(let ((orig (package-native-inputs gdc)))
(if bootstrap-gdc
(modify-inputs orig
;; Since GCC 12, GDC is self-hosted, requiring a version of itself
;; to build.
(append bootstrap-gdc))
orig)))
(synopsis "GNU D Compiler")
(description
(string-append
"GDC is the D frontend for the @acronym{GNU Compiler Collection,GCC}. It
also includes the druntime and phobos libraries."
(if frontend-version
(format #f "~%~%This compiler is based on the DMD frontend version ~a."
frontend-version)
"")))
(home-page "https://www.gdcproject.org/")))
;;; Alias tracking the latest GDC version.
(define-public gdc
(hidden-package
(let ((base (custom-gcc gcc
"gdc" '("d")
%generic-search-paths)))
(package
(inherit base)
(native-inputs
(modify-inputs (package-native-inputs base)
;; Since GCC 12, GDC is self-hosted, requiring a version of itself
;; to build.
;; XXX: GCC must be prepended as well to avoid an issue with the C++
;; headers ordering.
(prepend gcc gdc-11)))))))
(define-public gdc-9
(make-gdc gcc-9 #:frontend-version "2.076.2"))
(define-public gdc-10
(make-gdc gcc-10 #:frontend-version "2.076.2"))
(define-public gdc-11
(make-gdc gcc-11 #:frontend-version "2.076.2"))
(define-public gdc-12
(make-gdc gcc-12 gdc-11 #:frontend-version "2.100.2"))
(define-public gdc-13
(make-gdc gcc-13 gdc-11 #:frontend-version "2.103.1"))
(define-public gdc-14
(make-gdc gcc-14 gdc-11 #:frontend-version "2.108.1"))
(define-public gdc-15
(make-gdc gcc-15 gdc-11 #:frontend-version "2.111.0"))
(define-public gdc gdc-14)
(define* (make-gdmd gdc)
(let ((gdc-version (package-version gdc))
(gdmd-version "0.26.0"))
(package
(name "gdmd")
(version (string-append gdc-version "-" gdmd-version))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/D-Programming-GDC/gdmd")
(commit (string-append "script-" gdmd-version))))
(file-name (git-file-name name gdmd-version))
(sha256
(base32
"0i9warhlwyspjs3rpvs2989820909lgzjnsflpd9mp2flq7isjh0"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("dmd-script" "bin/gdmd")
("dmd-script.1" "share/man/man1/gdmd.1"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-gdc-location
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "dmd-script"
(("my \\$gdc_dir.*")
(string-append "my $gdc_dir = \""
(dirname
(search-input-file inputs "/bin/gdc"))
"\";\n"))))))))
(inputs (list gdc perl))
(synopsis "DMD-like wrapper for GDC")
(description "This package provides a DMD-like wrapper for the
@acronym{GNU D Compiler,GDC}.")
(license gpl3+)
(home-page "https://github.com/D-Programming-GDC/gdmd"))))
(define-public gdmd-9
(make-gdmd gdc-9))
(define-public gdmd-10
(make-gdmd gdc-10))
(define-public gdmd-11
(make-gdmd gdc-11))
(define-public gdmd-12
(make-gdmd gdc-12))
(define-public gdmd-13
(make-gdmd gdc-13))
(define-public gdmd-14
(make-gdmd gdc-14))
(define-public gdmd-15
(make-gdmd gdc-15))
(define-public gdmd gdmd-14)
(define-public gm2
(hidden-package
+9 -13
View File
@@ -20,7 +20,7 @@
;;; Copyright © 2021, 2022 Nikolay Korotkiy <sikmir@disroot.org>
;;; Copyright © 2022 Patrick Noll <patrick@patricknoll.com>
;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022-2023, 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2024 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@@ -500,7 +500,7 @@ topology functions.")
(define-public gnome-maps
(package
(name "gnome-maps")
(version "49.3")
(version "49.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -508,7 +508,7 @@ topology functions.")
name "-" version ".tar.xz"))
(sha256
(base32
"1pxx50cig25dz0ab5xkbppnibb4zcv3r3vy31dkn6ncf24vykj5z"))))
"1c04z2ly9vri98gmn4p5lhmfxhqjsc6rqz7kyprf0shdsicazyl6"))))
(build-system meson-build-system)
(arguments
(list
@@ -532,14 +532,9 @@ topology functions.")
"share/zoneinfo"))))
(add-after 'install 'wrap
(lambda _
(let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(substitute* (string-append #$output "/share/gnome-maps/"
"org.gnome.Maps")
(("imports\\.package\\.init" all)
(string-append "'" gi-typelib-path "'.split(':').forEach("
"path => imports.gi.GIRepository.Repository."
"prepend_search_path(path));\n"
all)))))))))
(wrap-program (string-append #$output "/bin/gnome-maps")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(native-inputs
(list gettext-minimal
`(,glib "bin")
@@ -548,7 +543,8 @@ topology functions.")
pkg-config
tzdata-for-tests))
(inputs
(list folks
(list bash-minimal
folks
evolution-data-server
geoclue
geocode-glib
@@ -567,7 +563,7 @@ topology functions.")
libshumate
libsoup
libxml2
webkitgtk-for-gtk3))
webkitgtk))
(synopsis "Graphical map viewer and wayfinding program")
(description "GNOME Maps is a graphical map viewer. It uses map data from
the OpenStreetMap project. It can provide directions for walking, bicycling,
+76 -11
View File
@@ -39,7 +39,7 @@
;;; Copyright © 2019, 2024, 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
;;; Copyright © 2019-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019-2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
@@ -188,6 +188,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages node-xyz)
#:use-module (gnu packages nss)
#:use-module (gnu packages ocr)
#:use-module (gnu packages openldap)
@@ -652,6 +653,73 @@ of writing test cases for asynchronous interactions.")
(home-page "https://launchpad.net/gtx")
(license license:lgpl2.1+)))
(define-public decibels
(package
(name "decibels")
(version "49.0")
(source
(origin
(method url-fetch)
(uri
(string-append "mirror://gnome/sources/" name "/"
(version-major version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1jkkyv9r87skqyjhzflzzczzwf3ycwnavw1r3qa6jzlnwai9pdr9"))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-gst-init
(lambda _
;; `null' is no longer accepted as of gstreamer 2.28.1 (see:
;; <https://gitlab.gnome.org/GNOME/decibels/-/merge_requests/178>).
(substitute* "src/stream.ts"
(("Gst.init\\(null)")
"Gst.init([])"))))
(add-after 'unpack 'skip-gnome-post-install
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")
(("update_desktop_database: true")
"update_desktop_database: false"))))
(add-after 'install 'wrap-program
(lambda _
(let ((typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append #$output "/bin/org.gnome.Decibels")
`("GI_TYPELIB_PATH" ":" prefix (,typelib-path))))))
(add-after 'glib-or-gtk-wrap 'install-alias
(lambda _
(symlink (string-append #$output "/bin/org.gnome.Decibels")
(string-append #$output "/bin/decibels")))))))
(native-inputs
(list blueprint-compiler
gettext-minimal
`(,glib "bin")
pkg-config
node-typescript))
(inputs
(list bash-minimal
gjs
gst-plugins-bad ;for GstPlay
gstreamer
libadwaita))
(home-page "https://gitlab.gnome.org/GNOME/decibels")
(synopsis "GNOME audio file player")
(description "Decibels, also known as Audio Player, is an audio player
focused on simplicity. It offers few advanced features such as:
@itemize
@item{An elegant waveform of the track.}
@item{Adjustable playback speed.}
@item{Easy seek controls.}
@item{Playing multiple files at the same time.}
@end itemize")
(license license:gpl3+)))
(define-public dee
(package
(name "dee")
@@ -915,6 +983,7 @@ tomorrow, the rest of the week and for special occasions.")
gtk
gvfs
json-glib
localsearch
libadwaita
libdazzle
libmediaart
@@ -922,8 +991,7 @@ tomorrow, the rest of the week and for special occasions.")
python-pycairo
python-pygobject
python
tracker
tracker-miners))
tinysparql))
(synopsis "Simple music player for GNOME desktop")
(description "GNOME Music is the new GNOME music playing application that
aims to combine an elegant and immersive browsing experience with simple
@@ -10412,6 +10480,7 @@ playing media, scanning, and much more.")
(propagated-inputs
(list baobab
cheese
decibels
epiphany
evince
file-roller
@@ -10445,7 +10514,7 @@ playing media, scanning, and much more.")
dbus
dconf
desktop-file-utils
font-abattis-cantarell
font-adwaita
font-dejavu
gnome-default-applications
gnome-online-accounts
@@ -12472,7 +12541,7 @@ desktop environment.")
(define-public gnome-boxes
(package
(name "gnome-boxes")
(version "48.1")
(version "49.1")
(source
(origin
(method url-fetch)
@@ -12480,7 +12549,7 @@ desktop environment.")
(version-major version) "/"
"gnome-boxes-" version ".tar.xz"))
(sha256
(base32 "1q2zzq6hizz5dillhqqddddlyjz7wy1sffyj06mh9axdrpa5aaj1"))))
(base32 "1jj41r9ras2ys0r2cw8f5bs3nkz0fj1jl693sc5q50yhvl0qhism"))))
(outputs '("out" "debug"))
(build-system meson-build-system)
(arguments
@@ -12496,11 +12565,7 @@ desktop environment.")
(substitute* "src/installed-media.vala"
(("qemu-img")
(search-input-file inputs
"/bin/qemu-img")))))
(add-before 'configure 'relax-gcc-14-strictness
(lambda _
(setenv "CFLAGS"
"-g -O2 -Wno-error=int-conversion"))))))
"/bin/qemu-img"))))))))
(native-inputs
(list desktop-file-utils ;for update-desktop-database
gettext-minimal
+26 -1
View File
@@ -21,7 +21,7 @@
;;; Copyright © 2023 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2023 Miguel Ángel Moreno <mail@migalmoreno.com>
;;; Copyright © 2023 conses <contact@conses.eu>
;;; Copyright © 2023, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2023, 2024, 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;; Copyright © 2024 Superfly Johnson <superfly.johnson@yahoo.com>
@@ -182,6 +182,31 @@ can be ignored.")
keys, no configuration options, and Unix-style composability.")
(license license:bsd-3)))
(define-public go-filippo-io-bigmod
(package
(name "go-filippo-io-bigmod")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/FiloSottile/bigmod")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "029h8qh9ym384q56aprm1if9arq7kmqdsv6l2wbjhkq8w307vd7r"))))
(build-system go-build-system)
(propagated-inputs
(list go-golang-org-x-sys))
(arguments
'(#:import-path "filippo.io/bigmod"))
(home-page "https://github.com/FiloSottile/bigmod")
(synopsis "Constant-time library for big integers modulo a prime")
(description "Bigmod is a constant-time library for big integers modulo a
prime, usable for cryptographic applications. Exported from
crypto/internal/bigmod, the backend of crypto/rsa and crypto/ecdsa.")
(license license:bsd-3)))
(define-public go-filippo-io-edwards25519
(package
(name "go-filippo-io-edwards25519")
+4 -4
View File
@@ -1125,7 +1125,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.24)
(name "go")
(version "1.25.7")
(version "1.25.8")
(source
(origin
(method git-fetch)
@@ -1134,7 +1134,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mjygpbswf91af07bbc1xpbw1adbcd210401rp5wpqv6d5rqn3jc"))))
(base32 "0vgz80mrxlkljr8ynficwvshinirqxbiv2ikscf941ladbv0g604"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.24)
((#:phases phases)
@@ -1170,7 +1170,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.24)
(name "go")
(version "1.26.0")
(version "1.26.1")
(source
(origin
(method git-fetch)
@@ -1179,7 +1179,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1n37n62bg2kb39s4a5273lpmqk1n5f5yi6jgfm8m7489j11ay8rl"))))
(base32 "1blfc89jxlr7n35j77i523k8rsxvz16f44qzd0h65c940zrrmf77"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.24)
((#:phases phases)
+43 -27
View File
@@ -338,14 +338,14 @@ another.")
(define-public orc
(package
(name "orc")
(version "0.4.41")
(version "0.4.42")
(source (origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/data/src/"
"orc/orc-" version ".tar.xz"))
(sha256
(base32
"18kz8sc8vh0rzk0n221zc8km9pp9gdcjsr04phwwv2ajcm7zs6yb"))))
"03694b8jnaqhi9z49v45qchcbvp1i9maamn4fiwcjg5gb6mi5jby"))))
(build-system meson-build-system)
(arguments
`(#:phases
@@ -375,7 +375,7 @@ arrays of data.")
(define-public gstreamer-docs
(package
(name "gstreamer-docs")
(version "1.26.3")
(version "1.28.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -383,7 +383,7 @@ arrays of data.")
"/gstreamer-docs-" version ".tar.xz"))
(sha256
(base32
"11q0yydchisd4c0jnqa6kmnf66kf25fim3l456krlwcy1qpsvd4j"))))
"0bp2rffj82a8c5l119dv4kxjkl1l35d9b0lynfc0vk2krcrb5xyv"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@@ -435,7 +435,7 @@ the GStreamer multimedia framework.")
(define-public gstreamer
(package
(name "gstreamer")
(version "1.26.3")
(version "1.28.1")
(source
(origin
(method url-fetch)
@@ -444,7 +444,7 @@ the GStreamer multimedia framework.")
version ".tar.xz"))
(sha256
(base32
"1016z0znl2j43n08rl19zdhfvfsgnmg44qh8fk6dr4qj481icrnw"))))
"0125cqbm5a2bhi37bzs6hgj89r057py3zhkmrfc8ggxx6px2ypmn"))))
(build-system meson-build-system)
(arguments
(list #:disallowed-references (list (this-package-native-input "python"))
@@ -516,7 +516,7 @@ This package provides the core library and elements.")
(define-public gst-plugins-base
(package
(name "gst-plugins-base")
(version "1.26.3")
(version "1.28.1")
(source
(origin
(method url-fetch)
@@ -524,11 +524,13 @@ This package provides the core library and elements.")
name "-" version ".tar.xz"))
(sha256
(base32
"0cvrq9767w0aqzinifbirbc95jg4i4md4b8f4b70hlq217pzkyaf"))))
"15r42ff1mwkj5p3z0dij6d9isi1q02gmjnp8i26xgx9gm71a8ihl"))
(patches (search-patches "gst-plugins-base-null-pointer.patch"))))
(build-system meson-build-system)
(propagated-inputs
(list glib ;required by gstreamer-sdp-1.0.pc
gstreamer ;required by gstreamer-plugins-base-1.0.pc
libdrm ;required by gstreamer-allocators-1.0.pc
libgudev ;required by gstreamer-gl-1.0.pc
;; wayland-client.h is referred to in
;; include/gstreamer-1.0/gst/gl/wayland/gstgldisplay_wayland.h
@@ -570,9 +572,8 @@ This package provides the core library and elements.")
(lambda _
(substitute* "tests/check/meson.build"
;; This test causes nondeterministic failures (see:
;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/950).
((".*'elements/appsrc.c'.*")
""))
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/895>).
((".*'elements/appsrc.c'.*") ""))
;; Some other tests fail on other architectures.
#$@(cond
((target-x86-32?)
@@ -624,7 +625,7 @@ for the GStreamer multimedia library.")
(define-public gst-plugins-good
(package
(name "gst-plugins-good")
(version "1.26.3")
(version "1.28.1")
(source
(origin
(method url-fetch)
@@ -633,7 +634,7 @@ for the GStreamer multimedia library.")
"https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32 "0lrwscda9yy8a61bv65c3392vb5m8phrl5i7bwgbprnz1rkwjkpy"))))
(base32 "139n8in88003dbx4kv6i69zhl4bs07f1mf201q2n4yhvwjp2d3kk"))))
(build-system meson-build-system)
(arguments
(list
@@ -744,14 +745,14 @@ model to base your own plug-in on, here it is.")
(define-public gst-plugins-bad
(package
(name "gst-plugins-bad")
(version "1.26.3")
(version "1.28.1")
(source (origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"0qbmblksgl2nmbi6brw54b1bzziw9flvqk2zb576y9qlmyn8vi4m"))
"18hk8gh97r2cwdazl5ikjwsczk3bkvr4z7nmjc45bdgqhwvmkhan"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -957,7 +958,7 @@ par compared to the rest.")
(define-public gst-plugins-ugly
(package
(name "gst-plugins-ugly")
(version "1.26.3")
(version "1.28.1")
(source
(origin
(method url-fetch)
@@ -965,7 +966,7 @@ par compared to the rest.")
(string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32 "19fvv6rvrcvhw4lnx078xb4b85pzbwbrqwdk841sqd7pjpl5wzs1"))))
(base32 "0y2sz79ms498mag3rsvkng8q5pmg9f2v0njfq3zw7k1z0v5z70j0"))))
(build-system meson-build-system)
(arguments
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
@@ -1014,7 +1015,7 @@ think twice about shipping them.")
(define-public gst-libav
(package
(name "gst-libav")
(version "1.26.3")
(version "1.28.1")
(source
(origin
(method url-fetch)
@@ -1023,7 +1024,7 @@ think twice about shipping them.")
"https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32 "0kbjs8z545maj3j2qzgpg41v3yr53q1c852v80zbmf5rld87xnis"))))
(base32 "16zfxw6h865sqi71j47lllr3y7jlnwsrwmfxvjnxh3wdlfn1madz"))))
(build-system meson-build-system)
(native-inputs (list perl pkg-config python-wrapper ruby))
(inputs (list ffmpeg))
@@ -1037,7 +1038,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
(define-public gst-editing-services
(package
(name "gst-editing-services")
(version "1.26.3")
(version "1.28.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1045,7 +1046,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
"gst-editing-services-" version ".tar.xz"))
(sha256
(base32
"1lkgs5h76qzqfpqvi31vs5xr68bbi0kwkw2g0ahvcs1l5hysj86x"))))
"1p0ml4yyqs840l9zlgw41k1lh8z9jvaangap5azfwsrmw75h0q1x"))))
(build-system meson-build-system)
(arguments
(list
@@ -1093,7 +1094,7 @@ given, also pass them to the build system instead of the ones used by PKG."
#~(modify-phases #$phases
(add-after 'unpack 'disable-auto-plugins
(lambda _
(substitute* "meson_options.txt"
(substitute* "meson.options"
(("'auto'") "'disabled'")))))))))))
(define-public gst-plugins-bad-minimal
@@ -1107,14 +1108,14 @@ binary, but none of the actual plugins.")))
(define-public gst-rtsp-server
(package
(name "gst-rtsp-server")
(version "1.26.3")
(version "1.28.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1ibg83sa0nswqan5fg378bg36jis5sn1dwfl1mvqjiw4m59qlpj1"))))
(base32 "0cpqvdxr7falww14xblqs7la6q2f1z1zbli4vjdp9yqcy9mfil3c"))))
(build-system meson-build-system)
(arguments
(list #:phases
@@ -1142,7 +1143,7 @@ RTSP connections and messages.")
(define-public python-gst
(package
(name "python-gst")
(version "1.26.3")
(version "1.28.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1150,7 +1151,7 @@ RTSP connections and messages.")
"gst-python-" version ".tar.xz"))
(sha256
(base32
"04hv5pj8br56knvw1nsx74j1lpxskbm6znsdqac28iszqjkvjhwk"))))
"11bhdylgkfcgdlfcv61vyjp0f27sqp3i4y7d8c2a2nxrmnaylz6l"))))
(build-system meson-build-system)
(arguments
(list
@@ -1162,7 +1163,22 @@ RTSP connections and messages.")
#:configure-flags
#~(list (string-append
"-Dpygi-overrides-dir="
(py:site-packages %build-inputs %outputs) "/gi/overrides"))))
(py:site-packages %build-inputs %outputs) "/gi/overrides"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
(lambda _
;; The 'fundamentals' test fails with a segmentation fault since
;; 1.28.1 (see:
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4937>).
(substitute* "testsuite/meson.build"
((".*'fundamentals',.*") ""))))
(delete 'check) ;moved after install
(add-after 'install 'check
(assoc-ref %standard-phases 'check))
(add-before 'check 'add-install-to-pythonpath
;; Required for the 'plugins' test.
(assoc-ref py:%standard-phases 'add-install-to-pythonpath)))))
(native-inputs
(list pkg-config python))
;; XXX: Move back to propagated-inputs once we no longer need to use
-56
View File
@@ -1672,62 +1672,6 @@ documents.")
("guile-cairo" ,guile2.2-cairo)
("guile-rsvg" ,guile2.2-rsvg)))))
(define-public guile-gnome
(package
(name "guile-gnome")
(version "2.16.5")
(source (origin
(method url-fetch)
(uri
(string-append "mirror://gnu/" name
"/guile-gnome-platform/guile-gnome-platform-"
version ".tar.gz"))
(sha256
(base32
"1gnf3j96nip5kl99a268i0dy1hj7s1cfs66sps3zwysnkd7qr399"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config
at-spi2-core
;;("corba" ,corba) ; not packaged yet
gconf
gobject-introspection
;;("gthread" ,gthread) ; not packaged yet
gnome-vfs
gdk-pixbuf
gtk+-2
libglade
libgnome
libgnomecanvas
libgnomeui
pango
libffi
glib))
(inputs (list guile-2.2))
(propagated-inputs
`(("guile-cairo" ,guile2.2-cairo)
("g-wrap" ,g-wrap)
("guile-lib" ,guile2.2-lib)))
(arguments
`(#:tests? #f ;FIXME
#:phases (modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* (find-files "." "^Makefile.in$")
(("guilesite :=.*guile/site" all)
(string-append all "/@GUILE_EFFECTIVE_VERSION@")))
#t))))))
(outputs '("out" "debug"))
(synopsis "Guile interface for GTK+ programming for GNOME")
(description
"Includes guile-clutter, guile-gnome-gstreamer,
guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
(home-page "https://www.gnu.org/software/guile-gnome/")
(license license:gpl2+)
(properties '((upstream-name . "guile-gnome-platform")
(ftp-directory . "/gnu/guile-gnome/guile-gnome-platform")))))
;;;
;;; C++ bindings.
;;;
+150 -116
View File
@@ -44,7 +44,7 @@
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022, 2025 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2022, 2025-2026 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2024 Ilya Chernyshov <ichernyshovvv@gmail.com>
@@ -169,12 +169,13 @@
(name "artanis")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/artanis/artanis-"
version ".tar.gz"))
(sha256
(base32
"16cwjyl0ykz6r7vvczrwaik6y4pc0fwc0hvwskfbgv9z71j2alzi"))
(method git-fetch)
(uri (git-reference
(url "https://https.git.savannah.gnu.org/git/artanis.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32
"0qpksi681z10jsip8ka0phq5kmkpxfcy5nvm861dsbjb335klbb6"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -213,7 +214,10 @@
(propagated-inputs
(list guile-json-4 guile-curl guile-readline guile-redis))
(native-inputs
(list bash-minimal ;for the `source' builtin
(list autoconf
automake
gnu-gettext ;for 'AC_LIB_LINKFLAGS_FROM_LIBS' macro
bash-minimal ;for the `source' builtin
pkg-config
util-linux)) ;for the `script' command
(arguments
@@ -816,16 +820,16 @@ library for GNU Guile based on the actor model.")
(name "guile-daemon")
(version "0.1.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/alezost/" name
"/releases/download/v" version
"/" name "-" version ".tar.gz"))
(sha256
(base32
"08gaqrgjlly9k5si72vvpbr4xhq5v52l5ma5y6a7spid5dd057cy"))))
(method git-fetch)
(uri (git-reference
(url "https://github.com/alezost/guile-daemon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32
"0mdxdiwb52zgpz144vii8f4jdia8a7w1i1mpffw8zh3ghglfrjzl"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
(list autoconf automake texinfo pkg-config))
(inputs
(list guile-3.0))
(home-page "https://github.com/alezost/guile-daemon")
@@ -1432,20 +1436,19 @@ HTML (via SXML) or any other format for rendering.")
(name "guile-sjson")
(version "0.2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://dustycloud.org/misc/sjson-" version
".tar.gz"))
(sha256
(base32
"08sr16fg5cqvik3wblav6k4b6djc5ydhgfvxa49bc5bh1irqvrcn"))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/dustyweb/guile-sjson")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32
"1npbla3vy1m0dqvr8gfzx1ncd2mp2cm59mnb7g490vak29kc8s9j"))
(modules '((guix build utils)))
(snippet
'(begin
;; Allow builds with Guile 3.0.
(substitute* "configure"
(("2\\.2 2\\.0")
"3.0 2.2 2.0"))
#t))))
;; Allow builds with Guile 3.0.
#~(substitute* "configure.ac"
(("2\\.2 2\\.0")
"3.0 2.2 2.0")))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake pkg-config))
@@ -1869,12 +1872,14 @@ types are supported.")
(name "guile-aa-tree")
(version "3.1.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/guile-aa-tree/guile-aa-tree-"
version ".tar.gz"))
(sha256
(base32
"0044c105r3q9vpl17pv3phl1b79kjm1llhkakqgiasixyav01blh"))))
(method git-fetch)
(uri (git-reference
(url
"https://https.git.savannah.gnu.org/git/guile-aa-tree.git")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
"0ghbrszjhv2abgpf11js6grqrri53frysf4360a5yvwhy9bb42pc"))))
(build-system guile-build-system)
(inputs (list guile-3.0))
(arguments
@@ -2165,15 +2170,16 @@ allows users to interact with the Guile REPL through Jupyter.")
(name "guile-sparql")
(version "0.0.8")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/roelj/guile-sparql/releases/download/"
version "/guile-sparql-" version ".tar.gz"))
(sha256
(base32 "1jf4972f9fpm0rd865xpnc9mzl3xv6vhfnp0iygadydy905z9nln"))))
(method git-fetch)
(uri (git-reference
(url "https://github.com/roelj/guile-sparql")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
"0iy390dsa0rs6d4gapw1s03gz4zba26w5sdiyvnzlygwv0d1inww"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
(list autoconf automake texinfo pkg-config))
(inputs
(list guile-3.0))
(home-page "https://github.com/roelj/guile-sparql")
@@ -2188,17 +2194,19 @@ using S-expressions.")
(name "guile-debbugs")
(version "0.0.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/guile-debbugs/guile-debbugs-"
version ".tar.gz"))
(sha256
(base32
"1cc63nw3xdfjrfk8c58r6d5lidmfq5cpqcy32yd5xp81yccprvn9"))))
(method git-fetch)
(uri (git-reference
(url
"https://https.git.savannah.gnu.org/git/guile-debbugs.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32
"0ipv3vywx02yhyssq5rp1bifg1qkydgh6kr16vfspxs601q8bbm2"))))
(build-system gnu-build-system)
(propagated-inputs
(list guile-email))
(native-inputs
(list guile-3.0 pkg-config))
(list autoconf automake texinfo guile-3.0 pkg-config))
(home-page "https://savannah.gnu.org/projects/guile-debbugs/")
(synopsis "Guile interface to the Debbugs bug tracking service")
(description
@@ -2449,13 +2457,14 @@ written in pure Scheme by using Guile's foreign function interface.")
(name "guile-xosd")
(version "0.2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/alezost/" name
"/releases/download/v" version
"/" name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/alezost/guile-xosd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"10r29bpyrsvjalnzkam2falj9k34lvxmch05zs606zp1nk93whp3"))))
"0jc88zg6icdg70mxbg732hx5by5bahqjm68yhx2ypqdqi7kqq1fk"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -2468,7 +2477,7 @@ written in pure Scheme by using Guile's foreign function interface.")
(or (getenv "CPATH") "")))
#t)))))
(native-inputs
(list pkg-config))
(list autoconf automake libtool texinfo pkg-config))
(inputs
(list guile-3.0 libx11 libxext libxinerama xosd))
(home-page "https://github.com/alezost/guile-xosd")
@@ -2512,10 +2521,6 @@ library}.")
(assoc-ref %standard-phases 'check)))))
(native-inputs (list autoconf automake libtool pkg-config))
(inputs (list guile-3.0 yaml-cpp))
(native-search-paths
(list (search-path-specification
(variable "GUILE_EXTENSIONS_PATH")
(files (list "lib/guile/3.0")))))
(home-page "https://gitlab.com/yorgath/guile-yamlpp")
(synopsis "Guile YAML reader/writer based on @code{yaml-cpp}")
(description
@@ -3529,10 +3534,6 @@ wrap G-Golf applications when writing a Guix package.")))
(install-file "socket.scm" share-dir))))
(delete 'check)
(delete 'install))))
(native-search-paths
(list (search-path-specification
(variable "GUILE_EXTENSIONS_PATH")
(files (list "lib/guile/3.0")))))
(inputs (list gcc guile-3.0))
(synopsis "C bindings for UNIX sockets in multi-scheme (Guile, Gauche,
Chicken) Wayland library")
@@ -3606,10 +3607,6 @@ Probably can be replaced with guile's built-ins: @code{fdes->ports},
(install-file "shm.scm" share-dir))))
(delete 'check)
(delete 'install))))
(native-search-paths
(list (search-path-specification
(variable "GUILE_EXTENSIONS_PATH")
(files (list "lib/guile/3.0")))))
(inputs (list gcc guile-3.0))
(synopsis "C bindings for wayland shared memory (SHM) in multi-scheme
(Guile, Gauche, Chicken) wayland library")
@@ -3677,10 +3674,6 @@ Probably can be replaced with guile's built-in file-descriptor procedures.")
(substitute* (list client-file)
(("WAYLAND_BASE_PROTOCOL_PATH")
core-protocol-file))))))))
(native-search-paths
(list (search-path-specification
(variable "GUILE_EXTENSIONS_PATH")
(files (list "lib/guile/3.0")))))
(native-inputs (list guile-3.0 pkg-config texinfo autoconf automake))
(inputs (list wayland wayland-protocols))
(propagated-inputs (list guile-wayland-scm-socket guile-wayland-scm-shm))
@@ -3695,15 +3688,22 @@ client bindings for Wayland.")
(name "g-wrap")
(version "1.9.15")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/g-wrap/g-wrap-"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://https.git.savannah.gnu.org/git/g-wrap.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ak0bha37dfpj9kmyw1r8fj8nva639aw5xr66wr5gd3l1rqf5xhg"))))
"19bwqfk33djd51ijylvcmz3zz9pqvv1k7bk8k912b1bwbpfr3j0y"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
(list autoconf
automake
libtool
gnu-gettext ;for 'AC_LIB_LINKFLAGS_FROM_LIBS' macro
texinfo
pkg-config))
(propagated-inputs
(list guile-2.2 guile-lib))
(inputs
@@ -3795,14 +3795,34 @@ quotes.")
(name "guile-reader")
(version "0.6.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/guile-reader/guile-reader-"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url
"https://https.git.savannah.gnu.org/git/guile-reader.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0nqkk4x18i7p3k9jxld4fnk8d69bq9ag6hqsyjzbfw9fmhrh08kb"))))
"0y3dq509hwm30ixb3cs3wci2lpni78438q7zz8f7way8vqp5164a"))))
(build-system gnu-build-system)
(native-inputs (list pkg-config gperf))
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'copy-config.rpath
(lambda* (#:key inputs #:allow-other-keys)
;; This file is not automatically copied by 'autoreconf'.
(let ((config-rpath (search-input-file
inputs
"/share/gettext/config.rpath")))
(install-file config-rpath "build-aux")))))))
(native-inputs
(list autoconf
automake
libtool
gnu-gettext ;for 'AC_LIB_LINKFLAGS_FROM_LIBS' macro
texinfo
pkg-config
gperf))
(inputs (list guile-3.0))
(synopsis "Framework for building readers for GNU Guile")
(description
@@ -3831,15 +3851,18 @@ many readers as needed).")
(name "guile-ncurses")
(version "3.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-"
version ".tar.gz"))
(sha256
(base32
"0cypz1ikw66n8bc2klsnnaj1plpl22dwq6pwyc7dvffamz7fi2gf"))))
(method git-fetch)
(uri (git-reference
(url
"https://https.git.savannah.gnu.org/git/guile-ncurses.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"00xhlca5s278i4g74qgks35ymisa98rhcj63bflja289gpb7j8wf"))))
(build-system gnu-build-system)
(inputs (list ncurses guile-3.0))
(native-inputs (list pkg-config))
(native-inputs (list autoconf automake libtool texinfo pkg-config))
(arguments
`(#:modules ((guix build gnu-build-system)
((guix build guile-build-system)
@@ -3888,13 +3911,16 @@ library.")
(name "guile-lib")
(version "0.2.8.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/guile-lib/guile-lib-"
version ".tar.gz"))
(sha256
(base32
"1ca95g15a88l7rpqcnzmhj1kyxc7gyfbvnni1hckv8z677cc4x0k"))
(patches (search-patches "guile-lib-fix-tests-for-guile2.2.patch"))))
(method git-fetch)
(uri (git-reference
(url
"https://https.git.savannah.gnu.org/git/guile-lib.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32
"1f5a1mi1w487ia677nl8b6gixbgcavnbykzmgqs0yiyrc3w6vdcz"))
(patches (search-patches
"guile-lib-fix-tests-for-guile2.2.patch"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0") ;placate guild warnings
@@ -3912,6 +3938,7 @@ $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")))))))
(native-inputs
(list autoconf
automake
texinfo
gettext-minimal
guile-3.0
pkg-config))
@@ -4682,27 +4709,27 @@ a standalone WebAssembly toolchain.")
(name "guile-file-names")
(version "0.3")
(source (origin
(method url-fetch)
(uri (string-append "http://brandon.invergo.net/software/download/"
"guile-file-names/guile-file-names-"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/brandoninvergo/guile-file-names")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"01chizdxkhw6aqv629vxka9f5x3534ij7r0jqndawsg2vxm1r9sz"))))
"0hmsbvbcl9a7366afcqi0pdhjhlq7l137nkmv1a5z9b8pcgzx90s"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-target-directory
(lambda _
(substitute* "src/Makefile.in"
(substitute* "src/Makefile.am"
(("guilemoddir = \\$\\(GUILE_SITE\\)")
"guilemoddir = $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
#t)))))
"guilemoddir = $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n")))))))
(inputs
(list guile-2.2))
(native-inputs
(list pkg-config))
(list autoconf automake texinfo pkg-config))
(home-page "https://gitlab.com/brandoninvergo/guile-file-names")
(synopsis "Manipulate file names")
(description
@@ -5765,12 +5792,14 @@ processing filters.")
(name "guile-cv")
(version "0.4.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/guile-cv/guile-cv-"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://https.git.savannah.gnu.org/git/guile-cv.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"00620zxm1rxlws7vn1zp2zzcb6y6r3szzj6b4b9fyjb86k972izb"))))
"15qmhfiijca2468s8s9xhb0wskiy4wgym9p5jqi4xy30ddnpvyk2"))))
(build-system gnu-build-system)
(arguments
(list
@@ -5784,8 +5813,7 @@ processing filters.")
(("SITEDIR=\"\\$datadir/guile-cv\"")
"SITEDIR=\"$datadir/guile/site/$GUILE_EFFECTIVE_VERSION\"")
(("SITECCACHEDIR=\"\\$libdir/guile-cv/")
"SITECCACHEDIR=\"$libdir/"))
(delete-file "configure"))) ;trigger 'bootstrap' phase
"SITECCACHEDIR=\"$libdir/"))))
(add-after 'unpack 'substitute-libs
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "cv/init.scm"
@@ -6032,13 +6060,20 @@ implementation in itself.")
(sha256
(base32 "0g508aajkyi513wbhm1rhs03ilnb701lwlrvppkmc0vynydlk9ws"))))
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-before 'build 'remove-unnecessary-file
(lambda _
(delete-file "run-tests.scm")
(delete-file-recursively "tests"))))))
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'check
(lambda _
(invoke "guile" "--no-auto-compile" "run-tests.scm")
(delete-file "run-tests.scm")
(delete-file-recursively "tests")))
(add-after 'build 'install-info-documentation
(lambda _
(invoke "makeinfo" "doc/guile-uuid.texi" "-o"
(string-append #$output "/share/info/")))))))
(build-system guile-build-system)
(native-inputs (list guile-3.0))
(native-inputs (list guile-3.0 texinfo))
(propagated-inputs (list guile-gcrypt))
(home-page "https://codeberg.org/elb/guile-uuid")
(synopsis "UUID generation and manipulation library for Guile Scheme")
@@ -6049,7 +6084,6 @@ standard hex-and-dash format of any variant and version.
Conversion between binary and hex-and-dash string UUIDs is also included.")
(license license:gpl3+)))
(define-public guile-semver
(package
(name "guile-semver")
+18 -8
View File
@@ -638,7 +638,7 @@ RGB animations.")
(define-public ddcutil
(package
(name "ddcutil")
(version "2.1.4")
(version "2.2.5")
(source
(origin
(method git-fetch)
@@ -647,7 +647,7 @@ RGB animations.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0wk82cdg7vddk6pbnn6qq3p71j4bppq13is2ck40glig08ax1bg5"))))
(base32 "0mmzfa0g726dmqrmyyysnzxrhdkd93ay4dzzv0kqkvgdcqizh5z8"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool pkg-config))
@@ -689,7 +689,7 @@ read/write access to i2c devices to users in the @samp{i2c} group.")
(define-public ddcui
(package
(name "ddcui")
(version "0.5.4")
(version "0.6.0")
(source
(origin
(method git-fetch)
@@ -698,7 +698,7 @@ read/write access to i2c devices to users in the @samp{i2c} group.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hq19gdy9ybraclkqvv1nlf46irql5b6wrc1y6wi0ihkqly20vgz"))))
(base32 "13gqgswkkqbn1x97ayiwj4ds2rbdnw564c2rhpi89zymhc1azj19"))))
(build-system qt-build-system)
(arguments
(list #:tests? #f)) ; No test suite
@@ -1813,7 +1813,7 @@ package also includes @code{usbrelayd}.")))
(define-public guile-usbrelay
(package
(name "guile-usbrelay")
(version "0.1.0")
(version "0.1.1")
(home-page "https://codeberg.org/pisemsky/guile-usbrelay")
(source
(origin
@@ -1823,7 +1823,7 @@ package also includes @code{usbrelayd}.")))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ndgkazv9bnyj45pccym11245c65hlvsvzmx0acpzlywz7xxyy72"))))
(base32 "1nghzsash3z398p2bp2vw0a1rzaclq9a6iqxbm7ffyzbldcca81l"))))
(build-system guile-build-system)
(arguments
(list
@@ -1831,9 +1831,19 @@ package also includes @code{usbrelayd}.")))
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'compile-ffi
(lambda* (#:key inputs #:allow-other-keys)
(lambda _
(setenv "GUILE_AUTO_COMPILE" "0")
(invoke "guile" "make.scm"))))))
(invoke "guild" "compile-ffi" "--no-exec"
"modules/usbrelay/ffi/hidapi.ffi")))
(add-after 'build 'install-udev-rules
(lambda _
(let ((rules (string-append #$output "/lib/udev/rules.d")))
(mkdir-p rules)
(call-with-output-file (string-append rules "/50-usbrelay.rules")
(lambda (port)
(display (string-append
"ATTRS{idVendor}==\"16c0\", ATTRS{idProduct}==\"05df\", "
"MODE=\"0660\", GROUP=\"usbrelay\"\n") port)))))))))
(native-inputs (list gcc guile-3.0 nyacc pkg-config))
(inputs (list hidapi))
(propagated-inputs (list nyacc))
+48 -3
View File
@@ -63,6 +63,49 @@ as approved and published by the @acronym{VHDL, Very High Speed Hardware
Description Language} Analysis and Standardization Group.")
(license license:asl2.0)))
(define-public json-for-vhdl
;; No tagged releases.
(let ((commit "0dc9e317440263cd4941f157f5e5668baa858ec2")
(revision "0"))
(package
(name "json-for-vhdl")
(version (git-version "20220905" revision commit)) ;last revision
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Paebbels/JSON-for-VHDL/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1062g2c3dpsb67zhqrn1j04p7jl28g4mcxd6nhrqqfffjsvxkpw9"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("src" "share/json-for-vhdl/work/src"
#:include ("vhdl")))
#:phases
#~(modify-phases %standard-phases
;; The examples/Encodings_VUnit test requires vhdl builtins.
(add-after 'unpack 'fix-check
(lambda _
(substitute* "tests/VUnit/run.py"
(("from_argv\\(\\)")
"from_argv()\nvu.add_vhdl_builtins()")))))))
(native-search-paths
(list (search-path-specification
(variable "FW_JSON_VHDL")
(separator #f)
(files (list "share/json-for-vhdl")))))
(home-page "https://github.com/Paebbels/JSON-for-VHDL/")
(synopsis "Parse and query JSON data structures in VHDL")
(description
"The JSON-for-VHDL library provides a parser to query JSON data
structures from external files on disk. It provides a context to be
used in the declarative section of design units.")
(license license:asl2.0))))
(define-public neorv32
(package
(name "neorv32")
@@ -130,7 +173,7 @@ chip written in platform-independent VHDL.")
(define-public open-logic
(package
(name "open-logic")
(version "4.4.0")
(version "4.4.1")
(source
(origin
(method git-fetch)
@@ -142,7 +185,7 @@ chip written in platform-independent VHDL.")
(file-name (git-file-name name version))
(sha256
(base32
"01kxrglbq50v73796iq9a1vi68i8k2wykk7gga9847smfznqwjwr"))))
"1zydrmx35s3mi35im4s4lfd9mmzdwdrnxfh9fg4d12v4ai7ijfrk"))))
(outputs
'("out" "olo"))
(properties
@@ -159,6 +202,7 @@ chip written in platform-independent VHDL.")
(setenv "HOME" "/tmp")
(with-directory-excursion "3rdParty/en_cl_fix/sim"
(invoke "python3" "run.py" "--simulator" "nvc"
"-p" (number->string (parallel-job-count))
"--simulator-path"
(dirname (search-input-file inputs "bin/nvc"))))
(with-directory-excursion "sim"
@@ -167,7 +211,8 @@ chip written in platform-independent VHDL.")
;; https://github.com/VUnit/vunit/issues/777
(("compile_builtins=False, ")
""))
(invoke "python3" "run.py" "--nvc" "-v"))))))
(invoke "python3" "run.py" "--nvc" "-v"
"-p" (number->string (parallel-job-count))))))))
#:install-plan
#~'(;; Library work.
("src" "share/open-logic/work/src"
+11 -5
View File
@@ -58,6 +58,7 @@
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages ruby)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls))
(define-public hexedit
@@ -254,11 +255,11 @@ for specifying patterns in the ImHex Hex Editor.")
(sha256 sha256-hash)))
(define-public imhex
(let* ((version "1.37.4")
(let* ((version "1.38.1")
(imhex-patterns
(make-imhex-patterns
version
(base32 "0m9g93fzmj2rsgaq25y4mmfigjh1xxyh41zjs6lp5ydsl5hhrn6q"))))
(base32 "14c0w3pj3bcrwd6c5b0lbwdxbw003dcmyj5a4d86hab53v6hg91j"))))
(package
(name "imhex")
(version version)
@@ -271,7 +272,7 @@ for specifying patterns in the ImHex Hex Editor.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "0l3fpizkz2ykdirbn9alddnnsg75w6kwpp92nvmird13l80z1sdr"))
(base32 "17aj8k2zbj78347rvfdy9gassw7kz9xj5vj30skvs5w4gf4lajln"))
(modules '((guix build utils) (ice-9 ftw) (ice-9 match)))
(snippet
#~(begin
@@ -300,6 +301,7 @@ for specifying patterns in the ImHex Hex Editor.")
"imgui"
;; Needs source to include miniaudio.h
"miniaudio"
"md4c"
"microtar")) ; XXX: unbundle
(delete-file-recursively dir)))
(scandir "."))
@@ -356,7 +358,7 @@ for specifying patterns in the ImHex Hex Editor.")
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda _
(substitute* "main/gui/source/window/linux_window.cpp"
(substitute* "main/gui/source/window/platform/linux.cpp"
(("dbus-send")
#$(file-append dbus "/bin/dbus-send")))
(substitute* "cmake/build_helpers.cmake"
@@ -380,9 +382,12 @@ for specifying patterns in the ImHex Hex Editor.")
curl
edlib
fmt
glfw
;; ImHex supports Wayland on GLFW >= 3.4. More info in:
;; https://github.com/WerWolv/ImHex/issues/1941#issuecomment-2446252019
glfw-3.4
libarchive
libffi
libssh2
llvm-17
lunasvg
plutovg
@@ -390,6 +395,7 @@ for specifying patterns in the ImHex Hex Editor.")
mesa
miniaudio
nativefiledialog-extended
openssl
xz
fontconfig
lz4
-22
View File
@@ -2003,28 +2003,6 @@ bindings for interpreted languages. This package includes the C++,
Python and R interfaces.")
(license license:asl2.0)))
(define-public stiff
(package
(name "stiff")
(version "2.4.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.astromatic.net/download/stiff/stiff-"
version ".tar.gz"))
(sha256
(base32 "14m92dskzw7bwsr64ha4p0mj3ndv13gwcbfic3qxrs3zq5353s7l"))))
(build-system gnu-build-system)
(inputs
(list libtiff zlib libjpeg-turbo))
(home-page "https://www.astromatic.net/software/stiff")
(synopsis "Convert scientific FITS images to TIFF format")
(description
"STIFF is a program that converts scientific @acronym{FITS, Flexible Image
Transport System} images to the more popular TIFF format for illustration
purposes.")
(license license:gpl3+)))
(define-public python-imgviz
(package
(name "python-imgviz")
+402 -17
View File
@@ -530,32 +530,32 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-6.19-version "6.19.5")
(define-public linux-libre-6.19-version "6.19.6")
(define-public linux-libre-6.19-gnu-revision "gnu")
(define deblob-scripts-6.19
(linux-libre-deblob-scripts
linux-libre-6.19-version
linux-libre-6.19-gnu-revision
(base32 "0zl5352xsv12xkqrfygp5kd8nvjq718pg5iaz64y675abymacp8v")
(base32 "1awsjh9qs5inrwj34kzkrfvvysdaka6dnbilpn1ai66r6dqc2810")))
(base32 "0y9rb4mm1n83h9wa68ivbpqj13va3vv5954j2ywqm7apwpx9ini2")))
(define-public linux-libre-6.19-pristine-source
(let ((version linux-libre-6.19-version)
(hash (base32 "1yig0i2q7vn7p8g4lmkviddxi62mzhp0fv2hx3057qq9qz40bblm")))
(hash (base32 "051fq8mkb7sf3m24a45cacr73fmpljfdn0pgjh0qrxhl6bvkz7sd")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.19)))
(define-public linux-libre-6.18-version "6.18.15")
(define-public linux-libre-6.18-version "6.18.16")
(define-public linux-libre-6.18-gnu-revision "gnu")
(define deblob-scripts-6.18
(linux-libre-deblob-scripts
linux-libre-6.18-version
linux-libre-6.18-gnu-revision
(base32 "1piyq7183bdf169w66k62yr1vbs0ls7pqx3cyyk7hisw8vhy643j")
(base32 "1xdz33lshw1xs6a5qiwhvxzdh2a0acll1zdyk2mnn9d4579a4gn1")))
(base32 "1wnlnds2hgap36a0licjyjzyhhggbgp83dc9xbbw07y8jwmc17ai")))
(define-public linux-libre-6.18-pristine-source
(let ((version linux-libre-6.18-version)
(hash (base32 "0w7iy9mx1b42q4qz6y9rvny7nmvpwq0mf6b9vv84w4y4qcb64wbw")))
(hash (base32 "1qwfsbr315c6qh3hnqmyjwjcj0h8j3w56hbrxnrx3h849lgw08ag")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.18)))
@@ -564,22 +564,22 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-6.12-version "6.12.74")
(define-public linux-libre-6.12-version "6.12.76")
(define-public linux-libre-6.12-gnu-revision "gnu")
(define deblob-scripts-6.12
(linux-libre-deblob-scripts
linux-libre-6.12-version
linux-libre-6.12-gnu-revision
(base32 "168aykyvyyp34549hqhlprl0n052q8wdb2y3vyxqw40wpf2vw3ln")
(base32 "1wyfggr9q0f10yr3nxsvx3nd3wscp5145fgxw0ps0b09ckcyr2mi")))
(base32 "1v6glxf94p9z0yq5m102jwcpyh6anpbp3h8wwff9hxlfy2wdlzzk")))
(define-public linux-libre-6.12-pristine-source
(let ((version linux-libre-6.12-version)
(hash (base32 "0gm1mjn203gc11dqk82fkbsr96bnwcxq4sx5khc7yhwsvjqywmiv")))
(hash (base32 "15nq7agr492b9lh57xp10hs48dx9g7k253y2lm4vvrj69j1kxd5v")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.12)))
(define-public linux-libre-6.6-version "6.6.127")
(define-public linux-libre-6.6-version "6.6.129")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
@@ -589,12 +589,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0z47f6mkllk1fgpq04x73djl5gh3mj50bxj2rpg4jlzm0rcirrag")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
(hash (base32 "1zn9z3ghjyff71s3yabfanrgyks3wnmn1p5w6301rczhnjbrrkd7")))
(hash (base32 "12j42awg44w97zq8fzifpm300jm9q9ya7qkpn7xbnkr2480qz86a")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
(define-public linux-libre-6.1-version "6.1.164")
(define-public linux-libre-6.1-version "6.1.166")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
@@ -604,12 +604,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1jiwwl5sgpc16x0v6phbknv94mc46gvwgc2z8s4pdgn4j54yrd8v")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "074xlcrx5lvbkbwgahfvjlvak0j1nig9azfxfdl64zxzgdzhigrk")))
(hash (base32 "0jcl12gjlfdf9pwqg1m84rzwnrj3grxxgk5blrq8zlaq45sgr3c1")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
(define-public linux-libre-5.15-version "5.15.201")
(define-public linux-libre-5.15-version "5.15.202")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@@ -619,12 +619,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1s6km2r2mad0wpf7nqn4rqsykw1lm386l1yskmil24239fbva1f1")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "15hv8rqgr6ca9rnbpb6hvzskqvb4h8x3w6nl4y2npbfsxpxzyajg")))
(hash (base32 "1m6d53qx1ah4jwpa8hwjdmq0jn2hf7xmz1li6rwpdqjp97vvvh8b")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.251")
(define-public linux-libre-5.10-version "5.10.252")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@@ -634,7 +634,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1hgza8fsps7bkjf4i0f2xgvrh1r183z3i6lxrr2nr8qbi5d13qs7")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "00ac9gzidby7b82s2prq4c3w99a077f5li4v4yq8gdg3zqjpd1g6")))
(hash (base32 "1yqa4zmvi5ihf50kxcff06abfi6xw0b9ajzagvy6gdzfr7igpcrl")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
@@ -931,6 +931,16 @@ ARCH and optionally VARIANT, or #f if there is no such configuration."
("CONFIG_FUSE_FS" . m)
("CONFIG_CIFS" . m)
("CONFIG_9P_FS" . m)
;; Enable DMABUF used by wayland, pipewire and libcamera
;; https://codeberg.org/guix/guix/issues/5995
("CONFIG_UDMABUF" . #t)
("CONFIG_DMABUF_MOVE_NOTIFY" . #t)
("CONFIG_DMABUF_HEAPS" . #t)
("CONFIG_DMABUF_HEAPS_SYSTEM" . #t)
("CONFIG_DMABUF_HEAPS_CMA" . #t)
,@(if (version>=? version "6.17")
'(("CONFIG_DMABUF_HEAPS_CMA_LEGACY" . #t))
'())
;; Disable the EFI pstore storage backend to avoid causing
;; unrecoverable failures on some EFI systems:
;; https://lists.gnu.org/archive/html/help-guix/2025-01/msg00173.html
@@ -1473,6 +1483,48 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
("CONFIG_VHOST_VDPA" . m))
(default-extra-linux-options linux-libre-lts-version))))
(define-public reform-debian-packages-for-6.19
(package
(name "reform-debian-packages")
(version "2023-07-10-537-g032a28b") ;from git describe
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://source.mnt.re/reform/reform-debian-packages.git")
(commit "032a28b6c8b48077523ea1631cde65b763ab3c43")))
(file-name (git-file-name name version))
(sha256
(base32 "084xnykhnhpbb0kd5wr4nml08g4gjy7jqzrdb9i0chbfx12fnnyr"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("linux/patches6.19/" "/patches6.19")
("linux/" "/dts/amlogic"
#:include-regexp ("meson.*\\.dts$"))
("linux/" "/dts/freescale"
#:include-regexp ("imx8.*\\.dts$"))
("linux/" "/dts/freescale"
#:include-regexp ("fsl.*\\.dts$"))
("linux/" "/dts/rockchip"
#:include-regexp ("rk3588.*\\.dts$"))
("linux/config" "config"))))
(home-page "https://source.mnt.re/reform/reform-debian-packages")
(synopsis
"Linux kernel patches and device-trees used for MNT Reform systems")
(description
"Linux kernel patches and device-trees used for the MNT Reform systems")
(license (list
(license:fsf-free "file://filter-output"
"https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html")
license:bsd-2
license:expat
license:gpl2
license:gpl2+
license:gpl3
license:x11))))
(define-public reform-debian-packages-for-6.18
(package
(name "reform-debian-packages")
@@ -1557,6 +1609,321 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
license:gpl3
license:x11))))
(define-public linux-libre-arm64-mnt-reform-6.19
;; Kernel for use on the MNT/Reform systems
;; https://mntre.com/reform.html
(let ((base (make-linux-libre* linux-libre-6.19-version
linux-libre-6.19-gnu-revision
linux-libre-6.19-source
'("aarch64-linux")
#:extra-version "arm64-mnt-reform"
#:extra-options
;; https://source.mnt.re/reform/reform-debian-packages/-/blob/main/linux/config
(append `(("CONFIG_DRM_LVDS_CODEC" . m)
("CONFIG_DRM_CDNS_MHDP8546" . m)
("CONFIG_DRM_CDNS_HDMI_CEC" . m)
("CONFIG_DRM_IMX_CDNS_MHDP" . m)
("CONFIG_DRM_IMX_DCSS" . m)
("CONFIG_PHY_FSL_IMX8MQ_HDPTX" . m)
("CONFIG_DRM_PANEL_LVDS" . m)
("CONFIG_I2C_IMX_LPI2C" . m)
("CONFIG_I2C_MUX_REG" . m)
("CONFIG_INTERCONNECT_IMX" . #true)
("CONFIG_INTERCONNECT_IMX8MQ" . #true)
("CONFIG_MFD_WM8994" . m)
("CONFIG_MUX_GPIO" . m)
("CONFIG_MUX_MMIO" . m)
("CONFIG_RTC_DRV_PCF8523" . m)
("CONFIG_USB_EHCI_FSL" . m)
("CONFIG_NO_HZ_IDLE" . #true)
("CONFIG_SND_SOC_FSL_MICFIL" . m)
("CONFIG_SND_IMX_SOC" . m)
("CONFIG_SND_SOC_FSL_ASOC_CARD" . m)
("CONFIG_SND_SOC_IMX_AUDMIX" . m)
("CONFIG_SND_SOC_IMX_HDMI" . m)
("CONFIG_INPUT_JOYSTICK" . #true)
("CONFIG_JOYSTICK_XPAD" . m)
("CONFIG_JOYSTICK_XPAD_FF" . #true)
("CONFIG_JOYSTICK_XPAD_LEDS" . #true)
("CONFIG_INTERCONNECT_IMX8MP" . #true)
("CONFIG_SND_SOC_FSL_ASRC" . #true)
("CONFIG_DRM_IMX_LCDIF" . #true)
("CONFIG_DRM_IMX8MP_DW_HDMI_BRIDGE" . #true)
("CONFIG_DRM_IMX8MP_HDMI_PVI" . #true)
("CONFIG_IMX8MM_THERMAL" . #true)
("CONFIG_IMX2_WDT" . #true)
("CONFIG_DRM_SAMSUNG_DSIM" . #true)
("CONFIG_PHY_FSL_SAMSUNG_HDMI_PHY" . #true)
("CONFIG_DRM" . #true)
("CONFIG_DRM_PANEL_MNT_POCKET_REFORM" . #true)
("CONFIG_IMX8M_BLK_CTRL" . #true)
("CONFIG_IMX_GPCV2_PM_DOMAINS" . #true)
("CONFIG_DRM_DISPLAY_CONNECTOR" . #true)
("CONFIG_DRM_FSL_LDB" . #true)
("CONFIG_BACKLIGHT_CLASS_DEVICE" . #true)
("CONFIG_BACKLIGHT_PWM" . #true)
("CONFIG_BACKLIGHT_GPIO" . #true)
("CONFIG_BACKLIGHT_LED" . #true)
("CONFIG_CPU_FREQ_GOV_PERFORMANCE" . #true)
("CONFIG_CPU_FREQ_GOV_POWERSAVE" . #true)
("CONFIG_CPU_FREQ_GOV_USERSPACE" . #true)
("CONFIG_CPU_FREQ_GOV_ONDEMAND" . #true)
("CONFIG_CPU_FREQ_GOV_CONSERVATIVE" . #true)
("CONFIG_CPU_FREQ_GOV_SCHEDUTIL" . #true)
("CONFIG_ARM_IMX_CPUFREQ_DT" . #true)
("CONFIG_ARM_IMX_BUS_DEVFREQ" . #true)
("CONFIG_IMX_IRQSTEER" . #true)
("CONFIG_PCI_MESON" . #true)
("CONFIG_DWMAC_MESON" . #true)
("CONFIG_MDIO_BUS_MUX_MESON_G12A" . #true)
("CONFIG_GPIO_ROCKCHIP" . #true)
("CONFIG_PL330_DMA" . #true)
("CONFIG_I2C_MESON" . #true)
("CONFIG_PWM_MESON" . #true)
("CONFIG_USB_DWC3_MESON_G12A" . #true)
("CONFIG_MMC_MESON_GX" . #true)
("CONFIG_MMC_MESON_MX_SDIO" . #true)
("CONFIG_MESON_DDR_PMU" . #true)
("CONFIG_RTW88_8822CS" . m)
("CONFIG_PWM_FSL_FTM" . #true)
("CONFIG_FSL_RCPM" . #true)
("CONFIG_ARM_ROCKCHIP_CPUFREQ" . m)
("CONFIG_DRM_PANTHOR" . m)
("CONFIG_NVMEM_ROCKCHIP_OTP" . #true)
("CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX" . m)
("CONFIG_PHY_ROCKCHIP_USBDP" . m)
("CONFIG_ROCKCHIP_REGULATOR_COUPLER" . #true)
("CONFIG_SPI_ROCKCHIP" . #true)
("CONFIG_SPI_ROCKCHIP_SFC" . m)
("CONFIG_ARM_SCMI_CPUFREQ" . m)
("CONFIG_PHY_ROCKCHIP_SAMSUNG_DCPHY" . #true)
("CONFIG_VIDEO_ROCKCHIP_VDEC2" . m)
("CONFIG_ROCKCHIP_DW_HDMI_QP" . #true)
("CONFIG_ROCKCHIP_DW_MIPI_DSI2" . #true)
;; Fixes https://codeberg.org/guix/guix/issues/101
("CONFIG_CRYPTO_USER_API_HASH" . #true)
("CONFIG_CRYPTO_USER_API_SKCIPHER" . #true)
("CONFIG_CRYPTO_USER_API_RNG" . #true)
("CONFIG_CRYPTO_USER_API_AEAD" . #true)
("CONFIG_KEY_DH_OPERATIONS" . #true)
;; nftables support
("CONFIG_NF_TABLES" . m)
("CONFIG_NF_TABLES_INET" . #true)
("CONFIG_NF_TABLES_NETDEV" . #true)
("CONFIG_NF_TABLES_IPV4" . #true)
("CONFIG_NF_TABLES_ARP" . #true)
("CONFIG_NF_TABLES_IPV6" . #true)
("CONFIG_NF_TABLES_BRIDGE" . m)
("CONFIG_NFT_NUMGEN" . m)
("CONFIG_NFT_CT" . m)
("CONFIG_NFT_FLOW_OFFLOAD" . m)
("CONFIG_NFT_CONNLIMIT" . m)
("CONFIG_NFT_LOG" . m)
("CONFIG_NFT_LIMIT" . m)
("CONFIG_NFT_MASQ" . m)
("CONFIG_NFT_REDIR" . m)
("CONFIG_NFT_NAT" . m)
("CONFIG_NFT_TUNNEL" . m)
("CONFIG_NFT_QUEUE" . m)
("CONFIG_NFT_QUOTA" . m)
("CONFIG_NFT_REJECT" . m)
("CONFIG_NFT_REJECT_INET" . m)
("CONFIG_NFT_COMPAT" . m)
("CONFIG_NFT_HASH" . m)
("CONFIG_NFT_FIB" . m)
("CONFIG_NFT_FIB_INET" . m)
("CONFIG_NFT_XFRM" . m)
("CONFIG_NFT_SOCKET" . m)
("CONFIG_NFT_OSF" . m)
("CONFIG_NFT_TPROXY" . m)
("CONFIG_NFT_SYNPROXY" . m)
("CONFIG_NFT_DUP_NETDEV" . m)
("CONFIG_NFT_FWD_NETDEV" . m)
("CONFIG_NFT_FIB_NETDEV" . m)
("CONFIG_NFT_REJECT_NETDEV" . m)
("CONFIG_NFT_REJECT_IPV4" . m)
("CONFIG_NFT_DUP_IPV4" . m)
("CONFIG_NFT_FIB_IPV4" . m)
("CONFIG_NFT_COMPAT_ARP" . m)
("CONFIG_NFT_REJECT_IPV6" . m)
("CONFIG_NFT_DUP_IPV6" . m)
("CONFIG_NFT_FIB_IPV6" . m)
("CONFIG_NFT_BRIDGE_META" . m)
("CONFIG_NFT_BRIDGE_REJECT" . m)
;; Provides support for FBCON options
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
("CONFIG_HIDRAW" . #true)
("CONFIG_FONT_SUPPORT" . #true)
("CONFIG_FONTS" . #true)
("CONFIG_FONT_8x8" . #true)
("CONFIG_FONT_8x16" . #true)
("CONFIG_FONT_TER10x18" . #true)
("CONFIG_FONT_TER16x32" . #true)
;; Provide support for USB tethering
("CONFIG_USB_NET_CDC_EEM" . m)
("CONFIG_USB_NET_RNDIS_HOST" . m)
("CONFIG_USB_WDM" . m)
("CONFIG_USB_GADGET" . m)
("CONFIG_USB_ETH" . m)
("CONFIG_USB_ETH_RNDIS" . m)
("CONFIG_USB_ETH_EEM" . m)
("CONFIG_USB_G_NCM" . m)
;; Provide support for wireguard
("CONFIG_WIREGUARD" . m)
;; Provide support for ath9k wireless
("CONFIG_ATH9K" . m)
("CONFIG_ATH9K_HTC" . m))
(default-extra-linux-options
linux-libre-6.19-version)))))
(package
(inherit base)
(inputs (list reform-debian-packages-for-6.19))
(synopsis (string-append (package-synopsis base)
" for MNT/Reform systems"))
(description (string-append (package-description base)
" Configuration options and patches have been applied for use with MNT/Reform systems."))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases)
#~(modify-phases #$phases
(add-after 'unpack 'apply-reform-patches
(lambda* (#:key inputs #:allow-other-keys)
(for-each (lambda (patch)
(invoke "patch" "-p1" "-i"
(search-input-file inputs
(string-append
"patches6.19/" patch))))
(list
"imx8mp-mnt-pocket-reform/2ghz/0001-imx8mp-2ghz-clk.patch"
"imx8mp-mnt-pocket-reform/2ghz/0002-imx8mp-2ghz-opp.patch"
"imx8mp-mnt-pocket-reform/audio/0000-revert-crashy-audiomix-pm-support.patch"
"imx8mp-mnt-pocket-reform/mmc-sdio/0001-sdhci-add-no-sd-uhs-sdr104-devicetree-property.patch"
"imx8mp-mnt-pocket-reform/mmc-sdio/0002-During-the-card-init-the-host-side-sometimes-may-nee.patch"
"imx8mp-mnt-pocket-reform/mmc-sdio/0003-USDHC-IP-has-one-limitation-the-tuning-circuit-can-t.patch"
"imx8mp-mnt-pocket-reform/pocket-panel/0001-v5-add-multi-display-panel-driver.patch"
"imx8mp-mnt-pocket-reform/pocket-panel/0002-pocket-panel-fix-sleep-add-orientation.patch"
"imx8mp-mnt-reform2/0001-sn65dsi86-use-hs-clock-of-samsung-dsim-host-directly.patch"
"imx8mp-mnt-reform2/0002-lcdif-dont-exceed-desired-pixel-clock.patch"
"imx8mq-mnt-reform2/0001-imx8mq-mnt-reform2.dts-multiple-fixes-for-display-wi.patch"
"imx8mq-mnt-reform2/0001-nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS.patch"
"imx8mq-mnt-reform2/0002-Revert-drm-bridge-nwl-dsi-Use-vsync-hsync-polarity-f.patch"
"imx8mq-mnt-reform2/0003-lcdif-fix-pcie-interference.patch"
"imx8mq-mnt-reform2/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch"
"imx8mq-mnt-reform2/0005-pci-imx6-add-support-for-internal-refclk-imx8mq.patch"
"imx8mq-mnt-reform2/0006-imx8mq-import-HDMI-driver-and-make-DCSS-compatible-w.patch"
"ls1028a-mnt-reform2/0000-dtsi-add-hdptx.patch"
"meson-g12b-bananapi-cm4-mnt-pocket-reform/0001-a311d-viu-fifo-lines-config.patch"
"meson-g12b-bananapi-cm4-mnt-pocket-reform/0002-a311d-viu-fifo-lines-config-header.patch"
"meson-g12b-bananapi-cm4-mnt-pocket-reform/0003-tlv320aic31xx-add-1228800hz-support.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0001-Revert-drm-bridge-synopsys-dw-mipi-dsi-enable-EoTp-b.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0001-meson-g12b-bananapi-cm4-mnt-reform2.dts-fix-audio-an.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0011-dw-mipi-dsi-phy-stop-wait-time.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0012-innolux-n125hce-gn1-timing-tweaks.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0013-meson-viu-hold-fifo-lines.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0014-meson-venc-sync.patch.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0015-meson-dw-mipi-dsi-sync-invert.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0016-sn65dsi86-burst-mode-support.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0018-sn65dsi86-never-turn-off.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0020-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0021-HACK-of-partial-revert-of-fdt.c-changes.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0022-add-bt-and-eth-resets.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0023-sdio-pullups.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0024-sdio-improve-wifi-speed.patch"
"meson-g12b-bananapi-cm4-mnt-reform2/0030-WORKAROUND-meson-plane-disable-afbc-32x8.patch"
"rk3588-mnt-reform2/0001-FROM-UPSTREAM-drm-bridge-dw-hdmi-qp-Add-support-for-.patch"
"rk3588-mnt-reform2/0024-math.h-add-DIV_ROUND_UP_NO_OVERFLOW.patch"
"rk3588-mnt-reform2/0025-clk-divider-Fix-divisor-masking-on-64-bit-platforms.patch"
"rk3588-mnt-reform2/0026-clk-composite-replace-open-coded-abs_diff.patch"
"rk3588-mnt-reform2/0029-Revert-PCI-dw-rockchip-Simplify-regulator-setup-with.patch"
"rk3588-mnt-reform2/0030-mfd-rk8xx-Fix-shutdown-handler.patch"
"rk3588-mnt-reform2/0031-dt-bindings-display-vop2-Add-VP-clock-resets.patch"
"rk3588-mnt-reform2/0032-drm-rockchip-vop2-Add-clock-resets-support.patch"
"rk3588-mnt-reform2/0033-arm64-dts-rockchip-Add-VOP-clock-resets-for-rk3588s.patch"
"rk3588-mnt-reform2/0035-drm-rockchip-vop2-Add-core-reset-support.patch"
"rk3588-mnt-reform2/0062-PCI-dw-rockchip-Move-devm_phy_get-out-of-phy_init.patch"
"rk3588-mnt-reform2/0063-PCI-dw-rockchip-Add-helper-function-for-enhanced-LTS.patch"
"rk3588-mnt-reform2/0064-PCI-dw-rockchip-Add-helper-function-for-controller-m.patch"
"rk3588-mnt-reform2/0065-PCI-dw-rockchip-Add-helper-function-for-DDL-indicato.patch"
"rk3588-mnt-reform2/0066-PCI-dw-rockchip-Add-pme_turn_off-support.patch"
"rk3588-mnt-reform2/0067-PCI-dw-rockchip-Add-system-PM-support.patch"
"rk3588-mnt-reform2/0074-MERGED-phy-hdmi-Add-HDMI-2.1-FRL-configuration-optio.patch"
"rk3588-mnt-reform2/0075-PCI-host-common-Add-an-API-to-check-for-any-device-u.patch"
"rk3588-mnt-reform2/0076-PCI-qcom-Check-for-the-presence-of-a-device-instead-.patch"
"rk3588-mnt-reform2/0077-PCI-dwc-Check-for-the-device-presence-during-suspend.patch"
"rk3588-mnt-reform2/0078-PCI-dw-rockchip-Fix-LTSSM-set-functions.patch"
"rk3588-mnt-reform2/0079-MERGED-phy-rockchip-samsung-hdptx-Use-usleep_range-i.patch"
"rk3588-mnt-reform2/0079-WIP-PCI-dw-rockchip-port-some-suspend-code-from-vend.patch"
"rk3588-mnt-reform2/0080-MERGED-phy-rockchip-samsung-hdptx-Fix-coding-style-a.patch"
"rk3588-mnt-reform2/0081-MERGED-phy-rockchip-samsung-hdptx-Consistently-use-r.patch"
"rk3588-mnt-reform2/0082-MERGED-phy-rockchip-samsung-hdptx-Enable-lane-output.patch"
"rk3588-mnt-reform2/0083-MERGED-phy-rockchip-samsung-hdptx-Cleanup-_cmn_init_.patch"
"rk3588-mnt-reform2/0084-MERGED-phy-rockchip-samsung-hdptx-Compute-clk-rate-f.patch"
"rk3588-mnt-reform2/0085-MERGED-phy-rockchip-samsung-hdptx-Drop-hw_rate-drive.patch"
"rk3588-mnt-reform2/0086-MERGED-phy-rockchip-samsung-hdptx-Switch-to-driver-s.patch"
"rk3588-mnt-reform2/0087-MERGED-phy-rockchip-samsung-hdptx-Extend-rk_hdptx_ph.patch"
"rk3588-mnt-reform2/0088-MERGED-phy-rockchip-samsung-hdptx-Add-HDMI-2.1-FRL-s.patch"
"rk3588-mnt-reform2/0089-DEBUG-phy-rockchip-samsung-hdptx-Add-verbose-logging.patch"
"rk3588-mnt-reform2/0092-drm-rockchip-dw_hdmi_qp-Do-not-send-HPD-events-for-a.patch"
"rk3588-mnt-reform2/0093-drm-Add-CRTC-background-color-property.patch"
"rk3588-mnt-reform2/0094-drm-rockchip-vop2-Support-setting-custom-background-.patch"
"rk3588-mnt-reform2/0095-drm-bridge-Add-detect_ctx-hook-and-drm_bridge_detect.patch"
"rk3588-mnt-reform2/0096-drm-bridge-connector-Switch-to-using-detect_ctx-hook.patch"
"rk3588-mnt-reform2/0097-drm-bridge-dw-hdmi-qp-Add-high-TMDS-clock-ratio-and-.patch"
"rk3588-mnt-reform2/0098-WIP-YUV420-drm-rockchip-vop2-Add-YUV420-output-forma.patch"
"rk3588-mnt-reform2/0099-WIP-YUV420-drm-rockchip-dw_hdmi_qp-Add-YUV420-output.patch"
"rk3588-mnt-reform2/0103-WIP-FRL-arm64-dts-rockchip-Assign-ACLK_VOP-to-750-MH.patch"
"rk3588-mnt-reform2/0104-WIP-FRL-drm-connector-hdmi-Handle-FRL-in-hdmi_clock_.patch"
"rk3588-mnt-reform2/0105-WIP-FRL-drm-bridge-dw-hdmi-qp-Add-HDMI-2.1-FRL-suppo.patch"
"rk3588-mnt-reform2/0106-WIP-FRL-drm-rockchip-dw_hdmi_qp-Add-HDMI-2.1-FRL-sup.patch"
"rk3588-mnt-reform2/0107-WIP-FRL-drm-rockchip-vop2-Add-HDMI-2.1-FRL-support.patch"
"rk3588-mnt-reform2/0108-dt-bindings-phy-rockchip-usbdp-add-improved-ports-sc.patch"
"rk3588-mnt-reform2/2001-drm-bridge-dw-hdmi-qp-Return-0-in-audio-prepare-when.patch"
"rk3588-mnt-reform2/2003-drm-bridge-synopsys-Do-not-warn-about-audio-params-c.patch"
"rk3588-mnt-reform2/5200-drm-rockchip-Set-dma-mask-to-64-bit.patch"))))
(add-after 'apply-reform-patches 'copy-reform-dts-files
(lambda* (#:key inputs #:allow-other-keys)
(for-each (lambda (dts)
(copy-file (search-input-file inputs
(string-append
"/dts/" dts))
(string-append "arch/arm64/boot/dts/"
dts)))
(list
"amlogic/meson-g12b-bananapi-cm4-mnt-pocket-reform.dts"
"freescale/fsl-ls1028a-mnt-reform2.dts"
"freescale/imx8mp-mnt-pocket-reform.dts"
"freescale/imx8mp-mnt-reform2.dts"
"freescale/imx8mq-mnt-reform2-hdmi.dts"
"rockchip/rk3588-mnt-desktop-reform.dts"
"rockchip/rk3588-mnt-pocket-reform.dts"
"rockchip/rk3588-mnt-reform-next.dts"
"rockchip/rk3588-mnt-reform2.dts"
"rockchip/rk3588-mnt-reform2-dsi.dts"
))))
(add-after 'apply-reform-patches 'adjust-makefiles-with-new-dtb
(lambda _
(substitute* "arch/arm64/boot/dts/amlogic/Makefile"
(("meson-g12b-bananapi-cm4-mnt-reform2.dtb")
"meson-g12b-bananapi-cm4-mnt-reform2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-mnt-pocket-reform.dtb"))
(substitute* "arch/arm64/boot/dts/freescale/Makefile"
(("fsl-ls1028a-rdb.dtb")
"fsl-ls1028a-rdb.dtb
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-mnt-reform2.dtb"))
(substitute* "arch/arm64/boot/dts/freescale/Makefile"
(("imx8mq-mnt-reform2.dtb")
"imx8mq-mnt-reform2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-mnt-reform2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-mnt-pocket-reform.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mq-mnt-reform2-hdmi.dtb"))
(substitute* "arch/arm64/boot/dts/rockchip/Makefile"
(("rk3588-mnt-reform2.dtb")
"rk3588-mnt-reform2.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-desktop-reform.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
(define-public linux-libre-arm64-mnt-reform-6.18
;; Kernel for use on the MNT/Reform systems
;; https://mntre.com/reform.html
@@ -1698,6 +2065,15 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
("CONFIG_NFT_FIB_IPV6" . m)
("CONFIG_NFT_BRIDGE_META" . m)
("CONFIG_NFT_BRIDGE_REJECT" . m)
;; Provides support for FBCON options
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
("CONFIG_HIDRAW" . #true)
("CONFIG_FONT_SUPPORT" . #true)
("CONFIG_FONTS" . #true)
("CONFIG_FONT_8x8" . #true)
("CONFIG_FONT_8x16" . #true)
("CONFIG_FONT_TER10x18" . #true)
("CONFIG_FONT_TER16x32" . #true)
;; Provide support for USB tethering
("CONFIG_USB_NET_CDC_EEM" . m)
("CONFIG_USB_NET_RNDIS_HOST" . m)
@@ -2024,6 +2400,15 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
("CONFIG_NFT_FIB_IPV6" . m)
("CONFIG_NFT_BRIDGE_META" . m)
("CONFIG_NFT_BRIDGE_REJECT" . m)
;; Provides support for FBCON options
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
("CONFIG_HIDRAW" . #true)
("CONFIG_FONT_SUPPORT" . #true)
("CONFIG_FONTS" . #true)
("CONFIG_FONT_8x8" . #true)
("CONFIG_FONT_8x16" . #true)
("CONFIG_FONT_TER10x18" . #true)
("CONFIG_FONT_TER16x32" . #true)
;; Provide support for USB tethering
("CONFIG_USB_NET_CDC_EEM" . m)
("CONFIG_USB_NET_RNDIS_HOST" . m)
+33 -46
View File
@@ -328,9 +328,6 @@ compatible, and adds new functionality.")
(define-public cl-3d-math
(sbcl-package->cl-source-package sbcl-3d-math))
(define-public ecl-3d-math
(sbcl-package->ecl-package sbcl-3d-math))
(define-public sbcl-3d-matrices
(let ((commit "bc1ffa08dcf4732523e09adcf9deba4ddeb559ff")
(revision "3"))
@@ -4394,8 +4391,8 @@ Lisp expressions in multiple implementations.")
(sbcl-package->cl-source-package sbcl-cl-all))
(define-public sbcl-cl-ana
(let ((commit "848185eed1ed65bab3a124870c122f761ce0d87e")
(revision "2"))
(let ((commit "88abde5ad3fa327958720426b89a8457e6943b94")
(revision "3"))
(package
(name "sbcl-cl-ana")
(version (git-version "0.0.0" revision commit))
@@ -4406,8 +4403,9 @@ Lisp expressions in multiple implementations.")
(url "https://github.com/ghollisjr/cl-ana")
(commit commit)))
(file-name (git-file-name "cl-ana" version))
(patches (search-patches "cl-ana-pr-49.patch"))
(sha256
(base32 "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y"))))
(base32 "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list openmpi ;; for hdf-cffi
@@ -9453,9 +9451,6 @@ classes and cyclic data structures are supported.")
(define-public cl-prevalence
(sbcl-package->cl-source-package sbcl-cl-prevalence))
(define-public ecl-cl-prevalence
(sbcl-package->ecl-package sbcl-cl-prevalence))
(define-public sbcl-cl-progress-bar
(let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
(package
@@ -14734,8 +14729,8 @@ replacement, which is called @code{*let}).")
(sbcl-package->clasp-package sbcl-defstar))
(define-public sbcl-deploy
(let ((commit "5d57fcce38b6156be951f3fed9fbbdacf4ba2912")
(revision "3"))
(let ((commit "c9b869d943d39fcddd8c4aa380995645bd2e3c0b")
(revision "4"))
(package
(name "sbcl-deploy")
(version (git-version "3.0.0" revision commit))
@@ -14747,13 +14742,17 @@ replacement, which is called @code{*let}).")
(commit commit)))
(file-name (git-file-name "deploy" version))
(sha256
(base32 "1f2sahr2k4d291hn7x7bcy4nxav4va3rrw2gcw122zsg97siqy8h"))))
(base32 "05xvv6f1nh7p1dmdyqbpddisf2f9v5kvq2ixa38i263p35rg82sr"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-cl-mpg123 sbcl-cl-out123))
(list sbcl-cl-mpg123
sbcl-cl-out123))
(inputs
(list sbcl-cffi sbcl-documentation-utils sbcl-pathname-utils
sbcl-trivial-features sbcl-sha3))
(list sbcl-cffi
sbcl-documentation-utils
sbcl-pathname-utils
sbcl-trivial-features
sbcl-sha3))
(home-page "https://codeberg.org/shinmera/deploy")
(synopsis "Deployment tools for standalone Common Lisp application")
(description
@@ -21455,9 +21454,6 @@ in Common Lisp.")
(define-public cl-lispbuilder-sdl
(sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
(define-public ecl-lispbuilder-sdl
(sbcl-package->ecl-package sbcl-lispbuilder-sdl))
(define-public sbcl-list-named-class
(let ((commit "2955791a7469131bcab42d800883f27993ee1d62")
(revision "0"))
@@ -25859,8 +25855,8 @@ variable portably in Common Lisp.")
(sbcl-package->ecl-package sbcl-path-parse))
(define-public sbcl-pathname-utils
(let ((commit "3309d65a568acc392ade6a4096c940eb15e1149e")
(revision "4"))
(let ((commit "c0aa51ab78cb21581700d44deeed88a4743b6f13")
(revision "5"))
(package
(name "sbcl-pathname-utils")
(version (git-version "1.1.0" revision commit))
@@ -25868,17 +25864,17 @@ variable portably in Common Lisp.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/pathname-utils")
(url "https://codeberg.org/shinmera/pathname-utils")
(commit commit)))
(file-name (git-file-name "cl-pathname-utils" version))
(sha256
(base32 "0w7h0qhi53myakfbwvwgr9srbz5mmgsdcbynzkh5vjiibwjg1c3i"))))
(base32 "11hic5gspnkjfggdh4zzx9i1ha4vf7rjr2cyqmz1144sprl2nva6"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-parachute))
(inputs
(list sbcl-trivial-features))
(home-page "https://shinmera.github.io/pathname-utils/")
(home-page "https://codeberg.org/shinmera/pathname-utils")
(synopsis "Collection of utilities to help with pathname operations")
(description
"This package provides a Common Lisp system with a collection of common
@@ -25889,6 +25885,12 @@ handling the accessing of files on the underlying system however.")
(define-public cl-pathname-utils
(sbcl-package->cl-source-package sbcl-pathname-utils))
(define-public clasp-pathname-utils
(package
(inherit (sbcl-package->clasp-package sbcl-pathname-utils))
(arguments
(list #:tests? #f)))) ;see ECL variant
(define-public ecl-pathname-utils
(package
(inherit (sbcl-package->ecl-package sbcl-pathname-utils))
@@ -27048,9 +27050,6 @@ pattern-matching-like, but a char-by-char procedural parser.")
(define-public cl-prometheus
(sbcl-package->cl-source-package sbcl-prometheus))
(define-public ecl-prometheus
(sbcl-package->ecl-package sbcl-prometheus))
(define-public sbcl-promise
(let ((commit "801db8f853da7935ae2e487fd7f8763acbc5ad2a")
(revision "0"))
@@ -27647,8 +27646,8 @@ Lisp. It is intended to be a replacement of PURI.")
(sbcl-package->ecl-package sbcl-quri))
(define-public sbcl-radiance
(let ((commit "8d826c7fe1935338565580931db43f46181e0e85")
(revision "3"))
(let ((commit "8249b00388ffe1c7e516a148c8ea8e7d9bc4243c")
(revision "4"))
(package
(name "sbcl-radiance")
(version (git-version "2.1.2" revision commit))
@@ -27656,26 +27655,14 @@ Lisp. It is intended to be a replacement of PURI.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shirakumo/radiance")
(commit commit)))
(url "https://codeberg.org/shirakumo/radiance")
(commit commit)))
(file-name (git-file-name "radiance" version))
(sha256
(base32 "1j823dgp87www0sjbcbv9j025bfxlkwhjd7kz6635mrqwmmlki4l"))))
(base32 "1kl1936kzv1j2fmnm6n3nq503bxz38zzymwbwq3vhqa0jsqjwynm"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:tests? #f ; TODO: The tests require some configuration.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-quicklisp
(lambda _
;; Disable the automatic installation of systems by Quicklisp.
;; (Maybe there would be a way to package Quicklisp and make it
;; install things in the user's directory instead of
;; /gnu/store/...).
(substitute* "interfaces.lisp"
(("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
all)
(string-append "#+quicklisp " all))))))))
(list #:tests? #f)) ; TODO: The tests require some configuration.
(native-inputs
(list sbcl-alexandria
sbcl-dexador
@@ -27686,8 +27673,8 @@ Lisp. It is intended to be a replacement of PURI.")
sbcl-bordeaux-threads
sbcl-cl-ppcre
sbcl-closer-mop
sbcl-documentation-utils
sbcl-deploy
sbcl-documentation-utils
sbcl-form-fiddle
sbcl-lambda-fiddle
sbcl-local-time
@@ -27697,7 +27684,7 @@ Lisp. It is intended to be a replacement of PURI.")
sbcl-trivial-indent
sbcl-trivial-mimes
sbcl-ubiquitous))
(home-page "https://shirakumo.github.io/radiance/")
(home-page "https://codeberg.org/shirakumo/radiance")
(synopsis "Common Lisp web application environment")
(description
"Radiance is a web application environment, which is sort of like a web
+4 -5
View File
@@ -329,7 +329,7 @@ family of functions.")
(define-public python-burr
(package
(name "python-burr")
(version "0.40.2")
(version "0.42.0")
(source
(origin
(method git-fetch)
@@ -338,7 +338,7 @@ family of functions.")
(commit (string-append "burr-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0scdfdn2dkan5rkrh5ngai8j4i01rj6d6ncrhvab62r43c0h042q"))))
(base32 "0a2sf72qy9jkamg6r7d37mv7ayp698h031md7arfyq7v8q9q121n"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -4751,7 +4751,6 @@ different backends")
,(python:site-packages inputs outputs)))))))))
(inputs
(list bash-minimal
openblas
python
python-customtkinter
spirv-headers
@@ -6177,7 +6176,7 @@ Jax, PyTorch and TensorFlow — with a seamless integration between them.")
(define-public ctranslate2
(package
(name "ctranslate2")
(version "4.6.3")
(version "4.7.1")
(source
(origin
(method git-fetch)
@@ -6185,7 +6184,7 @@ Jax, PyTorch and TensorFlow — with a seamless integration between them.")
(url "https://github.com/OpenNMT/CTranslate2")
(commit (string-append "v" version))))
(file-name (git-file-name "CTranslate2" version))
(sha256 (base32 "1msmf1imgvmhji48mjj8cq5y8d8fk8rywqh624vmilfawq75f497"))
(sha256 (base32 "09gr7pvc2b4xacjg8jbb20rini51071q2x998h88jr85wp5a8824"))
(patches (search-patches "ctranslate2-local-build.patch"))))
(build-system cmake-build-system)
(arguments
+36 -2
View File
@@ -507,13 +507,13 @@ triangulations.")
(define-public units
(package
(name "units")
(version "2.25")
(version "2.26")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/units/units-" version
".tar.gz"))
(sha256 (base32
"02zclvjji25hsdriz4jwys5i21dbcmz3i4gap8266k8bq0xg9v9n"))))
"0m1whwcggib8kyzmcjkw94sxnd8r19d7bh6k6gj2w8g2kyjgfhsc"))))
(build-system gnu-build-system)
(inputs
(list bash-minimal ;for wrap-program
@@ -4859,6 +4859,40 @@ wedges, pyramids, n-spheres, n-balls, n-cubes, n-simplices, and the
integration of real-, complex-, and vector-valued functions.")
(license license:gpl3+)))
(define-public python-simplesat
(package
(name "python-simplesat")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/enthought/sat-solver")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z44pi8yb6pvc9bisl3qnn3glj7ir0ad2j4gd4jfg2kxvwvi0w0b"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags #~(list "--ignore=old")))
(native-inputs
(list python-mock
python-pytest
python-pyyaml
python-setuptools))
(propagated-inputs
(list python-attrs
python-okonomiyaki
python-six))
(home-page "https://github.com/enthought/sat-solver")
(synopsis
"@acronym{SAT, Boolean Satisfiability Problem} dependency handling")
(description
"This package provides a prototype Python implementation for SAT-based
problems.")
(license license:bsd-3)))
(define-public slepc
(package
(name "slepc")
+8 -8
View File
@@ -115,15 +115,15 @@ Health Federation.")
(define-public orthanc
(package
(name "orthanc")
(version "1.12.7")
(version "1.12.10")
(source
(origin
(method hg-fetch)
(uri (hg-reference (url "https://orthanc.uclouvain.be/hg/orthanc")
(changeset "a30cc2fa7250")))
(changeset "8628c32729cf")))
(file-name (hg-file-name name version))
(sha256
(base32 "1n8v0dh17g9ihny8cpq63qd6ai5l95i5h3sz9vwzfnd7q3qh0rb9"))))
(base32 "16xkbs6amhx81yvn7avkg8nwha6sj55l6vipa5290yf0rgygyadr"))))
(build-system cmake-build-system)
(arguments
(list
@@ -147,7 +147,7 @@ Health Federation.")
;; /etc/localtime is not present in the build container;
;; don't let that stop the build.
(substitute* "OrthancFramework/Sources/Toolbox.cpp"
(("if \\(!SystemToolbox::IsExistingFile\\(LOCALTIME\\)\\)")
(("if \\(!boost::filesystem::exists\\(LOCALTIME\\)\\)")
"if (false)"))))
;; There is no test target; simply run the binary.
(replace 'check
@@ -158,7 +158,7 @@ Health Federation.")
glibc-utf8-locales ;for one test
googletest
python))
(inputs (list boost-1.83
(inputs (list boost
civetweb
curl
dcmtk
@@ -184,11 +184,11 @@ mechanism for extending its functionality.")
(define-public orthanc-postgresql
;; No tags provided.
(let ((changeset "ddc98844d931")
(let ((changeset "81d837d7d20d")
(revision "0"))
(package
(name "orthanc-postgresql")
(version (git-version "7.2" revision changeset))
(version (git-version "10.0" revision changeset))
(source
(origin
(method hg-fetch)
@@ -197,7 +197,7 @@ mechanism for extending its functionality.")
(changeset changeset)))
(file-name (hg-file-name name version))
(sha256
(base32 "1zv2lrj0f3fahmdyiwyj70ayv5ysa3cj33i58fbk7hy2zclrkjzf"))))
(base32 "1ijxa8hlpxjcrcp0b54fzmxf01lqb9741bff4ak1nw24sn9z96ai"))))
(build-system cmake-build-system)
(arguments
(list
+9
View File
@@ -695,6 +695,15 @@ is to provide an accurate identifier for record tracks.")
(sha256
(base32 "0v866n5rwdz45ks8dlhl8hzx3p54hcjl0rz7x3rbsj4c96jn0m5c"))))
(build-system pyproject-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-gst-init
(lambda _
;; `None' is no longer accepted as of gstreamer
;; 2.28.1.
(substitute* "audioread/gstdec.py"
(("Gst.init\\(None\\)")
"Gst.init([])")))))))
(propagated-inputs (list ffmpeg python-pygobject))
(native-inputs
(list gstreamer
+3 -2
View File
@@ -1450,10 +1450,11 @@ and auto-mapping slices to MIDI note numbers.")
(home-page "https://github.com/clearly-broken-software/ninjas2")
(license license:gpl3+)))
;; This package tracks the stable release of LilyPond.
(define-public lilypond
(package
(name "lilypond")
(version "2.25.30")
(version "2.24.4")
(source
(origin
(method url-fetch)
@@ -1461,7 +1462,7 @@ and auto-mapping slices to MIDI note numbers.")
"v" (version-major+minor version) "/"
"lilypond-" version ".tar.gz"))
(sha256
(base32 "0q5id9v211i9zgjmwzmvi2qfvr3flh55kh476653r04a2br53962"))))
(base32 "073qa7m9xkghad4x37rxb9v45vp4vfmsylwnjzhj17y7f4ss0vz9"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;out-test/collated-files.html fails
+5 -4
View File
@@ -4040,7 +4040,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
(define-public hcxtools
(package
(name "hcxtools")
(version "7.0.1")
(version "7.1.2")
(source
(origin
(method git-fetch)
@@ -4048,7 +4048,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
(url "https://github.com/ZerBea/hcxtools")
(commit version)))
(sha256
(base32 "07j8fcy9fq1i4jns6v1gx85pm34q56022aw391mdzxq5yka7wpjr"))
(base32 "0da9ad3v53x080b75q34zi16mnd58xl5s5w6afafgq406ajd2zdz"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs (list pkg-config))
@@ -5158,7 +5158,7 @@ daemon.")
(define-public nebula
(package
(name "nebula")
(version "1.10.0")
(version "1.10.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5167,7 +5167,7 @@ daemon.")
(file-name (git-file-name name version))
(sha256
(base32
"1x4r8b3ny0vxipf404l8z00m5cs7cfy810670gmznl61jkaq1zd7"))
"0y0c9l6dzhdrhfzss1hv2sm18y2qzgmkcyiw9s3rav3ij1kcspxh"))
;; Remove windows-related binary blobs and files
(snippet
#~(begin
@@ -5196,6 +5196,7 @@ daemon.")
"nebula-cert")))))))
(inputs
(list go-dario-cat-mergo
go-filippo-io-bigmod
go-github-com-anmitsu-go-shlex
go-github-com-armon-go-radix
go-github-com-cyberdelia-go-metrics-graphite
+20 -107
View File
@@ -32,6 +32,7 @@
;;; Copyright © 2023 Arnaud DABY-SEESARAM <ds-ac@nanein.fr>
;;; Copyright © 2024 Sören Tempel <soeren@soeren-tempel.net>
;;; Copyright © 2025 Jussi Timperi <jussi.timperi@iki.fi>
;;; Copyright © 2025 Jason Conroy <jconroy@tscripta.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -75,6 +76,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages node)
#:use-module ((gnu packages ocaml5) #:prefix ocaml5:)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@@ -222,89 +224,6 @@ OCaml and can effectively bootstrap OCaml 4.07.
This package produces a native @command{ocamlc} and a bytecode @command{ocamllex}.")
(license license:expat))))
(define-public ocaml-5.0
(package
(name "ocaml")
(version "5.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml/ocaml")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1p0p8wldrnbr61wfy3x4122017g4k5gjvfwlg3mvlqn8r2fxn2m5"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification
(variable "OCAMLPATH")
(files (list "lib/ocaml" "lib/ocaml/site-lib")))
(search-path-specification
(variable "CAML_LD_LIBRARY_PATH")
(files (list "lib/ocaml/site-lib/stubslibs"
"lib/ocaml/site-lib/stublibs")))))
(native-inputs
(list parallel perl pkg-config))
(inputs
(list libx11 libiberty ;needed for objdump support
zlib)) ;also needed for objdump support
(arguments
`(#:configure-flags '("--enable-ocamltest")
#:test-target "tests"
;; This doesn't have the desired effect and makes test runs less
;; stable. See https://codeberg.org/guix/guix/pulls/2933.
#:parallel-tests? #f
#:make-flags '("defaultentry")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enable-parallel-tests
(lambda _
;; Patch the `tests` build target to enable a special parallel
;; execution mode based on GNU Parallel.
(substitute* "Makefile"
(("-C testsuite all") "-C testsuite parallel"))))
(add-after 'unpack 'patch-/bin/sh-references
(lambda* (#:key inputs #:allow-other-keys)
(let* ((sh (search-input-file inputs "/bin/sh"))
(quoted-sh (string-append "\"" sh "\"")))
(with-fluids ((%default-port-encoding #f))
(for-each
(lambda (file)
(substitute* file
(("\"/bin/sh\"")
(begin
(format (current-error-port) "\
patch-/bin/sh-references: ~a: changing `\"/bin/sh\"' to `~a'~%"
file quoted-sh)
quoted-sh))))
(find-files "." "\\.ml$")))))))))
(home-page "https://ocaml.org/")
(synopsis "The OCaml programming language")
(description
"OCaml is a general purpose industrial-strength programming language with
an emphasis on expressiveness and safety. Developed for more than 20 years at
Inria it benefits from one of the most advanced type systems and supports
functional, imperative and object-oriented styles of programming.")
;; The compiler is distributed under qpl1.0 with a change to choice of
;; law: the license is governed by the laws of France. The library is
;; distributed under lgpl2.0.
(license (list license:qpl license:lgpl2.0))))
(define-public ocaml-5.3
(package
(inherit ocaml-5.0)
(version "5.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml/ocaml")
(commit version)))
(file-name (git-file-name "ocaml" version))
(sha256
(base32
"05jhy9zn53v12rn3sg3vllqf5blv1gp7f06803npimc58crxy6rv"))))))
(define-public ocaml-4.14
(package
(name "ocaml")
@@ -1679,13 +1598,6 @@ compilers that can directly deal with packages.")
(native-inputs
(list m4 ocaml-4.09))))
(define-public ocaml5.0-findlib
(package
(inherit ocaml-findlib)
(name "ocaml5.0-findlib")
(native-inputs
(list m4 ocaml-5.0))))
(define-public ocaml-ounit2
(package
(name "ocaml-ounit2")
@@ -2017,9 +1929,6 @@ Descriptions of projects, libraries and executables are provided in
(define-public ocaml4.09-dune-bootstrap
(package-with-ocaml4.09 dune-bootstrap))
(define-public ocaml5.0-dune-bootstrap
(package-with-ocaml5.0 dune-bootstrap))
(define-public dune-configurator
(package
(inherit dune-bootstrap)
@@ -2041,7 +1950,8 @@ Descriptions of projects, libraries and executables are provided in
(propagated-inputs
(list ocaml-csexp))
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-dune-configurator))
(ocaml5.0-variant . ,(delay ocaml5.0-dune-configurator))))
(ocaml5.0-variant . ,(delay ocaml5.0-dune-configurator))
(ocaml5.3-variant . ,(delay ocaml5:ocaml5.3-dune-configurator))))
(synopsis "Dune helper library for gathering system configuration")
(description "Dune-configurator is a small library that helps writing
OCaml scripts that test features available on the system, in order to generate
@@ -2072,9 +1982,9 @@ config.h files for instance. Among other things, dune-configurator allows one t
(name "ocaml5.0-dune-configurator")
(arguments
`(,@(package-arguments dune-configurator)
#:dune ,ocaml5.0-dune-bootstrap
#:ocaml ,ocaml-5.0
#:findlib ,ocaml5.0-findlib))
#:dune ,ocaml5:ocaml5.0-dune-bootstrap
#:ocaml ,ocaml5:ocaml-5.0
#:findlib ,ocaml5:ocaml5.0-findlib))
(propagated-inputs (list ocaml5.0-csexp))))
(define-public dune
@@ -2084,7 +1994,8 @@ config.h files for instance. Among other things, dune-configurator allows one t
(list dune-configurator))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))
(ocaml4.09-variant . ,(delay ocaml4.09-dune))
(ocaml5.0-variant . ,(delay ocaml5.0-dune))))))
(ocaml5.0-variant . ,(delay ocaml5.0-dune))
(ocaml5.3-variant . ,(delay ocaml5:ocaml5.3-dune))))))
(define-public ocaml4.09-dune
(package
@@ -2108,7 +2019,7 @@ config.h files for instance. Among other things, dune-configurator allows one t
(define-public ocaml5.0-dune
(package
(inherit ocaml5.0-dune-bootstrap)
(inherit ocaml5:ocaml5.0-dune-bootstrap)
(propagated-inputs
(list ocaml5.0-dune-configurator))))
@@ -2237,7 +2148,8 @@ executables and libraries")))
(propagated-inputs
(list ocaml-result))
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-csexp))
(ocaml5.0-variant . ,(delay ocaml5.0-csexp))))
(ocaml5.0-variant . ,(delay ocaml5.0-csexp))
(ocaml5.3-variant . ,(delay ocaml5:ocaml5.3-csexp))))
(home-page "https://github.com/ocaml-dune/csexp")
(synopsis "Parsing and printing of S-expressions in Canonical form")
(description "This library provides minimal support for Canonical
@@ -2271,10 +2183,10 @@ module of this library is parameterised by the type of S-expressions.")
(inherit ocaml-csexp)
(name "ocaml5.0-csexp")
(arguments
`(#:ocaml ,ocaml-5.0
#:findlib ,ocaml5.0-findlib
`(#:ocaml ,ocaml5:ocaml-5.0
#:findlib ,ocaml5:ocaml5.0-findlib
,@(substitute-keyword-arguments (package-arguments ocaml-csexp)
((#:dune _) ocaml5.0-dune-bootstrap))))
((#:dune _) ocaml5:ocaml5.0-dune-bootstrap))))
(propagated-inputs
`(("ocaml-result" ,ocaml5.0-result)))))
@@ -2397,7 +2309,8 @@ bitsrings in Erlang style as primitives to the language.")))
(arguments
`(#:dune ,dune-bootstrap))
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-result))
(ocaml5.0-variant . ,(delay ocaml5.0-result))))
(ocaml5.0-variant . ,(delay ocaml5.0-result))
(ocaml5.3-variant . ,(delay ocaml5:ocaml5.3-result))))
(home-page "https://github.com/janestreet/result")
(synopsis "Compatibility Result module")
(description "Uses the new result type defined in OCaml >= 4.03 while
@@ -2419,9 +2332,9 @@ defined in this library.")
(inherit ocaml-result)
(name "ocaml5.0-result")
(arguments
`(#:dune ,ocaml5.0-dune-bootstrap
#:ocaml ,ocaml-5.0
#:findlib ,ocaml5.0-findlib))))
`(#:dune ,ocaml5:ocaml5.0-dune-bootstrap
#:ocaml ,ocaml5:ocaml-5.0
#:findlib ,ocaml5:ocaml5.0-findlib))))
(define-public ocaml-iso8601
(package
File diff suppressed because it is too large Load Diff
+33
View File
@@ -0,0 +1,33 @@
Upstream status: https://github.com/ghollisjr/cl-ana/pull/49
From 491ba1127126ca6209b7c4dc1485377c7f772f7e Mon Sep 17 00:00:00 2001
From: Philip Taron <philip.taron@gmail.com>
Date: Mon, 16 Feb 2026 12:32:04 -0800
Subject: [PATCH] Fix type error in fixed-mem-cache for SBCL 2.6.0
In cl-ana.makeres, the fixed-mem-cache function uses
(setf (cdr (last cache)) (list id)) where cache can be nil (initial
state or after popping all elements). (last nil) returns nil, making
(setf (cdr nil) ...) undefined. SBCL 2.6.0's stricter type inference
catches this as a type conflict, causing COMPILE-FILE-ERROR.
Replace with nconc which handles the nil case correctly.
---
makeres/makeres.lisp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/makeres/makeres.lisp b/makeres/makeres.lisp
index 1999ac4..373bb57 100644
--- a/makeres/makeres.lisp
+++ b/makeres/makeres.lisp
@@ -936,8 +936,8 @@ compressed storage, but alas."
(> total maxmem))
do (unload-target (pop cache))))
(load-target id)
- (setf (cdr (last cache))
- (list id)))))))))
+ (setf cache
+ (nconc cache (list id))))))))))
;; Caching utility functions:
@@ -0,0 +1,42 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Remove [patch.crates-io] and [patch.'ssh://...'] sections and
exclude network-proxy from workspace members.
The [patch] sections point to git repositories which are unavailable
in an offline build. The vendored crossterm, ratatui,
tokio-tungstenite and tungstenite forks are provided as cargo-inputs
instead.
The network-proxy workspace member depends on rama which requires
Rust 1.91+.
--- a/codex-rs/Cargo.toml
+++ b/codex-rs/Cargo.toml
@@ -28,7 +28,6 @@
"lmstudio",
"login",
"mcp-server",
- "network-proxy",
"ollama",
"process-hardening",
"protocol",
@@ -311,16 +310,3 @@
debug = 1 # Reduce debug symbol size
inherits = "test"
opt-level = 0
-
-[patch.crates-io]
-# Uncomment to debug local changes.
-# ratatui = { path = "../../ratatui" }
-crossterm = { git = "https://github.com/nornagon/crossterm", branch = "nornagon/color-query" }
-ratatui = { git = "https://github.com/nornagon/ratatui", branch = "nornagon-v0.29.0-patch" }
-tokio-tungstenite = { git = "https://github.com/JakkuSakura/tokio-tungstenite", rev = "2ae536b0de793f3ddf31fc2f22d445bf1ef2023d" }
-
-# Uncomment to debug local changes.
-# rmcp = { path = "../../rust-sdk/crates/rmcp" }
-
-[patch."ssh://git@github.com/JakkuSakura/tungstenite-rs.git"]
-tungstenite = { git = "https://github.com/JakkuSakura/tungstenite-rs", rev = "f514de8644821113e5d18a027d6d28a5c8cc0a6e" }
-32
View File
@@ -1,32 +0,0 @@
Upstream-status: Not presented upstream.
From a4eb7d1f2cbd02132a9f5512f1294182576d4653 Mon Sep 17 00:00:00 2001
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Fri, 8 Nov 2024 11:47:49 +0100
Subject: [PATCH] osdep/hurd: Support the 64bit Hurd.
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8
* grub-core/osdep/hurd/getroot.c (grub_util_find_hurd_root_device):
Use mach_msg_type_number_t instead of size_t.
---
grub-core/osdep/hurd/getroot.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/osdep/hurd/getroot.c b/grub-core/osdep/hurd/getroot.c
index 0efefdab4..b849700e6 100644
--- a/grub-core/osdep/hurd/getroot.c
+++ b/grub-core/osdep/hurd/getroot.c
@@ -58,7 +58,7 @@ grub_util_find_hurd_root_device (const char *path)
file_t file;
error_t err;
char *argz = NULL, *name = NULL, *ret;
- size_t argz_len = 0;
+ mach_msg_type_number_t argz_len = 0;
int i;
file = file_name_lookup (path, 0, 0);
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
@@ -0,0 +1,46 @@
From 7d7c9ce06837f20d5585f1bc28a47701d12cf8ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Sun, 1 Mar 2026 10:53:21 +0200
Subject: [PATCH] glcolorconvert: Fix NULL pointer dereference on buffers
without video meta
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4935
---
.../gst-libs/gst/gl/gstglcolorconvert.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/gst-libs/gst/gl/gstglcolorconvert.c b/gst-libs/gst/gl/gstglcolorconvert.c
index f2dc2dc7bbb..c13b4df69de 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.c
+++ b/gst-libs/gst/gl/gstglcolorconvert.c
@@ -3428,10 +3428,12 @@ _init_convert (GstGLColorConvert * convert)
}
GstVideoMeta *v_meta = gst_buffer_get_video_meta (convert->inbuf);
- if (v_meta->width != convert->priv->padded_width
- || v_meta->height != convert->priv->padded_height) {
- gdouble padded_width = v_meta->width;
- gdouble padded_height = v_meta->height;
+ if ((v_meta && (v_meta->width != convert->priv->padded_width
+ || v_meta->height != convert->priv->padded_height)) ||
+ (!v_meta && (convert->in_info.width != convert->priv->padded_width ||
+ convert->in_info.height != convert->priv->padded_height))) {
+ gdouble padded_width = v_meta ? v_meta->width : convert->in_info.width;
+ gdouble padded_height = v_meta ? v_meta->height : convert->in_info.height;
gdouble display_width = GST_VIDEO_INFO_WIDTH (&convert->in_info);
gdouble display_height = GST_VIDEO_INFO_HEIGHT (&convert->in_info);
@@ -3449,8 +3451,8 @@ _init_convert (GstGLColorConvert * convert)
crop_vertices, GL_STATIC_DRAW);
gl->BindBuffer (GL_ARRAY_BUFFER, 0);
- convert->priv->padded_width = v_meta->width;
- convert->priv->padded_height = v_meta->height;
+ convert->priv->padded_width = padded_width;
+ convert->priv->padded_height = padded_height;
}
gl->BindTexture (GL_TEXTURE_2D, 0);
--
GitLab
-75
View File
@@ -1,75 +0,0 @@
Uptream-status: https://github.com/YosysHQ/nextpnr/pull/1480
diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt
index ff5d9208..c554cc96 100644
--- a/gui/CMakeLists.txt
+++ b/gui/CMakeLists.txt
@@ -46,12 +46,42 @@ target_include_directories(nextpnr-${target}-gui PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
+# Detect whether imgui/qtimgui packages are available from the system.
+find_path(IMGUI_INCLUDE_DIR NAMES imgui.h PATH_SUFFIXES imgui)
+find_path(QTIMGUI_INCLUDE_DIR NAMES QtImGui.h PATH_SUFFIXES qtimgui)
+find_library(IMGUI_LIB NAMES imgui)
+find_library(QTIMGUI_LIB NAMES qt_imgui_widgets)
+if (IMGUI_INCLUDE_DIR AND IMGUI_LIB)
+ message("Using system imgui library:
+ IMGUI_INCLUDE_DIR=${IMGUI_INCLUDE_DIR}
+ IMGUI_LIB=${IMGUI_LIB}")
+else()
+ message("Using bundled imgui library")
+ set(IMGUI_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/3rdparty/imgui)
+ set(IMGUI_SOURCES
+ ../3rdparty/imgui/imgui_widgets.cpp
+ ../3rdparty/imgui/imgui_draw.cpp
+ ../3rdparty/imgui/imgui.cpp
+ ../3rdparty/imgui/imgui_demo.cpp)
+endif()
+if (QTIMGUI_INCLUDE_DIR AND QTIMGUI_LIB)
+ message("Using system qtimgui library:
+ QTIMGUI_INCLUDE_DIR=${QTIMGUI_INCLUDE_DIR}
+ QTIMGUI_LIB=${QTIMGUI_LIB}")
+else()
+ message("Using bundled qtimgui library")
+ set(QTIMGUI_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/3rdparty/qtimgui)
+ set(QTIMGUI_SOURCES
+ ../3rdparty/qtimgui/ImGuiRenderer.cpp
+ ../3rdparty/qtimgui/QtImGui.cpp)
+endif()
+
target_include_directories(nextpnr-${target}-gui PRIVATE
${CMAKE_SOURCE_DIR}/frontend
${CMAKE_SOURCE_DIR}/json
${CMAKE_SOURCE_DIR}/3rdparty/QtPropertyBrowser/src
- ${CMAKE_SOURCE_DIR}/3rdparty/imgui
- ${CMAKE_SOURCE_DIR}/3rdparty/qtimgui
+ ${IMGUI_INCLUDE_DIR}
+ ${QTIMGUI_INCLUDE_DIR}
)
target_link_libraries(nextpnr-${target}-gui PUBLIC
@@ -77,14 +107,17 @@ if (BUILD_PYTHON)
../3rdparty/python-console/ParseMessage.cpp
../3rdparty/python-console/modified/pyredirector.cc
../3rdparty/python-console/modified/pyinterpreter.cc
- ../3rdparty/imgui/imgui_widgets.cpp
- ../3rdparty/imgui/imgui_draw.cpp
- ../3rdparty/imgui/imgui.cpp
- ../3rdparty/imgui/imgui_demo.cpp
- ../3rdparty/qtimgui/ImGuiRenderer.cpp
- ../3rdparty/qtimgui/QtImGui.cpp
+ ${IMGUI_SOURCES}
+ ${QTIMGUI_SOURCES}
)
+ if (IMGUI_LIB)
+ target_link_libraries(nextpnr-${target}-gui PRIVATE ${IMGUI_LIB})
+ endif()
+ if (QTIMGUI_LIB)
+ target_link_libraries(nextpnr-${target}-gui PRIVATE ${QTIMGUI_LIB})
+ endif()
+
target_include_directories(nextpnr-${target}-gui PRIVATE
../3rdparty/python-console
../3rdparty/python-console/modified
@@ -0,0 +1,56 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-27
License: ASL2.0
Subject: Use @SHELL@ placeholder for shebangs in embedded test scripts.
Tests that create and execute temporary shell scripts at runtime use
a hardcoded "#!/bin/sh" shebang. Replace with @SHELL@ so the build
phase can substitute the actual store path.
Also change assertions to print the actual error on failure.
diff -ruN a/codex-rs/rmcp-client/src/program_resolver.rs b/codex-rs/rmcp-client/src/program_resolver.rs
--- a/codex-rs/rmcp-client/src/program_resolver.rs
+++ b/codex-rs/rmcp-client/src/program_resolver.rs
@@ -82,7 +82,7 @@
cmd.envs(&env.mcp_env);
let output = cmd.output().await;
- assert!(output.is_ok(), "Unix should execute scripts directly");
+ output.expect("Unix should execute scripts directly");
Ok(())
}
@@ -134,10 +134,7 @@
cmd.envs(&env.mcp_env);
let output = cmd.output().await;
- assert!(
- output.is_ok(),
- "Resolved program should execute successfully"
- );
+ output.expect("Resolved program should execute successfully");
Ok(())
}
@@ -185,7 +182,7 @@
#[cfg(unix)]
{
let file = dir.join(Self::TEST_PROGRAM);
- fs::write(&file, "#!/bin/sh\nexit 0")?;
+ fs::write(&file, "#!@SHELL@\nexit 0")?;
Self::set_executable(&file)?;
}
diff -ruN a/codex-rs/tui/src/external_editor.rs b/codex-rs/tui/src/external_editor.rs
--- a/codex-rs/tui/src/external_editor.rs
+++ b/codex-rs/tui/src/external_editor.rs
@@ -159,7 +159,7 @@
let dir = tempdir().unwrap();
let script_path = dir.path().join("edit.sh");
- fs::write(&script_path, "#!/bin/sh\nprintf \"edited\" > \"$1\"\n").unwrap();
+ fs::write(&script_path, "#!@SHELL@\nprintf \"edited\" > \"$1\"\n").unwrap();
let mut perms = fs::metadata(&script_path).unwrap().permissions();
perms.set_mode(0o755);
fs::set_permissions(&script_path, perms).unwrap();
@@ -0,0 +1,20 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-03-05
License: ASL2.0
Subject: Increase per-event test timeout from 10 to 30 seconds.
In resource-constrained build environments, image processing (resize,
base64-encode, JSON serialization) can exceed 10 seconds under CPU
contention, causing intermittent test failures.
diff -ruN a/codex-rs/core/tests/common/lib.rs b/codex-rs/core/tests/common/lib.rs
--- a/codex-rs/core/tests/common/lib.rs
+++ b/codex-rs/core/tests/common/lib.rs
@@ -174,7 +174,7 @@
loop {
// Allow a bit more time to accommodate async startup work (e.g. config IO, tool discovery)
- let ev = timeout(wait_time.max(Duration::from_secs(10)), codex.next_event())
+ let ev = timeout(wait_time.max(Duration::from_secs(30)), codex.next_event())
.await
.expect("timeout waiting for event")
.expect("stream ended unexpectedly");
@@ -0,0 +1,23 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-25
License: ASL2.0
Subject: Add version to codex-protocol dependency in windows-sandbox-rs.
The codex-protocol dependency in windows-sandbox-rs uses the TOML table
format with an explicit path, rather than workspace inheritance
(workspace = true). Because it is not an intra-workspace dependency,
cargo cannot resolve its version from the workspace root Cargo.toml
and cargo package fails with "dependency `codex-protocol` does not
specify a version".
diff -u a/codex-rs/windows-sandbox-rs/Cargo.toml b/codex-rs/windows-sandbox-rs/Cargo.toml
--- a/codex-rs/windows-sandbox-rs/Cargo.toml
+++ b/codex-rs/windows-sandbox-rs/Cargo.toml
@@ -38,6 +38,7 @@
[dependencies.codex-protocol]
package = "codex-protocol"
path = "../protocol"
+version = "0.0.0"
[dependencies.rand]
default-features = false
+2 -2
View File
@@ -236,7 +236,7 @@ it.")
(define-public trealla
(package
(name "trealla")
(version "2.91.3")
(version "2.91.5")
(source
(origin
(method git-fetch)
@@ -245,7 +245,7 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
(base32 "1ypwpxgcjz4gxb77pzjj1b202yr083cwj4dwp9m0vw0ynqgsl6va"))
(base32 "1ih4jx652nnw1cyvsjmz8dmmcylrwl6lmczav9r8m4z7n6flgkql"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
+24
View File
@@ -938,6 +938,30 @@ files (.Z), such as the ones created by Unix's shell tool compress.")
Python.")
(license license:bsd-3)))
(define-public python-zipfile2
(package
(name "python-zipfile2")
(version "0.0.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/itziakos/zipfile2/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hmq33r3ffrrvm5nggsp69cjdbgjbwn6zbcrs2rhmb8pds0h81q7"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-setuptools))
(home-page "https://github.com/itziakos/zipfile2/")
(synopsis "Improved @code{ZipFile} Python class")
(description
"Zipfile2 is a backward compatible replacement to @code{ZipFile}. It
provides handling of symlinks, and exception management.")
(license license:psfl)))
(define-public python-zipp
(package
(name "python-zipp")
+60 -84
View File
@@ -4014,14 +4014,16 @@ commits.")
(define-public python-mkdocs-material
(package
(name "python-mkdocs-material")
(version "7.1.3")
(version "7.3.6")
(source
(origin
(method url-fetch)
(uri
(pypi-uri "mkdocs-material" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/squidfunk/mkdocs-material")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ci9xiasq9nfn09v11m7p49vzazdbgslw7rpzjd6y3hsmn9vljz3"))
(base32 "06ghwidcdqimx6jc6yz1zdbyc8rqklkwj5h5cxsihazh0f52fivk"))
(modules '((guix build utils)))
(snippet
;; TODO There are still bundled assets and minified JS.
@@ -4052,8 +4054,8 @@ commits.")
""))))
(add-after 'ensure-no-mtimes-pre-1980 'inject-javascript-assets
(lambda* (#:key inputs #:allow-other-keys)
(mkdir-p "material/assets/javascripts/min/")
(with-directory-excursion "material/assets/javascripts/min/"
(mkdir-p "material/assets/javascripts/lunr/min")
(with-directory-excursion "material/assets/javascripts/lunr/min"
(symlink-js inputs))))
(add-after 'wrap 'replace-javascript-assets
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -4061,9 +4063,9 @@ commits.")
(js-assets (string-append site "/material/"
"assets/javascripts")))
(with-directory-excursion js-assets
(delete-file-recursively "min")
(mkdir-p "min")
(with-directory-excursion "min"
(delete-file-recursively "lunr/min")
(mkdir-p "lunr/min")
(with-directory-excursion "lunr/min"
(symlink-js inputs))))))))))
(native-inputs (list python-setuptools))
(inputs (list js-lunr-ar
@@ -17919,24 +17921,49 @@ JSON Reference and JSON Pointer.")
(define-public python-fastbencode
(package
(name "python-fastbencode")
(version "0.3.2") ;the last non Rust version
(version "0.3.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fastbencode" version))
(modules '((guix build utils)))
;; Delete pre-generated Cython C files.
(snippet '(for-each delete-file (find-files "." "\\.c$")))
(method git-fetch)
(uri (git-reference
(url "https://github.com/breezy-team/fastbencode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1daal7xgsl2sjxq8pcilcas9wd9j9796wd4rlkhrvv5h0k2k4k53"))))
(base32 "0d4sd1c2yv85spxx2gvi2fm0avlgpnb7nfkvw7hpxlx6qlaqi4ad"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'unittest
#:test-flags #~(list "fastbencode.tests.test_suite")))
#:test-flags #~(list "tests.test_suite")
#:imported-modules (append %cargo-build-system-modules
%pyproject-build-system-modules)
#:modules '(((guix build cargo-build-system) #:prefix cargo:)
(guix build pyproject-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prepare-cargo-build-system
(lambda args
(for-each
(lambda (phase)
(format #t "Running cargo phase: ~a~%" phase)
(apply (assoc-ref cargo:%standard-phases phase)
#:cargo-target #$(cargo-triplet)
args))
'(unpack-rust-crates
configure
check-for-pregenerated-files
patch-cargo-checksums)))))))
(inputs (cargo-inputs 'fastbencode))
(native-inputs
(list python-cython
python-setuptools))
(append
(list python-setuptools-rust
rust
`(,rust "cargo"))
(or (and=> (%current-target-system)
(compose list make-rust-sysroot))
'())))
(home-page "https://github.com/breezy-team/fastbencode")
(synopsis "Python Bencode (de)serializer with optional fast C extensions")
(description
@@ -18192,40 +18219,6 @@ how many previous alarms had gone off, and if there is music playing at the
time.")
(license license:expat)))
(define-public python-simplesat
(package
(name "python-simplesat")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/enthought/sat-solver")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z44pi8yb6pvc9bisl3qnn3glj7ir0ad2j4gd4jfg2kxvwvi0w0b"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags #~(list "--ignore=old")))
(propagated-inputs
(list python-attrs
python-okonomiyaki
python-six))
(native-inputs
(list python-mock
python-pytest
python-pyyaml
python-setuptools))
(home-page "https://github.com/enthought/sat-solver")
(synopsis
"@acronym{SAT, Boolean Satisfiability Problem} dependency handling")
(description
"This package provides a prototype Python implementation for SAT-based
problems.")
(license license:bsd-3)))
(define-public python-haas
;; A recent revision is required to avoid obsoleted dependencies.
(let ((commit "e9c45e88b682c9129ea0971ba31671429495de2c")
@@ -18257,27 +18250,6 @@ with Python's built-in unittest test-cases, but supports more advanced
features, such as project-specific plugins.")
(license license:bsd-3))))
(define-public python-zipfile2
(package
(name "python-zipfile2")
(version "0.0.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/itziakos/zipfile2/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hmq33r3ffrrvm5nggsp69cjdbgjbwn6zbcrs2rhmb8pds0h81q7"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-pytest))
(home-page "https://github.com/itziakos/zipfile2/")
(synopsis "Improved @code{ZipFile} Python class")
(description "Zipfile2 is a backward compatible replacement to
@code{ZipFile}. It provides handling of symlinks, and exception management.")
(license license:psfl)))
(define-public python-okonomiyaki
(package
(name "python-okonomiyaki")
@@ -41263,17 +41235,19 @@ you do not want to store entirely on disk or on memory.")
(arguments
`(#:configure-flags '("PYTHON_VERSION=2")))))
(define-public python-yamlcore-0.0.2
;; This is a pinned version dependency for librelane
(define-public python-yamlcore
(package
(name "python-yamlcore")
(version "0.0.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "yamlcore" version))
(sha256
(base32
"0vwjiryrx58ycmlbv668izswda4jmdpw7g9cn6bsy5my3iabjblb"))))
(version "0.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/perlpunk/pyyaml-core")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03y7fabyky67cw4g71xcbwfdal79wxcnmr303qyllz21x2d4s5ac"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools))
(inputs (list python-pyyaml))
@@ -41283,6 +41257,8 @@ you do not want to store entirely on disk or on memory.")
files.")
(license license:expat)))
(define-deprecated-package python-yamlcore-0.0.2 python-yamlcore)
(define-public shrinkwrap
(package
(name "shrinkwrap")
+53
View File
@@ -20,6 +20,7 @@
;;; Copyright © 2025 Jordan Moore <lockbox@struct.foo>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -831,6 +832,58 @@ library.")
devices that are supported by the SoapySDR library.")
(license license:expat)))
(define-public python-meshtastic
(package
(name "python-meshtastic")
(version "2.7.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/meshtastic/python")
(commit version)
(recursive? #t))) ;TODO: package meshtastic/protobufs subproject
(file-name (git-file-name name version))
(sha256
(base32 "0fdxlwdf1ga00wa7vbfvhhd0dpwcxakdlmrjs24zhd6pq5k7jicf"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 220 passed, 3 skipped, 77 deselected
#:test-flags
;; requires pytap2 input, which is not in Guix
#~(list "-k not test_tunnel_tunnel_arg")))
(native-inputs
(list python-poetry-core
python-pytest))
;; unpackaged (optional) inputs: python-print-color, python-dash
;; python-pytap2, python-dash-bootstrap-components
(propagated-inputs
(list python-argcomplete
python-bleak
python-dotmap
python-packaging
python-pandas
python-pandas-stubs
python-protobuf
python-pypubsub
python-pyqrcode
python-pyserial
python-pyyaml
python-requests
python-tabulate
python-wcwidth))
(home-page "https://github.com/meshtastic/python")
(synopsis "Python library and CLI for talking to Meshtastic devices")
(description
"@url{https://meshtastic.org/,Meshtastic} Python is a small library which
provides an easy API for sending and receiving messages over mesh radios. It
provides access to any of the operations/data available in the device user
interface or the Android applications. Events are delivered using a
publish-subscribe model, and you can subscribe to only the message types you
are interested in.")
(license license:gpl3))) ;XXX: both python API and protobufs
(define-public qspectrumanalyzer
(package
(name "qspectrumanalyzer")
+414 -2
View File
@@ -97,6 +97,7 @@
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages ibus)
#:use-module (gnu packages icu4c)
@@ -124,6 +125,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages rust)
#:use-module (gnu packages rust-sources)
#:use-module (gnu packages security-token)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages terminals)
@@ -697,6 +699,90 @@ Rust source code.")
through tools like `gdb`.")
(license license:gpl3)))
(define-public cocogitto
(package
(name "cocogitto")
(version "6.5.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "cocogitto" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0wpsvrws2lwy1kix0xfs5dqs8b7j5ixnaz2x25apfbnh6gf99vda"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "website")))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:cargo-test-flags
'(list "--"
;; Disable tests that depend on being run inside of the source repository
"--skip=conventional::changelog::release::test::should_get_a_release"
"--skip=git::hook::tests::add_all"
"--skip=git::hook::tests::add_pre_commit_hook"
"--skip=git::hook::tests::overwrite_pre_commit_hook"
"--skip=git::rev::cache::test::init_cache_ok"
"--skip=git::rev::revwalk::test::all_commits"
"--skip=git::rev::revwalk::test::from_previous_to_tag"
"--skip=git::rev::revwalk::test::from_tag_to_head"
"--skip=git::rev::revwalk::test::from_tag_to_tag_ok"
"--skip=git::rev::revwalk::test::get_release_range_integration_test"
"--skip=git::rev::revwalk::test::recursive_from_origin_to_head"
"--skip=cog_tests::changelog::get_changelog_range"
"--skip=cog_tests::commit::should_run_git_hooks")
#:modules '((guix build cargo-build-system)
(guix build utils)
(ice-9 match))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'prepare-for-tests
(lambda _
;; The tests try to run git as if it were already set up.
(setenv "HOME" (getcwd))
(invoke "git" "config" "--global" "user.email" "git@example.com")
(invoke "git" "config" "--global" "user.name" "Guix")))
(add-after 'install 'install-completions
(lambda* (#:key native-inputs #:allow-other-keys)
(for-each
(match-lambda
((shell . path)
(mkdir-p (in-vicinity #$output (dirname path)))
(let ((binary
(if #$(%current-target-system)
(search-input-file native-inputs "bin/cog")
(in-vicinity #$output "bin/cog"))))
(with-output-to-file (in-vicinity #$output path)
(lambda _
(invoke binary "generate-completions" shell))))))
'(("bash" . "share/bash-completion/completions/cog")
("elvish" . "share/elvish/lib/cog")
("fish" . "share/fish/vendor_completions.d/cog.fish")
("nu" . "share/nushell/vendor/autoload/cog")
("zsh" . "share/zsh/site-functions/_cog"))))))))
(native-inputs
(append (if (%current-target-system)
(list this-package)
'())
(list git-minimal
gnupg
openssh
pkg-config)))
(inputs (cons* libgit2-1.9
libssh2
openssl
zlib
(cargo-inputs 'cocogitto)))
(home-page "https://github.com/cocogitto/cocogitto")
(synopsis
"Set of CLI tools for the Conventional Commit and SemVer specifications")
(description
"This package provides Cocogitto, a set of CLI tools for the Conventional
Commit and SemVer specifications.")
(license license:expat)))
(define-public codeberg-cli
(package
(name "codeberg-cli")
@@ -751,6 +837,331 @@ through tools like `gdb`.")
"This package provides CLI Tool for codeberg similar to gh and glab.")
(license license:agpl3+)))
(define-public codex
(package
(name "codex")
(version (package-version rust-codex-0.98.0))
(source
(origin
(inherit (package-source rust-codex-0.98.0))
(patches (search-patches
"rust-codex-0.98.0-execpolicy-file-lock.patch"
"rust-codex-0.98.0-core-file-lock.patch"
"rust-codex-0.98.0-arg0-file-lock.patch"
"codex-0.98.0-remove-patch-sections.patch"
"rust-codex-0.98.0-test-shebangs.patch"
"rust-codex-0.98.0-test-timeout.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:cargo-install-paths '(list "cli" "exec" "exec-server"
"linux-sandbox" "mcp-server"
"app-server" "tui")
;; schema_fixtures_match_generated (upstream fixture is stale:
;; FileChange::Update in codex-protocol gained old_content,
;; new_content, move_path fields but the committed JSON schema
;; fixture was not regenerated).
#:cargo-test-flags '(list "--workspace"
"--exclude" "codex-app-server-protocol"
"--"
;; These tests exercise sandbox denial and
;; escalation, which requires Landlock to
;; cleanly deny filesystem access. Inside the
;; build container Landlock returns NotEnforced
;; and the sandbox binary panics instead.
;; Disabling Landlock would not help either,
;; since these tests need a working sandbox to
;; have anything to deny and escalate.
"--skip" "sandbox_denied_shell_returns_original_output"
"--skip" "shell_escalated_permissions_rejected_then_ok"
"--skip" "unified_exec_runs_under_sandbox"
;; These tests (in codex-exec) directly call
;; spawn_command_under_linux_sandbox to verify
;; that python and bash work correctly inside
;; the Landlock sandbox. The sandbox binary
;; (codex-exec) panics with LandlockRestrict
;; (exit code 101) before the inner command
;; even starts.
"--skip" "python_getpwuid_works_under_sandbox"
"--skip" "python_multiprocessing_lock_works_under_sandbox"
"--skip" "sandbox_distinguishes_command_and_policy_cwds"
;; These linux-sandbox tests directly invoke
;; the Landlock sandbox via
;; process_exec_tool_call; same root cause.
"--skip" "test_writable_root"
"--skip" "test_timeout"
"--skip" "test_root_read"
"--skip" "test_dev_null_write"
"--skip" "test_no_new_privs_is_enabled"
;; This test iterates many approval scenarios;
;; one of them
;; (danger_full_access_on_request_allows_network)
;; runs a command through the Landlock sandbox
;; binary, which panics with LandlockRestrict
;; inside the build container. Cargo --skip
;; cannot target individual scenarios, so we
;; skip the entire matrix.
"--skip" "approval_matrix_covers_all_modes"
;; This test verifies session-level patch
;; approval caching: approve once, skip
;; future prompts for the same file. When
;; Landlock is unavailable (as in the Guix
;; build container) the sandbox binary panics,
;; triggering the escalation-retry path, which
;; interferes with the approval cache and
;; causes a spurious re-prompt on the second
;; patch.
"--skip" "approving_apply_patch_for_session_skips_future_prompts_for_same_file"
;; These tests expect to interrupt a
;; long-running 'sleep 60' and receive
;; TurnAborted. Default test config is
;; OnRequest + ReadOnly. What happens:
;;
;; 1. ReadOnly wraps the command with
;; codex-linux-sandbox (Landlock-based).
;; 2. Landlock is unavailable in the Guix
;; build container, so the sandbox
;; binary exits instantly (~1 ms).
;; 3. Orchestrator gets SandboxErr::Denied.
;; wants_no_sandbox_approval(OnRequest)
;; returns false (sandboxing.rs:222),
;; so no escalation -- denial returned
;; directly.
;; 4. ToolEmitter::finish sends the error
;; to the mock model as
;; function_call_output.
;; 5. Second mock SSE response fires,
;; turn finishes with TurnComplete.
;; 6. Op::Interrupt arrives 100 ms later,
;; but the turn is already done --
;; TurnAborted is never emitted,
;; test times out.
;;
;; The similar interrupt_long_running_tool_
;; emits_turn_aborted passes because it
;; sends the interrupt with no delay and
;; has only one mock response (so the turn
;; cannot complete first).
"--skip" "interrupt_persists_turn_aborted_marker_in_next_request"
"--skip" "interrupt_tool_records_history_entries"
;; Upstream bug: test hardcodes "0.0.0" in the
;; expected user-agent string but the workspace
;; version is "0.98.0".
"--skip" "get_user_agent_returns_current_codex_user_agent"
;; Same upstream bug: mcp-server tests
;; check the initialize response which
;; includes "version": "0.0.0" but the
;; server returns "0.98.0".
"--skip" "test_codex_tool_passes_base_instructions"
"--skip" "test_shell_command_approval_triggers_elicitation"
"--skip" "test_patch_approval_triggers_elicitation"
;; These codex-exec-server tests need
;; "dotslash", a Meta tool that lazily
;; downloads pre-built binaries from a
;; JSON manifest. The test helper
;; create_transport runs
;; `dotslash -- fetch <path>` to obtain a
;; custom bash binary described in
;; exec-server/tests/suite/bash.
;; dotslash is not available in the build
;; container.
"--skip" "list_tools"
"--skip" "accept_elicitation_for_prompt_rule"
;;; Test isolation bug: each test in
;;; state/src/runtime.rs calls
;;; unique_temp_dir() to get its own
;;; temporary directory (and thus its
;;; own SQLite database). That function
;;; names directories using the current
;;; nanosecond timestamp, so when tests
;;; run in parallel several can receive
;;; the same name and open the same
;;; database. The initial SQLite
;;; migration runs CREATE TABLE threads
;;; (without IF NOT EXISTS), so any init
;;; after the first panics with "table
;;; threads already exists". Any of
;;; these tests
;;; can be the victim.
"--skip" "init_removes_legacy_state_db_files"
"--skip" "upsert_and_get_thread_memory"
"--skip" "get_last_n_thread_memories_for_cwd_matches_exactly"
"--skip" "upsert_thread_memory_errors_for_unknown_thread"
"--skip" "get_last_n_thread_memories_for_cwd_zero_returns_empty"
"--skip" "get_last_n_thread_memories_for_cwd_does_not_prefix_match"
"--skip" "deleting_thread_cascades_thread_memory")
#:cargo-package-crates
''(;;; Tier 0: No internal deps.
"codex-async-utils"
"codex-client"
"codex-execpolicy"
"codex-file-search"
"codex-git"
"codex-keyring-store"
"codex-utils-absolute-path"
"codex-utils-cache"
"codex-utils-cargo-bin"
"codex-utils-home-dir"
"codex-utils-json-to-toml"
"codex-utils-pty"
"codex-utils-readiness"
"codex-utils-string"
"codex-backend-openapi-models"
"codex-process-hardening"
"codex-ansi-escape"
;;; Tier 1: Depends on tier 0.
"codex-utils-image"
"codex-apply-patch"
"codex-protocol"
"codex-windows-sandbox"
"codex-api"
"codex-experimental-api-macros"
"codex-secrets"
"codex-execpolicy-legacy"
"codex-debug-client"
;;; Tier 2.
"codex-app-server-protocol"
"codex-rmcp-client"
"codex-otel"
"codex-state"
"codex-core"
"codex-linux-sandbox"
"codex-feedback"
;;; Tier 3.
"codex-arg0"
"codex-lmstudio"
"codex-login"
"codex-ollama"
"codex-common"
"codex-mcp-server"
"codex-backend-client"
"codex-responses-api-proxy"
;;; Tier 4.
"codex-cloud-requirements"
"codex-exec"
"codex-exec-server"
"codex-stdio-to-uds"
;; codex-network-proxy requires rama which needs Rust 1.91+.
"codex-chatgpt"
"codex-cloud-tasks-client"
;;; Tier 5.
"codex-app-server"
"codex-app-server-test-client"
"codex-tui"
;;; Tier 6.
"codex-cloud-tasks"
;; The main executable.
"codex-cli")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir-to-workspace
(lambda _
(chdir "codex-rs")))
(add-after 'chdir-to-workspace 'update-version-in-snapshots
(lambda _
;; Snapshot test files contain hardcoded v0.0.0 version strings.
;; Update them to match the actual package version.
(let ((snap-files (find-files "." "\\.snap$")))
(substitute* snap-files
(("\\(v0\\.0\\.0\\) ") "(v0.98.0)")))))
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
(lambda _
;; Replace git dependencies with version references so cargo
;; resolves them from the vendored sources.
(substitute* "Cargo.toml"
(("nucleo = \\{ git = [^}]+\\}")
"nucleo = \"0.5.0\"")
(("runfiles = \\{ git = [^}]+\\}")
"runfiles = \"0.1.0\""))))
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
(lambda _
;; cargo package requires all dependencies to have versions.
;; cargo package requires all dependencies to have versions.
;; Add version = "0.98.0" to internal path dependencies.
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
(substitute* cargo-files
;; Handle inline deps: name = { path = "..." }
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
(string-append name " = { version = \"0.98.0\", path = "))
;; Handle inline deps with package: name = { package = "...", path = "..." }
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
(string-append name " = { version = \"0.98.0\", package = "))
;; Handle section deps: [dependencies.X] with path = "..."
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
(string-append path-line "\nversion = \"0.98.0\""))))))
(add-after 'chdir-to-workspace 'patch-hardcoded-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash-bin (string-append
(assoc-ref inputs "bash-minimal") "/bin"))
(coreutils-bin (string-append
(assoc-ref inputs "coreutils") "/bin"))
(git-bin (string-append
(assoc-ref inputs "git-minimal") "/bin"))
(sed-bin (string-append
(assoc-ref inputs "sed") "/bin"))
;; Include .policy files: the execpolicy-legacy
;; crate embeds default.policy via include_str!
;; at compile time, so its paths must also be
;; patched.
(rs-files (find-files "." "\\.(rs|policy)$")))
(substitute* rs-files
(("\"/bin/bash\"")
(string-append "\"" bash-bin "/bash\""))
(("\"/bin/sh\"")
(string-append "\"" bash-bin "/sh\""))
(("\"/usr/bin/bash\"")
(string-append "\"" bash-bin "/bash\""))
(("\"/usr/bin/sh\"")
(string-append "\"" bash-bin "/sh\""))
;;; bash/sh with inline arguments, e.g. "/bin/bash -i".
(("\"/bin/bash ")
(string-append "\"" bash-bin "/bash "))
(("\"/bin/sh ")
(string-append "\"" bash-bin "/sh "))
;; coreutils.
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch)\"" all cmd)
(string-append "\"" coreutils-bin "/" cmd "\""))
;; coreutils.
(("\"/usr/bin/(cat|cp|head|ls|touch|true)\"" all cmd)
(string-append "\"" coreutils-bin "/" cmd "\""))
;; coreutils with inline arguments
;; like "/bin/echo END-EVENT".
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch) " all cmd)
(string-append "\"" coreutils-bin "/" cmd " "))
(("\"/usr/bin/git\"")
(string-append "\"" git-bin "/git\""))
(("\"/usr/bin/sed\"")
(string-append "\"" sed-bin "/sed\"")))
;; @SHELL@ placeholder from test-shebangs patch
(substitute*
(list "rmcp-client/src/program_resolver.rs"
"tui/src/external_editor.rs")
(("@SHELL@")
(string-append bash-bin "/sh")))
;; shebang in test-only file
(substitute*
"core/tests/suite/user_notification.rs"
(("#!/bin/bash")
(string-append "#!" bash-bin "/bash"))))))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" "/tmp")
(setenv "USER" "nixbld"))))))
(native-inputs (list perl python-minimal ;for tests
pkg-config))
(inputs (cons* bash-minimal coreutils git-minimal sed
openssl sqlite `(,zstd "lib")
(cargo-inputs 'codex)))
(home-page "https://github.com/openai/codex")
(synopsis "AI-assisted coding CLI and TUI")
(description
"Codex is an AI-powered coding assistant that runs in the terminal.
It provides an interactive TUI for conversations with AI models, with
support for shell command execution, file editing, and code generation.
Configure providers via @file{~/.codex/config.toml}.")
(license license:asl2.0)))
(define-public codex-acp
(package
(name "codex-acp")
@@ -1783,7 +2194,7 @@ JSON viewer and jq filter editor.")
(define-public jujutsu
(package
(name "jujutsu")
(version "0.38.0")
(version "0.39.0")
(source
(origin
(method git-fetch)
@@ -1792,7 +2203,7 @@ JSON viewer and jq filter editor.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0c3fgxvvf7lj5p8s7fzx1mnxbiigplmgfqn49szj3z51m74d0xhm"))))
(base32 "0c0n56b5y6wmyvcc18nhrfsmcavjlh2zwv9224lrcs6h602a5jdd"))))
(build-system cargo-build-system)
(arguments
(list
@@ -1802,6 +2213,7 @@ JSON viewer and jq filter editor.")
''("--"
"--skip=test_gerrit_upload::test_gerrit_upload_rejected_by_remote"
"--skip=test_git_push::test_git_push_rejected_by_remote"
"--skip=test_git::test_push_updates_with_options"
"--skip=test_util_command::test_util_exec_sets_env")
#:modules
'((guix build cargo-build-system)
+3470 -250
View File
File diff suppressed because it is too large Load Diff
+109
View File
@@ -818,6 +818,115 @@ intelligence.")
and runtime for AI-assisted coding.")
(license license:asl2.0)))))
(define-public rust-codex-0.98.0
(hidden-package
(package
(name "rust-codex")
(version "0.98.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/openai/codex")
(commit "82464689ce0ba8a3b2065e73a8aa0cfdf2ad0625")))
(file-name (git-file-name name version))
(sha256
(base32 "1mn322gbir4gn4y5jihdqg0wprjlnx771chyfmmm7ri7pnim1zmc"))
;; TODO: Remove patches when Rust provides stable file locking API.
;; The file_lock feature is tracked at
;; <https://github.com/rust-lang/rust/issues/130994>.
(modules '((guix build utils)))
(snippet '(begin
;;; These are JSON manifests with a dotslash
;;; shebang that download and run pre-built
;;; binaries (ripgrep, bash) at runtime.
(delete-file "codex-cli/bin/rg")
(delete-file "codex-rs/exec-server/tests/suite/bash")
;; Bundled bubblewrap source tree; includes a
;; compiled BPF blob (demos/flatpak.bpf).
(delete-file-recursively "codex-rs/vendor/bubblewrap")))
(patches (search-patches "rust-codex-0.98.0-execpolicy-file-lock.patch"
"rust-codex-0.98.0-core-file-lock.patch"
"rust-codex-0.98.0-arg0-file-lock.patch"
"rust-codex-0.98.0-core-remove-self-dep.patch"
"rust-codex-0.98.0-windows-sandbox-protocol-version.patch"
"rust-codex-0.98.0-test-shebangs.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:skip-build? #t
#:cargo-package-crates
;; Order matters: dependencies must come before packages that need them
''("codex-async-utils" ; No internal deps
"codex-client" ; No internal deps
"codex-execpolicy" ; No internal deps
"codex-file-search" ; No internal deps
"codex-git" ; No internal deps
"codex-keyring-store" ; No internal deps
"codex-utils-absolute-path" ; No internal deps
"codex-utils-cache" ; No internal deps
"codex-utils-cargo-bin" ; No internal deps
"codex-utils-home-dir" ; No internal deps
"codex-utils-json-to-toml" ; No internal deps
"codex-utils-pty" ; No internal deps
"codex-utils-readiness" ; No internal deps
"codex-utils-string" ; No internal deps
"codex-utils-image" ; Depends on codex-utils-cache
"codex-apply-patch" ; Depends on codex-utils-cargo-bin
"codex-protocol" ; Depends on codex-git, codex-utils-*
"codex-windows-sandbox" ; Depends on codex-utils-absolute-path, codex-protocol
"codex-api" ; Depends on codex-client, codex-protocol
"codex-experimental-api-macros" ; Macro crate (must come before app-server-protocol)
"codex-app-server-protocol" ; Depends on codex-protocol, codex-experimental-api-macros
"codex-rmcp-client" ; Depends on codex-keyring-store, codex-protocol
"codex-otel" ; Depends on codex-app-server-protocol, codex-api
"codex-state" ; Depends on codex-protocol, codex-otel
"codex-core" ; Depends on many packages above
"codex-linux-sandbox" ; Depends on codex-core, codex-utils-absolute-path
"codex-arg0" ; Depends on codex-apply-patch, codex-core, codex-linux-sandbox
"codex-lmstudio" ; Depends on codex-core
"codex-login" ; Depends on codex-core
"codex-ollama" ; Depends on codex-core
"codex-common" ; Depends on codex-core, codex-lmstudio, codex-ollama
"codex-mcp-server") ; Depends on codex-core, codex-common
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir-to-workspace
(lambda _
(chdir "codex-rs")))
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
(lambda _
(substitute* "Cargo.toml"
(("crossterm = \\{ git = [^}]+\\}")
"crossterm = { version = \"0.28.1\" }")
(("ratatui = \\{ git = [^}]+\\}")
"ratatui = { version = \"0.29.0\" }")
(("tokio-tungstenite = \\{ git = [^}]+\\}")
"tokio-tungstenite = { version = \"0.28.0\" }")
(("nucleo = \\{ git = [^}]+\\}")
"nucleo = { version = \"0.5.0\" }")
(("runfiles = \\{ git = [^}]+\\}")
"runfiles = { version = \"0.1.0\" }"))))
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
(lambda _
;; cargo package requires all dependencies to have versions.
;; Add version = "0.98.0" to internal path dependencies.
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
(substitute* cargo-files
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
(string-append name " = { version = \"0.98.0\", path = "))
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
(string-append name " = { version = \"0.98.0\", package = "))
(("(mcp-types) = \\{ path = " all name)
(string-append name " = { version = \"0.98.0\", path = ")))))))))
(inputs (cargo-inputs 'rust-codex-0.0.0.785c0c43))
(home-page "https://github.com/openai/codex")
(synopsis "OpenAI Codex workspace crates")
(description
"This package provides the workspace crates for the OpenAI Codex CLI
and runtime for AI-assisted coding.")
(license license:asl2.0))))
;; Also update (@ (gnu packages gnome) glycin-loaders) when updating this.
(define-public rust-glycin-3
(package
+2 -2
View File
@@ -119,7 +119,7 @@
expat
ffmpeg
findutils
fmt-11
fmt
freetype
gdal
gl2ps
@@ -161,7 +161,7 @@
readline
trilinos-zoltan
utfcpp
vtk
vtk-9.5
xz
zlib))
(outputs '("debug" ;~60MB
+46
View File
@@ -953,3 +953,49 @@ using a Python-based domain-specific language.")
ONNX Runtime. It supports models including Whisper and NeMo Parakeet.
Includes bundled Parakeet TDT V3 model weights (int8, CC-BY-4.0, NVIDIA).")
(license license:expat)))
(define-public python-pocket-tts
(package
(name "python-pocket-tts")
(version "1.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kyutai-labs/pocket-tts")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0b9xxyrwa8vsz6r6fi7p47z8rd7q2gjjnwq47br89zp2lkzym3zm"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list ;;; These tests try to download models from HuggingFace Hub.
"--ignore=tests/test_cli_generate.py"
"--ignore=tests/test_documentation_examples.py")))
(propagated-inputs
(list python-beartype
python-einops
python-fastapi
python-huggingface-hub
python-numpy
python-pydantic
python-pytorch
python-safetensors
python-scipy
python-sentencepiece
python-soundfile
python-typer
python-typing-extensions
python-uvicorn))
(native-inputs
(list nss-certs-for-test
python-hatchling
python-pytest))
(home-page "https://github.com/kyutai-labs/pocket-tts")
(synopsis "Fast neural text-to-speech")
(description
"Pocket TTS is a fast neural text-to-speech engine with ~100M parameters,
running at approximately 6x realtime on CPU. English only.")
(license license:expat)))
+1 -2
View File
@@ -381,8 +381,6 @@ Additionally, various channel-specific options can be negotiated.")
#$flags))
((#:modules mods %default-gnu-modules)
(cons '(ice-9 string-fun) mods))
((#:imported-modules mods %default-gnu-imported-modules)
(cons '(ice-9 string-fun) mods))
((#:phases phases #~(list))
#~(modify-phases #$phases
(add-after 'unpack 'patch-ssh-stuff
@@ -439,6 +437,7 @@ of the ssh protocol. It was originally developed to address performance issues
(define-public hpn-ssh-sans-x
(package
(inherit hpn-ssh)
(name "hpn-ssh-sans-x")
(inputs
(modify-inputs (package-inputs hpn-ssh)
(delete "xauth")))
+80
View File
@@ -7,6 +7,7 @@
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2025 Zheng Junjie <z572@z572.online>
;;; Copyright © 2026 Foster Hangdaan <foster@hangdaan.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -64,6 +65,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
@@ -76,6 +78,7 @@
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
@@ -529,3 +532,80 @@ applications.")
(synopsis "Dynamic swap manager for Linux")
(description "This package provides a dynamic swap manager for Linux.")
(license license:gpl2+)))
(define-public garage
(package
(name "garage")
(version "2.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.deuxfleurs.fr/Deuxfleurs/garage.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0nqda782by02ybqv44lpjagn3aqsgpaszvqbicg9iz3lymj8g9ai"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "doc")))))
(build-system cargo-build-system)
(arguments
(list
;; Disable default features and explicitly set them instead.
#:cargo-build-flags `(list "--no-default-features")
;; The tests fail to compile without the '--release' flag.
#:cargo-test-flags `(list "--release" "--no-default-features")
#:cargo-install-paths ''("src/garage")
#:features '(list "system-libs"
"k2v"
"kubernetes-discovery"
"lmdb"
"metrics"
"sqlite"
"syslog"
"telemetry-otlp")
#:install-source? #f
#:phases
#~(modify-phases %standard-phases
;; The 'check phase doesn't honor #:features
(replace 'check
(lambda* (#:key features cargo-test-flags #:allow-other-keys
#:rest args)
(apply (assoc-ref %standard-phases 'check)
(append
args
(list #:cargo-test-flags
(append cargo-test-flags
(list "--features"
(string-join features))))))))
;; The 'install phase can't pass '--no-default-features'
(replace 'install
(lambda* (#:key cargo-install-paths features #:allow-other-keys)
(mkdir-p #$output)
(setenv "CARGO_TARGET_DIR" "./target")
(for-each
(lambda (path)
(invoke "cargo" "install" "--offline" "--no-track"
"--path" path "--root" #$output
"--no-default-features"
"--features" (string-join features)))
(if (null? cargo-install-paths)
'(".")
cargo-install-paths)))))))
(native-inputs (list nss-certs-for-test
pkg-config
protobuf))
(inputs
(cons* libsodium
lmdb
openssl
sqlite
`(,zstd "lib")
(cargo-inputs 'garage)))
(home-page "https://garagehq.deuxfleurs.fr/")
(synopsis "S3-compatible, distributed object storage designed for self-hosting")
(description "Garage is a lightweight, geo-distributed data store that
implements the @url{https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html,
Amazon S3} object storage protocol, with a focus on simplicity and resiliency.")
(license license:agpl3)))
+1 -1
View File
@@ -205,7 +205,7 @@ Protocol.")
python-bcrypt
python-dateutil
python-pycairo
python-pygobject
python-pygobject-3.50
psmisc
syncthing))
(home-page "https://github.com/kozec/syncthing-gtk")
+103 -42
View File
@@ -7,7 +7,7 @@
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2023, 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 ( <paren@disroot.org>
;;;
@@ -38,9 +38,13 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gperf)
#:use-module (gnu packages man)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-compression)
@@ -113,18 +117,38 @@ is on expressing the content semantically, avoiding physical markup commands.")
(inherit texinfo)
(version "7.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/texinfo/texinfo-"
version ".tar.xz"))
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/texinfo.git")
(commit (string-append "texinfo-" version))))
(file-name (git-file-name "texinfo" version))
(sha256
(base32
"0bn7ckhxjqrgfvxz122vr5z9bs26bpfxyr2jp1rriyhwynq4xxsi"))))
"1ln3rr34b9k9m8mhg01ygifj945610cn5qk11mfvgzpavyy5rghg"))))
(native-inputs (list autoconf
automake
bash-minimal
coreutils-minimal
gawk
gettext-minimal
gperf
help2man
(libc-utf8-locales-for-target)
libtool
ncurses
perl
perl-text-unidecode
perl-unicode-eastasianwidth))
(inputs (modify-inputs (package-inputs texinfo)
(append perl-archive-zip ;needed for 'tex2any --epub3'
(append perl-archive-zip ;needed for 'tex2any --epub3'
perl-unicode-eastasianwidth perl-text-unidecode
perl-libintl-perl)))
(arguments
(substitute-keyword-arguments (package-arguments texinfo)
((#:modules modules `((guix build utils)
(guix build gnu-build-system)))
`((srfi srfi-26)
,@modules))
((#:configure-flags flags
''())
#~(cons* "--with-external-Unicode-EastAsianWidth"
@@ -133,6 +157,38 @@ is on expressing the content semantically, avoiding physical markup commands.")
#$flags))
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'patch-bootstrap-shebangs
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let ((sh (search-input-file (or native-inputs inputs)
"/bin/sh"))
(perl (search-input-file (or native-inputs inputs)
"/bin/perl")))
(for-each
(cute patch-shebang <> (list (dirname sh)))
(find-files "." ".*[.]sh"))
(for-each
(cute patch-shebang <> (list (dirname perl)))
(find-files "." ".*[.]pl")))))
#$@(if (%current-target-system)
;; Texinfo uses a C binary during the build process, but
;; lacks the concept of `CC_FOR_BUILD'
;; Hack around that by building it manually.
#~((add-after 'configure 'build-native-tools
(lambda _
(with-directory-excursion "info"
(lambda _
(invoke "make" "CC=gcc" "makedoc")))))
(add-after 'configure 'fixup-texindex-building-from-git
(lambda _
(symlink "../../texindex/texindex"
"tools/texindex/texindex"))))
#~())
(add-after 'configure 'patch-jrtangle
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let ((mv (search-input-file (or native-inputs inputs)
"/bin/mv")))
(substitute* "texindex/jrtangle"
(("mv") mv)))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -221,44 +277,49 @@ is on expressing the content semantically, avoiding physical markup commands.")
(package/inherit texinfo-7
(name "info-reader")
(arguments
`(,@(substitute-keyword-arguments (package-arguments texinfo)
((#:phases phases)
`(modify-phases ,phases
;; Make sure 'info-reader' can read compressed info files
;; in a pure environment. There are also a few other
;; uncompressors listed in this file (lzip, unxz, bunzip2, ...)
;; but let's not include them because info manuals in Guix
;; are always compressed with 'gzip'.
;; TODO(core-updates): maybe move to the 'texinfo' package.
(add-after 'unpack 'absolute-binary-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "info/filesys.c"
(("gunzip") (search-input-file inputs "/bin/gunzip"))
(("gzip") (search-input-file inputs "/bin/gzip")))))
(add-after 'install 'keep-only-info-reader
(lambda* (#:key outputs #:allow-other-keys)
;; Remove everything but 'bin/info' and associated
;; files.
(define (files)
(scandir "." (lambda (file)
(not (member file '("." ".."))))))
(append
(substitute-keyword-arguments (package-arguments texinfo-7)
((#:modules modules `((guix build utils)
(guix build gnu-build-system)))
`((srfi srfi-1)
(ice-9 ftw)
,@modules))
((#:phases phases)
#~(modify-phases #$phases
;; Make sure 'info-reader' can read compressed info files
;; in a pure environment. There are also a few other
;; uncompressors listed in this file (lzip, unxz, bunzip2, ...)
;; but let's not include them because info manuals in Guix
;; are always compressed with 'gzip'.
;; TODO(core-updates): maybe move to the 'texinfo' package.
(add-after 'unpack 'absolute-binary-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "info/filesys.c"
(("gunzip") (search-input-file inputs "/bin/gunzip"))
(("gzip") (search-input-file inputs "/bin/gzip")))))
(add-after 'install 'keep-only-info-reader
(lambda* (#:key outputs #:allow-other-keys)
;; Remove everything but 'bin/info' and associated
;; files.
(define (files)
(scandir "." (lambda (file)
(not (member file '("." ".."))))))
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion out
(for-each delete-file-recursively
(fold delete (files) '("bin" "share"))))
(with-directory-excursion (string-append out "/bin")
(for-each delete-file (delete "info" (files))))
(with-directory-excursion (string-append out "/share")
(for-each delete-file-recursively
(fold delete (files)
'("info" "locale"))))
#t))))))
#:disallowed-references ,(list (this-package-input "perl"))
#:modules ((ice-9 ftw) (srfi srfi-1)
,@%default-gnu-modules)))
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion out
(for-each delete-file-recursively
(fold delete (files) '("bin" "share"))))
(with-directory-excursion (string-append out "/bin")
(for-each delete-file (delete "info" (files))))
(with-directory-excursion (string-append out "/share")
(for-each delete-file-recursively
(fold delete (files)
'("info" "locale")))))))
(delete 'wrap-program))))
(list
#:disallowed-references (list (this-package-input "perl")))))
(synopsis "Standalone Info documentation reader")
(inputs (modify-inputs (package-inputs texinfo)
(inputs (modify-inputs (package-inputs texinfo-7)
(prepend gzip)))))
(define-public texi2html
+1 -2
View File
@@ -1037,8 +1037,7 @@ coding footprint.")
(build-system trivial-build-system)
(arguments
(list
#:modules '((guix build utils)
(srfi srfi-26))
#:modules '((guix build utils))
#:builder
#~(begin
(use-modules (guix build utils)
+75
View File
@@ -909,6 +909,81 @@ logs to GNU ChangeLog format.")
to GitHub contributions calendar.")
(license license:expat)))
(define-public git-cliff
(package
(name "git-cliff")
(version "2.12.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "git-cliff" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1vz1qix1yi6j5lb95q39pdxn4b6nrq8m235kjjh605m2mf0r8wyd"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:imported-modules (append %copy-build-system-modules
%cargo-build-system-modules)
#:modules '((guix build cargo-build-system)
((guix build copy-build-system) #:prefix copy:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-extras
(lambda args
(mkdir "assets")
(setenv "OUT_DIR" "assets")
(let ((git-cliff-mangen
(if #$(%current-target-system)
(search-input-file native-inputs
"bin/git-cliff-mangen")
(in-vicinity #$output "bin/git-cliff-mangen")))
(git-cliff-completions
(if #$(%current-target-system)
(search-input-file native-inputs
"bin/git-cliff-completions")
(in-vicinity #$output "bin/git-cliff-completions"))))
(invoke git-cliff-mangen)
(invoke git-cliff-completions))
;; Then delete the extra binaries.
(delete-file (string-append #$output "/bin/git-cliff-mangen"))
(delete-file (string-append #$output "/bin/git-cliff-completions"))
(apply (assoc-ref copy:%standard-phases 'install)
#:install-plan
'(("assets/git-cliff.bash"
"share/bash-completion/completions/git-cliff")
("assets/git-cliff.elv"
"share//elvish/lib/git-cliff")
("assets/git-cliff.fish"
"share/fish/vendor_completions.d/")
("assets/_git-cliff" "share/zsh/site-functions/")
("assets/git-cliff.1" "share/man/man1/"))
args))))))
(native-inputs
(append (if (%current-target-system)
(list this-package)
'())
(list pkg-config)))
(inputs (cons* libgit2-1.9
zlib
`(,zstd "lib")
(cargo-inputs 'git-cliff)))
(home-page "https://github.com/orhun/git-cliff")
(synopsis "Highly customizable changelog generator")
(description "@command{git-cliff} can generate
@url{https://en.wikipedia.org/wiki/Changelog, changelog} files from the
@url{https://git-scm.com/, Git} history by utilizing
@url{https://git-cliff.org/docs/configuration/git#conventional_commits,
conventional commits} as well as regex-powered
@url{https://git-cliff.org/docs/configuration/git#commit_parsers,
custom parsers}. The @url{https://git-cliff.org/docs/category/templating,
changelog template} can be customized with a
@url{https://git-cliff.org/docs/configuration, configuration file} to match the
desired format.")
(license (list license:expat license:asl2.0))))
(define-public git-tools
(package
(name "git-tools")
+7 -6
View File
@@ -1008,8 +1008,8 @@ shared library and encoder and decoder command-line executables.")
(define-public libx264
;; There are no tags in the repository, so we take the version number from
;; the X264_BUILD variable defined in x264.h.
(let ((version "164")
(commit "b093bbe7d9bc642c8f24067cbdcc73bb43562eab")
(let ((version "165")
(commit "0480cb05fa188d37ae87e8f4fd8f1aea3711f7ee")
(revision "0"))
(package
(name "libx264")
@@ -1022,7 +1022,7 @@ shared library and encoder and decoder command-line executables.")
(file-name (git-file-name name version))
(sha256
(base32
"095pv8y6fqjg8mdvsfk12d0jqgyhip536a6vxhzm7qz8hfp96qhq"))))
"136vma04rfzn8kcass8psnxygmn3ykrsyrv0q2dy3iv080vywpy9"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config nasm))
@@ -1865,7 +1865,8 @@ operate properly.")
#$@(if (target-powerpc?)
;; These tests fail on powerpc64-le (see:
;; https://trac.ffmpeg.org/ticket/9604).
'("--ignore-tests=checkasm-sw_scale,filter-scale2ref_keep_aspect")
'("--ignore-tests=checkasm-sw_scale,\
filter-scale2ref_keep_aspect,sws-floatimg-cmp")
'())
"--enable-gpl" ;enable optional gpl licensed parts
"--enable-shared"
@@ -7267,7 +7268,7 @@ included for convenience.")
(define-public showmethekey
(package
(name "showmethekey")
(version "1.20.0")
(version "1.21.0")
(source
(origin
(method git-fetch)
@@ -7276,7 +7277,7 @@ included for convenience.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hfr2qhlgpp4fiy8885lv2b0cqa5kpyix32d9lg5xhg1hhxnsmc4"))))
(base32 "1zncwnv0w3khd3vc73r2zmhg3j96km021nlszgrmsj0xz5qnbi31"))))
(build-system meson-build-system)
(arguments
(list
+39 -39
View File
@@ -44,6 +44,7 @@
;;; Copyright © 2025 Douglas Deslauriers <Douglas.Deslauriers@vector.com>
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -202,14 +203,14 @@
;; Do not forget to update the various firmware used by QEMU, and sync the
;; configuration options used by the seabios-qemu package with those
;; provided by QEMU.
(version "10.2.0")
(version "10.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz"))
(sha256
(base32 "0fl8hlkngmm61h65822xxb6cyfbz56mx30hm01il8ywzicdssc4y"))
(base32 "1qf9j6cnh9ycs33dmrm1bas3wafkdh7w5yzz1dilvj72v1vp8wd3"))
(patches (search-patches "qemu-build-info-manual.patch"
"qemu-fix-agent-paths.patch"
"qemu-fix-test-virtio-version.patch"))
@@ -337,8 +338,8 @@
(substitute* "tests/meson.build"
(("subdir.*qtest.*") ""))
;; efi-ne2k_pci.rom is from ipxe-qemu.
(substitute* "tests/functional/meson.build"
((".*ppc_74xx.*") "")))))
(substitute* "tests/functional/ppc/meson.build"
((".*'74xx',.*") "")))))
#~())
(add-after 'unpack 'extend-test-time-outs
(lambda _
@@ -1327,42 +1328,41 @@ it emulates a variety of hardware and peripherals.")
(license (list license:gpl3+ license:mpl2.0))))
(define-public spike
(package
(name "spike")
(version "1.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/riscv-software-src/riscv-isa-sim")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0cik2m0byfp9ppq0hpg3xyrlp5ag1i4dww7a7872mlm36xxqagg0"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'gcc14
(lambda _
(substitute* "fesvr/device.h"
(("#include <string>" all)
(string-append all "\n#include <cstdint>")))))
(add-before 'configure 'configure-dtc-path
(lambda* (#:key inputs #:allow-other-keys)
;; Reference dtc by its absolute store path.
(substitute* "riscv/dts.cc"
(("DTC")
(string-append "\"" (search-input-file inputs "/bin/dtc") "\""))))))))
(inputs
(list bash-minimal dtc))
(native-inputs
(list python-wrapper))
(home-page "https://github.com/riscv-software-src/riscv-isa-sim")
(synopsis "RISC-V ISA Simulator")
(description "Spike, the RISC-V ISA Simulator, implements a functional model
(let ((commit "591cff16109ced6a21bb2a612a3853b4e9cbd86d")
(revision "0"))
(package
(name "spike")
(version (git-version "1.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/riscv-software-src/riscv-isa-sim")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "07lhf524y0kkrap5lvfqddrq6hhc0g2ypfcq341w2nrjw95izasc"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'configure-dtc-path
(lambda* (#:key inputs #:allow-other-keys)
;; Reference dtc by its absolute store path.
(substitute* "riscv/dts.cc"
(("DTC")
(string-append "\"" (search-input-file inputs "/bin/dtc")
"\""))))))))
(inputs
(list dtc))
(native-inputs
(list python-minimal-wrapper))
(home-page "https://github.com/riscv-software-src/riscv-isa-sim")
(synopsis "RISC-V ISA Simulator")
(description "Spike, the RISC-V ISA Simulator, implements a functional model
of one or more RISC-V harts.")
(license license:bsd-3)))
(license license:bsd-3))))
(define-public incus
(package
+3 -2
View File
@@ -1191,13 +1191,14 @@ to events.")
(define-public qtile
(package
(name "qtile")
(version "0.34.1")
;; TODO: Update when Python is upgraded to >=3.12.
(version "0.33.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "qtile" version))
(sha256
(base32 "061bghddw47k86qf7xp7c3rmwp7f71grk1q969nwq22rsafs4040"))))
(base32 "1kqpf6kc98c7ck5w8xvzlzawnmsckpnwdd3xkv08k81zmai71d44"))))
(build-system pyproject-build-system)
(arguments
(list
+3 -2
View File
@@ -73,7 +73,8 @@
(define-public wxwidgets
(package
(name "wxwidgets")
(version "3.2.8.1")
;; There is a newer versions 3.3, but this is tagged "development".
(version "3.2.9")
(source
(origin
(method url-fetch)
@@ -81,7 +82,7 @@
"releases/download/v" version
"/wxWidgets-" version ".tar.bz2"))
(sha256
(base32 "0mnpnwndkw9f6xvjyq4sv6sxfv1h3b9c7lwsm2kg3p0mi30zc35d"))
(base32 "0aqi3wrf99djdbvwislza2gsyascq6h3f07qvcpa1mpzid9zk47v"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
+1 -1
View File
@@ -2000,7 +2000,7 @@ to an arbitrary balanced color.")
libxxf86vm
libxcb
python
python-pygobject
python-pygobject-3.50
python-pyxdg
wayland))
(home-page "https://gitlab.com/chinstrap/gammastep")
+4 -12
View File
@@ -636,18 +636,10 @@ appended to the configuration.")
(stop #~(make-kill-destructor))
(actions
(list (shepherd-configuration-action config-file)
(shepherd-action
(name 'reopen)
(documentation "Re-open log files and flush caches.")
(procedure
#~(lambda (pid)
(if pid
(begin
(kill pid SIGHUP)
(format #t
"Issued SIGHUP to Service MPD (PID ~a)."
pid))
(format #t "Service MPD is not running.")))))))))))
(shepherd-signal-action
'reopen SIGHUP
#:documentation "Re-open log files and flush caches."
#:message "Issued SIGHUP to Service MPD.")))))))
(define (mpd-accounts config)
(match-record config <mpd-configuration> (user group)
+4 -10
View File
@@ -1708,17 +1708,11 @@ mail.* -/var/log/maillog
(requirement '(user-processes))
(actions
(list (shepherd-configuration-action syslog.conf)
(shepherd-action
(name 'reload)
(documentation "Reload the configuration file from disk.")
(procedure
#~(lambda (pid)
(if pid
(begin
(kill pid SIGHUP)
(display #$(G_ "Service syslog has been asked to \
(shepherd-signal-action
'reload SIGHUP
#:documentation "Reload the configuration file from disk."
#:message "Service syslog has been asked to \
reload its settings file.")))
(display #$(G_ "Service syslog is not running."))))))))
;; Note: a static file name is used for syslog.conf so that the reload
;; action work as intended.
(start #~(make-forkexec-constructor
+8 -16
View File
@@ -969,24 +969,16 @@ cache.size = 100 * MB
(mkdir-p "/var/lib/misc")))
(define (dnsmasq-service-reload-action config)
(match-record config <dnsmasq-configuration> ()
(shepherd-action
(name 'reload)
(documentation "Send a @code{SIGHUP} signal to @command{dnsmasq} to clear
cache and reload hosts files.")
(procedure #~(lambda (running)
(let ((pid (process-id running)))
(kill pid SIGHUP)))))))
(shepherd-signal-action
'reload SIGHUP
#:documentation "Send a @code{SIGHUP} signal to @command{dnsmasq} to clear
cache and reload hosts files."))
(define (dnsmasq-service-stats-action config)
(match-record config <dnsmasq-configuration> ()
(shepherd-action
(name 'stats)
(documentation "Send a @code{SIGUSR1} to write statistics to the system
log.")
(procedure #~(lambda (running)
(let ((pid (process-id running)))
(kill pid SIGUSR1)))))))
(shepherd-signal-action
'stats SIGUSR1
#:documentation "Send a @code{SIGUSR1} to write statistics to the system
log."))
(define dnsmasq-service-type
(service-type
+5 -11
View File
@@ -656,17 +656,11 @@ satisfy requests from peers."))
(actions
(list
(shepherd-action
(name 'reload)
(documentation "Reload the settings file from disk.")
(procedure #~(lambda (pid)
(if pid
(begin
(kill pid SIGHUP)
(display #$(G_ "Service transmission-daemon has \
been asked to reload its settings file.")))
(display #$(G_ "Service transmission-daemon is not \
running."))))))))))))
(shepherd-signal-action
'reload SIGHUP
#:documentation "Reload the settings file from disk."
#:message "Service transmission-daemon has \
been asked to reload its settings file.")))))))
(define %transmission-daemon-accounts
(list (user-group
+8 -20
View File
@@ -2483,26 +2483,14 @@ worker \"fuzzy\" {
(actions
(list
(shepherd-configuration-action config-file)
(shepherd-action
(name 'reload)
(documentation "Reload rspamd.")
(procedure
#~(lambda (pid)
(if pid
(begin
(kill pid SIGHUP)
(display "Service rspamd has been reloaded"))
(format #t "Service rspamd is not running.")))))
(shepherd-action
(name 'reopen)
(documentation "Reopen log files.")
(procedure
#~(lambda (pid)
(if pid
(begin
(kill pid SIGUSR1)
(display "Reopening the logs for rspamd"))
(format #t "Service rspamd is not running.")))))))))))
(shepherd-signal-action
'reload SIGHUP
#:documentation "Reload rspamd."
#:message "Service rspamd has been reloaded")
(shepherd-signal-action
'reopen SIGUSR1
#:documentation "Reopen log files."
#:message "Reopening the logs for rspamd.")))))))
(define rspamd-service-type
(service-type
+4 -12
View File
@@ -640,18 +640,10 @@ resolution.")
(stop #~(make-kill-destructor))
(actions
(list (shepherd-configuration-action config-file)
(shepherd-action
(name 'reload)
(documentation "Reload vnstatd.")
(procedure
#~(lambda (pid)
(if pid
(begin
(kill pid SIGHUP)
(format #t
"Issued SIGHUP to vnstatd (PID ~a)."
pid))
(format #t "vnstatd is not running.")))))))))))
(shepherd-signal-action
'reload SIGHUP
#:documentation "Reload vnstatd."
#:message "Issued SIGHUP to vnstatd.")))))))
(define (vnstat-account-service config)
(match-record config <vnstat-configuration> (daemon-group daemon-user)
+21
View File
@@ -71,6 +71,7 @@
shepherd-action-documentation
shepherd-action-procedure
shepherd-signal-action
shepherd-configuration-action
shepherd-timer
shepherd-trigger-action
@@ -421,6 +422,26 @@ and return the resulting '.go' file. SHEPHERD is used as shepherd package."
#:options '(#:local-build? #t
#:substitutable? #f)))))
(define* (shepherd-signal-action
name signal
#:key
(documentation (format #f "Send signal ~a to the running service."
signal))
(message (format #f "Service has been asked to perform '~a'."
name)))
"Return a shepherd action with NAME to send SIGNAL to the running process.
The documentation string of the action will be set to DOC.
The action will print MESSAGE after sending the signal."
(shepherd-action
(name name)
(documentation documentation)
(procedure #~(lambda (running . args)
(if running
(let ((pid (process-id running)))
(kill pid #$signal)
(display #$message))
(display "Service is not running."))))))
(define (shepherd-configuration-action file)
"Return a 'configuration' action to display FILE, which should be the name
of the service's configuration file."
+256 -1
View File
@@ -7,6 +7,7 @@
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,12 +27,14 @@
(define-module (gnu services version-control)
#:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu services configuration)
#:use-module (gnu services shepherd)
#:use-module (gnu services web)
#:use-module (gnu system shadow)
#:use-module (gnu packages version-control)
#:use-module (gnu packages admin)
#:use-module (guix deprecation)
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (guix gexp)
#:use-module (guix store)
@@ -93,7 +96,44 @@
gitile-configuration-footer
gitile-configuration-nginx
gitile-service-type))
gitile-service-type
fossil-configuration
fossil-configuration-fields
fossil-configuration?
fossil-configuration-package
fossil-configuration-user
fossil-configuration-group
fossil-configuration-log-file
fossil-configuration-repository
fossil-configuration-acme?
fossil-configuration-base-url
fossil-configuration-chroot
fossil-configuration-ckout-alias
fossil-configuration-compress?
fossil-configuration-create?
fossil-configuration-error-log-file
fossil-configuration-ext-root
fossil-configuration-files
fossil-configuration-from
fossil-configuration-jail?
fossil-configuration-js-mode
fossil-configuration-https?
fossil-configuration-ip
fossil-configuration-local-authentication?
fossil-configuration-main-menu
fossil-configuration-max-latency
fossil-configuration-port
fossil-configuration-list-repositories?
fossil-configuration-redirect-to-https?
fossil-configuration-skin
fossil-configuration-socket-file
fossil-configuration-socket-mode
fossil-configuration-th-trace?
fossil-configuration-tls-certificate
fossil-configuration-tls-private-key
fossil-service-type))
;;; Commentary:
;;;
@@ -603,3 +643,218 @@ on the web.")
gitile-shepherd-service)
(service-extension nginx-service-type
gitile-nginx-server-block)))))
;;;
;;; Fossil HTTP server.
;;;
(define (port-number? n)
(and (integer? n)
(> n 0)
(< n (expt 2 16))))
(define (mode-number? n)
(and (integer? n)
(>= n 0)
(<= n #o777)))
(define (fossil-js-mode? x)
(and (memq x '(inline separate bundled))
#t))
(define-maybe/no-serialization number)
(define-maybe/no-serialization string)
(define-maybe/no-serialization list-of-strings)
(define-maybe/no-serialization fossil-js-mode)
(define-configuration/no-serialization fossil-configuration
(package (package fossil)
"The Fossil package to use.")
(user (string "fossil")
"The user running the Fossil server.")
(group (string "fossil")
"The user group running the Fossil server.")
(log-file (string "/var/log/fossil.log")
"The path to the server's log.")
(repository (string "/var/lib/fossil")
"The name of the Fossil repository to be served, or a directory
containing one or more repositories with names ending in @code{.fossil}.
In the latter case, a prefix of the URL pathname is used
to search the directory for an appropriate repository.
Files not matching the pattern @code{*.fossil*}
will be served as static content. Invoke @command{fossil server --help}
for more information.")
(acme? (boolean #f)
"Deliver files from the @code{.well-known} subdirectory.")
(base-url maybe-string
"The URL used as the base (useful for reverse proxies)")
(chroot maybe-string
"The directory to use for chroot instead of @code{repository}.")
(ckout-alias maybe-string
"The @var{name} for @code{/doc/@var{name}/...}
to be treated as @code{/doc/ckout/...}.")
(compress? (boolean #t) "Compress HTTP response.")
(create? (boolean #f)
"Create a new @code{repository} if it does not already exist.")
(error-log-file maybe-string "The path for HTTP error log.")
(ext-root maybe-string "The document root for the /ext extension mechanism.")
(files maybe-list-of-strings "The glob patterns for static files.")
(from maybe-string
"The path to be used as the diff baseline for the /ckout page.")
(jail? (boolean #t)
"Whether to enter the chroot jail after dropping root privileges.")
(js-mode maybe-fossil-js-mode
"How JavaScript is delivered with pages, either @code{'inline}
at the end of the HTML file, as @code{'separate} HTTP requests,
or one single HTTP request for all JavaScript @code{'bundled} together.
Depending on the needs of any given page, @code{'inline}
and @code{'bundled} modes might result in a single amalgamated script
or several, but both approaches result in fewer HTTP requests
than the @code{'separate} mode.")
(https? (boolean #f)
"Indicate that the requests are coming through a reverse proxy
that has already translated HTTPS into HTTP.")
(ip maybe-string "The IP for the server to listen on.")
(local-authentication? (boolean #f)
"Enable automatic login for requests from localhost.")
(localhost? (boolean #f) "Listen on @code{127.0.0.1} only.")
(main-menu maybe-string ;TODO: structure
"The file whose contents is to override
the repository's @code{mainmenu} setting.")
(max-latency maybe-number
"The maximum latency in seconds for a single HTTP request.")
(port (port-number 8080) "The port number for the server to listen on.")
(list-repositories? (boolean #f)
"If @code{repository} is dir, URL @code{/} lists repos.")
(redirect-to-https? (boolean #t)
"If set to @code{#f}, do not force redirects to HTTPS
regardless of the repository setting @code{redirect-to-https}.")
(scgi? (boolean #f) "Accept SCGI rather than HTTP.")
(skin maybe-string "The skin label to use, overriding repository settings.")
(socket-file maybe-string
"The unix-domain socket to use instead of TCP/IP.")
(socket-mode (mode-number #o640)
"The file permissions to set for the unix socket.")
(th-trace? (boolean #f)
"Trace TH1 execution (for debugging purposes).")
(tls-certificate maybe-string
"The certicate file (@file{fullchain.pem})
with which to enable TLS (HTTPS) encryption.")
(tls-private-key maybe-string "The file storing the TLS private key."))
(define (fossil-accounts config)
(match-record config <fossil-configuration> (user group)
(list (user-group (name group)
(system? #t))
(user-account (name user)
(group group)
(system? #t)
(comment "Fossil server user")
(home-directory "/var/empty")
(shell (file-append shadow "/sbin/nologin"))))))
(define (fossil-activation config)
(match-record config <fossil-configuration> (user create? repository)
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(let* ((pw (getpwnam #$user))
(uid (passwd:uid pw))
(gid (passwd:gid pw)))
(unless #$create? (chown #$repository uid gid)))))))
(define (fossil-shepherd-service config)
(match-record config <fossil-configuration>
(package user group log-file repository acme? base-url
chroot ckout-alias compress? create? error-log-file ext-root
files from https? ip jail? js-mode list-repositories?
local-authentication? localhost? main-menu max-latency port
redirect-to-https? scgi? skin socket-file socket-mode
th-trace? tls-certificate tls-private-key)
(shepherd-service
(provision '(fossil))
(requirement '(user-processes networking))
(start #~(make-forkexec-constructor
(list #$(file-append package "/bin/fossil")
"server"
#$@(if acme? '("--acme") '())
#$@(if (maybe-value-set? base-url)
(list "--baseurl" base-url)
'())
#$@(if (maybe-value-set? chroot)
(list "--chroot" chroot)
'())
#$@(if (maybe-value-set? ckout-alias)
(list "--ckout-alias" ckout-alias)
'())
#$@(if compress? '() '("--nocompress"))
#$@(if create? '("--create") '())
#$@(if (maybe-value-set? error-log-file)
(list "--errorlog" error-log-file)
'())
#$@(if (maybe-value-set? ext-root)
(list "--extroot" ext-root)
'())
#$@(if (maybe-value-set? files)
(list "--files" (string-join files ","))
'())
#$@(if (maybe-value-set? from) (list "--from" from) '())
#$@(if https? '("--https") '())
#$@(if jail? '() '("--nojail"))
#$@(if (maybe-value-set? js-mode)
(list "--jsmode" (symbol->string js-mode))
'())
#$@(if local-authentication? '("--localauth") '())
#$@(if localhost? '("--localhost") '())
#$@(if (maybe-value-set? main-menu)
(list "--mainmenu" main-menu)
'())
#$@(if (maybe-value-set? max-latency)
(list "--max-latency"
(number->string max-latency))
'())
#$@(if redirect-to-https? '() '("--nossl"))
#$@(if scgi? '("--scgi") '())
#$@(if list-repositories? '("--repolist") '())
#$@(if (maybe-value-set? skin) (list "--skin" skin) '())
#$@(if (maybe-value-set? socket-file)
(list "--socket-name" socket-file
"--socket-mode" socket-mode
"--socket-owner"
(simple-format #f "~a:~a" user group))
(list "--port"
(if (maybe-value-set? ip)
(simple-format #f "~a:~a" ip port)
(number->string port))))
#$@(if th-trace? '("--th-trace") '())
#$@(if (maybe-value-set? tls-certificate)
(list "--cert" tls-certificate)
'())
#$@(if (maybe-value-set? tls-private-key)
(list "--pkey" tls-private-key)
'())
"--user" #$user
#$repository)
#:user #$user
#:group #$group
#:log-file #$log-file))
(stop #~(make-kill-destructor))
(documentation
"Run the HTTP server
for the Fossil software configuration management system."))))
(define fossil-service-type
(service-type
(name 'fossil)
(extensions
(list (service-extension account-service-type fossil-accounts)
(service-extension activation-service-type fossil-activation)
(service-extension shepherd-root-service-type
(compose list fossil-shepherd-service))))
(description
"Run the HTTP server for the Fossil software configuration management
system. In addition to distributed version control, Fossil also supports
bug tracking, wiki, forum, email alerts, chat, and technotes.")))
+74 -1
View File
@@ -3,6 +3,7 @@
;;; Copyright © 2017-2018, 2020-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,7 +40,8 @@
#:export (%test-cgit
%test-git-http
%test-gitolite
%test-gitile))
%test-gitile
%test-fossil))
(define README-contents
"Hello! This is what goes inside the 'README' file.")
@@ -519,3 +521,74 @@ HTTP-PORT."
(name "gitile")
(description "Connect to a running Gitile server.")
(value (run-gitile-test))))
;;;
;;; Fossil server.
;;;
(define %test-fossil
(system-test
(name "fossil")
(description "Connect to a running Fossil server.")
(value
(gexp->derivation
(string-append name "-test")
(let* ((port 8080)
(base-url (simple-format #f "http://localhost:~a" port))
(index-url (string-append base-url "/index"))
(os (marionette-operating-system
(simple-operating-system
(service dhcpcd-service-type)
(service fossil-service-type
(fossil-configuration
(repository "/tmp/test.fossil")
(base-url base-url)
(create? #t)
(port port))))))
(vm (virtual-machine (operating-system os)
(port-forwardings (list (cons port port))))))
(with-imported-modules '((gnu build marionette)
(guix build utils))
#~(begin
(use-modules (gnu build marionette)
(guix build utils)
(srfi srfi-64)
(srfi srfi-71)
(web client)
(web response))
(define marionette (make-marionette (list #$vm)))
(test-runner-current (system-test-runner #$output))
(test-begin #$name)
(test-assert "server running"
(wait-for-tcp-port #$port marionette))
(test-assert "server log file"
(wait-for-file "/var/log/fossil.log" marionette))
(test-assert "cloning"
(begin
(setenv "HOME" #$output) ; fossil writes to $HOME
(invoke/quiet #$(file-append fossil "/bin/fossil") "clone"
"--admin-user" "alice"
"--httptrace"
"--verbose"
#$base-url
(string-append #$output "/test.fossil"))))
(test-assert "index redirect"
(let ((response text
(http-get #$base-url #:decode-body? #t)))
(and (= 302 (response-code response))
(string-contains text #$index-url))))
(test-equal "index page"
200 (response-code (http-get #$index-url)))
(test-equal "tarball download"
200 (response-code
(http-get (string-append #$base-url
"/tarball/test.tar.gz"))))
(test-end))))))))
+72 -50
View File
@@ -3,6 +3,7 @@
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2021, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 pukkamustard <pukkamustard@posteo.net>
;;; Copyright © 2025 Jason Conroy <jconroy@tscripta.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,12 +32,22 @@
#:use-module (srfi srfi-1)
#:export (%dune-build-system-modules
dune-build
dune-build-system))
dune-build-system
ocaml5-dune-build-system))
;; Commentary:
;;
;; Standard build procedure for packages using dune. This is implemented as an
;; extension of `ocaml-build-system'.
;; Standard build procedures for packages using dune. These are implemented as
;; extensions of `ocaml-build-system'.
;;
;; Multiple instances of the build system exist to support different versions
;; of the OCaml compiler and its associated tools. Choose `dune-build-system`
;; for a build system that works with Guix's default version of the compiler,
;; or choose `ocamlX-dune-build-system` for some other compiler version X.
;;
;; Adaptor functions of the form `package-with-ocamlX.Y` defined in the OCaml
;; build system will also work on packages with the Dune build system, subject
;; to the same caveats.
;;
;; Code:
@@ -45,54 +56,49 @@
`((guix build dune-build-system)
,@ocaml:%ocaml-build-system-modules))
(define (default-dune)
"Return the default OCaml package."
(define (make-lower default-ocaml default-findlib default-dune)
(lambda* (name
#:key source inputs native-inputs outputs system target
(dune (default-dune))
(ocaml (default-ocaml))
(findlib (default-findlib))
#:allow-other-keys
#:rest arguments)
"Return a bag for NAME."
;; Do not use `@' to avoid introducing circular dependencies.
(let ((module (resolve-interface '(gnu packages ocaml))))
(module-ref module 'dune)))
;; Flags that put dune into reproducible build mode.
(define dune-release-flags
(if (version>=? (package-version dune) "2.5.0")
;; For dune >= 2.5.0 this is just --release.
''("--release")
;; --release does not exist before 2.5.0. Replace with flags compatible
;; with our old ocaml4.07-dune (1.11.3)
''("--root" "." "--ignore-promoted-rules" "--no-config"
"--profile" "release")))
(define* (lower name
#:key source inputs native-inputs outputs system target
(dune (default-dune))
(ocaml (ocaml:default-ocaml))
(findlib (ocaml:default-findlib))
#:allow-other-keys
#:rest arguments)
"Return a bag for NAME."
(define private-keywords
'(#:target #:dune #:findlib #:ocaml #:inputs #:native-inputs))
;; Flags that put dune into reproducible build mode.
(define dune-release-flags
(if (version>=? (package-version dune) "2.5.0")
;; For dune >= 2.5.0 this is just --release.
''("--release")
;; --release does not exist before 2.5.0. Replace with flags compatible
;; with our old ocaml4.07-dune (1.11.3)
''("--root" "." "--ignore-promoted-rules" "--no-config"
"--profile" "release")))
(define private-keywords
'(#:target #:dune #:findlib #:ocaml #:inputs #:native-inputs))
(and (not target) ;XXX: no cross-compilation
(let ((base (ocaml:lower name
#:source source
#:inputs inputs
#:native-inputs native-inputs
#:outputs outputs
#:system system
#:target target
#:ocaml ocaml
#:findlib findlib
arguments)))
(bag
(inherit base)
(build-inputs `(("dune" ,dune)
,@(bag-build-inputs base)))
(build dune-build)
(arguments (append
`(#:dune-release-flags ,dune-release-flags)
(strip-keyword-arguments private-keywords arguments)))))))
(and (not target) ;XXX: no cross-compilation
(let ((base ((ocaml:make-lower default-ocaml default-findlib)
name
#:source source
#:inputs inputs
#:native-inputs native-inputs
#:outputs outputs
#:system system
#:target target
#:ocaml ocaml
#:findlib findlib
arguments)))
(bag
(inherit base)
(build-inputs `(("dune" ,dune)
,@(bag-build-inputs base)))
(build dune-build)
(arguments (append
`(#:dune-release-flags ,dune-release-flags)
(strip-keyword-arguments private-keywords arguments))))))))
(define* (dune-build name inputs
#:key
@@ -158,10 +164,26 @@ provides a 'setup.ml' file as its build system."
#:graft? #f
#:guile-for-build guile))
(define dune-build-system
(define (make-dune-build-system default-ocaml
default-findlib
default-dune)
(build-system
(name 'dune)
(description "The standard Dune build system")
(lower lower)))
(lower (make-lower default-ocaml
default-findlib
default-dune))))
(define dune-build-system
;; The default instance of the build system, using Guix's default OCaml
;; compiler version.
(make-dune-build-system ocaml:default-ocaml
ocaml:default-findlib
ocaml:default-dune))
(define ocaml5-dune-build-system
(make-dune-build-system ocaml:default-ocaml5
ocaml:default-ocaml5-findlib
ocaml:default-ocaml5-dune))
;;; dune.scm ends here
+119 -52
View File
@@ -2,6 +2,7 @@
;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2025 Jason Conroy <jconroy@tscripta.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,32 +34,51 @@
strip-ocaml4.09-variant
package-with-ocaml5.0
strip-ocaml5.0-variant
package-with-ocaml5.3
strip-ocaml5.3-variant
default-findlib
default-ocaml
lower
default-dune
default-ocaml5-findlib
default-ocaml5
default-ocaml5-dune
make-lower
ocaml-build
ocaml-build-system))
ocaml-build-system
ocaml5-build-system))
;; Commentary:
;;
;; Standard build procedure for packages using ocaml. This is implemented as an
;; extension of `gnu-build-system'.
;; Standard build procedures for packages using ocaml. These are implemented
;; as extensions of `gnu-build-system'.
;;
;; OCaml packages don't use a single standard for their build system. Some use
;; autotools, other use custom configure scripts with Makefiles, others use
;; oasis to generate the configure script and Makefile and lastly, some use
;; custom ocaml scripts.
;; OCaml packages don't use a single standard for their build
;; system. Historically, some use autotools, other use custom configure
;; scripts with Makefiles, others use oasis to generate the configure script
;; and Makefile, and some use custom ocaml scripts. The majority of new
;; packages instead use Dune, which has a separate `dune-build-system`.
;;
;; Each phase in the build system will try to figure out what the build system
;; is for that package. Most packages come with a custom configure script and
;; a Makefile that in turn call custom build tools. Packages built with oasis
;; will have a `setup.ml' file in the top directory, that can be used for all
;; phases. In that case the Makefile is here only to call that script. In case
;; the setup.ml do not work as expected, the @var{use-make} argument can be
;; used to ignore the setup.ml file and run make instead.
;; Each phase in this build system will try to figure out which of the
;; approaches above is used for the package. Most packages come with a custom
;; configure script and a Makefile that in turn call custom build
;; tools. Packages built with oasis will have a `setup.ml' file in the top
;; directory, that can be used for all phases. In that case the Makefile is
;; here only to call that script. In case the setup.ml do not work as
;; expected, the @var{use-make} argument can be used to ignore the setup.ml
;; file and run make instead. Some packages use their own custom scripts
;; (e.g., `pkg/pkg.ml' or `pkg/build.ml') which can be used here too.
;;
;; Some packages use their own custom scripts, `pkg/pkg.ml' or
;; `pkg/build.ml'. They can be used here too.
;; Multiple instances of the build system exist to support different versions
;; of the OCaml compiler and its associated tools. Choose `ocaml-build-system`
;; for a build system that works with Guix's default version of the compiler,
;; or choose `ocamlX-build-system` for some other compiler version X.
;;
;; Adaptor functions of the form `package-with-ocamlX.Y` transform a package
;; to use a different compiler version for its own build and for those of all
;; transitive dependencies. These adaptors exist for user convenience, but a
;; package shipped with the distribution should generally use the
;; `build-system` field instead to identify the version of the OCaml stack
;; that it supports.
;;
;; Code:
@@ -75,6 +95,10 @@
"Return the default OCaml-findlib package, resolved lazily."
(@* (gnu packages ocaml) ocaml-findlib))
(define (default-dune)
"Return the default Dune package, resolved lazily."
(@* (gnu packages ocaml) dune))
(define (default-dune-build-system)
"Return the dune-build-system, resolved lazily."
(@* (guix build-system dune) dune-build-system))
@@ -98,14 +122,31 @@
(@* (gnu packages ocaml) ocaml4.09-dune))
(define (default-ocaml5.0)
(@* (gnu packages ocaml) ocaml-5.0))
(@* (gnu packages ocaml5) ocaml-5.0))
(define (default-ocaml5.0-findlib)
(@* (gnu packages ocaml) ocaml5.0-findlib))
(@* (gnu packages ocaml5) ocaml5.0-findlib))
(define (default-ocaml5.0-dune)
(@* (gnu packages ocaml) ocaml5.0-dune))
(define (default-ocaml5.3)
(@* (gnu packages ocaml5) ocaml-5.3))
(define (default-ocaml5.3-findlib)
(@* (gnu packages ocaml5) ocaml5.3-findlib))
(define (default-ocaml5.3-dune)
(@* (gnu packages ocaml5) ocaml5.3-dune))
;; The default versions of core packages within the 5.x series.
(define default-ocaml5 default-ocaml5.3)
(define default-ocaml5-findlib default-ocaml5.3-findlib)
(define default-ocaml5-dune default-ocaml5.3-dune)
(define* (package-with-explicit-ocaml ocaml findlib dune old-prefix new-prefix
#:key variant-property)
"Return a procedure of one argument, P. The procedure creates a package
@@ -130,6 +171,12 @@ pre-defined variants."
variant-property))
(const #f)))
(define (has-ocaml-build-system? p)
(eq? 'ocaml (build-system-name (package-build-system p))))
(define (has-dune-build-system? p)
(eq? 'dune (build-system-name (package-build-system p))))
(define (transform p)
(cond
;; If VARIANT-PROPERTY is present, use that.
@@ -137,8 +184,7 @@ pre-defined variants."
=> force)
;; Otherwise build the new package object graph.
((or (eq? (package-build-system p) ocaml-build-system)
(eq? (package-build-system p) (default-dune-build-system)))
((or (has-ocaml-build-system? p) (has-dune-build-system? p))
(package
(inherit p)
(location (package-location p))
@@ -155,15 +201,13 @@ pre-defined variants."
(ensure-keyword-arguments (package-arguments p)
`(#:ocaml ,ocaml
#:findlib ,findlib
,@(if (eq? (package-build-system p)
(default-dune-build-system))
,@(if (has-dune-build-system? p)
`(#:dune ,dune)
'())))))))
(else p)))
(define (cut? p)
(or (not (or (eq? (package-build-system p) ocaml-build-system)
(eq? (package-build-system p) (default-dune-build-system))))
(or (not (or (has-ocaml-build-system? p) (has-dune-build-system? p)))
(package-variant p)))
(package-mapping transform cut?))
@@ -207,33 +251,47 @@ pre-defined variants."
(inherit p)
(properties (alist-delete 'ocaml5.0-variant (package-properties p)))))
(define* (lower name
#:key source inputs native-inputs outputs system target
(ocaml (default-ocaml))
(findlib (default-findlib))
#:allow-other-keys
#:rest arguments)
"Return a bag for NAME."
(define private-keywords
'(#:target #:ocaml #:findlib #:inputs #:native-inputs))
(define package-with-ocaml5.3
(package-with-explicit-ocaml (delay (default-ocaml5.3))
(delay (default-ocaml5.3-findlib))
(delay (default-ocaml5.3-dune))
"ocaml-" "ocaml5.3-"
#:variant-property 'ocaml5.3-variant))
(and (not target) ;XXX: no cross-compilation
(bag
(name name)
(system system)
(host-inputs `(,@(if source
`(("source" ,source))
'())
,@inputs))
(build-inputs `(("ocaml" ,ocaml)
("findlib" ,findlib)
,@native-inputs
(define (strip-ocaml5.3-variant p)
"Remove the 'ocaml5.3-variant' property from P."
(package
(inherit p)
(properties (alist-delete 'ocaml5.3-variant (package-properties p)))))
;; Keep the standard inputs of 'gnu-build-system'.
,@(standard-packages)))
(outputs outputs)
(build ocaml-build)
(arguments (strip-keyword-arguments private-keywords arguments)))))
(define (make-lower default-ocaml default-findlib)
(lambda* (name
#:key source inputs native-inputs outputs system target
(ocaml (default-ocaml))
(findlib (default-findlib))
#:allow-other-keys
#:rest arguments)
"Return a bag for NAME."
(define private-keywords
'(#:target #:ocaml #:findlib #:inputs #:native-inputs))
(and (not target) ;XXX: no cross-compilation
(bag
(name name)
(system system)
(host-inputs `(,@(if source
`(("source" ,source))
'())
,@inputs))
(build-inputs `(("ocaml" ,ocaml)
("findlib" ,findlib)
,@native-inputs
;; Keep the standard inputs of 'gnu-build-system'.
,@(standard-packages)))
(outputs outputs)
(build ocaml-build)
(arguments (strip-keyword-arguments private-keywords arguments))))))
(define* (ocaml-build name inputs
#:key
@@ -293,10 +351,19 @@ provides a 'setup.ml' file as its build system."
#:graft? #f
#:guile-for-build guile))
(define ocaml-build-system
(define (make-ocaml-build-system default-ocaml default-findlib)
(build-system
(name 'ocaml)
(description "The standard OCaml build system")
(lower lower)))
(lower (make-lower default-ocaml default-findlib))))
(define ocaml-build-system
;; The default instance of the build system, using Guix's default OCaml
;; compiler version.
(make-ocaml-build-system default-ocaml default-findlib))
(define ocaml5-build-system
(make-ocaml-build-system default-ocaml5 default-ocaml5-findlib))
;;; ocaml.scm ends here
+18 -6
View File
@@ -89,13 +89,25 @@
#:allow-other-keys)
"Install the given package."
(let ((out (assoc-ref outputs "out")))
(if (and (file-exists? "setup.ml") (not use-make?))
(cond
((and (file-exists? "setup.ml") (not use-make?))
(apply invoke "ocaml" "setup.ml"
(string-append "-" install-target) build-flags)
(if (file-exists? "Makefile")
(apply invoke "make" install-target make-flags)
(invoke "opam-installer" "-i" (string-append "--prefix=" out)
(string-append "--libdir=" out "/lib/ocaml/site-lib")))))
(string-append "-" install-target) build-flags))
((file-exists? "Makefile")
(apply invoke "make" install-target make-flags))
;; Use either opam-installer or opaline, which both understand
;; opam's `.install` file format. opam-installer is the standard
;; platform tool, while opaline is a fallback for packages with
;; circular dependencies involving opam.
;; (https://codeberg.org/guix/guix/issues/3588)
((which "opam-installer")
(invoke "opam-installer" "-i" (string-append "--prefix=" out)
(string-append "--libdir=" out "/lib/ocaml/site-lib")))
((which "opaline")
(invoke "opaline" "-prefix" out
"-libdir" (string-append out "/lib/ocaml/site-lib")))
(else (error (string-append "Either 'opam-installer' or 'opaline' "
"must exist in $PATH at build time.")))))
#t)
(define* (prepare-install #:key outputs #:allow-other-keys)
+2 -2
View File
@@ -224,7 +224,7 @@ returned by 'gexp->sexp'."
(let ((extra (length inputs)))
(lambda args
(apply (gexp-proc gexp) (drop args extra))))
(gexp-location gexp)))
(and=> (gexp-location gexp) location->source-properties)))
;;;
@@ -1250,7 +1250,7 @@ The other arguments are as for 'derivation'."
(append modules (gexp-self-modules exp))
(gexp-self-extensions exp)
(gexp-proc exp)
(gexp-location exp))))
(and=> (gexp-location exp) location->source-properties))))
(mlet* %store-monad ( ;; The following binding forces '%current-system' and
;; '%current-target-system' to be looked up at >>=
+37 -1
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2013, 2018-2020, 2023, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012-2013, 2018-2020, 2023, 2025-2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017, 2019, 2020, 2022, 2023, 2024, 2025 Ricardo Wurmus <rekado@elephly.net>
@@ -58,6 +58,11 @@
#:use-module (ice-9 rdelim)
#:use-module (ice-9 receive)
#:use-module (ice-9 regex)
#:autoload (web uri) (string->uri
uri-scheme
uri-host
uri-path
split-and-decode-uri-path)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-11)
@@ -76,6 +81,7 @@
peek-body
git-repository-url?
tarball-url->git-repository-url
download-git-repository
git-origin
git->origin
@@ -202,6 +208,36 @@ thrown."
;; Fallback.
(string-suffix? ".git" url)))
(define (tarball-url->git-repository-url url)
"Given URL, the URL of a source code tarball, return the URL of the
corresponding Git repository or #f if it could not be guessed."
(let ((uri (string->uri url)))
(match (uri-scheme uri)
('mirror
(match (uri-host uri)
((or "gnu" "savannah")
(string-append "https://https.git.savannah.gnu.org/git/"
(match (split-and-decode-uri-path (uri-path uri))
((name _ ...)
(string-append name ".git")))))
("gnome"
(string-append "https://gitlab.gnome.org/GNOME/"
(match (split-and-decode-uri-path (uri-path uri))
(("sources" name _ ...)
(string-append name ".git")))))
;; TODO: Add "kernel" and other mirrors.
(_ #f)))
((or 'https 'http)
(match (uri-host uri)
((or "github.com" "gitlab.com")
(match (split-and-decode-uri-path (uri-path uri))
((owner repository _ ...)
(string-append "https://" (uri-host uri)
"/" owner "/" repository))))
(_
#f)))
(_ #f))))
(define* (download-git-repository url ref #:key recursive?)
"Fetch the given REF from the Git repository at URL. Return three values :
the commit hash, the downloaded directory and its content hash."
+54 -53
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013-2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
@@ -1676,61 +1676,62 @@ files for the fonts of the @var{manifest} entries."
(module-ref (resolve-interface '(gnu packages xorg)) 'mkfontdir))
(define build
#~(begin
(use-modules (srfi srfi-26)
(guix build utils)
(guix build union))
(let ((fonts-dirs (filter file-exists?
(map (cut string-append <>
"/share/fonts")
'#$(manifest-inputs manifest)))))
(mkdir #$output)
(if (null? fonts-dirs)
(exit #t)
(let* ((share-dir (string-append #$output "/share"))
(fonts-dir (string-append share-dir "/fonts"))
(mkfontscale (string-append #+mkfontscale
"/bin/mkfontscale"))
(mkfontdir (string-append #+mkfontdir
"/bin/mkfontdir"))
(empty-file? (lambda (filename)
(call-with-ascii-input-file filename
(lambda (p)
(eqv? #\0 (read-char p))))))
(fonts-dir-file "fonts.dir")
(fonts-scale-file "fonts.scale"))
(mkdir-p share-dir)
;; Create all sub-directories, because we may create fonts.dir
;; and fonts.scale files in the sub-directories.
(union-build fonts-dir fonts-dirs
#:log-port (%make-void-port "w")
#:create-all-directories? #t)
(let ((directories (find-files fonts-dir
(lambda (file stat)
(eq? 'directory (stat:type stat)))
#:directories? #t)))
(for-each (lambda (dir)
(with-directory-excursion dir
(when (file-exists? fonts-scale-file)
(delete-file fonts-scale-file))
(when (file-exists? fonts-dir-file)
(delete-file fonts-dir-file))
(unless (and (zero? (system* mkfontscale))
(zero? (system* mkfontdir)))
(exit #f))
(when (and (file-exists? fonts-scale-file)
(empty-file? fonts-scale-file))
(delete-file fonts-scale-file))
(when (and (file-exists? fonts-dir-file)
(empty-file? fonts-dir-file))
(delete-file fonts-dir-file))))
directories)))))))
(with-imported-modules '((guix build utils)
(guix build union))
#~(begin
(use-modules (srfi srfi-26)
(guix build utils)
(guix build union))
(let ((fonts-dirs (filter file-exists?
(map (cut string-append <>
"/share/fonts")
'#$(manifest-inputs manifest)))))
(mkdir #$output)
(if (null? fonts-dirs)
(exit #t)
(let* ((share-dir (string-append #$output "/share"))
(fonts-dir (string-append share-dir "/fonts"))
(mkfontscale (string-append #+mkfontscale
"/bin/mkfontscale"))
(mkfontdir (string-append #+mkfontdir
"/bin/mkfontdir"))
(empty-file? (lambda (filename)
(call-with-ascii-input-file filename
(lambda (p)
(eqv? #\0 (read-char p))))))
(fonts-dir-file "fonts.dir")
(fonts-scale-file "fonts.scale"))
(mkdir-p share-dir)
;; Create all sub-directories, because we may create fonts.dir
;; and fonts.scale files in the sub-directories.
(union-build fonts-dir fonts-dirs
#:log-port (%make-void-port "w")
#:create-all-directories? #t)
(let ((directories
(find-files fonts-dir
(lambda (file stat)
(eq? 'directory (stat:type stat)))
#:directories? #t)))
(for-each (lambda (dir)
(with-directory-excursion dir
(when (file-exists? fonts-scale-file)
(delete-file fonts-scale-file))
(when (file-exists? fonts-dir-file)
(delete-file fonts-dir-file))
(unless (and (zero? (system* mkfontscale))
(zero? (system* mkfontdir)))
(exit #f))
(when (and (file-exists? fonts-scale-file)
(empty-file? fonts-scale-file))
(delete-file fonts-scale-file))
(when (and (file-exists? fonts-dir-file)
(empty-file? fonts-dir-file))
(delete-file fonts-dir-file))))
directories))))))))
(gexp->derivation "fonts-dir" build
#:system system
#:modules '((guix build utils)
(guix build union)
(srfi srfi-26))
#:local-build? #t
#:substitutable? #f
#:properties
+2 -1
View File
@@ -362,7 +362,8 @@ expressions and blanks that were read."
;; of 1, except that indent is 1 instead of 2 columns.
(vhashq
('source '(package))
('git-reference '(uri origin source))
('git-reference '(uri origin))
('snippet '(origin))
('sha256 '(origin source package))
('arguments '(package))
('list '(arguments package))
+44 -29
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021-2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;;
@@ -33,7 +33,8 @@
#:autoload (gnu packages) (specification->package fold-packages)
#:autoload (guix import utils) (default-git-error
generate-git-source
git-repository-url?)
git-repository-url?
tarball-url->git-repository-url)
#:use-module (guix combinators)
#:use-module (guix scripts)
#:use-module ((guix scripts build) #:select (%standard-build-options))
@@ -47,7 +48,6 @@
#:use-module (ice-9 control)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-2)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
@@ -569,7 +569,7 @@ are put in alphabetical order."
;;; url-fetch->git-fetch
;;;
(define (transform-to-git-fetch location origin home-page version)
(define (transform-to-git-fetch location origin repository-url version)
"Transform an origin using url-fetch to use git-fetch if appropriate.
Return the new origin S-expression or #f if transformation isn't applicable."
(match origin
@@ -578,15 +578,22 @@ Return the new origin S-expression or #f if transformation isn't applicable."
('uri uri-expr)
('sha256 ('base32 _))
rest ...)
(let ((rest (filter (match-lambda
(('patches . _) #t)
(('modules . _) #t)
(('snippet . _) #t)
(_ #f))
rest)))
`(,@(generate-git-source home-page version
(default-git-error home-page location))
,@rest)))
(catch 'git-error
(lambda ()
(let ((rest (filter (match-lambda
(('patches . _) #t)
(('modules . _) #t)
(('snippet . _) #t)
(_ #f))
rest)))
`(,@(generate-git-source repository-url version
(lambda args
(apply throw args)))
,@rest)))
(let ((report-error (default-git-error repository-url location)))
(lambda args
(apply report-error args)
#f))))
(_ #f)))
(define* (url-fetch->git-fetch package
@@ -594,31 +601,39 @@ Return the new origin S-expression or #f if transformation isn't applicable."
(policy 'safe)
(edit-expression edit-expression))
"Transform PACKAGE's source from url-fetch to git-fetch when appropriate."
(define (transform-source location str)
(define (transform-source location repository-url str)
(let* ((origin-exp (call-with-input-string str read-with-comments))
(home-page (package-home-page package))
(new-origin (transform-to-git-fetch location
origin-exp
home-page
repository-url
(package-version package))))
(if new-origin
(begin
(info location (G_ "transforming source from url-fetch to git-fetch~%"))
(info location (G_ "~a: changing source to 'git-fetch'~%")
(package-full-name package))
(object->string* new-origin (location-column location)))
str)))
;; Check if this package uses url-fetch and has a git repository home-page
(and-let* ((source (package-source package))
(home-page (package-home-page package))
(location ; source might be inherited
(and=> (and (origin? source)
(eq? url-fetch (origin-method source))
(git-repository-url? home-page)
(package-field-location package 'source))
absolute-location)))
(edit-expression
(location->source-properties location)
(cut transform-source location <>))))
;; Check if this package uses 'url-fetch' and has a known corresponding Git
;; repository.
(let* ((source (package-source package))
(home-page (package-home-page package))
(repository-url (and (origin? source)
(eq? url-fetch (origin-method source))
(or (and (git-repository-url? home-page)
home-page)
(and=> (match (origin-uri source)
(((? string? head) . _) head)
((? string? url) url)
(_ #f))
tarball-url->git-repository-url))))
(location ;source might be inherited
(and=> (package-field-location package 'source)
absolute-location)))
(when (and repository-url location)
(edit-expression
(location->source-properties location)
(cut transform-source location repository-url <>)))))
;;;
+7 -3
View File
@@ -118,6 +118,8 @@
set-store-connection-cache
set-store-connection-cache!
%default-store-connection-buffer-size
connect-to-daemon
open-connection
port->connection
@@ -356,10 +358,11 @@ non-blocking."
(errno (system-error-errno args)))))
(loop rest)))))))))
(define %default-buffer-size 8192)
(define %default-store-connection-buffer-size 8192)
(define* (connect-to-daemon uri-or-filename #:key non-blocking?
(buffer-size %default-buffer-size))
(buffer-size
%default-store-connection-buffer-size))
"Connect to the daemon at URI-OR-FILENAME and return an input/output port.
If NON-BLOCKING?, use a non-blocking socket when using the file, unix or guix
URI schemes. Use BUFFER-SIZE defaulting to 8192.
@@ -406,7 +409,8 @@ the daemon. Use 'open-connection' for that."
(define* (open-connection #:optional (uri (%daemon-socket-uri))
#:key port (reserve-space? #t) cpu-affinity
non-blocking? built-in-builders
(buffer-size %default-buffer-size))
(buffer-size
%default-store-connection-buffer-size))
"Connect to the daemon at URI (a string), or, if PORT is not #f, use it as
the I/O port over which to communicate to a build daemon.
+9
View File
@@ -344,4 +344,13 @@ error procedure has been called."
(let ((sexp error-called? (test-generate-git-source "1.0.0" "2.0.0")))
error-called?))
(test-equal "tarball-url->git-repository-url, guile"
'("https://https.git.savannah.gnu.org/git/guile.git"
"https://gitlab.gnome.org/GNOME/brasero.git"
"https://github.com/aide/aide")
(map tarball-url->git-repository-url
'("mirror://gnu/guile/guile-3.0.11.tar.gz"
"mirror://gnome/sources/brasero/3.12/brasero-3.12.3.tar.xz"
"https://github.com/aide/aide/releases/download/v0.19.3/aide-0.19.3.tar.gz")))
(test-end "import-utils")
+36 -1
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021-2024, 2026 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -669,6 +669,41 @@
(cut string-contains <> "patches")))))))
"1"))
(unless (false-if-exception
(getaddrinfo "https.git.savannah.gnu.org" "https"))
(test-skip 1))
(test-equal "url-fetch->git-fetch, mirror:// URL"
'(origin
(method git-fetch)
(uri (git-reference
(url "https://https.git.savannah.gnu.org/git/sed.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"00p6v3aa22jz365scmifr06fspkylzrvbqda0waz4x06q5qv0263")))
(call-with-test-package
'((version "4.9")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/sed/sed-"
version ".tar.gz"))
(sha256
(base32 "0000000000000000000000000000000000000000000000000000")))))
(lambda (directory)
(define file
(string-append directory "/my-packages-1.scm"))
;; Note: This ends up cloning the 'sed' repository on Savannah.
(system* "guix" "style" "-L" directory "-S" "git-source" "my-coreutils-1")
(load file)
(call-with-input-string (read-package-field
(@ (my-packages-1) my-coreutils-1) 'source 8)
read))
"1"))
(test-assert "url-fetch->git-fetch, non-git home-page unchanged"
(call-with-test-package
'((home-page "https://www.example.com")