1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-08 00:44:06 +02:00

Compare commits

..

304 Commits

Author SHA1 Message Date
Jason Conroy 5588aa8dea gnu: ocaml5: ocaml-5.3: Delete variable.
* gnu/packages/ocaml5.scm (ocaml-5.3): Delete variable.

Change-Id: Id78b07917692518e1afd48041b69871ecbae58c2
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-17 18:45:38 +02:00
Jason Conroy 57915337b0 gnu: ocaml5: Update default compiler to 5.4.1 and update dependees broken by change. [security-fixes]
* gnu/packages/ocaml5.scm (ocaml): Update alias to ocaml-5.4.
(%dune-base): Update to 3.22.2.
(ocaml-dune-fs-io, ocaml-dune-top-closure): New variables.
(ocaml-stdune, ocaml-dune-rpc): Update dune dependencies.
(%ocaml-odoc-base): Update to 3.2.1.
(%ocaml-merlin-base): Update to 5.7.1-504.
(%ocaml-lsp-base): Update to 1.26.0.
* guix/build-system/ocaml.scm (default-ocaml5.3): Change prefix to `ocaml5.4`
and update alias to point at ocaml-5.4.
(default-ocaml5): Update alias to point at default-ocaml5.4.

Co-authored-by: Nox <noximilien@riseup.net>

Change-Id: I279d9fe8e748c69f115d0547bce9ac721bac684d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-17 18:45:26 +02:00
Jason Conroy 7ea0c8593c gnu: ocaml5: Update most ocaml5.3 package prefixes to ocaml5.4.
This is a non-functional change; switching to the 5.4 compiler happens in the
next commit.

* gnu/packages/ocaml5.scm (ocaml5.3-dune-bootstrap)
(ocaml5.3-dune-configurator, ocaml5.3-dune, ocaml5.3-findlib): Rename variable
with `ocaml5.4` prefix.
* guix/build-system/ocaml.scm: (strip-ocaml5.3-variant)
(default-ocaml5.3-findlib, default-ocaml5.3-dune): Rename variable with
`ocaml5.4` prefix.
(package-with-ocaml5.3): Rename variable with `ocaml5.4` prefix. Search for `ocaml5.4`
package variant.

Change-Id: I39b5138001f09d40046b4d2d52e4570b5a6ca0a1
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-17 18:45:10 +02:00
Jason Conroy f219935e4a gnu: ocaml5: ocaml5.3-findlib: Use default ocaml package.
* gnu/packages/ocaml5.scm (ocaml5.3-findlib)[native-inputs]: Use ocaml
instead of ocaml-5.4.

Change-Id: Id0b4f12faa34d897c9d4452c5b4b434c1c09a4fb
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-17 18:45:08 +02:00
Jason Conroy 748cc386c0 gnu: ocaml5: Update %ocaml-ocamlformat-base for Dune 3.22.
* gnu/packages/ocaml.scm (%ocaml-ocamlformat-base): Pin to version compatible
with Dune 3.22.

Change-Id: Ic2a605d3ec7552b95e5b0128786c45ea7ac442a8
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-17 18:45:06 +02:00
Jason Conroy 9019c05d4c gnu: ocaml: Remove ocaml5.0-lsp-server.
* gnu/packages/ocaml.scm (ocaml5.0-lsp-server): Delete variable.

Change-Id: I2601f97102f1fb6ede5f259cc8c9740e40cae474
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-17 18:45:04 +02:00
Jason Conroy 22ad56c8ee gnu: ocaml: Remove ocaml5.0-merlin.
* gnu/packages/ocaml.scm (ocaml5.0-merlin): Delete variable.

Change-Id: I58825c4b2de3dc831397c48c6514d9197989203e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-17 18:45:03 +02:00
Jason Conroy a36670a118 gnu: ocaml: Remove ocaml5.0-dot-merlin-reader.
* gnu/packages/ocaml.scm (ocaml5.0-dot-merlin-reader): Delete variable.

Change-Id: I0453b9a72c6f142da4e824ac23599e1cf19298a9
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-17 18:45:01 +02:00
Jason Conroy 4d1d2df2d9 gnu: ocaml5: Update ocaml-num to 1.6.
* gnu/packages/ocaml5.scm (ocaml-num): Update to 1.6.

Change-Id: I60f46adafa8d97945cff0fa500d172ebc9e90501
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-17 18:44:58 +02:00
Jason Conroy eac0c15293 gnu: ocaml5: Add ocaml-5.4.
* gnu/packages/ocaml5.scm (ocaml-5.4): New variable.

Change-Id: I27f3dd609c7af6feb770be54aab684bfe5e1f8df
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-17 18:44:31 +02:00
Nox 058b8bf2d7 gnu: Add ocaml-owl.
* gnu/packages/ocaml5.scm (ocaml-owl): New variable.

Change-Id: Ibf585f913fc3c5049339b5ad725f6572e44c27e0
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-12 20:56:27 +02:00
Nox 81acdd26ad gnu: Add ocaml-ctypes.
* gnu/packages/ocaml5.scm (ocaml-ctypes): New variable.

Change-Id: I7fba8f2ba2b8eafb1fcf8a8fbb043b3d4c7c2105
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-12 20:55:46 +02:00
Nox 6b6492dbfa gnu: Add ocaml-integers.
* gnu/packages/ocaml5.scm (ocaml-integers): New variable.

Change-Id: If17ac0b9d0ec1768a958b3737e84a7fc3f50d749
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-12 20:55:28 +02:00
Nox b580820bf8 gnu: Add ocaml-npy.
* gnu/packages/ocaml5.scm (ocaml-npy): New variable.

Change-Id: I7a2856e7b2d622fe4d088626d3847e028a651c6d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-12 20:54:49 +02:00
Nox 599838029d gnu: Add ocaml-owl-base.
* gnu/packages/ocaml5.scm (ocaml-owl-base): New variable.

Change-Id: I2d17ca94d75b405ddd367f443b7eddd492d3ed37
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-12 20:54:11 +02:00
Jason Conroy 818c41ce3d gnu: ocaml5: Add ocaml-lsp-server.
* gnu/packages/ocaml5.scm (ocaml-lsp-server): New variable.

Change-Id: If3e183ec186896bbc203f631265c974e8d742d0a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:50:47 +02:00
Jason Conroy 99d372c45a gnu: ocaml5: Add ocaml-lsp.
* gnu/packages/ocaml5.scm (ocaml-lsp): New variable.

Change-Id: I137fe584d768eea5af6687d361fa9a8f386df2cd
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:50:37 +02:00
Jason Conroy 52fa1c6624 gnu: ocaml5: Add ocaml-jsonrpc.
* gnu/packages/ocaml5.scm (ocaml-jsonrpc): New variable.

Change-Id: I341b9c3b0e2a5cb94703a1cbaa38cc88f82cf47b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:50:27 +02:00
Jason Conroy b22e83dbf1 gnu: ocaml5: Add %ocaml-lsp-base.
* gnu/packages/ocaml5.scm (%ocaml-lsp-base): New variable.

Change-Id: I376afc68fb5a9716938374d20a2531a669851572
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:50:20 +02:00
Jason Conroy 633a91e504 gnu: ocaml5: Add ocaml-lev-fiber-csexp.
* gnu/packages/ocaml5.scm (ocaml-lev-fiber-csexp): New variable.

Change-Id: Ieaf5e6ac5fdcc038b2f6a6d94b02f14e6b69d74d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:50:10 +02:00
Jason Conroy 9d5bd9a2ac gnu: ocaml5: Add ocaml-lev-fiber.
* gnu/packages/ocaml5.scm (ocaml-lev-fiber): New variable.

Change-Id: I78ab107483a3b5ab64f31993f446dd0ea077f848
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:50:02 +02:00
Jason Conroy 0fb60013c4 gnu: ocaml5: Add ocaml-lev.
* gnu/packages/ocaml5.scm (ocaml-lev): New variable.

Change-Id: Id89f6d021875f79b563556f404a4ffdefb471713
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:49:49 +02:00
Jason Conroy a56906881e gnu: ocaml5: Add %ocaml-lev-base.
* gnu/packages/ocaml5.scm (%ocaml-lev-base): New variable.

Change-Id: I4093e857d77f8bd77b95b35acac34344a234a81a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:49:38 +02:00
Jason Conroy 7fa155d2e9 gnu: ocaml5: Add ocaml-ocamlformat.
* gnu/packages/ocaml5.scm (ocaml-ocamlformat): New variable.

Change-Id: Ia952bb61a3780577e58aafcdebe8519aa289ef6b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:49:24 +02:00
Jason Conroy 415a8b1549 gnu: ocaml5: Add ocaml-ocamlformat-rpc-lib.
* gnu/packages/ocaml5.scm (ocaml-ocamlformat-rpc-lib): New variable.

Change-Id: Ieb16662477c5faf96ad7c59a6d8dde95e7987de1
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:49:11 +02:00
Jason Conroy 1d5be99666 gnu: ocaml5: Add ocaml-ocamlformat-lib.
* gnu/packages/ocaml5.scm (ocaml-ocamlformat-lib): New variable.

Change-Id: I56831012ab5b302bcc48e3d7217e8d2222884e5e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:49:01 +02:00
Jason Conroy 1161b7849f gnu: ocaml5: Add %ocaml-ocamlformat-base.
* gnu/packages/ocaml5.scm (%ocaml-ocamlformat-base): New variable.

Change-Id: Ibfdcd73e9d70dec730f7a79e578bda7785597f7e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:48:59 +02:00
Jason Conroy f2aa707f73 gnu: ocaml5: Add ocaml-uuseg.
* gnu/packages/ocaml5.scm (ocaml-uuseg): New variable.

Change-Id: Idccc144707cf139d3fd6cc3cf7fdb8063ef29b71
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:48:56 +02:00
Jason Conroy c33850d515 gnu: ocaml5: Add ocaml-ocp-indent.
* gnu/packages/ocaml5.scm (ocaml-ocp-indent): New variable.

Change-Id: I61c3c429f66eea06c94dcc4b1110ef31a02ff99d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:48:53 +02:00
Jason Conroy 6bdca1fd9a gnu: ocaml5: Add ocaml-fix.
* gnu/packages/ocaml5.scm (ocaml-fix): New variable.

Change-Id: I0dba644231f16af84e4ea890999dd78a751ee79d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:48:50 +02:00
Jason Conroy 192f5edf56 gnu: ocaml5: Add ocaml-either.
* gnu/packages/ocaml5.scm (ocaml-either): New variable.

Change-Id: I37ed93b20c9d387c65194774982ec1cc80f4c4d8
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 15:48:45 +02:00
Nox 44344beeb1 gnu: ocaml-ounit2: Update to 2.2.7.
* gnu/packages/ocaml5.scm (ocaml-ounit2): Update to 2.2.7.

Change-Id: I98ad93206e3bbae97e77fe7e751a2215b1d0b4d3
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 13:57:42 +02:00
Nox c5dacaa66c gnu: Add ocaml-ppx-yojson-conv.
* gnu/packages/ocaml5.scm (ocaml-ppx-yojson-conv): New variable.

Change-Id: Id8d60987f750a427f8b575cc5e1ae9df578ac251
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:59:57 +02:00
Nox 59f06ab805 gnu: Add ocaml-ppx-yojson-conv-lib.
* gnu/packages/ocaml5.scm (ocaml-ppx-yojson-conv-lib): New variable.

Change-Id: I741c9950e3e4a0d35b1ed3e01de7755ca6082e16
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:59:45 +02:00
Jason Conroy 991471da31 gnu: ocaml5: opaline: Remove variable.
No longer needed now that opam-installer has a proper bootstrap.

* gnu/packages/ocaml5.scm (opaline): Remove variable.

Change-Id: Iac2390f43f46f3731773ff2da2baf87ce4dc4da0
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:50:54 +02:00
Jason Conroy 2316e8053f guix: ocaml-build-system: Remove support for installer tool opaline.
* guix/build/ocaml-build-system.scm (install): Remove support for `opaline`
tool.

Change-Id: Iec7c67b3d7397fff58c77c365f007094e58c9bd9
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:50:43 +02:00
Jason Conroy ec634f0176 gnu: ocaml5: ocaml-jsonm: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-jsonm)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: I9cbb316deae9ba805ca61eed789918feb8109352
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:50:36 +02:00
Jason Conroy b061a58d84 gnu: ocaml5: ocaml-bos: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-bos)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: I7d4c86085c045594f3635f5a1264164515dfb66c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:50:28 +02:00
Jason Conroy d8aca87524 gnu: ocaml5: ocaml-logs: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-logs)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: I57171033bf28af1529ddb87e3ae388fcb194d9df
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:50:22 +02:00
Jason Conroy ad27de74b9 gnu: ocaml5: ocaml-fpath: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-fpath)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: I8e4e3417328174664b679efeaa35e454526d1d23
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:50:15 +02:00
Jason Conroy 4e3c072d48 gnu: ocaml5: ocaml-rresult: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-rresult)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: I04b633f2e67d5a8fcd27186bd5ea5c013ab903bc
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:50:09 +02:00
Jason Conroy 506a56e3e8 gnu: ocaml5: ocaml-ptime: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-ptime)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: Iaba526c03b41c90618300cf879288cd988fcb904
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:50:03 +02:00
Jason Conroy 194ec043fe gnu: ocaml5: ocaml-mtime: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-mtime)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: I0c0948c79f7cad6d2629c64c5d95035fd9b63dc7
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:49:57 +02:00
Jason Conroy 4271edeec5 gnu: ocaml5: ocaml-uchar: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-uchar)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: I3a545f86d8e6207f555890a0fb285b933e65c011
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:49:51 +02:00
Jason Conroy e4950442f1 gnu: ocaml5: ocaml-fmt: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-fmt)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: Ide3abca50b0652e92fe5672ff2fc604c4a22a354
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:49:45 +02:00
Jason Conroy 18124c9a52 gnu: ocaml5: ocaml-uutf: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-uutf)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: Ia26c261bed78badfb0b11fb58bd6b6ccb8cbc46a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:49:38 +02:00
Jason Conroy de53ff4ff6 gnu: ocaml5: ocaml-uuidm: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-uuidm)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: I1b28b85860334a20af9836d70018d35ba95dc905
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:47:56 +02:00
Jason Conroy 80186967c0 gnu: ocaml5: ocaml-astring: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-astring)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: Ib926e27f7615927bb5b35884c34b5fd1c3c332f9
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:47:40 +02:00
Jason Conroy 81dc72fda1 gnu: ocaml5: ocaml-topkg: Replace opaline with opam-installer.
* gnu/packages/ocaml5.scm (ocaml-topkg)[native-inputs]: Remove
opaline, add opam-installer.

Change-Id: Ibfb0e1af01d9e80db986c62bc2d4452cba8e1343
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:47:22 +02:00
Jason Conroy 2619ef369a gnu: ocaml5: ocaml-opam-client: Remove dependency on ocaml-cmdliner.
* gnu/packages/ocaml5.scm (ocaml-opam-client)[propagated-inputs]:
Remove ocaml-cmdliner.

Change-Id: I78551bf40da4fdd8bfc8262beb208e74456b1985
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:47:05 +02:00
Jason Conroy f104514b7f gnu: ocaml5: Update ocaml-opam-core to 2.5.1. [security fixes]
Addresses OSEC-2026-03 / CVE-2026-41082.

* gnu/packages/ocaml5.scm (ocaml-opam-core): Update to 2.5.1.
[propagated-inputs]: Remove ocaml-cppo, ocaml-cmdliner.
[inputs]: Remove ocaml-patch, ocaml-uutf.
[home-page]: Updated.
[license]: Updated to correct version of LGPL (2.1).

Change-Id: Iaac2bd314e9686ad597d2b7e7090dfb8a15f4ec4
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:46:56 +02:00
Jason Conroy 3685d21e51 gnu: ocaml5: Update opam for version 2.5.1.
The test exclusion is a prerequisite for a version bump in the inherited package.

* gnu/packages/ocaml5.scm (opam):
[arguments]: Disable an extra test.
[native-inputs]: remove ocaml-cppo.

Change-Id: I187c1db51a6101318415ac1ead089c42fb3c98d7
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:46:54 +02:00
Jason Conroy 9bd1d6c5d8 gnu: ocaml5: Update opam-installer to 2.5.1.
Switch to a release with vendored dependencies to break a cycle involving
jsonm (and perhaps others).

* gnu/packages/ocaml5.scm (opam-installer): Update to 2.5.1.

Change-Id: Ia946113ae68d8d6ac04a886d341cbe115c3e8389
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-10 12:46:49 +02:00
Nox 808ef3c571 gnu: Add ocaml-gg.
* gnu/packages/ocaml5.scm (ocaml-gg): New variable.

Change-Id: I68f53d75f91de1223cf5c06c576a189827f47788
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-01 10:12:14 +02:00
Nox afaa34103f gnu: Add camlzip.
* gnu/packages/ocaml5.scm (camlzip): New variable.

Change-Id: I685426c82fd20303d8d2a066f853a87c9110f038
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-05-01 09:59:34 +02:00
Jason Conroy b18fb6c208 gnu: ocaml5: Add ocaml-mirage-xen.
* gnu/packages/ocaml5.scm (ocaml-mirage-xen): New variable.

Change-Id: Ib85099c8ccfab44e1e70ecaa056a25d48dd5191e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:59:42 +02:00
Jason Conroy e9d8d5bc6b gnu: ocaml5: Add ocaml-mirage-metrics-lwt.
* gnu/packages/ocaml5.scm (ocaml-mirage-metrics-lwt): New variable.

Change-Id: I954012029da1ef62ca78642ba3ff990188cbaa3c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:59:34 +02:00
Jason Conroy c5723a86e7 gnu: ocaml5: Add ocaml-mirage-metrics.
* gnu/packages/ocaml5.scm (ocaml-mirage-metrics): New variable.

Change-Id: I0e8e0a5e9a04f810e25f5ad0599eebdfd398e496
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:59:26 +02:00
Jason Conroy 8f14a53c4e gnu: ocaml5: Add ocaml-mirage-sleep.
* gnu/packages/ocaml5.scm (ocaml-mirage-sleep): New variable.

Change-Id: I273469f751df3ec517d7cfc7db7ae26a3ae03102
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:58:06 +02:00
Jason Conroy 9ced09fd18 gnu: ocaml5: Add ocaml-mirage-unix.
* gnu/packages/ocaml5.scm (ocaml-mirage-unix): New variable.

Change-Id: I83b0f51b776e9cc357691c14beb34d9b8b81e981
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:56:29 +02:00
Jason Conroy 7f7e1f4ab0 gnu: ocaml5: Add ocaml-mirage-kv-mem.
* gnu/packages/ocaml5.scm (ocaml-mirage-kv-mem): New variable.

Change-Id: I701e672153d649d33af9b846db484069457a0ae0
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:56:12 +02:00
Jason Conroy 72a859f1d5 gnu: ocaml5: Add ocaml-mirage-kv.
* gnu/packages/ocaml5.scm (ocaml-mirage-kv): New variable.

Change-Id: I37edb5ceaec59a4f13317cd8351033c86d8303b2
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:55:53 +02:00
Jason Conroy 37031a73d4 gnu: ocaml5: Add ocaml-optint.
* gnu/packages/ocaml5.scm (ocaml-optint): New variable.

Change-Id: I4184145e964e93bb40a77ecf3619fdc434ceb386
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:55:37 +02:00
Jason Conroy f6078d4db7 gnu: ocaml5: Add ocaml-monolith.
* gnu/packages/ocaml5.scm (ocaml-monolith): New variable.

Change-Id: Ic5a6a73548d9b7810b9b45d142604101cf9f70eb
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:55:24 +02:00
Jason Conroy 215b98f551 gnu: ocaml5: Add ocaml-mirage-logs.
* gnu/packages/ocaml5.scm (ocaml-mirage-logs): New variable.

Change-Id: I797762f9115336efbcff564af3311df7fa456d01
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:54:57 +02:00
Jason Conroy 7acb0e1e1d gnu: ocaml5: Add ocaml-shared-memory-ring-lwt.
* gnu/packages/ocaml5.scm (ocaml-shared-memory-ring-lwt): New variable.

Change-Id: Id56decec8d584f2b2ca23e7488acfa7a5a84dcd0
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:54:40 +02:00
Jason Conroy ccaa42f7ae gnu: ocaml5: Add ocaml-shared-memory-ring.
* gnu/packages/ocaml5.scm (ocaml-shared-memory-ring): New variable.

Change-Id: If597560ea684e1bfca54f83dd77ff42e19a5aaa6
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:54:16 +02:00
Jason Conroy 5c3c654610 gnu: ocaml5: Add ocaml-mirage-profile-unix.
* gnu/packages/ocaml5.scm (ocaml-mirage-profile-unix): New variable.

Change-Id: I67616e55f3fb2e69d7e182c22c1a6cb6a15ae44b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:53:42 +02:00
Jason Conroy f08332ceed gnu: ocaml5: Add ocaml-mirage-profile.
* gnu/packages/ocaml5.scm (ocaml-mirage-profile): New variable.

Change-Id: If216c1fdf2ed6b4f8743b0215dff7b035c49aee1
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:31:47 +02:00
Jason Conroy 437a66bfa6 gnu: ocaml5: Add ocaml-mirage-xenstore.
* gnu/packages/ocaml5.scm (ocaml-mirage-xenstore): New variable.

Change-Id: I3e7a0afd1b7276aacb862df333e3a9151e02dd4c
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:30:27 +02:00
Jason Conroy 89211998ad gnu: ocaml5: Add ocaml-ppx-cstruct.
* gnu/packages/ocaml5.scm (ocaml-ppx-cstruct): New variable.

Change-Id: I64b89b2ae31b7e9b3d0ce72f962cac77d67c0260
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:27:20 +02:00
Jason Conroy 36d618439e gnu: ocaml5: Add ocaml-io-page.
* gnu/packages/ocaml5.scm (ocaml-io-page): New variable.

Change-Id: I45a6db82c79495e9875a10134c35f8f0febd6f7a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:27:11 +02:00
Jason Conroy 08e68e3b1f gnu: ocaml5: Add ocaml-mirage-time.
* gnu/packages/ocaml5.scm (ocaml-mirage-time): New variable.

Change-Id: Iacbfa75c65b3c842346395953c7e68936b0b375b
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:25:41 +02:00
Jason Conroy b52180a59e gnu: ocaml5: Add ocaml-duration.
* gnu/packages/ocaml5.scm (ocaml-duration): New variable.

Change-Id: I823bdca0e7119c4f7e98f3c7fbc4cee5cbb98843
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:25:14 +02:00
Jason Conroy cb16281099 gnu: ocaml5: Add ocaml-mirage-bootvar-unix.
* gnu/packages/ocaml5.scm (ocaml-mirage-bootvar-unix): New variable.

Change-Id: I7cac94dda21530c0e3a171089695de19cc433239
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:24:50 +02:00
Jason Conroy 974f7f15fc gnu: ocaml5: Add ocaml-parse-argv.
* gnu/packages/ocaml5.scm (ocaml-parse-argv): New variable.

Change-Id: Ia13aec50c6dbc1ef9f18598d12890084f0ddfa12
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:24:29 +02:00
Jason Conroy 0fe32b5da2 gnu: ocaml5: Add ocaml-lwt-dllist.
* gnu/packages/ocaml5.scm (ocaml-lwt-dllist): New variable.

Change-Id: Icd5cb0da442ec3c61c13bb1104040366385bab36
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:24:21 +02:00
Jason Conroy b6c39da273 gnu: ocaml5: Add ocaml-mirage-ptime.
* gnu/packages/ocaml5.scm (ocaml-mirage-ptime): New variable.

Change-Id: I23798d947d45797cfc409abc723953b8fc95d0f0
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:23:25 +02:00
Jason Conroy 38fc747354 gnu: ocaml5: Add ocaml-bheap.
* gnu/packages/ocaml5.scm (ocaml-bheap): New variable.

Change-Id: Ic2dfdcd7e70892919da41ba78a9dfa0eb33f10dd
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:21:42 +02:00
Jason Conroy 1d6be6ee48 gnu: ocaml5: Add ocaml-mirage-clock.
* gnu/packages/ocaml5.scm (ocaml-mirage-clock): New variable.

Change-Id: I89b24d82e8e0c5b6225b058add7249366e1eec11
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:20:40 +02:00
Jason Conroy 3a28c337c9 gnu: ocaml5: Add ocaml-dune-rpc.
* gnu/packages/ocaml5.scm (ocaml-dune-rpc): New variable.

Change-Id: I88cdfc83c28ce2bb371055ffa637f5f46e84ac30
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:20:27 +02:00
Jason Conroy 7fb4869a35 gnu: ocaml5: Add ocaml-dune-ocamlc-loc.
* gnu/packages/ocaml5.scm (ocaml-dune-ocamlc-loc): New variable.

Change-Id: I16e1dc6c2551c403ebb25e7246fc49a520f3c80a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 21:19:06 +02:00
Jason Conroy f4ec861dc7 gnu: ocaml5: Add ocaml-fiber.
* gnu/packages/ocaml5.scm (ocaml-fiber): New variable.

Change-Id: I75850b45f9614a4d6850c2412e4906559fc36189
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 19:41:46 +02:00
Jason Conroy 01882e84fe gnu: ocaml5: Add ocaml-stdune.
* gnu/packages/ocaml5.scm (ocaml-stdune): New variable.

Change-Id: I76319927ef51aa2ade3f1506509573c427017798
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 19:41:01 +02:00
Jason Conroy c48fa1c111 gnu: ocaml5: Add ocaml-dune-dyn.
* gnu/packages/ocaml5.scm (ocaml-dune-dyn): New variable.

Change-Id: I8babd3b5ac7b2c77694fac9e135aa6391017ea21
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 19:40:53 +02:00
Jason Conroy b0c40a0d8f gnu: ocaml5: Add ocaml-dune-ordering.
* gnu/packages/ocaml5.scm (ocaml-dune-ordering): New variable.

Change-Id: I134ec5e8f25ff4be0e93d2ce53b9e53363a50c5a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 19:40:45 +02:00
Jason Conroy 609865f6d9 gnu: ocaml5: Add ocaml-pp.
* gnu/packages/ocaml5.scm (ocaml-pp): New variable.

Change-Id: Id5e92537c8daa57dd6d25f4eede3d6c4f5dd497f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 19:40:12 +02:00
Jason Conroy b5f79c6805 gnu: ocaml5: Add ocaml-dune-xdg.
* gnu/packages/ocaml5.scm (ocaml-dune-xdg): New variable.

Change-Id: I27439dcb4c7188e00625e490376081219e5aa9dd
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 19:39:49 +02:00
Jason Conroy 0c26eadb84 gnu: ocaml5: Add ocaml-dune-build-info.
* gnu/packages/ocaml5.scm (ocaml-dune-build-info): New variable.

Change-Id: I85ada7439a85d68b40c3f022c20cadb0ee28d56f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 19:39:18 +02:00
Jason Conroy 50763c8a8f gnu: ocaml5: Add ocaml-dune-chrome-trace.
* gnu/packages/ocaml5.scm (ocaml-dune-chrome-trace): New variable.

Change-Id: Ida1d01595c384af5eea562aa1ceb1910123b5c28
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 19:38:10 +02:00
Jason Conroy 9708ff0ce9 gnu: ocaml5: Factor out %dune-lib-base package.
* gnu/packages/ocaml5.scm (%dune-lib-base): New variable.
(ocaml5.3-dune-configurator): Define in terms of package %dune-lib-base.

Change-Id: I5214d5af5f8c3e708bc4c58d892ebd08370d78f4
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 19:38:08 +02:00
Jason Conroy 0916327487 gnu: ocaml5: Factor out %dune-base package.
* gnu/packages/ocaml5.scm (%dune-base): New variable.
(ocaml5.3-dune-bootstrap): Define in terms of %dune-base.

Change-Id: I9b18dc32a62a921ecb2bd294174c78d9abd45853
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 19:38:05 +02:00
Jason Conroy 8b16e04cb1 gnu: ocaml5: Bind dune-configurator alias to correct package.
* gnu/packages/ocaml5.scm (dune-configurator): Rebind variable to package
ocaml5.3-dune-configurator.

Change-Id: Ie93eeb0babab20daa708d62f2b3ad8b0b962f2ed
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-19 19:37:59 +02:00
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
82 changed files with 9082 additions and 4351 deletions
+3 -3
View File
@@ -37,13 +37,13 @@ Tick a box by changing it from [ ] to [x].
```
- Package **addition**
- [ ] The packages includes tests when available.
- [ ] Fixed errors reported by `guix lint` (`./pre-inst-env guix lint PACKAGE ...`).
- [ ] Verified cryptographic signature provided by upstream.
- [ ] The packages don't use bundled copies of software.
- [ ] Synopsis and description are written in conformance with [the guidelines](https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html).
- [ ] Commit messages follow [the "ChangeLog" style](https://www.gnu.org/prep/standards/html_node/Change-Logs.html).
- [ ] The change doesn't break `guix pull` (`guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master --disable-authentication`).
- [ ] Commit messages follow [the "ChangeLog" style](https://www.gnu.org/prep/standards/html_node/Change-Logs.html).
- [ ] The change doesn't break `guix pull` (`guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master --disable-authentication`).
- Successfully cross-compiled to the following target(s) (this is optional):
- [ ] x86_64-linux-gnu
+1 -9
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
@@ -480,15 +481,6 @@ tests/import/texlive\.scm @guix/tex
etc/news\.scm @guix/translations
po/ @guix/translations
gnu/packages/version-control\.scm @guix/vcs
gnu/services/version-control\.scm @guix/vcs
gnu/tests/version-control\.scm @guix/vcs
guix/build/bzr\.scm @guix/vcs
guix/build/cvs\.scm @guix/vcs
guix/build/git\.scm @guix/vcs
guix/build/hg\.scm @guix/vcs
guix/build/svn\.scm @guix/vcs
gnu/packages/xfce\.scm @guix/xfce
gnu/packages/zig\.scm @guix/zig
+107 -93
View File
@@ -25,6 +25,7 @@ choice.
* Running the Test Suite:: Testing Guix.
* Running Guix Before It Is Installed:: Hacker tricks.
* The Perfect Setup:: The right tools.
* Alternative Setups:: Other possible tools that do the job.
* Source Tree Structure:: Source code guided tour.
* Packaging Guidelines:: Growing the distribution.
* Coding Style:: Hygiene of the contributor.
@@ -66,7 +67,7 @@ GNU Guix depends on the following packages:
@itemize
@item @url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x,
version 3.0.9 or later;
@item @url{https://codeberg.org/guile-gcrypt/guile-gcrypt, Guile-Gcrypt}, version
@item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version
0.1.0 or later;
@item
@uref{https://gitlab.com/gnutls/guile/, Guile-GnuTLS} (@pxref{Guile
@@ -75,11 +76,11 @@ gnutls-guile, GnuTLS-Guile})@footnote{The Guile bindings to
@uref{https://gnutls.org/, GnuTLS} were distributed as part of GnuTLS
until version 3.7.8 included.};
@item
@uref{https://codeberg.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0
@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0
or later;
@item @uref{https://codeberg.org/guile-compression/guile-zlib, Guile-zlib},
@item @uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib},
version 0.1.0 or later;
@item @uref{https://codeberg.org/guile-compression/guile-lzlib, Guile-lzlib};
@item @uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};
@item @uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};
@item
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.10.0
@@ -101,7 +102,7 @@ Support for build offloading (@pxref{Daemon Offload Setup}) and
version 0.13.0 or later.
@item
@uref{https://codeberg.org/guile-compression/guile-zstd, Guile-zstd}, for zstd
@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd}, for zstd
compression and decompression in @command{guix publish} and for
substitutes (@pxref{Invoking guix publish}).
@@ -535,64 +536,14 @@ to build again each time you update a package file, run
@node The Perfect Setup
@section The Perfect Setup
@cindex editor setup, for Scheme
@cindex Scheme code editing
All configuration and development in Guix is done in the Scheme
language. Like all languages of the Lisp family, Scheme has a simple
syntax. The perfect setup is one where the editor you choose makes
working with that syntax seamless and pleasant; for that it must
absolutely support a few things for Scheme:
@itemize
@item
automatic indentation, such that hitting the ``Enter'' key (or
@kbd{RET}) places cursor ``at the right place'' on the next line;
@item
``parentheses matching'', allowing you to jump from a closing
parenthesis to the corresponding opening parenthesis and vice-versa;
@item
syntax highlighting, so that keywords are visually distinguishable.
@end itemize
The following optional features can make your life easier:
@itemize
@item
structural editing of Scheme syntax;
@item
Guile integration so you can easily evaluate code, jump to procedure
definitions, view documentation, and so on.
@end itemize
The following sections look at editor setups that are known to work
well. Do share your setup for these and other editors for inclusion in
this manual! @xref{Submitting Patches}.
@menu
* Emacs:: Best-of-breed editor for Scheme code.
* Guile Studio:: First step in your transition to Emacs.
* Vim and NeoVim:: Classical Unix editors.
@end menu
@node Emacs
@subsection Emacs
@url{https://www.gnu.org/software/emacs, Emacs} is probably the most
widely used editor in the community; it is also the one that,
historically, has always had excellent support for Lisp languages, being
itself a Lisp implementation!
@quotation Note
If you are just getting started with Emacs, @pxref{Guile Studio} for a
smooth way to start your transition.
@end quotation
Just like for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile
Reference Manual}), Emacs works best when empowered by the wonderful
@url{https://nongnu.org/geiser/, Geiser}. To set that up, run:
The Perfect Setup to hack on Guix is basically the perfect setup used
for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference
Manual}). First, you need more than an editor, you need
@url{https://www.gnu.org/software/emacs, Emacs}, empowered by the
wonderful @url{https://nongnu.org/geiser/, Geiser}. To set that up, run:
@example
guix install emacs guile emacs-geiser emacs-geiser-guile emacs-guix
guix install emacs guile emacs-geiser emacs-geiser-guile
@end example
Geiser allows for interactive and incremental development from within
@@ -611,15 +562,6 @@ facilities to directly operate on the syntax tree, such as raising an
s-expression or wrapping it, swallowing or rejecting the following
s-expression, etc.
Cherry on the cake: the Emacs-Guix package provides a convenient
interface to many commands---e.g., it lets you browse packages, install
or remove packages, and so on---as well as development helpers that
enhance @code{scheme-mode} and Geiser. @xref{Introduction,,,
emacs-guix, Emacs-Guix Reference Manual}, to make sure you don't miss
out!
@unnumberedsubsubsec Taming Boilerplate with Templates
@cindex code snippets
@cindex templates
@cindex reducing boilerplate
@@ -659,8 +601,6 @@ trigger string @code{origin...}, which can be expanded further. The
@code{origin} snippet in turn may insert other trigger strings ending on
@code{...}, which also can be expanded further.
@unnumberedsubsubsec Updating Copyright Lines
@cindex insert or update copyright
@cindex @code{M-x guix-copyright}
@cindex @code{M-x copyright-update}
@@ -689,30 +629,104 @@ copyright-update}. If you want to do it automatically after each buffer
save then add @code{(add-hook 'after-save-hook 'copyright-update)} in
Emacs.
@unnumberedsubsubsec Referencing Bug Reports
@node Viewing Bugs within Emacs
@subsection Viewing Bugs within Emacs
@cindex bug references, Emacs
Emacs has a nice minor mode called @code{bug-reference}, which can be
used to follow link to issues and pull requests such as @samp{#1234} or
@samp{guix/guix#1234} (@pxref{Bug Reference,,, emacs, The GNU Emacs
Manual}). To set it up, enable it in the relevant modes:
Emacs has a nice minor mode called @code{bug-reference}, which, when
combined with @samp{emacs-debbugs} (the Emacs package), can be used to
open links such as @samp{<https://bugs.gnu.org/58697>} or
@samp{<https://issues.guix.gnu.org/58697>} as bug report buffers. From
there you can easily consult the email thread via the Gnus interface,
reply or modify the bug status, all without leaving the comfort of
Emacs! Below is a sample configuration to add to your @file{~/.emacs}
configuration file:
@lisp
;;; Bug references.
(require 'bug-reference)
(add-hook 'prog-mode-hook #'bug-reference-prog-mode)
(add-hook 'gnus-mode-hook #'bug-reference-mode)
(add-hook 'erc-mode-hook #'bug-reference-mode)
;; Add extra hooks for your mail user agent: Gnus, mu4e, etc.
(add-hook 'gnus-summary-mode-hook #'bug-reference-mode)
(add-hook 'gnus-article-mode-hook #'bug-reference-mode)
;;; This extends the default expression (the top-most, first expression
;;; provided to 'or') to also match URLs such as
;;; <https://issues.guix.gnu.org/58697> or <https://bugs.gnu.org/58697>.
;;; It is also extended to detect "Fixes: #NNNNN" git trailers.
(setq bug-reference-bug-regexp
(rx (group (or (seq word-boundary
(or (seq (char "Bb") "ug"
(zero-or-one " ")
(zero-or-one "#"))
(seq (char "Pp") "atch"
(zero-or-one " ")
"#")
(seq (char "Ff") "ixes"
(zero-or-one ":")
(zero-or-one " ") "#")
(seq "RFE"
(zero-or-one " ") "#")
(seq "PR "
(one-or-more (char "a-z+-")) "/"))
(group (one-or-more (char "0-9"))
(zero-or-one
(seq "#" (one-or-more
(char "0-9"))))))
(seq (? "<") "https://bugs.gnu.org/"
(group-n 2 (one-or-more (char "0-9")))
(? ">"))
(seq (? "<") "https://issues.guix.gnu.org/"
(? "issue/")
(group-n 2 (one-or-more (char "0-9")))
(? ">"))))))
(setq bug-reference-url-format "https://issues.guix.gnu.org/%s")
(require 'debbugs)
(require 'debbugs-browse)
(add-hook 'bug-reference-mode-hook #'debbugs-browse-mode)
(add-hook 'bug-reference-prog-mode-hook #'debbugs-browse-mode)
;; The following allows Emacs Debbugs user to open the issue directly within
;; Emacs.
(setq debbugs-browse-url-regexp
(rx line-start
"http" (zero-or-one "s") "://"
(or "debbugs" "issues.guix" "bugs")
".gnu.org" (one-or-more "/")
(group (zero-or-one "cgi/bugreport.cgi?bug="))
(group-n 3 (one-or-more digit))
line-end))
;; Change the default when run as 'M-x debbugs-gnu'.
(setq debbugs-gnu-default-packages '("guix" "guix-patches"))
;; Show feature requests.
(setq debbugs-gnu-default-severities
'("serious" "important" "normal" "minor" "wishlist"))
@end lisp
When working from a Git checkout of Guix, setup is automatic:
@code{bug-reference} automatically detects that the project is hosted on
Codeberg@footnote{
@c 'vc-git-repository-url' is used by
@c 'bug-reference-setup-from-vc-alist', which checks for one of these
@c names for the remote.
As of Emacs@tie{}30.2, auto-detection works if and
only if the Git remote is called @code{upstream} or @code{origin}.} and
infers the issue and pull request URL from there.
For more information, refer to @ref{Bug Reference,,, emacs, The GNU
Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User
Guide}.
@node Alternative Setups
@section Alternative Setups
Alternative setups than Emacs may let you work on Guix with a
similar development experience and they might work better with the
tools you currently use or help you make the transition to Emacs.
The options listed below only provide the alternatives to the Emacs
based setup, which is the most widely used in the Guix community. If
you want to really understand how the perfect setup for Guix development
is supposed to work, we encourage you to read the section before this
regardless of the editor you choose to use.
@menu
* Guile Studio:: First step in your transition to Emacs.
* Vim and NeoVim:: When you are evil to the root.
@end menu
@node Guile Studio
@subsection Guile Studio
@@ -730,9 +744,9 @@ Guile Studio comes with Geiser preinstalled and prepared for action.
@node Vim and NeoVim
@subsection Vim and NeoVim
@cindex Vim, for Scheme code editing
Vim (and NeoVim) are also packaged in Guix, in case these popular modal
editors are more to your taste.
Vim (and NeoVim) are also packaged in Guix, just in case you decided
to go for the evil path.
@example
guix install vim
@@ -2496,8 +2510,8 @@ For example, to list all open issues on @code{guix-patches}, hit:
For a more convenient (shorter) way to access both the bugs and patches
submissions, you may want to configure the
@code{debbugs-gnu-default-packages} and
@code{debbugs-gnu-default-severities} Emacs variables (@pxref{Minor
Mode,,, debbugs-ug, The Debbugs User Guide}).
@code{debbugs-gnu-default-severities} Emacs variables (@pxref{Viewing
Bugs within Emacs}).
To search for bugs, @samp{@kbd{M-x} debbugs-gnu-guix-search} can be
used.
-3
View File
@@ -523,9 +523,6 @@ info sicp
You'll find more books, tutorials and other resources at
@url{https://schemers.org/}.
@xref{The Perfect Setup,,, guix, GNU Guix Reference Manual}, on how to
set up your editor for Scheme hacking.
@end quotation
-6
View File
@@ -8048,9 +8048,6 @@ Intimidated by the Scheme language or curious about it? The Cookbook
has a short section to get started that recaps some of the things shown
above and explains the fundamentals. @xref{A Scheme Crash Course,,,
guix-cookbook, GNU Guix Cookbook}, for more information.
@xref{The Perfect Setup}, on how to set up your editor for Scheme
hacking.
@end quotation
Once a package definition is in place, the
@@ -18037,9 +18034,6 @@ misplaced parentheses can often be identified by reformatting your file:
guix style -f config.scm
@end example
@xref{The Perfect Setup}, on how to set up your editor for Scheme
hacking.
The Cookbook has a short section to get started with the Scheme
programming language that explains the fundamentals, which you will find
helpful when hacking your configuration. @xref{A Scheme Crash Course,,,
-9
View File
@@ -47,7 +47,6 @@
(title
(en "GNOME 48 is now available")
(fr "GNOME 48 maintenant disponible")
(pt "GNOME 48 já está disponível")
(de "GNOME 48 jetzt verfügbar"))
(body
(en "The GNOME desktop was updated from version 46 to 48, bringing
@@ -66,14 +65,6 @@ 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")
(pt "GNOME desktop foi atualizado da versão 46 para a 48, trazendo
cores acentuadas, um aplicativo de arquivos (Nautilus) melhorado, um novo
visualizador de imagens (Loupe), e mais:
@itemize
@item @url{https://release.gnome.org/47/, Notas de lançamento do GNOME 47}
@item @url{https://release.gnome.org/48/, Notas de lançamento do GNOME 48}
@end itemize")
(de "Die GNOME-Desktopumgebung wurde von Version 46 auf 48
aktualisiert. Neue Funktionen in dieser Version sind die Möglichkeit, eine
+1 -1
View File
@@ -33,7 +33,7 @@
"node-build-system"
"ocaml-build-system"
"perl-build-system"
"pyproject-build-system"
"python-build-system"
"qt-build-system"
"r-build-system"
"rakudo-build-system"
+2 -25
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"
@@ -1197,20 +1198,6 @@ the \"texlive\" importer."
#:scope (list "etc/news.scm"
(make-regexp* "^po/"))))
(define-team vcs
(team 'vcs
#:name "Version control team"
#:description
"Version control packages, services, and Guix download backends."
#:scope (list "gnu/packages/version-control.scm"
"gnu/services/version-control.scm"
"gnu/tests/version-control.scm"
"guix/build/bzr.scm"
"guix/build/cvs.scm"
"guix/build/git.scm"
"guix/build/hg.scm"
"guix/build/svn.scm")))
(define-team xfce
(team 'xfce
#:name "Xfce team"
@@ -1545,7 +1532,7 @@ the \"texlive\" importer."
(define-member (person "Nguyễn Gia Phong"
"cnx@loang.net"
"cnx")
build-tools python qa-packages sysadmin vcs)
build-tools python qa-packages sysadmin)
(define-member (person "Lilah Tascheter"
"lilah@lunabee.space"
@@ -1617,16 +1604,6 @@ the \"texlive\" importer."
"folaht")
documentation)
(define-member (person "Thanos Apollo"
"public@thanosapollo.org"
"thanosapollo")
vcs)
(define-member (person "Ashish SHUKLA"
"ashish.is@lostca.se"
"group")
vcs)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
+7 -3
View File
@@ -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.
#
@@ -213,7 +214,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/connman.scm \
%D%/packages/containers.scm \
%D%/packages/convmv.scm \
%D%/packages/codex.scm \
%D%/packages/coq.scm \
%D%/packages/cpio.scm \
%D%/packages/cpp.scm \
@@ -314,6 +314,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gd.scm \
%D%/packages/gdb.scm \
%D%/packages/genealogy.scm \
%D%/packages/genimage.scm \
%D%/packages/geo.scm \
%D%/packages/gettext.scm \
%D%/packages/ghostscript.scm \
@@ -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 \
@@ -1229,7 +1231,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
%D%/packages/patches/elm-offline-package-registry.patch \
%D%/packages/patches/elm-reactor-static-files.patch \
%D%/packages/patches/emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch \
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
%D%/packages/patches/emacs-disable-jit-compilation.patch \
%D%/packages/patches/emacs-doc-toc-shell-commands.patch \
@@ -1431,6 +1432,7 @@ dist_patch_DATA = \
%D%/packages/patches/gemmi-fix-pegtl-usage.patch \
%D%/packages/patches/gemmi-fix-sajson-types.patch \
%D%/packages/patches/gemrb-remove-ifdef-and-externalize-path-setting-to-cmake.patch \
%D%/packages/patches/genimage-mke2fs-test.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/gettext-libunicode-update.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
@@ -1608,7 +1610,6 @@ dist_patch_DATA = \
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
%D%/packages/patches/hurd-startup.patch \
%D%/packages/patches/hwloc-1-test-btrfs.patch \
%D%/packages/patches/hwloc-add-with-opencl.patch \
%D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \
%D%/packages/patches/i7z-gcc-10.patch \
%D%/packages/patches/icecat-adjust-mozilla-desktop.patch \
@@ -2379,7 +2380,10 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.70-fix-rustix-build.patch \
%D%/packages/patches/rust-1.78-unwinding-fix.patch \
%D%/packages/patches/rust-1.81-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-codex-0.98.0-arg0-file-lock.patch \
%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 \
+2 -9
View File
@@ -3835,15 +3835,8 @@ platform-specific methods.")
"0y5w8pl91xapi49ih1pw7h48lac201cj7fm89hkklmzi9m2715gx"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
#~(list #$@(cond ((target-aarch64?)
'("--with-aarch64"))
((target-arm32?)
'("--with-arm"))
(else
'()))
"--with-python=no"
"--disable-static")))
`(#:configure-flags (list "--with-python=no"
"--disable-static")))
(inputs
(list openldap gnutls cyrus-sasl))
(synopsis "User-space component to the Linux auditing system")
+1 -1
View File
@@ -11807,7 +11807,7 @@ objects.")
(build-system gnu-build-system)
(arguments
(list #:configure-flags
#~(list "CFLAGS=-O2 -g -fcommon")))
#~(list "CFLAGS=-fcommon")))
(inputs
(list libtiff zlib libjpeg-turbo))
(home-page "https://www.astromatic.net/software/stiff/")
-411
View File
@@ -1,411 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2026 Danny Milosavljevic <dannym@friendly-machines.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This module is separate from (gnu packages rust-apps) to avoid a
;;; circular module dependency: (gnu packages rust-sources), which
;;; defines rust-codex-0.98.0, transitively loads (gnu packages
;;; rust-apps) through its #:use-module chain. If the codex package
;;; lived in rust-apps.scm, loading rust-sources would trigger loading
;;; rust-apps before rust-codex-0.98.0 is defined, causing an unbound
;;; variable error.
(define-module (gnu packages codex)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cargo)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages base)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages llvm)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages rust-sources)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control))
(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
"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" "network-proxy"
"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"
"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 clang ;bindgen uses libclang to parse BoringSSL's C headers
cmake-minimal ;BoringSSL is compiled from C source
libunwind ;BoringSSL tests verify stack unwinding in assembly
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")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zed-industries/codex-acp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "190sq6s6jfz8dkj1y8305r7x6ln86qqr2j1bnfjci7f1x2wyzmsj"))
(patches (search-patches "codex-acp-0.9.2-remove-patch-sections.patch"
"codex-acp-0.9.2-replace-result-flatten.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-codex-deps
(lambda _
;; Rewrite git dependencies to use vendored sources from rust-codex
(substitute* "Cargo.toml"
(("git = \"https://github.com/zed-industries/codex\", branch = \"acp\"")
"version = \"0.0.0\"")))))))
(native-inputs (list pkg-config))
(inputs (cons* openssl sqlite `(,zstd "lib") (cargo-inputs 'codex-acp)))
(home-page "https://github.com/zed-industries/codex-acp")
(synopsis "ACP-compatible agent bridging Zed Codex with ACP clients")
(description
"This package provides an Agent Client Protocol (ACP) compatible agent
that bridges the Zed Codex runtime with ACP clients over stdio. It
supports multiple LLM providers through configuration in
@file{~/.codex/config.toml} and integrates with MCP servers for filesystem
operations.")
(license license:asl2.0)))
+19 -32
View File
@@ -5,7 +5,7 @@
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2023 Zongyuan Li <zongyuan.li@c0x0o.me>
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2024, 2025, 2026 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024, 2025 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
@@ -197,55 +197,42 @@ Container Runtime fully written in C.")
(define-public conmon
(package
(name "conmon")
(version "2.2.1")
(version "2.1.13")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/conmon")
(commit (string-append "v" version))))
(url "https://github.com/containers/conmon")
(commit (string-append "v" version))))
(sha256
(base32 "0n9l6030ibhk7pmsq85rarcf9b0kzglxibd1xnb6vzmkz3ywg1il"))
(base32 "0fiixv9h5dycrixs7s3bq81d06p7qs8491mskxj42wqlkdq5diay"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
;; XXX: uses `go get` to download 50 packages, runs a ginkgo test suite
;; then tries to download busybox and use a systemd logging library
;; see also https://github.com/containers/conmon/blob/main/nix/derivation.nix
#:tests? #f
#:test-target "test"
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-before 'check 'prepare-tests
(lambda* (#:key inputs #:allow-other-keys)
(setenv "RUNTIME_BINARY"
(search-input-file inputs "sbin/runc"))
;; We need to skip all tests requiring journald.
(for-each
(lambda (test file)
(substitute* file
(((string-append "@test \"" test "\" \\{\n$") all)
(string-append all "skip 'no journald in Guix';"))))
'("log driver as journald should pass"
"log driver as journald with short cid should fail"
"multiple log drivers should pass"
"log management: should work with multiple log drivers")
'("test/01-basic.bats"
"test/01-basic.bats"
"test/01-basic.bats"
"test/06-log-management.bats")))))))
(add-after 'unpack 'set-env
(lambda _
;; when running go, things fail because
;; HOME=/homeless-shelter.
(setenv "HOME" "/tmp"))))))
(inputs
(list crun
glib
libseccomp))
(native-inputs
(list bats
git
go-md2man
pkg-config
socat
runc))
(list git
go
pkg-config))
(home-page "https://github.com/containers/conmon")
(synopsis "Monitoring tool for Open Container Initiative (OCI) runtime")
(description
@@ -885,7 +872,7 @@ being rootless and not requiring any daemon to be running.")
(define-public buildah
(package
(name "buildah")
(version "1.43.0")
(version "1.42.1")
(source
(origin
(method git-fetch)
@@ -893,7 +880,7 @@ being rootless and not requiring any daemon to be running.")
(url "https://github.com/containers/buildah")
(commit (string-append "v" version))))
(sha256
(base32 "0pwdd0mxhxy530c2sbsz0rnnb1jyl41rvnqn9ywfgb6lz5f4ja2a"))
(base32 "1agblw09yw4pc81c2nsjy3j83gznn4micyjyrgpqxlmp93w5w5h0"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
-7
View File
@@ -450,13 +450,6 @@ integration tests...\n")
"dmd/compiler/test/fail_compilation/sarif_test.d"
"dmd/compiler/test/fail_compilation/sarifmultiple_test.d"))
;; tries to debug 64bit executable
;; not in executable format: file format not recognized
#$@(if (target-32bit?)
'((delete-file
"dmd/compiler/test/runnable/gdb_slice_debuginfo_64.d"))
'())
;; Locations in stack traces are broken for some reason,
;; causing these tests to fail.
;; XXX: Report upstream.
+3 -247
View File
@@ -14,7 +14,7 @@
;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
;;; Copyright © 2020-2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021, 2022, 2023, 2024, 2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Andrew Miloradovsky <andrew@interpretmath.pw>
;;; Copyright © 2022 Christian Gelinek <cgelinek@radlogic.com.au>
;;; Copyright © 2022 jgart <jgart@dismail.de>
@@ -29,7 +29,6 @@
;;; Copyright © 2025, 2026 Gabriel Wicki <gabriel@erlikon.ch>
;;; Copyright © 2026 Thomas Kramer <thomas@f-si.org>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,7 +64,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
@@ -95,9 +93,7 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages graph)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
#:use-module (gnu packages libedit)
@@ -113,8 +109,6 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages networking)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
@@ -354,44 +348,6 @@ supporting gerber, excellon and g-code. It is part of the RiNgDove EDA
suite.")
(license license:gpl2+)))
(define-public charlib
(package
(name "charlib")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stineje/CharLib")
(commit version)))
(sha256
(base32 "0phklm6wcpvwdfx00k0q8qvpvdqf6wjvzirkfji7vc7ils7wz2sl"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(inputs
(list ngspice
pyspice
python-liberty-parser
python-matplotlib
python-numpy
python-ply
python-pyyaml
python-requests
python-schema
python-scipy
python-tqdm))
(native-inputs
(list python-poetry-core
python-pytest
python-setuptools))
(home-page "https://stineje.github.io/CharLib")
(synopsis "CMOS standard-cell characterization")
(description
"@code{Charlib} is an @acronym{EDA, Electronic Design Automation} tool used to
extract timing and power characteristics from CMOS combinational and sequential
standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
(license license:gpl2)))
(define-public ciel
(package
(name "ciel")
@@ -734,57 +690,6 @@ Simulator Trace} files.")
;; Exception against free government use in tcl_np.c and tcl_np.h.
(license (list license:gpl2+ license:expat license:tcl/tk)))))
(define-public horizon-eda
(package
(name "horizon-eda")
(version "2.7.2")
;; TODO: try to unbundle some of the 3rd parties.
;; We have packages for nlohmann-json, range-v3, catch2 and clipper.
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/horizon-eda/horizon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "16q22yf407820430cva8i2b3dcmwpjdsbx0wlarj8v2mj5ixs932"))))
(build-system meson-build-system)
(arguments
(list
#:tests? #f ; no tests
#:glib-or-gtk? #t))
(native-inputs (list cmake-minimal ;; OpenCASCADE is only found by cmake
`(,glib "bin")
gobject-introspection
pkg-config))
(inputs (list boost
cairomm
cppzmq
curl
glib
glibmm
glm
gsettings-desktop-schemas
gtk+
gtkmm-3
libarchive
libgit2-glib
librsvg
libspnav
libzip
opencascade-occt
podofo
sqlite
`(,util-linux "lib")
zeromq))
(home-page "https://horizon-eda.org/")
(synopsis "@acronym{PCB, Printed Circuit Board} design tool")
(description "Horizon is an @acronym{EDA, Electronic Design Automation}
package supporting an integrated end-to-end workflow for PCB design, including
from parts management and schematic entry to gerber export.")
(license license:gpl3+)))
(define-public iverilog
(package
(name "iverilog")
@@ -1057,155 +962,6 @@ It simulates the netlists of the cells with ngspice and writes the
characterization result in a liberty library file.")
(license license:agpl3+)))
(define-public lepton-eda
(package
(name "lepton-eda")
(version "1.9.18-20220529")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lepton-eda/lepton-eda/")
(commit version)))
(sha256
(base32
"06plrcab3s2rpyf0qv2gzc1yp33627xi8105niasgixckk6glnc2"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list
;; When running "make", the POT files are built with the build time as
;; their "POT-Creation-Date". Later on, "make" notices that .pot
;; files were updated and goes on to run "msgmerge"; as a result, the
;; non-deterministic POT-Creation-Date finds its way into .po files,
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
;; never runs. See <https://bugs.debian.org/792687>.
"ac_cv_path_MSGMERGE=true"
(string-append "--with-pcb-datadir="
#$(this-package-input "pcb")
"/share")
(string-append "--with-pcb-lib-path="
#$(this-package-input "pcb")
"/share/pcb/pcblib-newlib:"
#$(this-package-input "pcb")
"/share/pcb/newlib")
"--with-gtk3"
"CFLAGS=-fcommon"
"--enable-guild"
"--enable-contrib")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; For logs and auto-compilation
(setenv "HOME" "/tmp")
;; Ensure that readline is found by lepton-shell
(substitute* "script.in"
(("\\(eval-when \\(expand load eval\\)" m)
(string-append "
(add-to-load-path \"" #$(this-package-input "guile-readline")
"/share/guile/site/3.0\")
(set! %load-compiled-path (cons \""
#$(this-package-input "guile-readline")
"/lib/guile/3.0/site-ccache/"
"\" %load-compiled-path))
" m)))))
(add-before 'build 'fix-dynamic-link
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "liblepton/scheme/lepton/ffi/lib.scm"
(("\"liblepton\"")
(string-append "\"" #$output "/lib/liblepton.so" "\""))
(("\"libleptonattrib\"")
(string-append "\"" #$output "/lib/libleptonattrib.so" "\""))
(("\"libleptongui\"")
(string-append "\"" #$output "/lib/libleptongui.so" "\""))
(("\"libglib-2.0\"")
(string-append
"\"" (search-input-file inputs "/lib/libglib-2.0.so") "\""))
(("\"libgobject-2.0\"")
(string-append
"\"" (search-input-file inputs "/lib/libgobject-2.0.so") "\""))
(("\"libgtk-3\"")
(string-append
"\"" (search-input-file inputs "/lib/libgtk-3.so") "\"")))
;; For finding libraries when running tests before installation.
(setenv "LIBLEPTONGUI"
(string-append (getcwd)
"/libleptongui/src/.libs/libleptongui.so"))
(setenv "LIBLEPTON"
(string-append (getcwd)
"/libleptongui/src/.libs/liblepton.so"))
(setenv "LD_LIBRARY_PATH"
(string-append (getcwd)
"/libleptonattrib/src/.libs/:"
(getenv "LIBRARY_PATH")))))
(add-before 'bootstrap 'prepare
(lambda _
;; Some of the scripts there are invoked by autogen.sh.
(for-each patch-shebang
(find-files "build-tools"))
;; Make sure 'msgmerge' can modify the PO files.
(for-each (lambda (po)
(chmod po #o666))
(find-files "." "\\.po$"))
;; This would normally be created by invoking 'git', but it
;; doesn't work here.
(call-with-output-file "version.h"
(lambda (port)
(format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
#$(string-drop version
(+ 1
(string-index version #\-))))
(format port
"#define PACKAGE_DOTTED_VERSION \"~a\"~%"
#$(string-take version
(string-index version #\-)))
(format port
"#define PACKAGE_GIT_COMMIT \"cabbag3\"~%")))))
(add-after 'install 'compile-scheme-files
(lambda _
(unsetenv "LIBLEPTONGUI")
(unsetenv "LIBLEPTON")
(unsetenv "LD_LIBRARY_PATH")
(invoke "make" "precompile"))))))
(native-inputs
(list autoconf
automake
desktop-file-utils
flex
gettext-minimal
groff
gawk
libtool
pkg-config
m4
perl
texinfo))
(inputs
(list glib
gtk+
gtksheet
guile-3.0
guile-readline
pcb
shared-mime-info))
(home-page "https://lepton-eda.github.io/")
(synopsis
"Suite of tools for designing @acronym{PCB, Printed Circuit Boards}")
(description
"Lepton is an @acronym{EDA, Electronic Design Automation} tool set
forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit
design, schematic capture, simulation, prototyping, and production. Lepton
EDA includes tools for schematic capture, attribute management, bill of
materials (BOM) generation, netlisting into over 20 netlist formats, analog
and digital simulation, and PCB layout, and many other features.")
(license license:gpl2+)))
(define-public libngspice
;; Note: The ngspice's build system does not allow us to build both the
;; library and the executables in one go. Thus, we have two packages.
@@ -3186,7 +2942,7 @@ testing to @code{cocotb}, removing the need of manipulating Makefiles.")
(define-public python-cocotbext-axi
(package
(name "python-cocotbext-axi")
(version "0.1.28")
(version "0.1.26")
(source
(origin
(method git-fetch)
@@ -3195,7 +2951,7 @@ testing to @code{cocotb}, removing the need of manipulating Makefiles.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0kwdzz0mq134m0kxhwwj0d1nr1cbrzv36844476knna34xi2riyg"))))
(base32 "0xgfvvpff9r7g7fiswv1m0dklyw6c8v2r3qpd6qq3rzvnvrhsrin"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-cocotb python-cocotb-bus))
+1 -3
View File
@@ -72,9 +72,7 @@ as bold, underscore or italic.")
(file-name (git-file-name name version))
(sha256
(base32
"09n8skr5wi8bs7x81d5bi6z89dd8s1zi9a5f4r2qadaz69slncxq"))
(patches
(search-patches "emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch"))))
"09n8skr5wi8bs7x81d5bi6z89dd8s1zi9a5f4r2qadaz69slncxq"))))
(build-system emacs-build-system)
(arguments
(list
+95 -124
View File
@@ -4918,79 +4918,77 @@ or unexpected behavior inside an elisp configuration file (typically
(define-public emacs-w3m
;; Emacs-w3m follows a "rolling release" model.
(let ((commit "ec18c21418bf7c1be159bd3cf7e79a370d4be1f3")
(revision "0"))
(package
(name "emacs-w3m")
(version (git-version "20251229" revision commit)) ;commit date
(source (origin
;; "Officially" this is still on cvs.namazu.org, but that repo
;; seems to be unreachable.
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-w3m/emacs-w3m.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"00rkvr6cpisma5r6g88bq0im7qh9l30fy8r4g4wgs1k53lai7k68"))))
(build-system gnu-build-system)
(native-inputs (list autoconf texinfo emacs-minimal))
(inputs (list w3m imagemagick))
(arguments
(list
#:modules '((guix build gnu-build-system)
((guix build emacs-build-system) #:prefix emacs:)
(guix build utils)
(guix build emacs-utils))
#:imported-modules `(,@%default-gnu-imported-modules
(guix build emacs-build-system)
(guix build emacs-utils))
#:configure-flags
#~(list (string-append "--with-lispdir=" (emacs:elpa-directory #$output))
(string-append "--with-icondir="
#$output "/share/images/emacs-w3m")
;; Leave .el files uncompressed, otherwise GC can't
;; identify run-time dependencies. See
;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
"--without-compress-install")
#:tests? #f ; no check target
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(invoke "autoconf")))
(add-before 'configure 'support-emacs!
(lambda _
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
;; unsupported.
(substitute* "configure"
(("EMACS_FLAVOR=unsupported") "EMACS_FLAVOR=emacs"))))
(add-before 'build 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "w3m.el")
(emacs-substitute-variables "w3m.el"
("w3m-command" (search-input-file inputs "/bin/w3m"))
("w3m-touch-command" (search-input-file inputs "/bin/touch"))
("w3m-icon-directory"
(string-append #$output "/share/images/emacs-w3m")))
(make-file-writable "w3m-image.el")
(emacs-substitute-variables "w3m-image.el"
("w3m-imagick-convert-program"
(search-input-file inputs "/bin/convert"))
("w3m-imagick-identify-program"
(search-input-file inputs "/bin/identify")))))
(replace 'install
(lambda _
(invoke "make" "install" "install-icons")
(with-directory-excursion (emacs:elpa-directory #$output)
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
(symlink "w3m-load.el" "w3m-autoloads.el")))))))
(home-page "http://emacs-w3m.namazu.org/")
(synopsis "Simple Web browser for Emacs based on w3m")
(description
"Emacs-w3m is an emacs interface for the w3m web browser.")
(license license:gpl2+))))
(package
(name "emacs-w3m")
(version "20220508.2259")
(source (origin
;; "Officially" this is still on cvs.namazu.org, but that repo
;; seems to be unreachable.
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-w3m/emacs-w3m.git")
(commit "bbcebbe20ebfa807a3e4beaadf40ce6f4be213e7")))
(file-name (git-file-name name version))
(sha256
(base32
"0y892n8jaxzyxi1fgyklc7zfh57ibp4yyywmif69dm28hykj6lmz"))))
(build-system gnu-build-system)
(native-inputs (list autoconf texinfo emacs-minimal))
(inputs (list w3m imagemagick))
(arguments
(list
#:modules '((guix build gnu-build-system)
((guix build emacs-build-system) #:prefix emacs:)
(guix build utils)
(guix build emacs-utils))
#:imported-modules `(,@%default-gnu-imported-modules
(guix build emacs-build-system)
(guix build emacs-utils))
#:configure-flags
#~(list (string-append "--with-lispdir=" (emacs:elpa-directory #$output))
(string-append "--with-icondir="
#$output "/share/images/emacs-w3m")
;; Leave .el files uncompressed, otherwise GC can't
;; identify run-time dependencies. See
;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
"--without-compress-install")
#:tests? #f ; no check target
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(invoke "autoconf")))
(add-before 'configure 'support-emacs!
(lambda _
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
;; unsupported.
(substitute* "configure"
(("EMACS_FLAVOR=unsupported") "EMACS_FLAVOR=emacs"))))
(add-before 'build 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "w3m.el")
(emacs-substitute-variables "w3m.el"
("w3m-command" (search-input-file inputs "/bin/w3m"))
("w3m-touch-command" (search-input-file inputs "/bin/touch"))
("w3m-icon-directory"
(string-append #$output "/share/images/emacs-w3m")))
(make-file-writable "w3m-image.el")
(emacs-substitute-variables "w3m-image.el"
("w3m-imagick-convert-program"
(search-input-file inputs "/bin/convert"))
("w3m-imagick-identify-program"
(search-input-file inputs "/bin/identify")))))
(replace 'install
(lambda _
(invoke "make" "install" "install-icons")
(with-directory-excursion (emacs:elpa-directory #$output)
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
(symlink "w3m-load.el" "w3m-autoloads.el")))))))
(home-page "http://emacs-w3m.namazu.org/")
(synopsis "Simple Web browser for Emacs based on w3m")
(description
"Emacs-w3m is an emacs interface for the w3m web browser.")
(license license:gpl2+)))
(define-public emacs-wget
(package
@@ -5397,16 +5395,16 @@ installed on your machine and launch it.")
(version "1.8.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://www.github.com/tonini/alchemist.el")
(commit (string-append "v" version))))
(method url-fetch)
(uri (string-append "https://stable.melpa.org/packages/"
"alchemist-" version ".tar"))
(sha256
(base32 "1cci0sq568ghx6x7my96m0iiwvqz2f4dh6k3gn3mmfyvi7bmrpww"))))
(base32 "0ygwf9d739zqc8dcckw0j0bqkipw7cmxbrx3l281x237a3d384yw"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-elixir-mode emacs-dash emacs-company emacs-pkg-info))
(arguments
(list
#:tests? #f ; TODO Tests are failing; investigate
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-server
@@ -5414,13 +5412,8 @@ installed on your machine and launch it.")
(let ((server (string-append (elpa-directory #$output)
"/alchemist-server")))
(mkdir-p server)
(delete-file-recursively "alchemist-server/test")
(copy-recursively "alchemist-server" server)))))))
(propagated-inputs
(list emacs-company
emacs-dash
emacs-elixir-mode
emacs-pkg-info))
(copy-recursively "alchemist-server" server)
(delete-file-recursively (string-append server "/test"))))))))
(home-page "https://www.github.com/tonini/alchemist.el")
(synopsis "Elixir tooling integration into Emacs")
(description
@@ -14444,7 +14437,7 @@ Features degrade gracefully when viewed from terminal.")
(define-public emacs-org-supertag
(package
(name "emacs-org-supertag")
(version "5.8.1")
(version "5.6.3")
(source
(origin
(method git-fetch)
@@ -14453,7 +14446,7 @@ Features degrade gracefully when viewed from terminal.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hdag8kxn2zxwac0fq14c741k4pwzkwvjh5ybwsqc7220vqzhmhm"))))
(base32 "0ccr3s4mhk28klizbsb7cqhgg2h3092mpg1qvnzpzf53hwlhds2p"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #f ;no tests
@@ -17984,16 +17977,12 @@ strings, and code folding.")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/redguardtoo/js-comint")
(commit version)))
(method url-fetch)
(uri (string-append "https://stable.melpa.org/packages/"
"js-comint-" version ".el"))
(sha256
(base32 "09wfafrklkybfg44skn1lg2hvcj4gfdv908dq87w1r4wv6ibkvka"))))
(base32 "1qin0hclm3ly62nl5ddiim64bcd2k74b1yqsqqc61cf9k2q8k287"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ; Tests depend on Eask
(home-page "https://github.com/redguardtoo/js-comint")
(synopsis "Interacting with a JavaScript interpreter")
(description
@@ -18168,7 +18157,7 @@ Emacs buffers.")
(define-public emacs-markdown-mode
(package
(name "emacs-markdown-mode")
(version "2.8")
(version "2.7")
(source
(origin
(method git-fetch)
@@ -18177,26 +18166,10 @@ Emacs buffers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05xcmp744sm1cp38zal5sqzj463igbsfhjn7vhgpzd97df95h9mp"))))
(base32 "1w6y18bg0fpvb5xwr827ynzbj0f0nh3dms3n0xq6hg38dcyly46b"))))
(build-system emacs-build-system)
(arguments
(list #:test-command #~(list "make" "test")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'skip-failing-tests
(lambda _
(let ((skip-tests
`("-export/buffer-local-css-path"
"-export/relative-css-path"
"-export/url-css-path"
"/wiki-link-rules"
"/wiki-link-search-under-project")))
(substitute* "tests/markdown-test.el"
(("\\(ert-deftest test-markdown([a-z/-]*) \\(\\)"
all test)
(if (member test skip-tests)
(string-append all "(skip-unless nil)")
all)))))))))
(arguments (list #:test-command #~(list "make" "test")
#:tests? #f)) ; XXX: 5 unexpected results
(home-page "https://jblevins.org/projects/markdown-mode/")
(synopsis "Emacs Major mode for Markdown files")
(description
@@ -39161,14 +39134,14 @@ user interfaces for various built-in modes.")
(define-public emacs-calibre
(package
(name "emacs-calibre")
(version "1.5.2")
(version "1.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/calibre-" version
".tar"))
(sha256
(base32 "0iqgd44wca54l5rn8g6c9qak2c1wblbnrx5a0118hkgckimp8c3k"))))
(base32 "08rcwrydrlc995sdxn5ssm5f6ighxi5yr6i7bx9a1nf7n91mgbgh"))))
(build-system emacs-build-system)
(arguments
(list
@@ -39453,13 +39426,11 @@ or regions to a REPL from ~a buffers.") language))))
(version "1.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/diadochos/org-babel-eval-in-repl")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "https://stable.melpa.org/packages/"
"org-babel-eval-in-repl-" version ".tar"))
(sha256
(base32 "1fjifl69qja3ab0g72f1hkfns992qq0v9pw8p4hgvjycx7fpzk0a"))
(base32 "0bdnps6m3kcvsagz8cfm3kf2rvxzl2p252pfggwbdbl43kzvl35h"))
(modules '((guix build utils)))
(snippet
#~(begin (delete-file "eval-in-repl-matlab.el")))))
+3 -4
View File
@@ -28,7 +28,6 @@
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
;;; Copyright © 2026 Nikita Alkhovik <forgoty13@gmail.com>
;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1166,7 +1165,7 @@ The following systems are supported:
(define-public sameboy
(package
(name "sameboy")
(version "1.0.3")
(version "1.0.2")
(source
(origin
(method git-fetch)
@@ -1175,12 +1174,12 @@ The following systems are supported:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "107k6lfh4y9q73azab0r7pb7hs8fwk46537pfc5liqp38blz6ij5"))))
(base32 "0pwnik37c3sgvib5xbadwbq2mjjvgxilhig09rjb3xp5i1d7ykja"))))
(build-system gnu-build-system)
(native-inputs
(list rgbds pkg-config))
(inputs
(list libpng sdl2))
(list sdl2))
(arguments
`(#:tests? #f ; There are no tests
#:make-flags `(,(string-append "CC=" ,(cc-for-target))
+213 -12
View File
@@ -358,6 +358,155 @@ tool to forward annotation from your schematic to layout using PCB; some minor
utilities.")
(license license:gpl2+)))
(define-public lepton-eda
(package
(name "lepton-eda")
(version "1.9.18-20220529")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lepton-eda/lepton-eda/")
(commit version)))
(sha256
(base32
"06plrcab3s2rpyf0qv2gzc1yp33627xi8105niasgixckk6glnc2"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list
;; When running "make", the POT files are built with the build time as
;; their "POT-Creation-Date". Later on, "make" notices that .pot
;; files were updated and goes on to run "msgmerge"; as a result, the
;; non-deterministic POT-Creation-Date finds its way into .po files,
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
;; never runs. See <https://bugs.debian.org/792687>.
"ac_cv_path_MSGMERGE=true"
(string-append "--with-pcb-datadir="
#$(this-package-input "pcb")
"/share")
(string-append "--with-pcb-lib-path="
#$(this-package-input "pcb")
"/share/pcb/pcblib-newlib:"
#$(this-package-input "pcb")
"/share/pcb/newlib")
"--with-gtk3"
"CFLAGS=-fcommon"
"--enable-guild"
"--enable-contrib")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; For logs and auto-compilation
(setenv "HOME" "/tmp")
;; Ensure that readline is found by lepton-shell
(substitute* "script.in"
(("\\(eval-when \\(expand load eval\\)" m)
(string-append "
(add-to-load-path \"" #$(this-package-input "guile-readline")
"/share/guile/site/3.0\")
(set! %load-compiled-path (cons \""
#$(this-package-input "guile-readline")
"/lib/guile/3.0/site-ccache/"
"\" %load-compiled-path))
" m)))))
(add-before 'build 'fix-dynamic-link
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "liblepton/scheme/lepton/ffi/lib.scm"
(("\"liblepton\"")
(string-append "\"" #$output "/lib/liblepton.so" "\""))
(("\"libleptonattrib\"")
(string-append "\"" #$output "/lib/libleptonattrib.so" "\""))
(("\"libleptongui\"")
(string-append "\"" #$output "/lib/libleptongui.so" "\""))
(("\"libglib-2.0\"")
(string-append
"\"" (search-input-file inputs "/lib/libglib-2.0.so") "\""))
(("\"libgobject-2.0\"")
(string-append
"\"" (search-input-file inputs "/lib/libgobject-2.0.so") "\""))
(("\"libgtk-3\"")
(string-append
"\"" (search-input-file inputs "/lib/libgtk-3.so") "\"")))
;; For finding libraries when running tests before installation.
(setenv "LIBLEPTONGUI"
(string-append (getcwd)
"/libleptongui/src/.libs/libleptongui.so"))
(setenv "LIBLEPTON"
(string-append (getcwd)
"/libleptongui/src/.libs/liblepton.so"))
(setenv "LD_LIBRARY_PATH"
(string-append (getcwd)
"/libleptonattrib/src/.libs/:"
(getenv "LIBRARY_PATH")))))
(add-before 'bootstrap 'prepare
(lambda _
;; Some of the scripts there are invoked by autogen.sh.
(for-each patch-shebang
(find-files "build-tools"))
;; Make sure 'msgmerge' can modify the PO files.
(for-each (lambda (po)
(chmod po #o666))
(find-files "." "\\.po$"))
;; This would normally be created by invoking 'git', but it
;; doesn't work here.
(call-with-output-file "version.h"
(lambda (port)
(format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
#$(string-drop version
(+ 1
(string-index version #\-))))
(format port
"#define PACKAGE_DOTTED_VERSION \"~a\"~%"
#$(string-take version
(string-index version #\-)))
(format port
"#define PACKAGE_GIT_COMMIT \"cabbag3\"~%")))))
(add-after 'install 'compile-scheme-files
(lambda _
(unsetenv "LIBLEPTONGUI")
(unsetenv "LIBLEPTON")
(unsetenv "LD_LIBRARY_PATH")
(invoke "make" "precompile"))))))
(native-inputs
(list autoconf
automake
desktop-file-utils
flex
gettext-minimal
groff
gawk
libtool
pkg-config
m4
perl
texinfo))
(inputs
(list glib
gtk+
gtksheet
guile-3.0
guile-readline
pcb
shared-mime-info))
(home-page "https://lepton-eda.github.io/")
(synopsis "GPL Electronic Design Automation")
(description
"Lepton EDA ia an @dfn{electronic design automation} (EDA) tool set
forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit
design, schematic capture, simulation, prototyping, and production. Lepton
EDA includes tools for schematic capture, attribute management, bill of
materials (BOM) generation, netlisting into over 20 netlist formats, analog
and digital simulation, and printed circuit board (PCB) layout, and many other
features.")
(license license:gpl2+)))
(define-public pcb
(package
(name "pcb")
@@ -1258,6 +1407,57 @@ in the context of per-cpu data. The library offers ABI headers to interface
with the kernel and various utilities such as per-cpu counters.")
(license (list license:lgpl2.1 license:expat)))))
(define-public horizon-eda
(package
(name "horizon-eda")
(version "2.7.0")
;; TODO: try to unbundle some of the 3rd parties.
;; We have packages for nlohmann-json, range-v3, catch2 and clipper.
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/horizon-eda/horizon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1sq1d2x9wq168cz91l2rd93gnlq5scknb45bi1njqqcw3jjjhsk3"))))
(build-system meson-build-system)
(arguments
(list
#:tests? #f ; no tests
#:glib-or-gtk? #t))
(native-inputs (list cmake-minimal ;; OpenCASCADE is only found by cmake
`(,glib "bin")
gobject-introspection
pkg-config))
(inputs (list boost
cairomm
cppzmq
curl
glib
glibmm
glm
gsettings-desktop-schemas
gtk+
gtkmm-3
libarchive
libgit2-glib
librsvg
libspnav
libzip
opencascade-occt
podofo
sqlite
`(,util-linux "lib")
zeromq))
(home-page "https://horizon-eda.org/")
(synopsis "Electronic Design Automation package")
(description "Horizon EDA is an Electronic Design Automation package
supporting an integrated end-to-end workflow for printed circuit board design
including parts management and schematic entry.")
(license license:gpl3+)))
(define-public linsmith
(package
(name "linsmith")
@@ -3056,27 +3256,28 @@ extension and customization.")
(define-public libmedfile
(package
(name "libmedfile")
(version "6.0.1")
(version "4.0.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://files.salome-platform.org/Salome/medfile/med-"
"https://files.salome-platform.org/Salome/other/med-"
version ".tar.gz"))
(sha256
(base32
"1a0zbdaj3s459s0cdayq4s3k3vbrfg7y32sf7s7qvi2bhz3fvwgq"))))
"017h9p0x533fm4gn6pwc8kmp72rvqmcn6vznx72nkkl2b05yjx54"))))
(build-system cmake-build-system)
(inputs (list hdf5 zlib))
(inputs (list hdf5-1.10))
(arguments
(list
#:parallel-tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'remove-test-output
(lambda _
(delete-file-recursively
(string-append #$output "/bin/testc")))))))
`(#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'install 'remove-test-output
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(delete-file-recursively
(string-append out "/bin/testc"))
#t))))))
(home-page "https://www.salome-platform.org")
(synopsis "Library to read and write MED files")
(description
+2 -5
View File
@@ -36,7 +36,6 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages rocm)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl))
@@ -224,16 +223,14 @@ testing InfiniBand networks.")
#$(this-package-input "rdma-core"))
(string-append "--with-rdmacm="
#$(this-package-input "rdma-core"))
(string-append "--with-rocm="
#$(this-package-input "rocr-runtime")))
#$(this-package-input "rdma-core")))
;; Be verbose so that compiler flags are displayed.
#:make-flags #~'("V=1")))
(native-inputs
(list autoconf automake libtool pkg-config))
(inputs
(list numactl rdma-core rocr-runtime))
(list numactl rdma-core))
(synopsis "Optimized communication layer for message passing in HPC")
(description
"Unified Communication X (UCX) provides an optimized communication layer
+4 -8
View File
@@ -1253,15 +1253,11 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
#~(modify-phases #$phases
(replace 'install
(lambda _
(let ((fmw (string-append #$output "/share/firmware"))
(build-dir "Build/ArmVirtQemu-AARCH64/RELEASE_GCC/FV"))
(let ((fmw (string-append #$output "/share/firmware")))
(mkdir-p fmw)
;; QEMU's virt machine requires 64 MiB pflash devices on
;; AArch64. Pad the firmware files to match.
(copy-file (string-append build-dir "/QEMU_EFI.fd")
(string-append fmw "/ovmf_aarch64.bin"))
(truncate-file (string-append fmw "/ovmf_aarch64.bin")
(* 64 1024 1024))))))))))))
(copy-file (string-append "Build/ArmVirtQemu-AARCH64/"
"RELEASE_GCC/FV/QEMU_EFI.fd")
(string-append fmw "/ovmf_aarch64.bin"))))))))))))
(define-public ovmf-arm
(let ((base (make-ovmf-firmware "armhf")))
+1 -123
View File
@@ -11,7 +11,7 @@
;;; Copyright © 2021 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2018, 2022 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2022 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2023 B. Wilson <x@wilsonb.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
@@ -20,9 +20,6 @@
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ian Eure <ian@retrospec.tv>
;;; Copyright © 2023 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -62,12 +59,8 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages bootloaders)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
#:use-module (gnu packages disk)
#:use-module (gnu packages documentation)
#:use-module (gnu packages electronics)
#:use-module (gnu packages elf)
@@ -81,7 +74,6 @@
#:use-module (gnu packages libftdi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages mtools)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages perl)
@@ -91,9 +83,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages swig)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages xml)
#:use-module (srfi srfi-26))
@@ -256,118 +246,6 @@ firmware from it.")
(home-page "https://dfu-util.sourceforge.net/")
(license license:gpl2+)))
(define-public genimage
(let ((commit "00009af6e29cfd46909bc8b4180147dda9f82ba8")
(revision "0"))
(package
(name "genimage")
(version (git-version "18" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pengutronix/genimage")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1mijyq79cb0yj4jm9ln9smpddq1f6r8cnsa568qca0krcv0p3zag"))))
(build-system gnu-build-system)
(arguments
`(#:modules
((ice-9 match)
,@%default-gnu-imported-modules)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'guixify
(lambda* (#:key inputs #:allow-other-keys)
(map (match-lambda
((input directory regexp)
(substitute* "config.c"
(((format #f "\\.def = \"(~a)\"" regexp) _ command)
(string-append ".def = \"" (assoc-ref inputs input)
"/" directory "/" command "\"")))))
'(("cpio" "bin" "cpio")
("coreutils" "bin" "dd")
("e2fsprogs" "sbin" "debugfs|e2fsck|mke2fs|tune2fs")
("genext2fs" "bin" "genext2fs")
("cdrkit-libre" "bin" "genisoimage")
("mtools" "bin" "mcopy|mmd")
;; mkcramfs is obsolete.
("dosfstools" "sbin" "mkdosfs")
("mtd-utils" "sbin" "mkfs.(jffs2|ubifs)|ubinize")
("f2fs-tools" "sbin" "(mkfs|sload).f2fs")
("squashfs-tools" "bin" "mksquashfs")
("qemu" "bin" "qemu-img")
;; rauc and fiptool are unsupported.
("tar" "bin" "tar")
("u-boot-tools" "bin" "mkimage")))
(substitute* "util.c"
(("\"/bin/sh\"")
(string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))))
(add-before 'check 'disable-failing-tests
(lambda _
;; We don't have /etc/passwd so uid 0 is not known as "root".
;; Thus patch it out.
(substitute* '("test/flash.test")
(("test_expect_success \"flash\"")
"test_expect_fail \"flash\""))
(substitute* '("test/hdimage.test")
(("test_expect_success fdisk,sfdisk \"hdimage\"")
"test_expect_fail fdisk,sfdisk \"hdimage\"")
(("test_expect_success hexdump \"hdimage no-partition\"")
"test_expect_fail hexdump \"hdimage no-partition\""))))
(add-before 'check 'fix-failing-tests
(lambda _
;; We don't have /etc/passwd so uid 0 is not known as "root".
;; Thus patch it out.
(substitute* '("test/ext2test.2.dump"
"test/ext3test.2.dump"
"test/ext4test.2.dump"
"test/ext2test-percent.2.dump"
"test/mke2fs.2.dump"
"test/mke2fs.3.dump")
(("root") "unknown"))))
(add-before 'check 'setenv-check
(lambda _
;; Our container doesn't provide access to /etc/mtab
(setenv "EXT2FS_NO_MTAB_OK" "1")
;; Make test reproducible
(setenv "GENIMAGE_MKFJFFS2" "mkfs.jffs2 -U")
(setenv "GENIMAGE_MKE2FS" "mke2fs -E no_copy_xattrs")))
(replace 'check
(lambda _
(invoke "make" "TEST_LOG_COMPILER=" "check"))))))
(native-inputs
(list autoconf
automake
;;; Note: cramfs is obsolete.
dtc ; for the tests
pkg-config
util-linux)) ; for the tests
(inputs
`(("bash" ,bash)
("cdrkit-libre" ,cdrkit-libre)
("cpio" ,cpio)
;; Note: invoked by final executable.
("coreutils" ,coreutils) ; chmod, dd
("dosfstools" ,dosfstools)
("e2fsprogs" ,e2fsprogs)
("f2fs-tools" ,f2fs-tools)
("genext2fs" ,genext2fs)
("libconfuse" ,libconfuse)
("mtd-utils" ,mtd-utils)
("mtools" ,mtools)
("qemu" ,qemu-minimal)
("squashfs-tools" ,squashfs-tools)
("tar" ,tar)
("u-boot-tools" ,u-boot-tools)))
(synopsis "Create Flash images according to specification")
(description "@command{genimage} creates Flash images according to a
specification file.")
(home-page "https://github.com/pengutronix/genimage")
(license license:gpl2))))
(define-public teensy-loader-cli
(package
(name "teensy-loader-cli")
+4 -4
View File
@@ -2604,7 +2604,7 @@ to applications simultaneously competing for fingerprint readers.")
(define-public desktop-file-utils
(package
(name "desktop-file-utils")
(version "0.28")
(version "0.26")
(source (origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
@@ -2612,10 +2612,10 @@ to applications simultaneously competing for fingerprint readers.")
"desktop-file-utils-" version ".tar.xz"))
(sha256
(base32
"0w4ai6a3bwrdh86n2pvgv664djlmlds5lfa2hbgc4hnq67id80a4"))))
(build-system meson-build-system)
"02bkfi6fyk4c0gh2avd897882ww5zl7qg7bzzf28qb57kvkvsvdj"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
(list autoconf automake pkg-config))
(inputs
(list glib))
(home-page "https://www.freedesktop.org/wiki/Software/desktop-file-utils/")
+10 -6
View File
@@ -22,7 +22,7 @@
;;; Copyright © 2020 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
;;; Copyright © 2020-2022, 2024-2026 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2020-2022, 2024-2025 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021, 2026 Andy Tai <atai@atai.org>
;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
@@ -953,7 +953,7 @@ clone.")
(define-public trenchbroom
(package
(name "trenchbroom")
(version "2025.4")
(version "2024.2")
(source
(origin
(method git-fetch)
@@ -962,12 +962,16 @@ clone.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0858q0dfr8f3z8aaafgvrx3zbmjlsldjyw6jjic4x4psyw2xfg3h"))))
(base32 "18cb3w7wxc9y2izh0flkkl77sg897dh0g49zq7rbhpvw35j4xgaj"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
#~(list "-DCMAKE_BUILD_TYPE=Release" "-G" "Unix Makefiles"
"-DCMAKE_PREFIX_PATH=cmake/packages"
(string-append "-DFREEIMAGE_INCLUDE_PATH="
#$freeimage "/include")
(string-append "-DFREEIMAGE_LIBRARY="
#$freeimage "/lib/libfreeimage.so")
(string-append "-Dfreetype_INCLUDE_DIR="
#$freetype "/include/freetype2")
(string-append "-Dfreetype_LIBRARY="
@@ -1012,7 +1016,7 @@ clone.")
(inputs
(list assimp
bash-minimal
catch2-3.8
catch2
fmt
freeglut
freeimage
@@ -1023,8 +1027,8 @@ clone.")
libxxf86vm
mesa
miniz
qtbase
qtsvg
qtbase-5
qtsvg-5
tinyxml2))
(native-inputs (list git pandoc python p7zip))
(home-page "https://kristianduske.com/trenchbroom/")
+154
View File
@@ -0,0 +1,154 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages genimage)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build utils)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bootloaders)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
#:use-module (gnu packages disk)
#:use-module (gnu packages linux)
#:use-module (gnu packages mtools)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages textutils)
#:use-module (gnu packages virtualization))
(define-public genimage
(let ((commit "00009af6e29cfd46909bc8b4180147dda9f82ba8")
(revision "0"))
(package
(name "genimage")
(version (git-version "18" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pengutronix/genimage")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1mijyq79cb0yj4jm9ln9smpddq1f6r8cnsa568qca0krcv0p3zag"))))
(build-system gnu-build-system)
(arguments
`(#:modules
((ice-9 match)
,@%default-gnu-imported-modules)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'guixify
(lambda* (#:key inputs #:allow-other-keys)
(map (match-lambda
((input directory regexp)
(substitute* "config.c"
(((format #f "\\.def = \"(~a)\"" regexp) _ command)
(string-append ".def = \"" (assoc-ref inputs input)
"/" directory "/" command "\"")))))
'(("cpio" "bin" "cpio")
("coreutils" "bin" "dd")
("e2fsprogs" "sbin" "debugfs|e2fsck|mke2fs|tune2fs")
("genext2fs" "bin" "genext2fs")
("cdrkit-libre" "bin" "genisoimage")
("mtools" "bin" "mcopy|mmd")
;; mkcramfs is obsolete.
("dosfstools" "sbin" "mkdosfs")
("mtd-utils" "sbin" "mkfs.(jffs2|ubifs)|ubinize")
("f2fs-tools" "sbin" "(mkfs|sload).f2fs")
("squashfs-tools" "bin" "mksquashfs")
("qemu" "bin" "qemu-img")
;; rauc and fiptool are unsupported.
("tar" "bin" "tar")
("u-boot-tools" "bin" "mkimage")))
(substitute* "util.c"
(("\"/bin/sh\"")
(string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))))
(add-before 'check 'disable-failing-tests
(lambda _
;; We don't have /etc/passwd so uid 0 is not known as "root".
;; Thus patch it out.
(substitute* '("test/flash.test")
(("test_expect_success \"flash\"")
"test_expect_fail \"flash\""))
(substitute* '("test/hdimage.test")
(("test_expect_success fdisk,sfdisk \"hdimage\"")
"test_expect_fail fdisk,sfdisk \"hdimage\"")
(("test_expect_success hexdump \"hdimage no-partition\"")
"test_expect_fail hexdump \"hdimage no-partition\""))))
(add-before 'check 'fix-failing-tests
(lambda _
;; We don't have /etc/passwd so uid 0 is not known as "root".
;; Thus patch it out.
(substitute* '("test/ext2test.2.dump"
"test/ext3test.2.dump"
"test/ext4test.2.dump"
"test/ext2test-percent.2.dump"
"test/mke2fs.2.dump"
"test/mke2fs.3.dump")
(("root") "unknown"))))
(add-before 'check 'setenv-check
(lambda _
;; Our container doesn't provide access to /etc/mtab
(setenv "EXT2FS_NO_MTAB_OK" "1")
;; Make test reproducible
(setenv "GENIMAGE_MKFJFFS2" "mkfs.jffs2 -U")
(setenv "GENIMAGE_MKE2FS" "mke2fs -E no_copy_xattrs")))
(replace 'check
(lambda _
(invoke "make" "TEST_LOG_COMPILER=" "check"))))))
(native-inputs
(list autoconf
automake
;;; Note: cramfs is obsolete.
dtc ; for the tests
pkg-config
util-linux)) ; for the tests
(inputs
`(("bash" ,bash)
("cdrkit-libre" ,cdrkit-libre)
("cpio" ,cpio)
;; Note: invoked by final executable.
("coreutils" ,coreutils) ; chmod, dd
("dosfstools" ,dosfstools)
("e2fsprogs" ,e2fsprogs)
("f2fs-tools" ,f2fs-tools)
("genext2fs" ,genext2fs)
("libconfuse" ,libconfuse)
("mtd-utils" ,mtd-utils)
("mtools" ,mtools)
("qemu" ,qemu-minimal)
("squashfs-tools" ,squashfs-tools)
("tar" ,tar)
("u-boot-tools" ,u-boot-tools)))
(synopsis "Create Flash images according to specification")
(description "@command{genimage} creates Flash images according to a
specification file.")
(home-page "https://github.com/pengutronix/genimage")
(license license:gpl2))))
-77
View File
@@ -141,83 +141,6 @@
It uses pandoc as back-end for parsing Markdown.")
(license license:gpl3)))
(define-public amberol
(package
(name "amberol")
(version "2025.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/World/amberol.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0ymzpf9lkhibaaah059a0pncy23kk9xiq1w37clqc5hhwzpqwpmw"))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:tests? #f ;no tests
#:imported-modules `(,@%meson-build-system-modules
,@%cargo-build-system-modules)
#:modules `(((guix build cargo-build-system) #:prefix cargo:)
(guix build meson-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prepare-for-build
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")
(("update_desktop_database: true")
"update_desktop_database: false"))
(substitute* "meson.build"
(("'Cargo.lock',")
""))
(delete-file "Cargo.lock")))
(add-after 'configure 'prepare-cargo-build-system
(lambda args
(for-each
(lambda (phase)
(format #t "Running cargo phase: ~a~%" phase)
(apply (assoc-ref cargo:%standard-phases phase)
#:vendor-dir "vendor"
#:cargo-target #$(cargo-triplet)
args))
'(unpack-rust-crates
configure
check-for-pregenerated-files
patch-cargo-checksums))))
(add-after 'install 'wrap-program
(lambda _
(wrap-program (string-append #$output "/bin/amberol")
`("GST_PLUGIN_SYSTEM_PATH" ":" suffix
(,(getenv "GST_PLUGIN_SYSTEM_PATH")))))))))
(native-inputs
(cons* bash-minimal
gettext-minimal
`(,glib "bin")
pkg-config
rust
`(,rust "cargo")
(or (and=> (%current-target-system)
(compose list make-rust-sysroot))
'())))
(inputs
(cons* bash-minimal
gstreamer
gst-plugins-bad
gtk
libadwaita
(cargo-inputs 'amberol)))
(home-page "https://apps.gnome.org/Amberol/")
(synopsis "Music player for GNOME")
(description "Amberol is a minimalistic music player for GNOME. It works
with one playlist in which you can add local audio files and directories.")
(license license:gpl3+)))
(define-public blanket
(package
(name "blanket")
+1 -15
View File
@@ -82,7 +82,7 @@
;;; Copyright © 2024 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2025 Noé Lopez <noelopez@free.fr>
;;; Copyright © 2025 Ashvith Shetty <ashvithshetty0010@zohomail.in>
;;; Copyright © 2025, 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Abra K. <abra_k_332@protonmail.me>
;;; Copyright © 2025 Ben Hansen <git@beha.pw>
;;; Copyright © 2026 Roman Riabenko <roman@riabenko.com>
@@ -1013,16 +1013,6 @@ and straightforward controls.")
(base32
"0b77ipvvi520nv7rr6jb1c3xryhc3m2mywhby7m48kfgag8vvx2w"))))
(build-system gnu-build-system)
(native-inputs (list bison flex))
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-rpcgen-parse
(lambda _
(substitute* "rpcgen_parse.y"
(("#include \"rpcgen_int.h\"")
(string-append
"#include \"rpcgen_int.h\"\n"
"int yylex();\n"))))))))
(synopsis "External Data Representation Library")
(description "PortableXDR is an implementation of External Data
Representation (XDR) Library. It is a standard data serialization format, for
@@ -11321,10 +11311,6 @@ supports both X and Wayland display servers.")
(sha256
(base32 "17ampw9p1fp7s7i43cz9r68v6mm7xmb1sndx1mqmkns35kn8yl8a"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(native-inputs
(list desktop-file-utils intltool pkg-config))
(inputs
+1 -1
View File
@@ -527,7 +527,7 @@ gpgpme starting with version 1.7.")
(package
(name "guile-gcrypt")
(version "0.5.0")
(home-page "https://codeberg.org/guile-gcrypt/guile-gcrypt")
(home-page "https://notabug.org/cwebber/guile-gcrypt")
(source (origin
(method git-fetch)
(uri (git-reference
+17 -13
View File
@@ -3330,12 +3330,13 @@ writing a Guix package.")))
(package
(inherit guile-g-golf)
(name "g-golf-adw-1-examples")
(version "0.8.4")
;; XXX: Update version when we have a recent enough libadwaita.
(version "0.8.0")
(source
(g-golf-source #:version version
#:hash
(content-hash
"0qwwvqhhjc141dfj881mah1bgvwlgz111qrh0ml7qf4mc2ssjxqf")))
"14b6pjchra0axqifpm90m7jbxla2sarhd7bfhzqbn7d14b74sv2d")))
(build-system glib-or-gtk-build-system)
(arguments
(list
@@ -3358,6 +3359,10 @@ writing a Guix package.")))
(chdir "examples/adw-1")
;; Re-use the existing Makefile for its wildcard syntax.
(rename-file "Makefile.am" "Makefile")
(substitute* "Makefile"
;; Fix syntax error.
(("hello-world")
"hello-world \\"))
;; Add a rule to install the examples. We install to the
;; documentation directory where examples are usually located,
;; but we will later create a copy in /bin for `guix shell'.
@@ -3374,6 +3379,7 @@ install:
for f in $(EXTRA_DIST); do \\
cp -r $$f $(examplesdir)/$$f; \\
done
cp demo/g-resources $(examplesdir)/demo/g-resources
" #$output)
(close-port port))))
(delete 'configure)
@@ -3381,7 +3387,10 @@ install:
(lambda _
;; Create files for adwaita-1-demo needed in install phase.
(with-directory-excursion "demo"
(invoke "make"))))
(system* "make")
(system* "glib-compile-resources"
"--target" "g-resources"
"g-resources.xml"))))
(add-before 'install 'patch-scm-files
(lambda* (#:key inputs #:allow-other-keys)
;; `current-filename' calls in examples are broken.
@@ -3395,12 +3404,7 @@ install:
(("^exec guile ")
(string-append
"exec " (search-input-file inputs "/bin/guile")
" "))
((" \\(compile-g-resources")
" (chdir path)(compile-g-resources")
(("glib-compile-resources")
(search-input-file inputs
"/bin/glib-compile-resources")))))
" ")))))
(map (cut string-drop <> 2) ;strip ./ prefix
(find-files "." (lambda (file stat)
;executables or .scm modules
@@ -3454,11 +3458,11 @@ install:
bash-minimal
libadwaita
(librsvg-for-system)
`(,glib "bin") ;for glib-compile-resources
gtk
guile-3.0
guile-g-golf))
(native-inputs (list guile-3.0))
(native-inputs (list `(,glib "bin") ;for glib-compile-resources
guile-3.0))
(propagated-inputs (list))
(synopsis "G-Golf Adw-1 examples")
(description
@@ -4086,7 +4090,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
(define-public guile-irregex
(package
(name "guile-irregex")
(version "0.9.12")
(version "0.9.11")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4094,7 +4098,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
version ".tar.gz"))
(sha256
(base32
"1rmlmkf2pnly7mqi407vi2k6k19m2h44d4jvzfkrizk892qj61yc"))))
"026kzl96pmwbjqdc7kh8rdh8ng813sjvdsik0dag5acza20sjm19"))))
(build-system guile-build-system)
(arguments
(list
+6 -6
View File
@@ -829,7 +829,7 @@ Guile's foreign function interface.")
(package
(name "guile-sqlite3")
(version "0.1.3")
(home-page "https://codeberg.org/guile-sqlite3/guile-sqlite3.git")
(home-page "https://notabug.org/guile-sqlite3/guile-sqlite3.git")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -966,13 +966,13 @@ manipulate repositories of the Git version control system.")
;; in the same method.
(method url-fetch)
(uri
(string-append "https://codeberg.org/guile-compression/guile-zlib/archive/v"
(string-append "https://notabug.org/guile-zlib/guile-zlib/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
;; content nar-sha256: 0rwjlqr1hl2vczs16xsihw8pyj6s70p1yv9ky0sawhm6g30639k9
(base32
"04p9lb3bq5y0k358s8agpksx9x68vzx330cb8jkn4qp3qj7cmnx2"))))
"1h9q7rw8bh5mwa8qjik0pqwcr8v9hnk7xnvwcbsg6yfa695wlv3g"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake pkg-config guile-3.0))
(inputs (list guile-3.0 zlib))
@@ -981,7 +981,7 @@ manipulate repositories of the Git version control system.")
"This package provides Guile bindings for zlib, a lossless
data-compression library. The bindings are written in pure Scheme by using
Guile's foreign function interface.")
(home-page "https://codeberg.org/guile-compression/guile-zlib")
(home-page "https://notabug.org/guile-zlib/guile-zlib")
(license license:gpl3+)))
(define-public guile2.2-zlib
@@ -991,7 +991,7 @@ Guile's foreign function interface.")
(package
(name "guile-lzlib")
(version "0.3.0")
(home-page "https://codeberg.org/guile-compression/guile-lzlib")
(home-page "https://notabug.org/guile-lzlib/guile-lzlib")
(source
(origin
;; Note: Until "builtin:git-download" can be taken for granted, this
@@ -1027,7 +1027,7 @@ pure Scheme by using Guile's foreign function interface.")
(package
(name "guile-zstd")
(version "0.1.1")
(home-page "https://codeberg.org/guile-compression/guile-zstd")
(home-page "https://notabug.org/guile-zstd/guile-zstd")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
+2 -2
View File
@@ -348,7 +348,7 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
(define-public weechat
(package
(name "weechat")
(version "4.8.2")
(version "4.8.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -357,7 +357,7 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
(file-name (git-file-name name version))
(sha256
(base32
"06lmbd27fdj7z7v6m096csswp73354516z64apfyz8lr5kh140wq"))))
"0hlhww2pxkvc19lq62fiafwp5mg08m80ahqj1h096gxg5ql07gc2"))))
(build-system cmake-build-system)
(outputs '("out" "doc"))
(native-inputs
File diff suppressed because it is too large Load Diff
+3 -5
View File
@@ -1840,19 +1840,17 @@ for xdg-desktop-portal that is using Qt/KF5.")
(arguments
(list #:builder #~(begin
(mkdir #$output))))
;; These inputs are used by plasma-desktop-service-type.
(inputs (list bolt ;for plasma-thunderbolt
fwupd ;for kinfocenter and discover
packagekit)) ;for discover
(propagated-inputs (list appmenu-gtk-module
aurorae
baloo
bluedevil
bolt ;for plasma-thunderbolt
breeze
breeze-gtk
breeze-icons ;default mouse icon
colord
discover
fwupd
kactivitymanagerd
kdeclarative ;required by sddm breeze theme
kde-cli-tools
@@ -1883,6 +1881,7 @@ for xdg-desktop-portal that is using Qt/KF5.")
milou
ocean-sound-theme
oxygen-sounds
packagekit ;for discover
plasma5support ;required by sddm breeze theme
plasma-browser-integration
plasma-desktop
@@ -3109,7 +3108,6 @@ hardware management, and a high degree of customizability.")
kcrash
kdbusaddons
kiconthemes
kirigami
knotifications
kwidgetsaddons
kwindowsystem
+4 -4
View File
@@ -244,17 +244,17 @@
;; It's used for cache validation and therefore can lead to strange bugs.
;; ex: date '+%Y%m%d%H%M%S'
;; or: (format-time-string "%Y%m%d%H%M%S")
(define %librewolf-build-id "20260310210845")
(define %librewolf-build-id "20260228165433")
(define-public librewolf
(package
(name "librewolf")
(version "148.0.2-2")
(version "148.0-1")
(source
(make-librewolf-source
#:version version
#:firefox-hash "142f4k4ykcm65kbvj60p472103r4k79v9fdsfljdav2rbr6qxjx6"
#:librewolf-hash "1i0m72i2d0800pxprq18jc040zfzvmg25lw7bi7hgbdh4zvadzdw"
#:firefox-hash "0vybaiiknrzk2zvg46w5sxb0i0m9rmy4msvpxklxpdr3182fb4zc"
#:librewolf-hash "02sraza4xy4cp559nlc51m1vwhi52l58i3zz2h95lwymyvc5hv17"
#:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments
+2 -8
View File
@@ -185,7 +185,6 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages regex)
#:use-module (gnu packages rocm)
#:use-module (gnu packages rpc)
#:use-module (gnu packages rrdtool)
#:use-module (gnu packages rsync)
@@ -10512,22 +10511,17 @@ known as Slingshot.")
(cons package extra)
'()))))
(append (list rdma-core libnl)
(if-supported rocr-runtime)
(if-supported psm)
(if-supported psm2)
(if-supported libcxi curl json-c))))
(arguments
(list #:configure-flags
#~(append (if #$(target-64bit?)
(list "--enable-efa")
'())
(list "--enable-efa")
'())
(list #$@(if (this-package-input "libcxi")
#~("--enable-cxi")
#~())
#$@(if (this-package-input "rocr-runtime")
#~((string-append "--with-rocr="
#$(this-package-input "rocr-runtime")))
#~())
"--enable-verbs"))
#:phases
#~(modify-phases %standard-phases
+88 -88
View File
@@ -197,7 +197,7 @@ read/write Bit Map Font (BMF) into text, JSON and XML.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/3b-bmfont/")
(url "https://github.com/Shinmera/3b-bmfont/")
(commit commit)))
(file-name (git-file-name "3b-bmfont2" version))
(sha256
@@ -304,7 +304,7 @@ vectors and streams.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/3d-math")
(url "https://github.com/Shinmera/3d-math")
(commit commit)))
(file-name (git-file-name "cl-3d-math" version))
(sha256
@@ -315,7 +315,7 @@ vectors and streams.")
(inputs
(list sbcl-documentation-utils
sbcl-type-templates))
(home-page "https://shinmera.com/docs/3d-math/")
(home-page "https://shinmera.github.io/3d-math/")
(synopsis "Linear algebra for 2D and 3D computations")
(description
"The @code{3d-math} library implements types, operators, and algorithms
@@ -511,7 +511,7 @@ alternative 4x4 matrix representation.")
(list sbcl-parachute))
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/3d-vectors/")
(home-page "https://shinmera.github.io/3d-vectors/")
(synopsis "Utility library implementing 2D, 3D, and 4D vectors")
(description
"@code{3D-VECTORS} is a library for vector math in 3D space. It contains
@@ -12152,7 +12152,7 @@ options, e.g., by looking up an external key/value store
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/clip")
(url "https://github.com/shinmera/clip")
(commit commit)))
(file-name (git-file-name "clip" version))
(sha256
@@ -12160,7 +12160,7 @@ options, e.g., by looking up an external key/value store
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-array-utils sbcl-lquery))
(home-page "https://shinmera.com/docs/clip/")
(home-page "https://shinmera.github.io/clip/")
(synopsis "Common Lisp HTML templating engine")
(description
"Clip is an attempt at a templating library that allows you to write
@@ -14803,7 +14803,7 @@ that have several attributes, and a central data payload. Most notably this
includes the OS filesystem, but can also be used to address other
filesystem-like things like archives, object stores, etc. in the same
manner.")
(home-page "https://shinmera.com/docs/depot/")
(home-page "https://codeberg.org/Shinmera/depot")
(license license:zlib))))
(define-public cl-depot
@@ -16662,7 +16662,7 @@ parser/composer.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/feeder")
(url "https://github.com/Shinmera/feeder")
(commit commit)))
(file-name (git-file-name "feeder" version))
(sha256
@@ -16670,7 +16670,7 @@ parser/composer.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils sbcl-local-time sbcl-plump))
(home-page "https://shinmera.com/docs/feeder/")
(home-page "https://shinmera.github.io/feeder/")
(synopsis "RSS, Atom and general feed parsing and generating")
(description
"Feeder is a syndication feed library. It presents a general protocol
@@ -16729,7 +16729,7 @@ given the Common Lisp implementation.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/file-attributes/")
(url "https://github.com/Shinmera/file-attributes/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -16737,7 +16737,7 @@ given the Common Lisp implementation.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-cffi sbcl-documentation-utils sbcl-trivial-features))
(home-page "https://shinmera.com/docs/file-attributes/")
(home-page "https://shinmera.github.io/file-attributes/")
(synopsis "Access to common file attributes in Common Lisp")
(description
"This is a small OS portability library to retrieve and set file
@@ -16796,7 +16796,7 @@ avoids many of the pitfalls of pathnames.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/file-notify")
(url "https://github.com/Shinmera/file-notify")
(commit commit)))
(file-name (git-file-name "cl-file-notify" version))
(sha256
@@ -16806,7 +16806,7 @@ avoids many of the pitfalls of pathnames.")
(list sbcl-cffi
sbcl-documentation-utils
sbcl-trivial-features))
(home-page "https://codeberg.org/shinmera/file-notify")
(home-page "https://github.com/Shinmera/file-notify")
(synopsis "Get notifications for file accesses and changes")
(description
"File-Notify is a Common Lisp library for getting notifications for file
@@ -16829,7 +16829,7 @@ accesses and changes.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/file-select")
(url "https://github.com/Shinmera/file-select")
(commit commit)))
(file-name (git-file-name "file-select" version))
(sha256
@@ -16839,7 +16839,7 @@ accesses and changes.")
(list sbcl-cffi
sbcl-documentation-utils
sbcl-float-features))
(home-page "https://shinmera.com/docs/file-select/")
(home-page "https://shinmera.github.io/file-select/")
(synopsis "Invoke the native file selection dialogs to open or save files")
(description
"This library allows you to open native file dialogs to open and save
@@ -16894,7 +16894,7 @@ fashion.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/filesystem-utils/")
(url "https://github.com/Shinmera/filesystem-utils/")
(commit commit)))
(file-name (git-file-name "cl-filesystem-utils" version))
(sha256
@@ -16904,7 +16904,7 @@ fashion.")
(list sbcl-documentation-utils
sbcl-pathname-utils
sbcl-trivial-features))
(home-page "https://shinmera.com/docs/filesystem-utils/")
(home-page "https://shinmera.github.io/filesystem-utils/")
(synopsis "Collection of utilities for filesystem interaction")
(description
"This is an extension library to @code{pathname-utils}, to allow
@@ -17025,7 +17025,7 @@ the @command{flamegraph.pl} script, which is available in the Guix package
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/flare")
(url "https://github.com/Shinmera/flare")
(commit commit)))
(file-name (git-file-name "flare" version))
(sha256
@@ -17038,7 +17038,7 @@ the @command{flamegraph.pl} script, which is available in the Guix package
sbcl-for
sbcl-lambda-fiddle
sbcl-trivial-garbage))
(home-page "https://shinmera.com/docs/flare/")
(home-page "https://shinmera.github.io/flare/")
(synopsis "Easy particle systems with fine grained control")
(description
"FLARE is a library designed to allow quick and precise particle effect
@@ -17156,7 +17156,7 @@ a sequence (or chain) of such elements.")
(description
"Portability library for IEEE float features that are not
covered by the Common Lisp standard.")
(home-page "https://codeberg.org/shinmera/float-features")
(home-page "https://github.com/Shinmera/float-features")
(license license:zlib))))
(define-public cl-float-features
@@ -17178,7 +17178,7 @@ covered by the Common Lisp standard.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/flow")
(url "https://github.com/Shinmera/flow")
(commit commit)))
(file-name (git-file-name "flow" version))
(sha256
@@ -17190,7 +17190,7 @@ covered by the Common Lisp standard.")
(inputs
(list sbcl-closer-mop
sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/flow/")
(home-page "https://shinmera.github.io/flow/")
(synopsis "Tools for the representation of graphs and flowcharts")
(description
"FLOW is a flowchart graph library. Unlike other graphing libraries,
@@ -17384,7 +17384,7 @@ time, etc.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/font-discovery")
(url "https://github.com/Shinmera/font-discovery")
(commit commit)))
(file-name (git-file-name "font-discovery" version))
(sha256
@@ -17392,7 +17392,7 @@ time, etc.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-cffi sbcl-documentation-utils sbcl-trivial-indent))
(home-page "https://shinmera.com/docs/font-discovery/")
(home-page "https://shinmera.github.io/font-discovery/")
(synopsis "Find system font files matching a font spec")
(description
"This is a library to find system font files. It works on systems with
@@ -17416,7 +17416,7 @@ aren't already directly available on the system.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/for")
(url "https://github.com/Shinmera/for")
(commit commit)))
(file-name (git-file-name "cl-for" version))
(sha256
@@ -17424,7 +17424,7 @@ aren't already directly available on the system.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils sbcl-form-fiddle sbcl-lambda-fiddle))
(home-page "https://shinmera.com/docs/for/")
(home-page "https://shinmera.github.io/for/")
(synopsis "Extensible iteration macro library")
(description
"For is a library for an extensible iteration macro. It allows you to write
@@ -17452,7 +17452,7 @@ require code-walking and is easier to extend.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/forge/")
(url "https://github.com/Shinmera/forge/")
(commit commit)))
(sha256
(base32 "006vi2ihrn28pzrwa8b7axmv98bdaxzx7lacnh9pbacbjg3b7hb0"))
@@ -17494,7 +17494,7 @@ for the specific kind of project you're building to get the full picture.")
(method git-fetch)
(uri
(git-reference
(url "https://codeberg.org/shinmera/form-fiddle")
(url "https://github.com/Shinmera/form-fiddle")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -17507,7 +17507,7 @@ for the specific kind of project you're building to get the full picture.")
(description
"Often times we need to destructure a form definition in a Common Lisp
macro. This library provides a set of simple utilities to help with that.")
(home-page "https://shinmera.com/docs/form-fiddle/")
(home-page "https://shinmera.github.io/form-fiddle/")
(license license:zlib))))
(define-public cl-form-fiddle
@@ -20737,13 +20737,13 @@ performance and simplicity in mind.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/lambda-fiddle")
(url "https://github.com/Shinmera/lambda-fiddle")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
(build-system asdf-build-system/sbcl)
(home-page "https://codeberg.org/shinmera/lambda-fiddle")
(home-page "https://github.com/Shinmera/lambda-fiddle")
(synopsis "Collection of utilities to process lambda-lists")
(description "This collection of utilities is useful in contexts where
you want a macro that uses lambda-lists in some fashion but need more precise
@@ -20768,7 +20768,7 @@ processing.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/language-codes")
(url "https://github.com/Shinmera/language-codes")
(commit commit)))
(file-name (git-file-name name commit))
(sha256
@@ -20776,7 +20776,7 @@ processing.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/language-codes/")
(home-page "https://shinmera.github.io/language-codes/")
(synopsis "Map ISO language codes to language names in Common Lisp")
(description
"This is a small library providing the ISO-639 language code to
@@ -20847,7 +20847,7 @@ text.")
(method git-fetch)
(uri
(git-reference
(url "https://codeberg.org/shinmera/LASS")
(url "https://github.com/Shinmera/LASS")
(commit commit)))
(file-name (git-file-name "cl-lass" version))
(sha256
@@ -20861,7 +20861,7 @@ text.")
out in writing CSS quick and easy. LASS was largely inspired by SASS. LASS
supports two modes, one being directly in your lisp code, the other in pure
LASS files.")
(home-page "https://shinmera.com/docs/LASS/")
(home-page "https://shinmera.github.io/LASS/")
(license license:zlib))))
(define-public cl-lass
@@ -22193,7 +22193,7 @@ compression/decompression using bindings to the lzlib C library.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/machine-state")
(url "https://github.com/Shinmera/machine-state")
(commit commit)))
(file-name (git-file-name "cl-machine-state" version))
(sha256
@@ -22207,7 +22207,7 @@ compression/decompression using bindings to the lzlib C library.")
(arguments
'(#:tests? #f ; No tests.
#:asd-systems '("machine-state" "machine-state/opengl")))
(home-page "https://shinmera.com/docs/machine-state/")
(home-page "https://shinmera.github.io/machine-state/")
(synopsis "Retrieve machine state information about CPU time, memory usage and more")
(description
"This library implements various functions to access status information
@@ -23412,7 +23412,7 @@ various string metrics in Common Lisp:
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/mmap")
(url "https://github.com/Shinmera/mmap")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -23423,7 +23423,7 @@ various string metrics in Common Lisp:
sbcl-trivial-features))
(inputs
(list sbcl-cffi sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/mmap/")
(home-page "https://shinmera.github.io/mmap/")
(synopsis "File memory mapping for Common Lisp")
(description
"This is a utility library providing access to the @emph{mmap} family of
@@ -23485,7 +23485,7 @@ place.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/modularize")
(url "https://github.com/Shinmera/modularize")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -23494,7 +23494,7 @@ place.")
(inputs
(list sbcl-documentation-utils
sbcl-trivial-package-local-nicknames))
(home-page "https://shinmera.com/docs/modularize/")
(home-page "https://shinmera.github.io/modularize/")
(synopsis "Common Lisp modularization framework")
(description
"@code{MODULARIZE} is an attempt at providing a common interface to
@@ -23521,7 +23521,7 @@ tie modules together in functionality, hook into each other and so on.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/modularize-hooks")
(url "https://github.com/Shinmera/modularize-hooks")
(commit commit)))
(file-name (git-file-name "modularize-hooks" version))
(sha256
@@ -23530,7 +23530,7 @@ tie modules together in functionality, hook into each other and so on.")
(inputs
(list sbcl-closer-mop sbcl-lambda-fiddle sbcl-modularize
sbcl-trivial-arguments))
(home-page "https://shinmera.com/docs/modularize-hooks/")
(home-page "https://shinmera.github.io/modularize-hooks/")
(synopsis "Generic hooks and triggers extension for Modularize")
(description
"This is a simple extension to @code{MODULARIZE} that allows modules to
@@ -23553,7 +23553,7 @@ define and trigger hooks, which other modules can hook on to.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/modularize-interfaces")
(url "https://github.com/Shinmera/modularize-interfaces")
(commit commit)))
(file-name (git-file-name "modularize-interfaces" version))
(sha256
@@ -23562,7 +23562,7 @@ define and trigger hooks, which other modules can hook on to.")
(inputs
(list sbcl-lambda-fiddle sbcl-modularize sbcl-trivial-arguments
sbcl-trivial-indent))
(home-page "https://shinmera.com/docs/modularize-interfaces/")
(home-page "https://shinmera.github.io/modularize-interfaces/")
(synopsis "Programmatical interfaces extension for Modularize")
(description
"This is an extension to @code{MODULARIZE} that allows your application
@@ -23846,7 +23846,7 @@ for Common Lisp.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/multilang-documentation")
(url "https://github.com/Shinmera/multilang-documentation")
(commit commit)))
(file-name (git-file-name name commit))
(sha256
@@ -23855,7 +23855,7 @@ for Common Lisp.")
(inputs
(list sbcl-documentation-utils sbcl-language-codes
sbcl-system-locale))
(home-page "https://shinmera.com/docs/multilang-documentation/")
(home-page "https://shinmera.github.io/multilang-documentation/")
(synopsis "Add multiple languages support to Common Lisp documentation")
(description
"This library provides a drop-in replacement function for
@@ -25038,7 +25038,7 @@ expressions.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/open-with")
(url "https://github.com/Shinmera/open-with")
(commit commit)))
(file-name (git-file-name "cl-open-with" version))
(sha256
@@ -25062,7 +25062,7 @@ expressions.")
"This package provides a small utility library to open a thing (usually
a file or URL) in an appropriate handler (usually an external file manager or
browser).")
(home-page "https://shinmera.com/docs/open-with/")
(home-page "https://shinmera.github.io/open-with/")
(license license:zlib))))
(define-public cl-open-with
@@ -25874,7 +25874,7 @@ variable portably in Common Lisp.")
(list sbcl-parachute))
(inputs
(list sbcl-trivial-features))
(home-page "https://shinmera.com/docs/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
@@ -26158,13 +26158,13 @@ for Common Lisp.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/piping/")
(url "https://github.com/Shinmera/piping/")
(commit commit)))
(file-name (git-file-name "piping" version))
(sha256
(base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
(build-system asdf-build-system/sbcl)
(home-page "https://shinmera.com/docs/piping/")
(home-page "https://shinmera.github.io/piping/")
(synopsis "Library to enable simple message pipelines")
(description
"This is a Common Lisp library to enable simple message pipelines.")
@@ -27060,7 +27060,7 @@ pattern-matching-like, but a char-by-char procedural parser.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/promise")
(url "https://github.com/Shinmera/promise")
(commit commit)))
(file-name (git-file-name "cl-promise" version))
(sha256
@@ -27070,7 +27070,7 @@ pattern-matching-like, but a char-by-char procedural parser.")
(list sbcl-parachute))
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/promise/")
(home-page "https://shinmera.github.io/promise/")
(synopsis "Promise mechanism for asynchronous operations")
(description
"This library implements a basic promise datastructure, which is useful
@@ -27710,7 +27710,7 @@ adaptations.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shirakumo/radiance-contribs")
(url "https://github.com/Shirakumo/radiance-contribs")
(commit commit)))
(file-name (git-file-name "radiance-contribs" version))
(sha256
@@ -27789,7 +27789,7 @@ sequence.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/random-state")
(url "https://github.com/Shinmera/random-state")
(commit commit)))
(file-name (git-file-name "cl-random-state" version))
(sha256
@@ -27797,7 +27797,7 @@ sequence.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/random-state/")
(home-page "https://shinmera.github.io/random-state/")
(synopsis "Portable random number generation")
(description
"This library is a collection of @dfn{pseudo random number generators}.
@@ -28659,7 +28659,7 @@ can coexist and interoperate with other extensions to as CLIM and Iterate.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/sdf")
(url "https://github.com/Shinmera/sdf")
(commit commit)))
(file-name (git-file-name "sdf" version))
(sha256
@@ -28674,7 +28674,7 @@ can coexist and interoperate with other extensions to as CLIM and Iterate.")
sbcl-pathname-utils))
(arguments
`(#:asd-systems '("sdf" "sdf/bmfont")))
(home-page "https://codeberg.org/shinmera/sdf")
(home-page "https://github.com/Shinmera/sdf")
(synopsis "Signed distance font atlas generator")
(description
"This library generates
@@ -29446,7 +29446,7 @@ using advisors.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/simple-inferiors")
(url "https://github.com/Shinmera/simple-inferiors")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -29454,7 +29454,7 @@ using advisors.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-bordeaux-threads sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/simple-inferiors/")
(home-page "https://shinmera.github.io/simple-inferiors/")
(synopsis "Common Lisp library to use inferior processes")
(description
"This is a library to allow easy handling of external processes, and
@@ -29674,7 +29674,7 @@ on top of Hunchentoot.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/simple-tasks")
(url "https://github.com/Shinmera/simple-tasks")
(commit commit)))
(file-name (git-file-name "simple-tasks" version))
(sha256
@@ -29682,7 +29682,7 @@ on top of Hunchentoot.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-array-utils sbcl-bordeaux-threads sbcl-dissect))
(home-page "https://shinmera.com/docs/simple-tasks/")
(home-page "https://shinmera.github.io/simple-tasks/")
(synopsis "Simple task scheduling framework")
(description "This is a task scheduling framework for Common Lisp.")
(license license:zlib))))
@@ -30507,7 +30507,7 @@ empty object).")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/staple/")
(url "https://github.com/Shinmera/staple/")
(commit commit)))
(sha256
(base32 "0qf0if7py3n4rszg25lcavpsqikfz6k5dvcmh5q67y8x5r12i5m7"))
@@ -31131,13 +31131,13 @@ and camel-case rules.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/system-load")
(url "https://github.com/Shinmera/system-load")
(commit commit)))
(file-name (git-file-name "cl-system-load" version))
(sha256
(base32 "08d8kr8j5l2m8p69f47iklxhna394vx9mrys0sgplf5f2bqb7xcv"))))
(build-system asdf-build-system/sbcl)
(home-page "https://codeberg.org/shinmera/system-load")
(home-page "https://github.com/Shinmera/system-load")
(synopsis "Access system's CPU and memory usage from Common Lisp")
(description
"System-Load is a Common Lisp library for accessing the system's CPU and
@@ -31159,7 +31159,7 @@ memory usage.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/system-locale/")
(url "https://github.com/Shinmera/system-locale/")
(commit commit)))
(file-name (git-file-name name commit))
(sha256
@@ -31167,7 +31167,7 @@ memory usage.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/system-locale/")
(home-page "https://shinmera.github.io/system-locale/")
(synopsis "Get the system's locale and language settings in Common Lisp")
(description
"This library retrieves locale information configured on the
@@ -32068,13 +32068,13 @@ a simple-array ensuring that the resulting array is still a simple-array.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/trivial-arguments")
(url "https://github.com/Shinmera/trivial-arguments")
(commit commit)))
(file-name (git-file-name "trivial-arguments" version))
(sha256
(base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
(build-system asdf-build-system/sbcl)
(home-page "https://codeberg.org/shinmera/trivial-arguments")
(home-page "https://github.com/Shinmera/trivial-arguments")
(synopsis "Common Lisp library to retrieve a function's lambda-list")
(description
"This is a simple library to retrieve the argument list of a function.")
@@ -32177,7 +32177,7 @@ information.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/trivial-benchmark/")
(url "https://github.com/Shinmera/trivial-benchmark/")
(commit commit)))
(file-name (git-file-name "cl-trivial-benchmark" version))
(sha256
@@ -32185,7 +32185,7 @@ information.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-alexandria))
(home-page "https://shinmera.com/docs/trivial-benchmark/")
(home-page "https://shinmera.github.io/trivial-benchmark/")
(synopsis "Easy to use benchmarking system for Common Lisp")
(description
"Trivial-Benchmark runs a block of code many times and outputs some
@@ -32494,13 +32494,13 @@ It provides four readtables. The default one lets you write strings like this:
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/trivial-extensible-sequences")
(url "https://github.com/Shinmera/trivial-extensible-sequences")
(commit commit)))
(file-name (git-file-name "cl-trivial-extensible-sequences" version))
(sha256
(base32 "0352psdd8j0phjycr6ldckwspyal4jcf0f2fizi6fwdp7nvadng7"))))
(build-system asdf-build-system/sbcl)
(home-page "https://shinmera.com/docs/trivial-extensible-sequences/")
(home-page "https://shinmera.github.io/trivial-extensible-sequences/")
(synopsis "Portability library for the extensible sequences protocol")
(description
"This package provides a portability layer for the extensible sequences
@@ -32671,7 +32671,7 @@ thin compatibility layer for gray streams.")
(method git-fetch)
(uri
(git-reference
(url "https://codeberg.org/shinmera/trivial-indent")
(url "https://github.com/Shinmera/trivial-indent")
(commit commit)))
(file-name (git-file-name "cl-trivial-indent" version))
(sha256
@@ -32683,7 +32683,7 @@ thin compatibility layer for gray streams.")
"This library allows you to define custom indentation hints for your
macros if the one recognised by SLIME automatically produces unwanted
results.")
(home-page "https://shinmera.com/docs/trivial-indent/")
(home-page "https://shinmera.github.io/trivial-indent/")
(license license:zlib))))
(define-public cl-trivial-indent
@@ -32737,7 +32737,7 @@ implementation specific equivalent.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/trivial-main-thread")
(url "https://github.com/Shinmera/trivial-main-thread")
(commit commit)))
(file-name (git-file-name "trivial-main-thread" version))
(sha256
@@ -32745,7 +32745,7 @@ implementation specific equivalent.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-bordeaux-threads sbcl-simple-tasks sbcl-trivial-features))
(home-page "https://shinmera.com/docs/trivial-main-thread/")
(home-page "https://shinmera.github.io/trivial-main-thread/")
(synopsis "Compatibility library to run things in the main thread")
(description
"This package provides a Common Lisp system which wraps the
@@ -33461,7 +33461,7 @@ the elements in compound type specifier, e.g. @code{dimensions} in
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/type-templates")
(url "https://github.com/Shinmera/type-templates")
(commit commit)))
(file-name (git-file-name "cl-type-templates" version))
(sha256
@@ -33474,7 +33474,7 @@ the elements in compound type specifier, e.g. @code{dimensions} in
(list sbcl-alexandria
sbcl-documentation-utils
sbcl-form-fiddle))
(home-page "https://shinmera.com/docs/type-templates/")
(home-page "https://shinmera.github.io/type-templates/")
(synopsis "Library for defining and expanding templated functions")
(description
"The Type-Templates library allows you to define types and template
@@ -33535,7 +33535,7 @@ reasoning about types, but without consing.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/uax-14")
(url "https://github.com/Shinmera/uax-14")
(commit commit)))
(file-name (git-file-name "uax-14" version))
(sha256
@@ -33547,7 +33547,7 @@ reasoning about types, but without consing.")
(list sbcl-documentation-utils))
(arguments
`(#:asd-systems '("uax-14")))
(home-page "https://shinmera.com/docs/uax-14/")
(home-page "https://shinmera.github.io/uax-14/")
(synopsis "Unicode Standard Annex #14 for standardised line breaking")
(description
"This is an implementation of the Unicode Standards Annex
@@ -33618,7 +33618,7 @@ RFC7564.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/ubiquitous")
(url "https://github.com/Shinmera/ubiquitous")
(commit commit)))
(file-name (git-file-name "ubiquitous" version))
(sha256
@@ -33629,7 +33629,7 @@ RFC7564.")
(arguments
'(#:asd-systems '("ubiquitous"
"ubiquitous-concurrent")))
(home-page "https://shinmera.com/docs/ubiquitous/")
(home-page "https://shinmera.github.io/ubiquitous/")
(synopsis "Application configuration mechanism for Common Lisp")
(description
"@code{UBIQUITOUS} is a very easy-to-use library for persistent
@@ -34136,7 +34136,7 @@ algorithms.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/verbose/")
(url "https://github.com/Shinmera/verbose/")
(commit commit)))
(file-name (git-file-name "verbose" version))
(sha256
@@ -34145,7 +34145,7 @@ algorithms.")
(inputs
(list sbcl-bordeaux-threads sbcl-dissect sbcl-documentation-utils
sbcl-local-time sbcl-piping))
(home-page "https://shinmera.com/docs/verbose/")
(home-page "https://shinmera.github.io/verbose/")
(synopsis "Logging framework using the piping library")
(description
"This is a Common Lisp library providing logging faciltiy similar to
@@ -35065,7 +35065,7 @@ reading and writing.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/zippy/")
(url "https://github.com/Shinmera/zippy/")
(commit commit)))
(sha256
(base32 "16cvyyf2nzd9r3fcy4w6d5wh8n3x833wldmrxmnzd3k2xrkhzfl9"))
@@ -35094,7 +35094,7 @@ can read and write zip files. It features:
@item can compress stream->stream;
@item extensible for other encryption and compression mechanisms.
@end itemize\n")
(home-page "https://shinmera.com/docs/zippy/")
(home-page "https://shinmera.github.io/zippy/")
(license license:zlib))))
(define-public cl-zippy
+1 -1
View File
@@ -4666,7 +4666,7 @@ the tensors contained therein.")
libxml2
llvm-19
opencl-clhpp
opencl-headers-2022
opencl-headers
rang
mesa
mesa-opencl
+3 -2
View File
@@ -1939,7 +1939,7 @@ compresses it.")
(define-public claws-mail
(package
(name "claws-mail")
(version "4.4.0")
(version "4.3.1")
(source
(origin
(method url-fetch)
@@ -1948,7 +1948,7 @@ compresses it.")
version ".tar.xz"))
(sha256
(base32
"0nr5r8lzg44sdawa8hjdadgbnpnh0m0m51j1h1cpmk8gbyfm9q03"))))
"19k8yii61n6j80riw6i8nzypygb0kv3b6npw5ljmiav7qw8g5bfq"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
@@ -1990,6 +1990,7 @@ compresses it.")
compface
curl
dbus
dbus-glib
enchant
expat
fontconfig
+8 -24
View File
@@ -6078,38 +6078,29 @@ parts of it.")
(define-public openblas
(package
(name "openblas")
(version "0.3.31")
(version "0.3.30")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenMathLib/OpenBLAS")
(url "https://github.com/xianyi/OpenBLAS")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ifbbk4mg4ykm92i9b09wwbcwpyzlfzn8lhds8f3p7cbcga7q530"))))
;; To build the package, we can either rely on a preset Makefile, or
;; generate a new one through a CMake configuration.
;; We choose the first option, so we delete the configure phase and we set
;; the build system to gnu-build-system to build the package through the
;; 'make' command.
"08crjjs7avnkk7l226pghhz68mw9ak62xcghc9hdpshbflwzd0vy"))))
(build-system gnu-build-system)
(arguments
(list
;; Set the test target (but tests are indeed already run in the build
;; phase, which calls 'make -C test all').
#:test-target "test"
;; No default baseline is supplied for powerpc-linux.
#:substitutable? (not (target-ppc32?))
#:make-flags
#~(list (string-append "PREFIX=" #$output)
"CFLAGS=-O3" ; optimization flags
"FFLAGS=-O3" ; optimization flags
"SHELL=bash"
"DEBUG=1" ; enable debug symbols -g
"MAKE_NB_JOBS=0" ; use jobserver for submakes
"NO_STATIC=1" ; avoid a 67 MiB static archive
"DEBUG=1" ; enable debug symbols
"MAKE_NB_JOBS=0" ;use jobserver for submakes
"NO_STATIC=1" ;avoid a 67 MiB static archive
;; This is the maximum number of threads OpenBLAS will ever use
;; (that is, if $OPENBLAS_NUM_THREADS is greater than that, then
@@ -6118,13 +6109,6 @@ parts of it.")
;; obviously wrong.
"NUM_THREADS=128"
;; OpenMP support prevents deadlocks when multithreaded Openblas
;; is called from an OpenMP parallel region and takes care of
;; deactivating threads when necessary. See
;; http://www.openmathlib.org/OpenBLAS/docs/faq/#using-openblas-with-openmp
;; for more details.
"USE_OPENMP=1"
;; DYNAMIC_ARCH is only supported on some architectures.
;; DYNAMIC_ARCH combined with TARGET=GENERIC provides a library
;; which uses the optimizations for the detected CPU. This can
@@ -6152,13 +6136,13 @@ parts of it.")
((target-riscv64?)
'("TARGET=RISCV64_GENERIC"))
(else '())))
;; no configure script
#:phases
#~(modify-phases %standard-phases
;; Skip configure phase since we rely on a preset Makefile.
(delete 'configure)
;; Get libgfortran found when building in utest.
(add-before 'build 'set-extralib
(lambda* (#:key inputs #:allow-other-keys)
;; Get libgfortran found when building in utest.
(setenv "FEXTRALIB"
(string-append
"-L"
+88 -139
View File
@@ -38,7 +38,6 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
@@ -52,8 +51,6 @@
#:use-module (gnu packages libevent)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages linux)
#:use-module (gnu packages oneapi)
#:use-module (gnu packages opencl)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages profiling)
#:use-module (gnu packages python)
@@ -67,12 +64,9 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rocm)
#:use-module (gnu packages rocm-tools)
#:use-module (gnu packages ssh)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xdisorg)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@@ -111,43 +105,42 @@
(native-inputs
(list pkg-config))
(arguments
(list #:configure-flags
#~(list "--localstatedir=/var")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/linux-libnuma', which fails on some
;; machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-after 'install 'refine-libnuma
;; Give -L arguments for libraries to avoid propagation
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "lib"))
(numa (assoc-ref inputs "numactl")))
(substitute* (map (lambda (f) (string-append out "/" f))
'("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
(("-lnuma" lib)
(string-append "-L" numa "/lib " lib))))))
(add-after 'install 'avoid-circular-references
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (assoc-ref outputs "lib")))
;; Suppress the 'prefix=' and 'exec_prefix=' lines so that the
;; "lib" output doesn't refer to "out".
(substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
(("^.*prefix=.*$")
"")))))
(add-after 'install 'move-man3-pages
(lambda* (#:key outputs #:allow-other-keys)
;; Move section 3 man pages to the "doc" output.
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(copy-recursively (string-append out "/share/man/man3")
(string-append doc "/share/man/man3"))
(delete-file-recursively
(string-append out "/share/man/man3"))))))))
`(#:configure-flags '("--localstatedir=/var")
#:phases
(modify-phases %standard-phases
(add-before 'check 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/linux-libnuma', which fails on some
;; machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-after 'install 'refine-libnuma
;; Give -L arguments for libraries to avoid propagation
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "lib"))
(numa (assoc-ref inputs "numactl")))
(substitute* (map (lambda (f) (string-append out "/" f))
'("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
(("-lnuma" lib)
(string-append "-L" numa "/lib " lib))))))
(add-after 'install 'avoid-circular-references
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (assoc-ref outputs "lib")))
;; Suppress the 'prefix=' and 'exec_prefix=' lines so that the
;; "lib" output doesn't refer to "out".
(substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
(("^.*prefix=.*$")
"")))))
(add-after 'install 'move-man3-pages
(lambda* (#:key outputs #:allow-other-keys)
;; Move section 3 man pages to the "doc" output.
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(copy-recursively (string-append out "/share/man/man3")
(string-append doc "/share/man/man3"))
(delete-file-recursively
(string-append out "/share/man/man3"))))))))
(home-page "https://www.open-mpi.org/projects/hwloc/")
(synopsis "Abstraction of hardware architectures")
(description
@@ -167,7 +160,7 @@ bind processes, and much more.")
(define-public hwloc-2
(package
(inherit hwloc-1)
(version "2.13.0")
(version "2.12.2")
(source (origin
(method url-fetch)
(uri (string-append "https://download.open-mpi.org/release/hwloc/v"
@@ -175,59 +168,34 @@ bind processes, and much more.")
"/hwloc-" version ".tar.bz2"))
(sha256
(base32
"1aqdznqp7f18yg95vbr5n6ccxxdiywacygvn3wbhzn7bnspkdsaj"))
;; XXX: Remove after updating package from 2.13.0.
(patches (search-patches "hwloc-add-with-opencl.patch"))))
"182v0n2mpnbvdsw0gjnbmaj027k2jxmw7yphi89i9dgb1zbn2gjn"))))
(native-inputs (modify-inputs (package-native-inputs hwloc-1)
(append autoconf)
(append automake)
(append libtool)
(append opencl-headers)
(append bash))) ;for completion tests
(inputs (modify-inputs (package-inputs hwloc-1)
(append level-zero)
;; XXX: rocm-smi requires libdrm/drm.h but doesn't propagate a
;; package providing these. For now, libdrm is used to provide
;; this header.
(append libdrm)
(append libxml2)
(append opencl-icd-loader)
(append rocm-smi-lib)
(delete "numactl"))) ;libnuma is no longer needed.
(arguments
(substitute-keyword-arguments (package-arguments hwloc-1)
((#:configure-flags flags '())
#~(cons* (string-append "--with-opencl="
#$(this-package-input "opencl-icd-loader"))
"--enable-rsmi"
(string-append "--with-rocm="
#$(this-package-input "rocm-smi-lib"))
#$flags))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'unpack 'delete-configure
(lambda _
;; Remove configure file to generate it with patch.
(delete-file "configure")))
(replace 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/hwloc/linux-libnuma', which fails on
;; some machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/hwloc/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-before 'check 'skip-tests-that-require-/sys
(lambda _
;; 'test-gather-topology.sh' requires /sys as of 2.9.0; skip it.
(setenv "HWLOC_TEST_GATHER_TOPOLOGY" "0")))
(add-before 'check 'skip-test-that-fails-on-qemu
(lambda _
;; Skip test that fails on emulated hardware due to QEMU bug:
;; <https://bugs.gnu.org/40342>.
(substitute* "tests/hwloc/hwloc_get_last_cpu_location.c"
(("hwloc_topology_init" all)
(string-append "exit (77);\n" all)))))))))))
`(modify-phases ,phases
(replace 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/hwloc/linux-libnuma', which fails on
;; some machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/hwloc/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-before 'check 'skip-tests-that-require-/sys
(lambda _
;; 'test-gather-topology.sh' requires /sys as of 2.9.0; skip it.
(setenv "HWLOC_TEST_GATHER_TOPOLOGY" "0")))
(add-before 'check 'skip-test-that-fails-on-qemu
(lambda _
;; Skip test that fails on emulated hardware due to QEMU bug:
;; <https://bugs.gnu.org/40342>.
(substitute* "tests/hwloc/hwloc_get_last_cpu_location.c"
(("hwloc_topology_init" all)
(string-append "exit (77);\n" all)))))))))))
(define-public hwloc
;; The latest stable series of hwloc.
@@ -278,43 +246,43 @@ bind processes, and much more.")
(outputs '("out" "debug"))
(arguments
(list
#:configure-flags #~(list (string-append
"CFLAGS=-g -O2"
" -Wno-error=implicit-function-declaration"
" -Wno-error=incompatible-pointer-types")
"--enable-mpi-ext=affinity" ;cr doesn't work
"--with-sge"
"--disable-static"
#:configure-flags #~`(#$(string-append
"CFLAGS=-g -O2"
" -Wno-error=implicit-function-declaration"
" -Wno-error=incompatible-pointer-types")
"--enable-mpi-ext=affinity" ;cr doesn't work
"--with-sge"
"--disable-static"
#$@(if (package? (this-package-input "valgrind"))
#~("--enable-memchecker"
"--with-valgrind")
#~("--without-valgrind"))
#$@(if (package? (this-package-input "valgrind"))
#~("--enable-memchecker"
"--with-valgrind")
#~("--without-valgrind"))
"--with-hwloc=external"
"--with-libevent"
"--with-hwloc=external"
"--with-libevent"
;; Help 'orterun' and 'mpirun' find their tools
;; under $prefix by default.
"--enable-mpirun-prefix-by-default"
;; Help 'orterun' and 'mpirun' find their tools
;; under $prefix by default.
"--enable-mpirun-prefix-by-default"
;; InfiniBand support
"--enable-openib-control-hdr-padding"
"--enable-openib-dynamic-sl"
"--enable-openib-udcm"
"--enable-openib-rdmacm"
"--enable-openib-rdmacm-ibaddr"
;; InfiniBand support
"--enable-openib-control-hdr-padding"
"--enable-openib-dynamic-sl"
"--enable-openib-udcm"
"--enable-openib-rdmacm"
"--enable-openib-rdmacm-ibaddr"
;; Enable support for the 'Process Management
;; Interface for Exascale' (PMIx) used e.g. by
;; Slurm for the management communication and
;; coordination of MPI processes.
"--with-pmix=internal"
;; Enable support for the 'Process Management
;; Interface for Exascale' (PMIx) used e.g. by
;; Slurm for the management communication and
;; coordination of MPI processes.
"--with-pmix=internal"
;; Enable support for SLURM's Process Manager
;; Interface (PMI).
(string-append "--with-pmi="
#$(this-package-input "slurm")))
;; Enable support for SLURM's Process Manager
;; Interface (PMI).
,(string-append "--with-pmi="
#$(this-package-input "slurm")))
#:phases #~(modify-phases %standard-phases
;; opensm is needed for InfiniBand support.
(add-after 'unpack 'find-opensm-headers
@@ -464,25 +432,6 @@ software vendors, application developers and computer science researchers.")
#:disallowed-references (list (canonical-package gcc))))))
;; XXX: ROCm support in Open MPI is enabled in a variant and not in the base
;; package due to its dependency rocm-hip-runtime retaining references to
;; clang-rocm, which causes the closure to go from ~400MB to ~2.4GB. See
;; https://codeberg.org/guix/guix/issues/5585
(define-public openmpi-rocm
(package/inherit openmpi-5
(name "openmpi-rocm")
(arguments
(substitute-keyword-arguments (package-arguments openmpi-5)
((#:configure-flags flags '())
#~(cons* (string-append "--with-rocm="
#$(this-package-input "rocm-hip-runtime"))
#$flags))))
(inputs (modify-inputs (package-inputs openmpi-5)
;; XXX: This might break openmpi-5 for architectures where ROCm
;; is not supported.
(append rocm-hip-runtime)))
(synopsis "MPI-3 implementation (with ROCm support)")))
(define-public openmpi-c++
(package/inherit openmpi
(name "openmpi-c++")
-2
View File
@@ -62,7 +62,6 @@
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2026 Ivan Vilata i Balaguer <ivan@selidor.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -7926,7 +7925,6 @@ streaming audio server.")
(native-inputs
(list xorg-server-for-tests
gettext-minimal
gobject-introspection
python-pytest
python-setuptools))
(inputs
+2 -2
View File
@@ -5116,7 +5116,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(define-public yggtray
(package
(name "yggtray")
(version "0.1.15")
(version "0.1.14")
(source
(origin
(method git-fetch)
@@ -5125,7 +5125,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0dv1aaps1kj9dspnawcv0da2jj3pj03am1cynh9p31a2kin8j9jp"))))
(base32 "1n4pg5fdbqf579d4xajah5y5dawizp8c8difwfsk7xrvjd3w5rcf"))))
(build-system cmake-build-system)
(arguments
(list
+1 -3
View File
@@ -75,16 +75,14 @@
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Ensure writable cache directory
(setenv "HOME" "/tmp")
;; Remove test that relies on network access.
(delete-file "pynicotine/tests/unit/test_version.py")
(invoke "xvfb-run" "python" "-m" "unittest")))))))
(inputs (list bash-minimal
gspell
gtk
python-pycairo
python-pygobject
gobject-introspection
libappindicator
python-pytaglib))
(native-inputs (list gettext-minimal python-setuptools xvfb-run))
+20 -151
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.4-variant . ,(delay ocaml5:ocaml5.4-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.4-variant . ,(delay ocaml5:ocaml5.4-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.4-variant . ,(delay ocaml5:ocaml5.4-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.4-variant . ,(delay ocaml5:ocaml5.4-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
@@ -6221,23 +6134,10 @@ interfaces and the standard higher-level merlin protocol.")
(arguments '(#:package "dot-merlin-reader"
#:tests? #f)) ; no tests
(propagated-inputs (list ocaml-merlin-lib))
(properties `((ocaml5.0-variant . ,(delay ocaml5.0-dot-merlin-reader))))
(synopsis "Reads config files for @code{ocaml-merlin}")
(description "@code{ocaml-dot-merlin-reader} is an external reader for
@code{ocaml-merlin} configurations.")))
(define-public ocaml5.0-dot-merlin-reader
(package-with-ocaml5.0
(package
(inherit ocaml-merlin-lib-500)
(name "ocaml-dot-merlin-reader")
(arguments '(#:package "dot-merlin-reader"
#:tests? #f)) ; no tests
(propagated-inputs (list ocaml5.0-merlin-lib))
(synopsis "Reads config files for @code{ocaml-merlin}")
(description "@code{ocaml-dot-merlin-reader} is an external reader for
@code{ocaml-merlin} configurations."))))
(define-public ocaml-merlin
(package
(inherit ocaml-dot-merlin-reader)
@@ -6253,7 +6153,6 @@ interfaces and the standard higher-level merlin protocol.")
(when tests?
(invoke "dune" "runtest" "-p" "merlin,dot-merlin-reader")))))))
(propagated-inputs (list ocaml-merlin-lib ocaml-yojson))
(properties `((ocaml5.0-variant . ,(delay ocaml5.0-merlin))))
(native-inputs
(list ocaml-dot-merlin-reader ; required for tests
ocaml-ppxlib
@@ -6266,34 +6165,6 @@ External contributors added support for Visual Studio Code, Sublime Text and
Atom.")
(license license:expat)))
(define-public ocaml5.0-merlin
(package-with-ocaml5.0
(package
(inherit ocaml-merlin-lib-500)
(name "ocaml-merlin")
(arguments
'(#:package "merlin"
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
;; Tests require a writable cache directory
(setenv "HOME" "/tmp")
(when tests?
(invoke "dune" "runtest" "-p" "merlin,dot-merlin-reader")))))))
(propagated-inputs (list ocaml-merlin-lib ocaml-yojson))
(native-inputs
(list ocaml-dot-merlin-reader ; required for tests
ocaml-ppxlib
ocaml-mdx
jq))
(synopsis "Context sensitive completion for OCaml in Vim and Emacs")
(description "Merlin is an editor service that provides modern IDE
features for OCaml. Emacs and Vim support is provided out-of-the-box.
External contributors added support for Visual Studio Code, Sublime Text and
Atom.")
(license license:expat))))
(define-public ocaml-lsp-server
(package
(name "ocaml-lsp-server")
@@ -6334,8 +6205,6 @@ Atom.")
(description "This package implements an Ocaml language server implementation.")
(license license:isc)))
(define-public ocaml5.0-lsp-server (package-with-ocaml5.0 ocaml-lsp-server))
(define-public ocaml-gsl
(package
(name "ocaml-gsl")
File diff suppressed because it is too large Load Diff
+7 -24
View File
@@ -59,13 +59,11 @@
;; If you update either of opencl-headers, opencl-clhpp or opencl-icd-loader
;; note that they are released together (lockstep) and must be updated
;; together. Bump this version number and update hashes below
(define %opencl-version "2025.07.22")
;; together.
(define-public opencl-headers
(package
(name "opencl-headers")
(version %opencl-version)
(version "2024.10.24")
(source
(origin
(method git-fetch)
@@ -74,7 +72,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rir72cdigwkj3a0k8l066fgzvh41yf6vrczzflwh0h4vq3g7h2x"))))
(base32 "0c3s6g8b3ggfr36cl27axdf3kn79kj6cb880jizcf6q89nw6nf98"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Not enabled during build.
(synopsis "The Khronos OpenCL headers")
@@ -83,25 +81,10 @@
(home-page "https://registry.khronos.org/OpenCL/")
(license license:asl2.0)))
(define-public opencl-headers-2022
(package
(inherit opencl-headers)
(name "opencl-headers")
(version "2022.09.30")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/OpenCL-Headers")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vzzkj5kd0invm5pvzlnhdl21n00jci6131a2cjviyz0vxp7xf2m"))))))
(define-public opencl-clhpp
(package
(name "opencl-clhpp")
(version %opencl-version)
(version "2024.10.24")
(source
(origin
(method git-fetch)
@@ -110,7 +93,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1d7zyf2s2xpa002c36a081gyldai0mph3pjnyvswhx34c2b8yi44"))))
(base32 "1s9z30p80qc1dgp04wvc6szgcs4r167m3nk9622d2bbaaalgd5vg"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;The regression tests require a lot more dependencies.
@@ -127,7 +110,7 @@
(define-public opencl-icd-loader
(package
(name "opencl-icd-loader")
(version %opencl-version)
(version "2024.10.24")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -136,7 +119,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"12y5v3ri9dqm3zbhg6axy02hbcb0g23f44m2jvyvc2zv0lvy42wg"))))
"0rnyx83iwisxfj818dzf016fmi62kk1hrlfav0b8a1pjfbzmvr03"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Tests need stub loader setup.
(native-search-paths
+4 -4
View File
@@ -12,7 +12,7 @@
;;; Copyright © 2019-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020, 2023, 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
@@ -188,8 +188,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.5.0")
(commit "520785e315eddbe47199ac557e88e60eca3ae97c")
(revision 2))
(commit "deedd482e437182dc8e35b9ef260cfd0dc68e7f2")
(revision 1))
(package
(name "guix")
@@ -205,7 +205,7 @@
(commit commit)))
(sha256
(base32
"1kkryhrr2vxyirr5xzl69386kvy9rqlkpz10qbdv222dw628lcda"))
"14rch8ycl3zy0da4xkrnbyjsxlwnfcm30dfrvjqcgz5s2v71jiaq"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
-45
View File
@@ -19,7 +19,6 @@
;;; Copyright © 2024 Romain Garbage <romain.garbage@inria.fr>
;;; Copyright © 2024 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -834,47 +833,3 @@ outside of a PMIx-enabled environment.")
(home-page "https://openpmix.github.io/")
;; The provided license is kind of BSD-style but specific.
(license (license:fsf-free "https://github.com/openpmix/prrte?tab=License-1-ov-file#License-1-ov-file"))))
(define-public python-simple-slurm
(package
(name "python-simple-slurm")
(version "0.3.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/amq92/simple_slurm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1vfbd8rp4qd9375f2v26dm99c53jc3x3dpcllz812ly964qi7rnd"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list
;; these tests need slurm installed
"--deselect=test/test_cli.py::Testing::test_01_using_equal"
"--deselect=test/test_cli.py::Testing::test_02_using_spaces"
"--deselect=test/test_cli.py::Testing::test_03_using_equal_and_spaces"
"--deselect=test/test_core.py::Testing::test_14_srun_returncode"
"--deselect=test/test_core.py::Testing::test_15_sbatch_execution"
"--deselect=test/test_core.py::Testing::test_19_sbatch_execution_with_job_file"
"--deselect=test/test_core.py::Testing::test_22_parsable_sbatch_execution")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'hardcode-sbatch-and-srun-command
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "simple_slurm/core.py"
(("\"sbatch\"")
(string-append "\"" (search-input-file inputs "/bin/sbatch") "\""))
(("\"srun\"")
(string-append "\"" (search-input-file inputs "/bin/srun") "\""))))))))
(native-inputs (list python-setuptools python-pytest))
(inputs (list slurm))
(home-page "https://github.com/amq92/simple_slurm")
(synopsis "Simple Python wrapper for Slurm with flexibility in mind")
(description
"This package provides a simple Python wrapper for Slurm with flexibility in
mind.")
(license license:agpl3)))
+1 -4
View File
@@ -45,7 +45,6 @@
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025 Isidor Zeuner <guix@quidecco.pl>
;;; Copyright © 2026 John Dawson <dawson.john.andrew@gmail.com>
;;; Copyright © 2026 Ivan Vilata i Balaguer <ivan@selidor.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -137,7 +136,6 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages wm)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
@@ -874,8 +872,7 @@ command-line programs (@command{pwqcheck}, @command{pwqfilter}, and
(string-append #$output "/share/man/man1")))))))
(build-system pyproject-build-system)
(inputs
(list bash-minimal gtk gobject-introspection python-i3ipc python-xdo
python-gpg python-pygobject))
(list bash-minimal gtk+ python-xdo python-gpg python-pygobject))
(propagated-inputs
(list xclip))
(native-inputs
@@ -2,16 +2,28 @@ Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Remove [patch.crates-io] and [patch.'ssh://...'] sections.
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
@@ -311,16 +311,3 @@
@@ -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
@@ -1,92 +0,0 @@
From 8d651d7247c4e8cf07ba805712cdb09e8095dd89 Mon Sep 17 00:00:00 2001
Message-ID: <8d651d7247c4e8cf07ba805712cdb09e8095dd89.1773006315.git.dannym@friendly-machines.com>
From: Danny Milosavljevic <dannym@friendly-machines.com>
Date: Sun, 8 Mar 2026 21:44:05 +0000
Subject: [PATCH] Scope native-comp trampoline disabling to spy-on only
See: <https://github.com/jorgenschaefer/emacs-buttercup/pull/257>
buttercup-with-cleanup disabled native-comp-enable-subr-trampolines
for the entire spec execution. This was a workaround for Emacs
bug#61880, where trampoline compilation fails when spy-on redefines
primitives that the trampoline compiler itself depends on (e.g.
file-exists-p).
However, disabling trampolines globally has the side effect that fset
overrides of C primitives become invisible to natively compiled code.
This breaks shut-up's message override when called indirectly through
native-compiled functions like display-message-or-buffer (from
simple.eln), because without a trampoline, the native code calls the C
primitive directly, bypassing the fset'd function.
Move the trampoline disabling from buttercup-with-cleanup into
buttercup--spy-on-and-call-replacement, scoping it to just the fset
call that installs the spy. This avoids the trampoline compilation
issue while allowing other fset overrides (e.g. from shut-up or
cl-letf) to work correctly with native-compiled callers.
---
buttercup.el | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/buttercup.el b/buttercup.el
index 07e003f..417786d 100644
--- a/buttercup.el
+++ b/buttercup.el
@@ -1293,12 +1293,23 @@ responsibility to ensure ARG is a command."
(error "Spies can only be created in `before-each' or `it'"))))
+(defvar native-comp-enable-subr-trampolines)
+(defvar comp-enable-subr-trampolines)
+
(defun buttercup--spy-on-and-call-replacement (spy fun)
"Replace the function in symbol SPY with a spy calling FUN."
(let ((orig-function (and (fboundp spy) (symbol-function spy))))
(when (buttercup--add-cleanup (lambda ()
(fset spy orig-function)))
- (fset spy (buttercup--make-spy fun)))))
+ ;; Disable subr trampoline generation around the fset call.
+ ;; Redefining certain primitives causes trampoline compilation
+ ;; to fail because the trampoline compiler itself depends on
+ ;; primitives that may have just been redefined.
+ ;; See <https://github.com/jorgenschaefer/emacs-buttercup/issues/230>
+ ;; and <https://debbugs.gnu.org/61880>.
+ (let ((native-comp-enable-subr-trampolines nil)
+ (comp-enable-subr-trampolines nil))
+ (fset spy (buttercup--make-spy fun))))))
(defun buttercup--make-spy (fun)
"Create a new spy function wrapping FUN and tracking every call to itself."
@@ -1343,24 +1354,13 @@ responsibility to ensure ARG is a command."
Should always be set to a value that is not `listp', except while
in a `buttercup-with-cleanup' environment.")
-(defvar native-comp-enable-subr-trampolines)
-(defvar comp-enable-subr-trampolines)
-
(defmacro buttercup-with-cleanup (&rest body)
"Execute BODY, cleaning spys and the rest afterwards."
- `(,@(if (fboundp 'with-suppressed-warnings)
- '(with-suppressed-warnings ((obsolete comp-enable-subr-trampolines)))
- '(progn))
- (let ((buttercup--cleanup-functions nil)
- ;; Redefining certain primitive's trampolines will cause problems,
- ;; see https://github.com/jorgenschaefer/emacs-buttercup/issues/230 and
- ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61880
- (comp-enable-subr-trampolines nil)
- (native-comp-enable-subr-trampolines nil))
- (unwind-protect (progn ,@body)
- (dolist (fun buttercup--cleanup-functions)
- (ignore-errors
- (funcall fun)))))))
+ `(let ((buttercup--cleanup-functions nil))
+ (unwind-protect (progn ,@body)
+ (dolist (fun buttercup--cleanup-functions)
+ (ignore-errors
+ (funcall fun))))))
(defun buttercup--add-cleanup (function)
"Register FUNCTION for cleanup in `buttercup-with-cleanup'."
base-commit: cc5a2ab7c7f18aaaf525fac61fe59bae5ad018dd
--
2.52.0
@@ -0,0 +1,40 @@
diff --git a/test/mke2fs.dump b/test/mke2fs.dump
index 8e63662..0c25798 100644
--- a/test/mke2fs.0.dump
+++ b/test/mke2fs.0.dump
@@ -11,7 +11,7 @@
Inode count: 8192
Block count: 32768
Reserved block count: 1638
-Free blocks: 26568
+Free blocks: 26566
Free inodes: 8141
First block: 1
Block size: 1024
@@ -29,7 +29,7 @@
Maximum mount count: -1
Last checked: Sat Jan 1 00:00:00 2000
Check interval: 0 (<none>)
-Lifetime writes: 141 kB
+Lifetime writes: 143 kB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
@@ -51,13 +51,13 @@
Journal start: 0
-Group 0: (Blocks 1-8192) csum 0x74a0 [ITABLE_ZEROED]
+Group 0: (Blocks 1-8192) csum 0x3f30 [ITABLE_ZEROED]
Primary superblock at 1, Group descriptors at 2-2
- Block bitmap at 3 (+2), csum 0x16cec4db
+ Block bitmap at 3 (+2), csum 0x8d67cdef
Inode bitmap at 7 (+6), csum 0xb1052088
Inode table at 11-522 (+10)
- 6093 free blocks, 1997 free inodes, 18 directories, 1997 unused inodes
- Free blocks: 2100-8192
+ 6091 free blocks, 1997 free inodes, 18 directories, 1997 unused inodes
+ Free blocks: 2102-8192
Free inodes: 52-2048
Group 1: (Blocks 8193-16384) csum 0x8fde [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Backup superblock at 8193, Group descriptors at 8194-8194
@@ -1,90 +0,0 @@
From f30cc463a948260088b496c3609dd91c83c0ce1b Mon Sep 17 00:00:00 2001
From: Brice Goglin <Brice.Goglin@inria.fr>
Date: Mon, 16 Feb 2026 15:00:53 +0100
Subject: [PATCH] configure: add --with-opencl=<dir>
For non-ROCm non-CUDA installs.
Thanks to Romain Garbage for the suggestion.
Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
(cherry picked from commit 462eff5a4541dfcb3db15034490c796c4f1d8ec6)
---
config/hwloc.m4 | 18 +++++++++++++++---
config/hwloc_internal.m4 | 13 ++++++++++++-
2 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/config/hwloc.m4 b/config/hwloc.m4
index e0057e8e5..4a26a7ec0 100644
--- a/config/hwloc.m4
+++ b/config/hwloc.m4
@@ -1,7 +1,7 @@
dnl -*- Autoconf -*-
dnl
dnl SPDX-License-Identifier: BSD-3-Clause
-dnl Copyright © 2009-2025 Inria. All rights reserved.
+dnl Copyright © 2009-2026 Inria. All rights reserved.
dnl Copyright © 2009-2012, 2015-2017, 2020, 2023, 2025 Université Bordeaux
dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
dnl University Research and Technology
@@ -1365,6 +1365,18 @@ return rsmi_init(0);
echo "**** OpenCL configuration"
hwloc_opencl_happy=yes
+
+ if test "x$with_opencl" != x -a "x$with_opencl" != xyes; then
+ opencl_dir=$with_opencl
+ AC_MSG_NOTICE([using custom OpenCL install path $opencl_dir ...])
+ else
+ AC_MSG_NOTICE([assuming OpenCL is installed in standard directories ...])
+ fi
+ if test "x$opencl_dir" != x; then
+ HWLOC_OPENCL_CPPFLAGS="-I$opencl_dir/include/"
+ HWLOC_OPENCL_LDFLAGS="-L$opencl_dir/lib/"
+ fi
+
case ${target} in
*-*-darwin*)
# On Darwin, only use the OpenCL framework
@@ -1387,8 +1399,8 @@ return clGetDeviceIDs(0, 0, 0, NULL, NULL);
;;
*)
# On Others, look for OpenCL at normal locations
- HWLOC_OPENCL_CPPFLAGS="$HWLOC_CUDA_COMMON_CPPFLAGS"
- HWLOC_OPENCL_LDFLAGS="$HWLOC_CUDA_COMMON_LDFLAGS"
+ HWLOC_OPENCL_CPPFLAGS="$HWLOC_OPENCL_CPPFLAGS $HWLOC_CUDA_COMMON_CPPFLAGS"
+ HWLOC_OPENCL_LDFLAGS="$HWLOC_OPENCL_LDFLAGS $HWLOC_CUDA_COMMON_LDFLAGS"
if test "x$rocm_dir" != x; then
if test -d "$rocm_dir/include/CL"; then
HWLOC_OPENCL_CPPFLAGS="$HWLOC_OPENCL_CPPFLAGS -I$rocm_dir/include/"
diff --git a/config/hwloc_internal.m4 b/config/hwloc_internal.m4
index da6505e91..1135a245f 100644
--- a/config/hwloc_internal.m4
+++ b/config/hwloc_internal.m4
@@ -1,7 +1,7 @@
dnl -*- Autoconf -*-
dnl
dnl SPDX-License-Identifier: BSD-3-Clause
-dnl Copyright © 2010-2025 Inria. All rights reserved.
+dnl Copyright © 2010-2026 Inria. All rights reserved.
dnl Copyright © 2009, 2011 Université Bordeaux
dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
dnl University Research and Technology
@@ -147,6 +147,17 @@ AC_DEFUN([HWLOC_DEFINE_ARGS],[
[AC_MSG_ERROR([--with-amdgpu=<dir> missing the installation directory])])]
)
+ # OpenCL
+ AC_ARG_ENABLE([opencl],
+ AS_HELP_STRING([--disable-opencl],
+ [Disable the OpenCL device discovery]))
+ AC_ARG_WITH([opencl],
+ AS_HELP_STRING([--with-opencl=<dir>],
+ [Specify the OpenCL installation directory]),
+ [AS_IF([test "x$withval" = xyes -o "x$withval" = x],
+ [AC_MSG_ERROR([--with-opencl=<dir> missing the installation directory])])]
+ )
+
# LevelZero
AC_ARG_ENABLE([levelzero],
AS_HELP_STRING([--disable-levelzero],
@@ -0,0 +1,89 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-07
License: ASL2.0
Subject: Use libc::flock instead of unstable std File::try_lock().
The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>
and is not yet stable in old Rust versions like Rust 1.88.
diff -ruN a/codex-rs/arg0/Cargo.toml b/codex-rs/arg0/Cargo.toml
--- a/codex-rs/arg0/Cargo.toml
+++ b/codex-rs/arg0/Cargo.toml
@@ -17,5 +17,6 @@
codex-core = { workspace = true }
codex-linux-sandbox = { workspace = true }
dotenvy = { workspace = true }
+libc = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread"] }
diff -ruN a/codex-rs/arg0/src/lib.rs b/codex-rs/arg0/src/lib.rs
--- a/codex-rs/arg0/src/lib.rs
+++ b/codex-rs/arg0/src/lib.rs
@@ -5,6 +5,8 @@
use codex_core::CODEX_APPLY_PATCH_ARG1;
#[cfg(unix)]
+use std::os::unix::io::AsRawFd;
+#[cfg(unix)]
use std::os::unix::fs::symlink;
use tempfile::TempDir;
@@ -13,6 +15,18 @@
const MISSPELLED_APPLY_PATCH_ARG0: &str = "applypatch";
const LOCK_FILENAME: &str = ".lock";
+// FIXME: Remove this helper when Rust provides stable file locking API.
+// The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
+#[cfg(unix)]
+fn try_lock_exclusive(file: &File) -> std::io::Result<()> {
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_EX | libc::LOCK_NB) };
+ if ret == 0 {
+ Ok(())
+ } else {
+ Err(std::io::Error::last_os_error())
+ }
+}
+
/// Keeps the per-session PATH entry alive and locked for the process lifetime.
pub struct Arg0PathEntryGuard {
_temp_dir: TempDir,
@@ -216,7 +230,7 @@
.create(true)
.truncate(false)
.open(&lock_path)?;
- lock_file.try_lock()?;
+ try_lock_exclusive(&lock_file)?;
for filename in &[
APPLY_PATCH_ARG0,
@@ -307,10 +321,10 @@
Err(err) => return Err(err),
};
- match lock_file.try_lock() {
+ match try_lock_exclusive(&lock_file) {
Ok(()) => Ok(Some(lock_file)),
- Err(std::fs::TryLockError::WouldBlock) => Ok(None),
- Err(err) => Err(err.into()),
+ Err(ref e) if e.raw_os_error() == Some(libc::EWOULDBLOCK) => Ok(None),
+ Err(err) => Err(err),
}
}
@@ -318,6 +332,7 @@
mod tests {
use super::LOCK_FILENAME;
use super::janitor_cleanup;
+ use super::try_lock_exclusive;
use std::fs;
use std::fs::File;
use std::path::Path;
@@ -350,7 +365,7 @@
let dir = root.path().join("locked");
fs::create_dir(&dir)?;
let lock_file = create_lock(&dir)?;
- lock_file.try_lock()?;
+ try_lock_exclusive(&lock_file)?;
janitor_cleanup(root.path())?;
@@ -0,0 +1,91 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-01-25
License: ASL2.0
Subject: Use libc::flock instead of unstable std File::try_lock()/try_lock_shared().
The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
and is not yet stable in old Rust versions like Rust 1.85.
The file_lock feature was stabilized after Rust 1.88, but we only have 1.88.
diff -u a/codex-rs/core/src/message_history.rs b/codex-rs/core/src/message_history.rs
--- a/codex-rs/core/src/message_history.rs
+++ b/codex-rs/core/src/message_history.rs
@@ -41,6 +41,8 @@
use std::os::unix::fs::OpenOptionsExt;
#[cfg(unix)]
use std::os::unix::fs::PermissionsExt;
+#[cfg(unix)]
+use std::os::unix::io::AsRawFd;
/// Filename that stores the message history inside `~/.codex`.
const HISTORY_FILENAME: &str = "history.jsonl";
@@ -51,6 +53,28 @@
const MAX_RETRIES: usize = 10;
const RETRY_SLEEP: Duration = Duration::from_millis(100);
+// FIXME: Remove these helpers when Rust provides stable file locking API
+// The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
+#[cfg(unix)]
+fn try_lock_exclusive(file: &File) -> std::io::Result<()> {
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_EX | libc::LOCK_NB) };
+ if ret == 0 {
+ Ok(())
+ } else {
+ Err(std::io::Error::last_os_error())
+ }
+}
+
+#[cfg(unix)]
+fn try_lock_shared(file: &File) -> std::io::Result<()> {
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_SH | libc::LOCK_NB) };
+ if ret == 0 {
+ Ok(())
+ } else {
+ Err(std::io::Error::last_os_error())
+ }
+}
+
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub struct HistoryEntry {
pub session_id: String,
@@ -126,7 +150,7 @@
tokio::task::spawn_blocking(move || -> Result<()> {
// Retry a few times to avoid indefinite blocking when contended.
for _ in 0..MAX_RETRIES {
- match history_file.try_lock() {
+ match try_lock_exclusive(&history_file) {
Ok(()) => {
// While holding the exclusive lock, write the full line.
// We do not open the file with `append(true)` on Windows, so ensure the
@@ -137,10 +161,10 @@
enforce_history_limit(&mut history_file, history_max_bytes)?;
return Ok(());
}
- Err(std::fs::TryLockError::WouldBlock) => {
+ Err(ref e) if e.kind() == std::io::ErrorKind::WouldBlock => {
std::thread::sleep(RETRY_SLEEP);
}
- Err(e) => return Err(e.into()),
+ Err(e) => return Err(e),
}
}
@@ -341,7 +365,7 @@
// Open & lock file for reading using a shared lock.
// Retry a few times to avoid indefinite blocking.
for _ in 0..MAX_RETRIES {
- let lock_result = file.try_lock_shared();
+ let lock_result = try_lock_shared(&file);
match lock_result {
Ok(()) => {
@@ -368,7 +392,7 @@
// Not found at requested offset.
return None;
}
- Err(std::fs::TryLockError::WouldBlock) => {
+ Err(ref e) if e.kind() == std::io::ErrorKind::WouldBlock => {
std::thread::sleep(RETRY_SLEEP);
}
Err(e) => {
@@ -0,0 +1,49 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-01-25
License: ASL2.0
Subject: Use libc::flock instead of unstable std File::lock().
The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
and is not yet stable in old Rust versions like Rust 1.85.
The file_lock feature was stabilized after Rust 1.88, but we only have 1.88.
diff -u a/codex-rs/execpolicy/Cargo.toml b/codex-rs/execpolicy/Cargo.toml
--- a/codex-rs/execpolicy/Cargo.toml
+++ b/codex-rs/execpolicy/Cargo.toml
@@ -19,6 +19,7 @@
[dependencies]
anyhow = { workspace = true }
clap = { workspace = true, features = ["derive"] }
+libc = { workspace = true }
multimap = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
diff -u a/codex-rs/execpolicy/src/amend.rs b/codex-rs/execpolicy/src/amend.rs
--- a/codex-rs/execpolicy/src/amend.rs
+++ b/codex-rs/execpolicy/src/amend.rs
@@ -1,4 +1,5 @@
use std::fs::OpenOptions;
+use std::os::unix::io::AsRawFd;
use std::io::Read;
use std::io::Seek;
use std::io::SeekFrom;
@@ -100,10 +101,14 @@
path: policy_path.to_path_buf(),
source,
})?;
- file.lock().map_err(|source| AmendError::LockPolicyFile {
- path: policy_path.to_path_buf(),
- source,
- })?;
+ // FIXME: Use file.lock() when Rust 1.91 is available
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_EX) };
+ if ret != 0 {
+ return Err(AmendError::LockPolicyFile {
+ path: policy_path.to_path_buf(),
+ source: std::io::Error::last_os_error(),
+ });
+ }
let len = file
.metadata()
-22
View File
@@ -616,28 +616,6 @@ using NumPy-like idioms.")
line drawing algorithm}.")
(license license:expat)))
(define-public python-catppuccin
(package
(name "python-catppuccin")
(version "2.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "catppuccin" version))
(sha256
(base32 "0d38gjn6661pb9jl4bg6l698aw4llir44xacrg8nj8xw6nzz6d9h"))))
(build-system pyproject-build-system)
(native-inputs
(list python-hatchling python-pytest
;; These are optional dependencies but required for tests.
python-matplotlib python-pygments python-rich))
(home-page "https://github.com/catppuccin/python")
(synopsis "Pastel palette for Python libraries")
(description "Catppuccin for Python is a soothing pastel pallete for Python
libraries. It aims to be the middle ground between low and high contrast
themes. It also includes themes for IPython, Matplotlib, Pygments and Rich.")
(license license:expat)))
(define-public python-calmjs-parse
(package
(name "python-calmjs-parse")
+1 -35
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2023, 2026 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014, 2015, 2023 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2025 宋文武 <iyzsong@envs.net>
;;; Copyright © 2015, 2018-2021, 2023, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015-2019, 2024, 2025 Efraim Flashner <efraim@flashner.co.il>
@@ -36,7 +36,6 @@
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2024, 2026 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -103,7 +102,6 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages kde-sdk)
#:use-module (gnu packages libevent)
@@ -5526,38 +5524,6 @@ different kinds of sliders, and much more.")
;; textengines/mathml/qwt_mml_document.{cpp,h} is dual LGPL2.1/GPL3 (either).
license:lgpl2.1 license:gpl3))))
(define-public jkqtplotter
(package
(name "jkqtplotter")
(version "4.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jkriege2/JKQtPlotter")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yi80d8w4l69siia5rvdzakyzkm7vbpfk6ffcwc6vm6z0i58m9cl"))))
(build-system qt-build-system)
(inputs (list opencv qtsvg))
(arguments
(list
#:qtbase qtbase
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'delete-broken-binaries
(lambda _
(delete-file-recursively (string-append #$output "/bin")))))))
(home-page "https://jkriege2.github.io/JKQtPlotter/index.html")
(synopsis "Qt Plotting Library")
(description
"JKQTPlotter is a library of function and data plotter classes for Qt.
It includes a plotter widget and a LaTeX equation renderer and supports
a variety of graphs and charts.")
(license license:lgpl2.1+)))
(define-public dotherside
(package
(name "dotherside")
-22
View File
@@ -325,28 +325,6 @@ acts as the performance backbone for a wide variety of compute
applications running on AMD GPUs.")
(license license:expat)))
(define-public rocm-validationsuite
(package
(name "rocm-validationsuite")
(version %rocm-version)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ROCm/rocmvalidationsuite/")
(commit (string-append "rocm-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1l577sd88f4f46am6w81n7rbswx39zy602xbqrk3zqb156k14s2s"))))
(build-system cmake-build-system)
(inputs (list rocblas))
(home-page "https://rocm.docs.amd.com/projects/ROCmValidationSuite/")
(synopsis "ROCm system validation and diagnostics")
(description "ROCm monitor for stress testing, detection and
troubleshooting issues impacting AMD GPUS in HPC environments.")
(license license:expat)))
(define hipblaslt-supported-targets
(list "gfx1100"
"gfx1101"
+1 -1
View File
@@ -293,7 +293,7 @@ available to ROCm and show their properties.")
"19jyymisxiikphzmq6h8vy5cg0r5dz3lxr5wvdf44frb8wxr8vla"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Tests try to use git commit
(native-inputs (list git-minimal/pinned))
(native-inputs (list git))
(home-page "https://rocm.docs.amd.com/projects/ROCmCMakeBuildTools/")
(synopsis "ROCm cmake modules")
(description "ROCm cmake modules provides cmake modules for common build
+369 -53
View File
@@ -125,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)
@@ -836,6 +837,374 @@ Commit and SemVer specifications.")
"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")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zed-industries/codex-acp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "190sq6s6jfz8dkj1y8305r7x6ln86qqr2j1bnfjci7f1x2wyzmsj"))
(patches (search-patches "codex-acp-0.9.2-remove-patch-sections.patch"
"codex-acp-0.9.2-replace-result-flatten.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:rust rust-1.88
#:install-source? #f
;; Skip doctests (--doc) because rustdoc is unavailable for non-default
;; Rust versions in Guix.
#:cargo-test-flags '(list "--lib" "--bins" "--tests")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-codex-deps
(lambda _
;; Rewrite git dependencies to use vendored sources from rust-codex
(substitute* "Cargo.toml"
(("git = \"https://github.com/zed-industries/codex\", branch = \"acp\"")
"version = \"0.0.0\"")))))))
(native-inputs (list pkg-config))
(inputs (cons* openssl sqlite `(,zstd "lib") (cargo-inputs 'codex-acp)))
(home-page "https://github.com/zed-industries/codex-acp")
(synopsis "ACP-compatible agent bridging Zed Codex with ACP clients")
(description
"This package provides an Agent Client Protocol (ACP) compatible agent
that bridges the Zed Codex runtime with ACP clients over stdio. It
supports multiple LLM providers through configuration in
@file{~/.codex/config.toml} and integrates with MCP servers for filesystem
operations.")
(license license:asl2.0)))
(define-public complgen
(package
(name "complgen")
@@ -1732,59 +2101,6 @@ replacement for i3status, written in pure Rust. It provides a way to display
bar. It is also compatible with sway.")
(license license:gpl3)))
(define-public ianny
(package
(name "ianny")
(version "2.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zefr0x/ianny")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "14nmpz7nkjj2rr3g4f3npg8dd5b533wp73q90q4vgp06rf9mbyq8"))))
(build-system meson-build-system)
(arguments
(list
#:imported-modules `(,@%meson-build-system-modules
,@%cargo-build-system-modules)
#:modules '(((guix build cargo-build-system) #:prefix cargo:)
(guix build meson-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prepare-for-build
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "meson.build"
(("/etc/xdg/autostart")
(string-append (assoc-ref outputs "out")
"/etc/xdg/autostart")))
(delete-file "Cargo.lock")))
;; The meson 'configure phase changes to a different directory and
;; we need it created before unpacking the crates.
(add-after 'configure 'prepare-cargo-build-system
(lambda args
(for-each
(lambda (phase)
(format #t "Running cargo phase: ~a~%" phase)
(apply (assoc-ref cargo:%standard-phases phase)
#:vendor-dir "vendor"
args))
'(unpack-rust-crates
configure
check-for-pregenerated-files
patch-cargo-checksums)))))))
(native-inputs (list pkg-config rust `(,rust "cargo")))
(inputs
(cons dbus (cargo-inputs 'ianny)))
(home-page "https://github.com/zefr0x/ianny")
(synopsis "RSI break timer for Wayland")
(description "Desktop utility that helps prevent repetitive strain injuries
by keeping track of usage patterns and periodically reminding the user to take
breaks.")
(license license:gpl3)))
(define-public iwmenu
(package
(name "iwmenu")
+599 -1553
View File
File diff suppressed because it is too large Load Diff
+15 -4
View File
@@ -728,7 +728,13 @@ intelligence.")
(file-name (git-file-name name version))
(sha256
(base32 "0rwj1ykknng39mhzna3fw3rcl3vngynsjdcj1namgkvw91zd9dl7"))
(patches (search-patches "rust-codex-0.98.0-core-remove-self-dep.patch"))))
;; 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>.
(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"))))
(build-system cargo-build-system)
(arguments
(list
@@ -826,6 +832,9 @@ and runtime for AI-assisted coding.")
(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
@@ -836,7 +845,10 @@ and runtime for AI-assisted coding.")
;; 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-core-remove-self-dep.patch"
(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)
@@ -876,8 +888,7 @@ and runtime for AI-assisted coding.")
"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
"codex-network-proxy") ; Depends on codex-core, rama
"codex-mcp-server") ; Depends on codex-core, codex-common
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir-to-workspace
-60
View File
@@ -1827,66 +1827,6 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
(("features = \\[\"fs\"" all)
(string-append all ", \"use-libc\""))))))))))
(define-public rust-1.94
(let ((base-rust
(rust-bootstrapped-package
rust-1.93 "1.94.0"
"0k274dla70wnajjli2w80by9k4nqf2wah1lw9xhzy8gkscf94gxq")))
(package
(inherit base-rust)
(source
(origin
(inherit (package-source base-rust))
(snippet
'(begin
(for-each delete-file-recursively
'("src/llvm-project"
"vendor/curl-sys-0.4.79+curl-8.12.0/curl"
"vendor/curl-sys-0.4.84+curl-8.17.0/curl"
"vendor/jemalloc-sys-0.5.3+5.3.0-patched/jemalloc"
"vendor/jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
"vendor/libffi-sys-4.1.0/libffi"
"vendor/libz-sys-1.1.21/src/zlib"
"vendor/libz-sys-1.1.23/src/zlib"
"vendor/libmimalloc-sys-0.1.44/c_src/mimalloc"
"vendor/openssl-src-111.28.2+1.1.1w/openssl"
"vendor/openssl-src-300.5.0+3.5.0/openssl"
"vendor/openssl-src-300.5.4+3.5.4/openssl"
"vendor/tikv-jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
"vendor/tikv-jemalloc-sys-0.6.1+5.3.0-1-\
ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
;; Remove vendored dynamically linked libraries.
;; find . -not -type d -executable -exec file {} \+ | grep ELF
;; Also remove the bundled (mostly Windows) libraries.
(for-each delete-file
(find-files "vendor" "\\.(a|dll|exe|lib)$"))
;; Use the packaged nghttp2.
(for-each
(lambda (ver)
(let ((vendored-dir
(format #f "vendor/libnghttp2-sys-~a/nghttp2" ver))
(build-rs
(format #f "vendor/libnghttp2-sys-~a/build.rs" ver)))
(delete-file-recursively vendored-dir)
(delete-file build-rs)
(call-with-output-file build-rs
(lambda (port)
(format port "fn main() {~@
println!(\"cargo:rustc-link-lib=nghttp2\");~@
}~%")))))
'("0.1.11+1.64.0"))
;; Adjust vendored dependency to explicitly use rustix with libc
;; backend.
(substitute* '("vendor/tempfile-3.14.0/Cargo.toml"
"vendor/tempfile-3.16.0/Cargo.toml"
"vendor/tempfile-3.19.1/Cargo.toml"
"vendor/tempfile-3.20.0/Cargo.toml"
"vendor/tempfile-3.21.0/Cargo.toml"
"vendor/tempfile-3.23.0/Cargo.toml"
"vendor/tempfile-3.24.0/Cargo.toml")
(("features = \\[\"fs\"" all)
(string-append all ", \"use-libc\""))))))))))
(define (make-ignore-test-list strs)
"Function to make creating a list to ignore tests a bit easier."
(map (lambda (str)
-56
View File
@@ -591,62 +591,6 @@ tags, drag and drop support, tray icon, node icons, hyperlinks, pdf and html
export, password protection and auto-saving.")
(license license:gpl3+)))
(define-public pueue
(package
(name "pueue")
(version "4.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Nukesor/pueue")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0zbplfab4glj6f9rip4immca5vabyd132c4k4gch3hrmq7w39x7b"))))
(build-system cargo-build-system)
(arguments
(list
#:cargo-install-paths ''("pueue")
#:install-source? #f
#:modules
'((guix build cargo-build-system)
(guix build utils)
(ice-9 match))
#:phases
#~(modify-phases %standard-phases
(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/pueue")
(in-vicinity #$output "bin/pueue"))))
(with-output-to-file (in-vicinity #$output path)
(lambda _
(invoke binary "completions" shell))))))
'(("bash" . "share/bash-completion/completions/pueue")
("elvish" . "share/elvish/lib/pueue")
("fish" . "share/fish/vendor_completions.d/pueue.fish")
("nushell" . "share/nushell/vendor/autoload/pueue")
("zsh" . "share/zsh/site-functions/_pueue"))))))))
(native-inputs
(if (%current-target-system)
(list this-package)
'()))
(inputs (cargo-inputs 'pueue))
(home-page "https://github.com/Nukesor/pueue")
(synopsis
"Task management for sequential and parallel execution of long-running tasks")
(description
"Pueue is a tool that processes a queue of shell commands. On top of that,
there are a lot of convenient features and abstractions like task groups, task
scheduling and background process execution.")
(license (list license:asl2.0 license:expat))))
(define-public wtime
(package
(name "wtime")
+107 -87
View File
@@ -313,97 +313,117 @@ asciinema-created terminal session recordings.")
(license license:gpl3)))
(define-public libtsm
(package
(name "libtsm")
(version "4.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kmscon/libtsm")
(commit (string-append "v" version))))
(sha256
(base32
"02ab605bh6raq4kvb73s6fqqblra65jcl7cd3swmcmqwdimgzmpi"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(delete-file-recursively "external/xkbcommon"))))
(build-system meson-build-system)
(native-inputs
(list check
libxkbcommon
pkg-config))
(home-page "https://github.com/kmscon/libtsm")
(synopsis "Terminal Emulator State Machine library")
(description
"TSM is a state machine for @acronym{DEC, Digital Equipment Corporation}
VT100-VT520 compatible terminal emulators. It tries to support all common
standards while keeping compatibility to existing emulators like xterm,
gnome-terminal, konsole, among others.")
;; Hash table implementation is lgpl2.1+ licensed.
;; The wcwidth implementation in external/wcwidth.{h,c} uses a MIT-style
;; license.
;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released
;; under the bsd 2 license.
(license
(list license:bsd-2
license:expat
license:lgpl2.1+))))
(let ((commit "f70e37982f382b03c6939dac3d5f814450bda253")
(revision "1"))
(package
(name "libtsm")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
;; The freedesktop repository is no longer maintained.
(uri (git-reference
(url (string-append "https://github.com/Aetf/" name))
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove a bundled copy of libxkbcommon's xkbcommon-keysyms.h.
(delete-file-recursively "external/xkbcommon")
#t))))
(build-system cmake-build-system)
(native-inputs
(list check libxkbcommon ; for xkbcommon-keysyms.h
pkg-config))
(synopsis "Xterm state machine library")
(description "TSM is a state machine for DEC VT100-VT520 compatible
terminal emulators. It tries to support all common standards while keeping
compatibility to existing emulators like xterm, gnome-terminal, konsole, etc.")
(home-page "https://www.freedesktop.org/wiki/Software/libtsm")
;; Hash table implementation is lgpl2.1+ licensed.
;; The wcwidth implementation in external/wcwidth.{h,c} uses a license
;; derived from ISC.
;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released
;; under the bsd 2 license.
(license (list license:expat license:lgpl2.1+ license:isc license:bsd-2)))))
(define-public kmscon
(package
(name "kmscon")
(version "9.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kmscon/kmscon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0jssf69n76lhvx4b2kmk4hn0sjfj6pjmdq5h7hz57n6qgpg3zlxx"))))
(build-system meson-build-system)
(native-inputs
(list check
pkg-config
libxslt
docbook-xsl))
(inputs
(list elogind
eudev
libdrm
libtsm
libxkbcommon
;; MESA is useful for accelerated video output via OpenGLESv2, but,
;; being a big dependency, we would rather avoid it in the
;; installation image.
;; mesa
pango))
(home-page "https://www.freedesktop.org/wiki/Software/kmscon")
(synopsis "Linux KMS-based terminal emulator")
(description
"Kmscon is a terminal emulator based on Linux's @acronym{KMS, kernel mode
setting}. It can replace the in-kernel @acronym{VT, virtual terminal}
(let ((commit "01dd0a231e2125a40ceba5f59fd945ff29bf2cdc")
(revision "1"))
(package
(name "kmscon")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
;; The freedesktop repository is no longer maintained.
(uri (git-reference
(url (string-append "https://github.com/Aetf/" name))
(commit commit)))
(sha256
(base32
"0q62kjsvy2iwy8adfiygx2bfwlh83rphgxbis95ycspqidg9py87"))
(patches
(search-patches "kmscon-runtime-keymap-switch.patch"))
(modules '((guix build utils)))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
;; Use elogind instead of systemd.
(add-before 'configure 'remove-systemd
(lambda _
(substitute* "configure"
(("libsystemd-daemon libsystemd-login")
"libelogind"))
(substitute* "src/uterm_systemd.c"
(("#include <systemd/sd-login.h>")
"#include <elogind/sd-login.h>")
;; We don't have this header.
(("#include <systemd/sd-daemon\\.h>")
"")
;; Replace the call to 'sd_booted' by the truth value.
(("sd_booted\\(\\)")
"1")))))))
(native-inputs
(list pkg-config
autoconf
automake
libtool
libxslt ;to build the man page
docbook-xsl))
(inputs
`(("libdrm" ,libdrm)
("libtsm" ,libtsm)
("libxkbcommon" ,libxkbcommon)
("logind" ,elogind)
;; MESA can be used for accelerated video output via OpenGLESv2, but
;; it's a big dependency that we'd rather avoid in the installation
;; image.
;; ("mesa" ,mesa)
("pango" ,pango)
("udev" ,eudev)))
(synopsis "Linux KMS-based terminal emulator")
(description "Kmscon is a terminal emulator based on Linux's @dfn{kernel
mode setting} (KMS). It can replace the in-kernel virtual terminal (VT)
implementation with a user-space console. Compared to the Linux console,
kmscon provides enhanced features including XKB-compatible internationalized
keyboard support, UTF-8 input/font support, hardware-accelerated rendering,
multi-seat support, a replacement for @command{mingetty}, and more.")
;; Hash table implementation is lgpl2.1+ licensed.
;; The wcwidth implementation in external/wcwidth.{h,c} uses a license
;; derived from ISC.
;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released
;; under the bsd 2 license.
;; Unifont-Font is from http://unifoundry.com/unifont.html and licensed
;; under the terms of the GNU GPL.
(license (list license:expat
license:lgpl2.1+
license:bsd-2
license:gpl2+))
(supported-systems (filter (cut string-suffix? "-linux" <>)
%supported-systems))))
(home-page "https://www.freedesktop.org/wiki/Software/kmscon")
;; Hash table implementation is lgpl2.1+ licensed.
;; The wcwidth implementation in external/wcwidth.{h,c} uses a license
;; derived from ISC.
;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released
;; under the bsd 2 license.
;; Unifont-Font is from http://unifoundry.com/unifont.html and licensed
;; under the terms of the GNU GPL.
(license (list license:expat license:lgpl2.1+ license:bsd-2
license:gpl2+))
(supported-systems (filter (cut string-suffix? "-linux" <>)
%supported-systems)))))
(define-public libtermkey
(package
@@ -880,7 +900,7 @@ eye-candy, customizable, and reasonably lightweight.")
(define-public foot
(package
(name "foot")
(version "1.26.1")
(version "1.26.0")
(home-page "https://codeberg.org/dnkl/foot")
(source
(origin
@@ -890,7 +910,7 @@ eye-candy, customizable, and reasonably lightweight.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0rh99jhdf51v5ynirin08lmz9rbfrlbbjwmm1c3b577xpk2ybprp"))))
(base32 "04pbw6v05n8s32mjgjxxzzixzxhcx850fnah14wjhjsx0nnqsway"))))
(build-system meson-build-system)
(arguments
(list
+9 -6
View File
@@ -154,10 +154,6 @@ is on expressing the content semantically, avoiding physical markup commands.")
#~(cons* "--with-external-Unicode-EastAsianWidth"
"--with-external-Text-Unidecode"
"--with-external-libintl-perl"
#$@(if (%current-target-system)
;; tries to build for the native perl
'("--disable-perl-xs")
'())
#$flags))
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
@@ -174,8 +170,15 @@ is on expressing the content semantically, avoiding physical markup commands.")
(cute patch-shebang <> (list (dirname perl)))
(find-files "." ".*[.]pl")))))
#$@(if (%current-target-system)
;; for help2man
#~((add-after 'configure 'fixup-texindex-building-from-git
;; 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"))))
+12 -2
View File
@@ -121,8 +121,18 @@ over IRC, instant messaging, network games, and most server software.")
(sha256
(base32 "1kv6dpj93gckvwvgzxl4vdqpwnicb0c8p0xw53m2gh5naiw44ys4"))))))
;; 2026-03-14
(define-deprecated-package miniupnpc-next miniupnpc)
(define-public miniupnpc-next
(package
(inherit miniupnpc)
(name "miniupnpc-next")
(version "2.3.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://miniupnp.tuxfamily.org/files/"
"miniupnpc-" version ".tar.gz"))
(sha256
(base32 "06mx6kk42px0f08k5pazmjawbj19gnpg3pwxrj4c1mjac7x0lanm"))))))
(define-public libupnp
(package
+11 -7
View File
@@ -1137,7 +1137,7 @@ provides an integration with GitHub and GitLab.")
(define-public got
(package
(name "got")
(version "0.123")
(version "0.122")
(source (origin
(method url-fetch)
(uri
@@ -1146,7 +1146,7 @@ provides an integration with GitHub and GitLab.")
version ".tar.gz"))
(sha256
(base32
"09l55364d8lga34gq8h6y9rs8r3xka57d1dzjr34zvp20dgpkbjk"))))
"0620wb7m867fjcim27dl09csj23a9vq8drca98c94ggibxd9sghw"))))
(inputs
(list libevent
`(,util-linux "lib")
@@ -3638,15 +3638,15 @@ by rclone usable with git-annex.")
(define-public fossil
(package
(name "fossil")
(version "2.28")
(version "2.27")
(source
(origin
(method url-fetch)
(uri (string-append
"https://fossil-scm.org/home/tarball/version-" version
"/fossil-" version ".tar.gz"))
"https://fossil-scm.org/home/tarball/version-" version
"/fossil-" version ".tar.gz"))
(sha256
(base32 "1lw3ridv2id4hf5ksrpjwf7fv65wzs81wli4ksc0qr4h3xfyi66b"))))
(base32 "0mhlvsfqjc46jbr5gf7r1d1xz0hg7w8swpz5gb12y3s14f1lx1fm"))))
(build-system gnu-build-system)
(native-inputs
(list tcl ;for configuration only
@@ -3678,7 +3678,11 @@ by rclone usable with git-annex.")
(add-before 'check 'test-setup
(lambda _
(setenv "USER" "guix")
(setenv "TZ" "UTC"))))))
(setenv "TZ" "UTC")))
(add-after 'test-setup 'disable-broken-test
(lambda _
;; https://fossil-scm.org/home/info/4619d2efab946460
(delete-file "test/settings.test"))))))
(home-page "https://fossil-scm.org")
(synopsis "Software configuration management system")
(description
+4 -6
View File
@@ -58,7 +58,7 @@
;;; Copyright © 2021 Robin Templeton <robin@terpri.org>
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
;;; Copyright © 2022,2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022 Bird <birdsite@airmail.cc>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 Chadwain Holness <chadwainholness@gmail.com>
@@ -239,7 +239,6 @@
#:use-module (gnu packages time)
#:use-module (gnu packages upnp)
#:use-module (gnu packages version-control)
#:use-module (gnu packages vnc)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages wget)
@@ -2509,7 +2508,7 @@ media, 2D/3D graphics and ECMAScript.")
dav1d
dbus
eudev
ffmpeg
ffmpeg-6
flac
fontconfig
freetype
@@ -2546,7 +2545,6 @@ media, 2D/3D graphics and ECMAScript.")
libupnp
libva
libvdpau
libvnc
libvorbis
libvpx
libx264
@@ -3272,7 +3270,7 @@ video streaming services of the Finnish national broadcasting company Yle.")
(define-public yt-dlp
(package
(name "yt-dlp")
(version "2026.03.13")
(version "2026.02.04")
(source
(origin
(method git-fetch)
@@ -3281,7 +3279,7 @@ video streaming services of the Finnish national broadcasting company Yle.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "06bvcibhncmpl0dw440w0f5rngpni2hmdp3ykyy0ba88mfsnh7jb"))))
(base32 "030dashvrzhmp76lgdwnmj5p2405d0hhl91mkiggn187hzzg6y99"))))
(build-system pyproject-build-system)
(arguments
(list
+71 -76
View File
@@ -59,7 +59,7 @@
(define-public spirv-headers
(package
(name "spirv-headers")
(version "1.4.335.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@@ -68,7 +68,7 @@
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32
"16p1g33hw89hl2ldpqck2fggqxiwfgn735j35pwqpbckx8r66chy"))
"11nsfr6z11dx6ccyi9anz2iycxr9i06zl8dk4pdllf3dvk5wq61d"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -91,7 +91,7 @@ and for the GLSL.std.450 extended instruction set.
(define-public spirv-tools
(package
(name "spirv-tools")
(version "1.4.335.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@@ -99,7 +99,7 @@ and for the GLSL.std.450 extended instruction set.
(url "https://github.com/KhronosGroup/SPIRV-Tools")
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32 "05rwpjnfaqn6yy10gn8c9xd0172ri5vgbqrjb7hfa1qjgrj7psqz"))
(base32 "015xymrzch87f3xkzx9rvlglqp39zx4vphjb2dkl5w6qcpz5s1y8"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -122,19 +122,10 @@ SPIR-V modules. The project includes an assembler, binary module
parser,disassembler, validator, and optimizer for SPIR-V.")
(license license:asl2.0)))
(define-public spirv-tools-static
(package/inherit spirv-tools
(name "spirv-tools-static")
(arguments
(substitute-keyword-arguments (package-arguments spirv-tools)
((#:configure-flags flags)
#~(cons* "-DSPIRV_TOOLS_BUILD_STATIC=ON"
(delete "-DSPIRV_TOOLS_BUILD_STATIC=OFF" #$flags)))))))
(define-public spirv-cross
(package
(name "spirv-cross")
(version "1.4.335.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@@ -142,7 +133,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
(url "https://github.com/KhronosGroup/SPIRV-Cross")
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32 "04z7kcg0z4mfnsvfxw1bxzfyq1678zwf1d79j2hyvhkvd2c8fr86"))
(base32 "13fci6z74bxm8pbb3plchx31r04yzb4g11dbzcw3337dsgdllqma"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -237,7 +228,7 @@ translation between LLVM IR and SPIR-V.")
(define-public glslang
(package
(name "glslang")
(version "1.4.335.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@@ -246,7 +237,7 @@ translation between LLVM IR and SPIR-V.")
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32
"0z5zabmjiqgxr935wbk9pr649bxk404nkjkvkavdwj904sg48i3h"))
"1b0zsrv12b34q0wp9g85x11kpd5kjvx4lbn7xv8b4szfpwdkxxxh"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -345,7 +336,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(define-public vulkan-headers/no-loader
(package
(name "vulkan-headers")
(version "1.4.335.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@@ -355,7 +346,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(file-name (git-file-name name version))
(sha256
(base32
"1a2w1g06w06nzr42srrvw06i5p6pzi5n25ldnbd6j8p860pqz1qc"))))
"1kamn5hw5lpw4yxyri4mlrryzhn33bnnrqby0yxla45z5f5f6fb3"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; No tests.
@@ -389,7 +380,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(define-public vulkan-loader
(package
(name "vulkan-loader")
(version "1.4.335.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@@ -399,7 +390,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(file-name (git-file-name name version))
(sha256
(base32
"1xdfqvh9yhybnlfc84qxf65l5snhc8p0a3j6qaryj9m71khd64np"))))
"0fbpypznznvwkqgf2zw85xdpbiq92j95xyldhnjk94lia6bs4klb"))))
(build-system cmake-build-system)
(arguments
(list
@@ -465,60 +456,64 @@ and the ICD.")
license:bsd-3))))
(define-public vulkan-tools
(package
(name "vulkan-tools")
(version "1.4.335.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Tools")
(commit (string-append "vulkan-sdk-" version))))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(substitute* "tests/icd/mock_icd_tests.cpp"
;; Disable driver info test since it relies on git branch info
(("ASSERT_EQ\\(std::string\\(driver_properties\\.driverInfo\\)")
"// ASSERT_EQ(std::string(driver_properties.driverInfo)")))
(sha256
(base32
"07b5jlvp70apmkj0b8l2w086h0vbcfl49n7xr35kmv46p0n37z0b"))))
(build-system cmake-build-system)
(inputs
(list glslang libxrandr vulkan-loader wayland wayland-protocols))
(native-inputs
(list googletest pkg-config python vulkan-headers))
(arguments
(list
#:configure-flags #~(list "-DBUILD_TESTS=ON")
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-libvulkan-file-name
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("vulkaninfo/vulkaninfo_functions.h"
"cube/cube_functions.h")
(("dlopen\\(\"libvulkan.so.1")
(string-append "dlopen(\""
(search-input-file
inputs "/lib/libvulkan.so.1"))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./tests/vulkan_tools_tests")))))))
(home-page
"https://github.com/KhronosGroup/Vulkan-Tools")
(synopsis "Tools and utilities for Vulkan")
(description
"Vulkan-Tools provides tools and utilities that can assist development by
;; Required to fix an issue. See:
;; https://github.com/KhronosGroup/Vulkan-Tools/issues/1130
(let ((commit "105d6c1fede00c3a9055e5a531ebf3d99bac406e")
(revision "1"))
(package
(name "vulkan-tools")
(version (git-version "1.4.321.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Tools")
(commit commit)))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(substitute* "tests/icd/mock_icd_tests.cpp"
;; Disable driver info test since it relies on git branch info
(("ASSERT_EQ\\(std::string\\(driver_properties\\.driverInfo\\)")
"// ASSERT_EQ(std::string(driver_properties.driverInfo)")))
(sha256
(base32
"1dphpf4v0kip2b0vhhwb136gjjmgxc64gg26sg3wpg6nnwakpznc"))))
(build-system cmake-build-system)
(inputs
(list glslang libxrandr vulkan-loader wayland wayland-protocols))
(native-inputs
(list googletest pkg-config python vulkan-headers))
(arguments
(list
#:configure-flags #~(list "-DBUILD_TESTS=ON")
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-libvulkan-file-name
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("vulkaninfo/vulkaninfo_functions.h"
"cube/cube_functions.h")
(("dlopen\\(\"libvulkan.so.1")
(string-append "dlopen(\""
(search-input-file
inputs "/lib/libvulkan.so.1"))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./tests/vulkan_tools_tests")))))))
(home-page
"https://github.com/KhronosGroup/Vulkan-Tools")
(synopsis "Tools and utilities for Vulkan")
(description
"Vulkan-Tools provides tools and utilities that can assist development by
enabling developers to verify their applications correct use of the Vulkan
API.")
(license (list license:asl2.0)))) ;LICENSE.txt
(license (list license:asl2.0))))) ;LICENSE.txt
(define-public shaderc
(package
(name "shaderc")
;; shaderc doesn't follow the versioning scheme of vulkan sdk
(version "2025.5")
(version "2025.3")
(source
(origin
(method git-fetch)
@@ -528,7 +523,7 @@ API.")
(file-name (git-file-name name version))
(sha256
(base32
"0i1rwn4xg8galdxw66p72m36q5vx8zx42ypdcmhv15nv6mj92q9y"))))
"0w1mj5b3n6kp0brqindb7fppvllzlywkdk1zglkbj3bw8k0795mb"))))
(build-system cmake-build-system)
(arguments
(list
@@ -645,7 +640,7 @@ constant management, and opcode emission.")
(define-public vulkan-validationlayers
(package
(name "vulkan-validationlayers")
(version "1.4.335.0")
(version "1.4.321.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -660,14 +655,14 @@ constant management, and opcode emission.")
"")))
(sha256
(base32
"06kx3769xn6xrk2xjs5k9hpkv8gvmjwn7yvz423yy7d9fzgnn70m"))))
"1lmkcgz80386304s6kr4fi825r5004305fhvfc7gmsqdih0bqcv9"))))
(build-system cmake-build-system)
(inputs (list glslang
libxrandr
mesa
robin-hood-hashing
shaderc
spirv-tools-static
spirv-tools
vulkan-loader
vulkan-utility-libraries
wayland))
@@ -713,7 +708,7 @@ applications correctly use the Vulkan API.")
(define-public vulkan-volk
(package
(name "vulkan-volk")
(version "1.4.335.0")
(version "1.4.304")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -722,7 +717,7 @@ applications correctly use the Vulkan API.")
(file-name (git-file-name name version))
(sha256
(base32
"0hqamyr3xdqacgn49hzf966vj7hn54aybzkfg76y3hc9ly2hq0x8"))))
"0slgshhrr1l08wkc4n0ky2z670cfrnzw8gxdrznmja4ly13cc8pr"))))
(build-system cmake-build-system)
(arguments
(list
@@ -779,7 +774,7 @@ storage.")
(define-public vulkan-utility-libraries
(package
(name "vulkan-utility-libraries")
(version "1.4.335.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@@ -787,7 +782,7 @@ storage.")
(url "https://github.com/KhronosGroup/Vulkan-Utility-Libraries")
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32 "116agfaayycizafq2infy12n07039rp6azzvfff3wq84ph3v8cwl"))
(base32 "1xj860z596p2wgdfc5yr15q0hasz8p4ci6x0j1wim7jklp92g89i"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
+2 -2
View File
@@ -4136,14 +4136,14 @@ which can be used to parse directory listings.")
(define-public perl-finance-quote
(package
(name "perl-finance-quote")
(version "1.68")
(version "1.65")
(source
(origin
(method url-fetch)
(uri (string-append "https://cpan.metacpan.org/authors/id/B/BP/BPSCHUCK/"
"Finance-Quote-" version ".tar.gz"))
(sha256
(base32 "0ha4lapj6a2gzb601h5bk5vps2wsgwj4xxc69vibyrlrra3q7v1j"))))
(base32 "0603zricynb6n9kq7agsb03v4idlqy0rdc1nq2knzbf9l9jljyhb"))))
(build-system perl-build-system)
(native-inputs
(list perl-test-harness
+2 -2
View File
@@ -517,7 +517,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
(define-public hyprland
(package
(name "hyprland")
(version "0.54.2")
(version "0.54.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/hyprwm/Hyprland"
@@ -534,7 +534,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
"subprojects"))))
(sha256
(base32
"06zxx8i92n5pyyl472s3kbb6m7czg72klh6cs80jz6yhdbw9qgbj"))))
"0q1z5cbwxpdm8wc2p14g53g2i2afqb398ilxsw8i1p4fiinsmmv7"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;No tests.
+4 -15
View File
@@ -2325,8 +2325,8 @@ rules."
(let ((plasma-plasma (plasma-package config)))
(map (lambda (name)
((package-direct-input-selector name) plasma-plasma))
'("bolt" ;for plasma-thunderbolt
"fwupd" ;for kinfocenter and discover
'("bolt" ;for plasma-thunderbolt
"fwupd" ;for kinfocenter and discover
"kde-inotify-survey"
"kdeplasma-addons"
"kinfocenter"
@@ -2346,8 +2346,8 @@ rules."
(let ((plasma-plasma (plasma-package config)))
(map (lambda (name)
((package-direct-input-selector name) plasma-plasma))
'("bolt" ;for plasma-thunderbolt
"fwupd" ;for kinfocenter and discover
'("bolt" ;for plasma-thunderbolt
"fwupd" ;for kinfocenter and discover
"kde-inotify-survey"
"kdeplasma-addons"
"kinfocenter"
@@ -2362,15 +2362,6 @@ rules."
"plasma-workspace"
"powerdevil"))))
(define (plasma-udev-configurations config)
"Return the list of KDE Plasma dependencies that provide udev rules and
hardware files."
(let ((plasma-plasma (plasma-package config)))
(map (lambda (name)
((package-direct-input-selector name) plasma-plasma))
'("bolt" ;for plasma-thunderbolt
"fwupd")))) ;for kinfocenter and discover
;; see https://bugs.kde.org/show_bug.cgi?id=456210
;; if `kde' no exits, fallback to `other', and then unlock lockscreen not work,
;; so add it.
@@ -2389,8 +2380,6 @@ hardware files."
plasma-dbus-service)
(service-extension pam-root-service-type
plasma-pam-services)
(service-extension udev-service-type
plasma-udev-configurations)
(service-extension profile-service-type
(compose list
plasma-package))))))
+43 -51
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025, 2026 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -100,116 +100,108 @@
"Additional modules to import into the generated handler script.")
(killpower
(gexp
#~(begin
(wall "Apccontrol doing: apcupsd --killpower on UPS ~a" name)
(sleep 10)
(apcupsd "--killpower")
(wall "Apccontrol has done: apcupsd --killpower on UPS ~a" name)))
#~((wall "Apccontrol doing: apcupsd --killpower on UPS ~a" name)
(sleep 10)
(apcupsd "--killpower")
(wall "Apccontrol has done: apcupsd --killpower on UPS ~a" name)))
"The handler for the killpower event.")
(commfailure
(gexp
#~(begin
(let ((msg (format #f "~a Communications with UPS ~a lost."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Warning: communications lost with UPS ~a" name)))
#~((let ((msg (format #f "~a Communications with UPS ~a lost."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Warning: communications lost with UPS ~a" name)))
"The handler for the commfailure event.")
(commok
(gexp
#~(begin
(let ((msg (format #f "~a Communications with UPS ~a restored."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Communications restored with UPS ~a" name)))
#~((let ((msg (format #f "~a Communications with UPS ~a restored."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Communications restored with UPS ~a" name)))
"The handler for the commfailure event.")
(powerout
(gexp
#~#t)
#~(#t))
"The handler for the powerout event.")
(onbattery
(gexp
#~(begin
(let ((msg (format #f "~a UPS ~a Power Failure !!!"
(gethostname) name)))
(mail-to-root msg msg))
(wall "Power failure on UPS ~a. Running on batteries." name)))
#~((let ((msg (format #f "~a UPS ~a Power Failure !!!"
(gethostname) name)))
(mail-to-root msg msg))
(wall "Power failure on UPS ~a. Running on batteries." name)))
"The handler for the onbattery event.")
(offbattery
(gexp
#~(begin
(let ((msg (format #f "~a UPS ~a Power has returned."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Power has returned on UPS ~a..." name)))
#~((let ((msg (format #f "~a UPS ~a Power has returned."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Power has returned on UPS ~a..." name)))
"The handler for the offbattery event.")
(mainsback
(gexp
#~(when (file-exists? powerfail-file)
(wall "Continuing with shutdown.")))
#~((when (file-exists? powerfail-file)
(wall "Continuing with shutdown."))))
"The handler for the mainsback event.")
(failing
(gexp
#~(wall "Battery power exhausted on UPS ~a. Doing shutdown." name))
#~((wall "Battery power exhausted on UPS ~a. Doing shutdown." name)))
"The handler for the failing event.")
(timeout
(gexp
#~(wall "Battery time limit exceeded on UPS ~a. Doing shutdown." name))
#~((wall "Battery time limit exceeded on UPS ~a. Doing shutdown." name)))
"The handler for the timeout event.")
(loadlimit
(gexp
#~(wall "Remaining battery charge below limit on UPS ~a. Doing shutdown." name))
#~((wall "Remaining battery charge below limit on UPS ~a. Doing shutdown." name)))
"The handler for the loadlimit event.")
(runlimit
(gexp
#~(wall "Remaining battery runtime below limit on UPS ~a. Doing shutdown." name))
#~((wall "Remaining battery runtime below limit on UPS ~a. Doing shutdown." name)))
"The handler for the runlimit event.")
(doreboot
(gexp
#~(begin
(wall "UPS ~a initiating Reboot Sequence" name)
(system* #$(file-append shepherd "/sbin/reboot"))))
#~((wall "UPS ~a initiating Reboot Sequence" name)
(system* #$(file-append shepherd "/sbin/reboot"))))
"The handler for the doreboot event.")
(doshutdown
(gexp
#~(begin
(wall "UPS ~a initiated Shutdown Sequence" name)
(system* #$(file-append shepherd "/sbin/halt"))))
#~((wall "UPS ~a initiated Shutdown Sequence" name)
(system* #$(file-append shepherd "/sbin/halt"))))
"The handler for the doshutdown event.")
(annoyme
(gexp
#~(wall "Power problems with UPS ~a. Please logoff." name))
#~((wall "Power problems with UPS ~a. Please logoff." name)))
"The handler for the annoyme event.")
(emergency
(gexp
#~(wall "Emergency Shutdown. Possible battery failure on UPS ~a." name))
#~((wall "Emergency Shutdown. Possible battery failure on UPS ~a." name)))
"The handler for the emergency event.")
(changeme
(gexp
#~(begin
(let ((msg (format #f "~a UPS ~a battery needs changing NOW."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Emergency! Batteries have failed on UPS ~a. Change them NOW." name)))
#~((let ((msg (format #f "~a UPS ~a battery needs changing NOW."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Emergency! Batteries have failed on UPS ~a. Change them NOW." name)))
"The handler for the changeme event.")
(remotedown
(gexp
#~(wall "Remote Shutdown. Beginning Shutdown Sequence."))
#~((wall "Remote Shutdown. Beginning Shutdown Sequence.")))
"The handler for the remotedown event.")
(startselftest
(gexp
#~#t)
#~(#t))
"The handler for the startselftest event.")
(endselftest
(gexp
#~#t)
#~(#t))
"The handler for the endselftest event.")
(battdetach
(gexp
#~#t)
#~(#t))
"The handler for the battdetach event.")
(battattach
(gexp
#~#t)
#~(#t))
"The handler for the battattach event."))
(define mangle-field-name
+1 -1
View File
@@ -55,8 +55,8 @@
#:use-module (gnu packages cdrom)
#:use-module (gnu packages compression)
#:use-module (gnu packages disk)
#:use-module (gnu packages flashing-tools)
#:use-module (gnu packages gawk)
#:use-module (gnu packages genimage)
#:use-module (gnu packages guile)
#:autoload (gnu packages gnupg) (guile-gcrypt)
#:use-module (gnu packages hurd)
+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.4
strip-ocaml5.4-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.4)
(@* (gnu packages ocaml5) ocaml-5.4))
(define (default-ocaml5.4-findlib)
(@* (gnu packages ocaml5) ocaml5.4-findlib))
(define (default-ocaml5.4-dune)
(@* (gnu packages ocaml5) ocaml5.4-dune))
;; The default versions of core packages within the 5.x series.
(define default-ocaml5 default-ocaml5.4)
(define default-ocaml5-findlib default-ocaml5.4-findlib)
(define default-ocaml5-dune default-ocaml5.4-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.4
(package-with-explicit-ocaml (delay (default-ocaml5.4))
(delay (default-ocaml5.4-findlib))
(delay (default-ocaml5.4-dune))
"ocaml-" "ocaml5.4-"
#:variant-property 'ocaml5.4-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.4-variant p)
"Remove the 'ocaml5.4-variant' property from P."
(package
(inherit p)
(properties (alist-delete 'ocaml5.4-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
+12 -6
View File
@@ -89,13 +89,19 @@
#: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))
;; If there's no Makefile, look for an `.install` file that can be
;; processed by opam-installer.
((which "opam-installer")
(invoke "opam-installer" "-i" (string-append "--prefix=" out)
(string-append "--libdir=" out "/lib/ocaml/site-lib")))
(else (error
"'opam-installer' must exist in $PATH at build time."))))
#t)
(define* (prepare-install #:key outputs #:allow-other-keys)
+8 -32
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019-2020, 2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,20 +20,18 @@
#:use-module (guix ssh)
#:use-module (guix gexp)
#:use-module (guix i18n)
#:use-module ((guix diagnostics) #:select (info formatted-message))
#:use-module ((guix diagnostics) #:select (formatted-message))
#:use-module (guix inferior)
#:use-module (guix store)
#:use-module (guix monads)
#:use-module (guix modules)
#:use-module (guix derivations)
#:use-module (guix utils)
#:use-module ((ssh session) #:select (session-get))
#:use-module (ssh popen)
#:use-module (ssh channel)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (srfi srfi-71)
#:export (remote-eval))
;;; Commentary:
@@ -79,19 +77,8 @@ with status ~a")
"Evaluate LOWERED, a lowered gexp, in SESSION. This assumes that all the
prerequisites of EXP are already available on the host at SESSION. If
BECOME-COMMAND is given, use that to invoke the remote Guile REPL."
(let* ((pipe (remote-pipe-for-gexp lowered session become-command))
(result output (read-repl-response pipe)))
;; Print OUTPUT, the remote pipe's standard output and standard error,
;; line by line.
(let ((host (session-get session 'host)))
(let loop ((str output))
(unless (string-null? str)
(let ((index (string-index str #\newline)))
(info (G_ "~a: ~a~%")
host (if index (string-take str index) str))
(when index
(loop (string-drop str (+ 1 index))))))))
(let* ((pipe (remote-pipe-for-gexp lowered session become-command))
(result (read-repl-response pipe)))
(close-port pipe)
result))
@@ -106,21 +93,10 @@ result to the current output port using the (guix repl) protocol."
(use-modules (guix repl))
;; We use CURRENT-OUTPUT-PORT for REPL messages, so redirect PROGRAM's
;; output to CURRENT-ERROR-PORT so that it does not interfere. Since
;; 'open-remote-pipe*' mixes standard output and standard error,
;; capture their output separately in a string port and reify it in
;; Scheme.
(send-repl-response '(let ((output (open-output-string)))
(set-port-encoding! output "UTF-8")
(set-port-conversion-strategy! output
'substitute)
(let ((result
(with-error-to-port output
(lambda ()
(with-output-to-port output
(lambda ()
(primitive-load #$program)))))))
(values result (get-output-string output))))
;; output to CURRENT-ERROR-PORT so that it does not interfere.
(send-repl-response '(with-output-to-port (current-error-port)
(lambda ()
(primitive-load #$program)))
(current-output-port))
(force-output))))
+1 -1
View File
@@ -157,7 +157,7 @@ dnl Check whether a recent-enough Guile-Sqlite3 is available.
AC_DEFUN([GUIX_CHECK_GUILE_SQLITE3], [
dnl Check whether 'sqlite-bind-arguments' is available. It was introduced
dnl in February 2018:
dnl <https://codeberg.org/guile-sqlite3/guile-sqlite3/commit/1cd1dec96a9999db48c0ff45bab907efc637247f>.
dnl <https://notabug.org/guile-sqlite3/guile-sqlite3/commit/1cd1dec96a9999db48c0ff45bab907efc637247f>.
AC_CACHE_CHECK([whether Guile-Sqlite3 is available and recent enough],
[guix_cv_have_recent_guile_sqlite3],
[GUILE_CHECK([retval],
+1
View File
@@ -168,6 +168,7 @@ gnu/packages/gawk.scm
gnu/packages/gcc.scm
gnu/packages/gd.scm
gnu/packages/gdb.scm
gnu/packages/genimage.scm
gnu/packages/gettext.scm
gnu/packages/gkrellm.scm
gnu/packages/gnome-circle.scm