Compare commits

...

519 Commits

Author SHA1 Message Date
Ricardo Wurmus
4f04173708 gnu: r-mscoreutils: Patch for compatibility with R 4.6.0.
* gnu/packages/patches/r-mscoreutils-0001-fix-non-API-call-to-R-SETLENGTH-by-using-lengthgets.patch: New file.
* gnu/local.mk (dist_patch_DATA): Record it.
* gnu/packages/bioconductor.scm (r-mscoreutils)[source]: Register patch.

Change-Id: If288fed9c85d7a46d1938e7699e2a9bc57447a03
2026-04-27 16:00:44 +02:00
Ricardo Wurmus
9cc3ce1512 gnu: r-flowcore: Patch for compatibility with R 4.6.0.
* gnu/packages/bioconductor.scm (r-flowcore)[arguments]: Add phase
'R-4.6.0-compatibility.

Change-Id: Ic99953b3bf228928ab7ada1d36d2be2c1aae608b
2026-04-27 15:53:51 +02:00
Ricardo Wurmus
6bddc26a64 gnu: r-shortread: Patch for compatibility with R 4.6.0.
* gnu/packages/patches/r-shortread-0001-ShortRead-1.69.3-Get-rid-of-non-API-calls-to-R.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Record it.
* gnu/packages/bioconductor.scm (r-shortread)[source]: Register patch.

Change-Id: I9fd85076db6a86b25f4389d3226e0fde8a38a3b5
2026-04-27 15:00:18 +02:00
Ricardo Wurmus
d9e4b8cf08 gnu: r-h5mread: Patch for compatibility with R 4.6.0.
* gnu/packages/patches/r-h5mread-0001-h5mread-1.3.2-Get-rid-of-non-API-calls-to-R.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Record it.
* gnu/packages/bioconductor.scm (r-h5mread)[source]: Register patch.

Change-Id: Iecbf0eb41b554169b36c00b74072b1fca7a31943
2026-04-27 14:45:40 +02:00
Ricardo Wurmus
12a4c739cf gnu: r-rsamtools: Patch for compatibility with R 4.6.0.
* gnu/packages/patches/r-rsamtools-r-4.6.0-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Record it.
* gnu/packages/bioconductor.scm (r-rsamtools)[source]: Register patch.

Change-Id: I0c1eafe3c440f998d309174e4292061dbaf3eb34
2026-04-27 14:22:12 +02:00
Ricardo Wurmus
3fd3491e33 gnu: r-sparsearray: Patch for compatibility with R 4.6.0.
* gnu/packages/patches/r-sparsearray-r-4.6.0-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Record it.
* gnu/packages/bioconductor.scm (r-sparsearray)[source]: Register patch.

Change-Id: I569f7150d91393d8c7c9981ebe3db77c0cfa5356
2026-04-27 12:55:40 +02:00
Ricardo Wurmus
12872f4c6b gnu: r-snpstats: Patch for compatibility with R 4.6.0.
* gnu/packages/patches/r-snpstats-0001-fixed-non-API-except-for-IS_S4_OBJECT.patch,
gnu/packages/patches/r-snpstats-0002-fixed-IS_S4_OBJECT.patch: New files.
* gnu/local.mk (dist_patch_DATA): Record them.
* gnu/packages/bioconductor.scm (r-snpstats)[source]: Register patches.

Change-Id: I911f5833199448a16a23f9e715903a8427b08233
2026-04-27 11:49:35 +02:00
John Dawson
e376019e6d gnu: r-htmltools: Propagate r-markdown.
The `includeMarkdown` function requires the `markdown` package.
See https://rstudio.github.io/htmltools/reference/include.html#note

* gnu/packages/cran.scm (r-htmltools)[propagated-inputs]: For htmltools::includeMarkdown, add r-markdown.

Change-Id: If0b7b9a19610177fcfc02357cf1462a8704592ab
2026-04-27 09:14:27 +02:00
Ricardo Wurmus
d43bade4d7 gnu: r-biostrings: Patch for compatibility with R 4.6.0.
* gnu/packages/patches/r-biostrings-r4.6.0-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Record it.
* gnu/packages/bioconductor.scm (r-biostrings)[source]: Register patch.

Change-Id: Id0ba9e4340245c456e25e631ca372c1a6edb2bba
2026-04-27 09:09:17 +02:00
Ricardo Wurmus
25331d83a6 gnu: r-s4vectors: Patch for R 4.6.0.
* gnu/packages/bioconductor.scm (r-s4vectors)[arguments]: Add phase
'R-4.6.0-compatibility.

Change-Id: I731250e9dcfc62cfb2cafbf88e2f1e2d6b932828
2026-04-27 09:09:17 +02:00
Ricardo Wurmus
fdee000c7c gnu: r-mlr3misc: Skip one test.
* gnu/packages/cran.scm (r-mlr3misc)[arguments]: Declare one skipped test.

Change-Id: I5d007a6b40dbb9c014a1ff6785815d14fcd37a3c
2026-04-27 09:09:16 +02:00
Ricardo Wurmus
72690e2f36 gnu: r-mlr3mbo: Update to 1.1.1.
* gnu/packages/cran.scm (r-mlr3mbo): Update to 1.1.1.
[native-inputs]: Remove r-redux and r-rush.

Change-Id: Ibdac6ba5a45567f2e73884b092f45869056fea95
2026-04-27 09:09:16 +02:00
Ricardo Wurmus
5e8e31299a gnu: r-harmony: Update to 2.0.2.
* gnu/packages/cran.scm (r-harmony): Update to 2.0.2.
[propagated-inputs]: Add r-cli.

Change-Id: If8e8d1df986836752cf2eca7934f7a3cd62a1c71
2026-04-27 09:09:16 +02:00
Ricardo Wurmus
4820b89533 gnu: r-rush: Update to 1.1.0.
* gnu/packages/cran.scm (r-rush): Update to 1.1.0.

Change-Id: I5b5c462f1e00991004bdbd9f9b2593fa4da3b015
2026-04-27 09:09:16 +02:00
Ricardo Wurmus
86ef62aa0b gnu: r-officer: Update to 0.7.4.
* gnu/packages/cran.scm (r-officer): Update to 0.7.4.

Change-Id: Ice4843e191ff9d1a4e286251c9ad8e071fa942ac
2026-04-27 09:09:16 +02:00
Ricardo Wurmus
8ef8aa93b2 gnu: r-rcpp: Update to 1.1.1-1.1.
* gnu/packages/cran.scm (r-rcpp): Update to 1.1.1-1.1.
[native-inputs]: Add r-tinytest.

Change-Id: I5837d47ea13fdcc0559506fa48adf2fe0e6dbf34
2026-04-27 09:09:16 +02:00
Ricardo Wurmus
263444756f gnu: r-with-tests, r-minimal: Update to 4.6.0.
* gnu/packages/statistics.scm (r-with-tests, r-minimal): Update to 4.6.0.

Change-Id: I790052e77690f3debbf0f8f2845b11754a358581
2026-04-27 09:09:16 +02:00
Ricardo Wurmus
8ba913cf66 gnu: r-mlr3filters: Update to 0.9.1.
* gnu/packages/cran.scm (r-mlr3filters): Update to 0.9.1.

Change-Id: If13b74e209d8af025b41427f52a91e3d8d02ea5a
2026-04-27 09:09:15 +02:00
Ricardo Wurmus
77b77f275b gnu: r-directlabels: Update to 2026.4.23.
* gnu/packages/cran.scm (r-directlabels): Update to 2026.4.23.
[native-inputs]: Add r-ggplot2.

Change-Id: I34f188fc7e777385b60383b46087802e47342d37
2026-04-27 09:09:15 +02:00
Ricardo Wurmus
58f6e33da8 gnu: r-irace: Update to 4.4.3.
* gnu/packages/cran.scm (r-irace): Update to 4.4.3.

Change-Id: I6065972a7ef46994933b70e45c79a9227f140f76
2026-04-27 09:09:15 +02:00
Ricardo Wurmus
42632d83f2 gnu: r-statsexpressions: Update to 2.0.0.
* gnu/packages/cran.scm (r-statsexpressions): Update to 2.0.0.
[propagated-inputs]: Remove r-magrittr and r-zeallot.

Change-Id: Ib31f2c8b6510d1ba0e302d424665fa4db40afde7
2026-04-27 09:09:15 +02:00
Ricardo Wurmus
c17f738efe gnu: r-ggstatsplot: Update to 1.0.0.
* gnu/packages/cran.scm (r-ggstatsplot): Update to 1.0.0.
[propagated-inputs]: Remove r-magrittr; add r-forcats.
[native-inputs]: Add r-lme4 and r-patrick.

Change-Id: I888d0c7a2a5b3da10b0784357841a498e972f66d
2026-04-27 09:09:15 +02:00
Ricardo Wurmus
42aa872fdc gnu: r-tidymodels: Update to 1.5.0.
* gnu/packages/cran.scm (r-tidymodels): Update to 1.5.0.

Change-Id: Iccaeb84fa737ce94fad6544e04660b5998db6693
2026-04-27 09:09:15 +02:00
Ricardo Wurmus
12428187e2 gnu: r-nanotime: Update to 0.3.14.
* gnu/packages/cran.scm (r-nanotime): Update to 0.3.14.

Change-Id: I3e66db61984ddca8795adf8af5a46b0a79d4aa63
2026-04-27 09:09:14 +02:00
Ricardo Wurmus
93e62fd3eb gnu: r-rferns: Update to 6.0.0.
* gnu/packages/cran.scm (r-rferns): Update to 6.0.0.

Change-Id: I47d543dbcd7b37db6bb70b82e8d3096d265fa58a
2026-04-27 09:09:14 +02:00
Ricardo Wurmus
dde5723169 gnu: r-extradistr: Update to 1.10.0.3.
* gnu/packages/cran.scm (r-extradistr): Update to 1.10.0.3.
[native-inputs]: Add r-actuar, r-evd, r-laplacesdemon, r-mcmcpack, and r-vgam.

Change-Id: I93a7554a09633d23e48e1f0f0eff6a83930e6bdd
2026-04-27 09:09:14 +02:00
Ricardo Wurmus
bcbdd6b569 gnu: r-s7: Update to 0.2.2.
* gnu/packages/cran.scm (r-s7): Update to 0.2.2.

Change-Id: I11a4924f63a6e94042dd8ed5445737dfb27c59f8
2026-04-27 09:09:14 +02:00
Ricardo Wurmus
e3515e109c gnu: r-processx: Update to 3.9.0.
* gnu/packages/cran.scm (r-processx): Update to 3.9.0.

Change-Id: I61d8fe12cbd47f979f4983a5b64fce9391934b4e
2026-04-27 09:09:14 +02:00
Ricardo Wurmus
838e8e550c gnu: r-rmpi: Update to 0.7-3.4.
* gnu/packages/cran.scm (r-rmpi): Update to 0.7-3.4.

Change-Id: I560a6a29db7f61c09661978bd6b114de9006ac43
2026-04-27 09:09:14 +02:00
Ricardo Wurmus
3682177321 gnu: r-ggtangle: Update to 0.1.2.
* gnu/packages/cran.scm (r-ggtangle): Update to 0.1.2.

Change-Id: Id42ee31afad6095fc0c288894c0cef1b253f3ae3
2026-04-27 09:09:14 +02:00
Ricardo Wurmus
7cf4712689 gnu: r-fastdummies: Update to 1.7.6.
* gnu/packages/cran.scm (r-fastdummies): Update to 1.7.6.
[native-inputs]: Add r-dplyr.

Change-Id: I5bdb6d7745c7540e6526be2723630e70b5b6f793
2026-04-27 09:09:13 +02:00
Ricardo Wurmus
490d880377 gnu: r-bit64: Update to 4.8.0.
* gnu/packages/cran.scm (r-bit64): Update to 4.8.0.
[arguments]: Disable tests.
[native-inputs]: Add r-withr.

Change-Id: Ide6944f6cf973333bb8aa1fabdb85a988a4d26db
2026-04-27 09:09:13 +02:00
Spencer King
c80b49c1bc gnu: Add r-ddpcr.
* gnu/packages/cran.scm (r-ddpcr): New variable.

Change-Id: Idf3d2d05f8db51ff1cf6866b4241c90eb30587b4
2026-04-27 09:09:13 +02:00
Ricardo Wurmus
c1a1769671 gnu: r-qs2: Update to 0.2.0.
* gnu/packages/cran.scm (r-qs2): Update to 0.2.0.

Change-Id: I6eadd1c2170e7809264542055696b67c63896c2d
2026-04-27 09:09:13 +02:00
Ricardo Wurmus
576924bca7 gnu: r-seurat: Update to 5.5.0.
* gnu/packages/cran.scm (r-seurat): Update to 5.5.0.

Change-Id: I36d53c2d9b2a52e63cc334c7a1d259647e9da52a
2026-04-27 09:09:13 +02:00
Ricardo Wurmus
f4a8f5180f gnu: r-igraph: Update to 2.3.0.
* gnu/packages/cran.scm (r-igraph): Update to 2.3.0.

Change-Id: I9e51ac04d61a98e1206e9b563fda63eff5c6d090
2026-04-27 09:09:13 +02:00
Ricardo Wurmus
9c1af74e08 gnu: r-tweedie: Update to 3.0.19.
* gnu/packages/cran.scm (r-tweedie): Update to 3.0.19.

Change-Id: Ie7e0d663d4ea12d4e30fe7b719e9f8765c001223
2026-04-27 09:09:13 +02:00
Ricardo Wurmus
57f7af07ca gnu: r-pkgload: Update to 1.5.2.
* gnu/packages/cran.scm (r-pkgload): Update to 1.5.2.

Change-Id: Id40f5db0981b34480b9ed74da5b5115155be3911
2026-04-27 09:09:12 +02:00
Ricardo Wurmus
df20acc58b gnu: r-curl: Update to 7.1.0.
* gnu/packages/cran.scm (r-curl): Update to 7.1.0.

Change-Id: If5f59d82aec252a18f475dff7cbe4e28433db492
2026-04-27 09:09:12 +02:00
Ricardo Wurmus
b2275e7428 gnu: r-jose: Update to 2.0.0.
* gnu/packages/cran.scm (r-jose): Update to 2.0.0.

Change-Id: Ife28bbdda55565d92ea7eacaae3841a0787ffa7c
2026-04-27 09:09:12 +02:00
Ricardo Wurmus
d00f468d75 gnu: r-ggplot2: Update to 4.0.3.
* gnu/packages/cran.scm (r-ggplot2): Update to 4.0.3.

Change-Id: If2145292a83a924bfa56477a63ef5d80eb57ca7c
2026-04-27 09:09:12 +02:00
Ricardo Wurmus
95b403e1f7 gnu: r-gviz: Skip one test on 32-bit systems.
* gnu/packages/bioconductor.scm (r-gviz)[arguments]: Conditionally skip a
test.

Change-Id: Ibd9a0e6b7f57474dba9158350f52a94f708cd442
2026-04-27 09:09:12 +02:00
Ricardo Wurmus
f060901cf4 gnu: r-stringfish: Update to 0.19.0.
* gnu/packages/cran.scm (r-stringfish): Update to 0.19.0.
[arguments]: Enable tests; remove phase 'relax-gcc-14-strictness.
[native-inputs]: Remove r-dplyr, r-rlang, and r-stringr.

Change-Id: I61585d3136f6c833cf3e5ca8b07b58746865f95f
2026-04-27 09:09:12 +02:00
Ricardo Wurmus
9eeb0ecf33 gnu: r-htmltable: Update to 2.5.0.
* gnu/packages/cran.scm (r-htmltable): Update to 2.5.0.
[properties]: Record updater-ignored-native-inputs.
[arguments]: Use generated label for jquery origin.
[native-inputs]: Drop labels; add r-chron, r-glue, r-lubridate, r-tibble, and
r-tidyverse.

Change-Id: I0d33bc2f39caca65a42de6569a9927deaf889a76
2026-04-27 09:09:11 +02:00
Ricardo Wurmus
66c2f1a405 gnu: r-rcpparmadillo: Skip one test on 32-bit systems.
One test in this file fails with an inaccurate comparison, but we cannot
disable just that one test, so we skip the whole file.

* gnu/packages/cran.scm (r-rcpparmadillo)[arguments]: Conditionally skip a
test file.

Change-Id: I29d9bd12fd63c87fd6bb232238418679d079138a
2026-04-27 09:09:11 +02:00
Ricardo Wurmus
3153e7ebdc gnu: r-hrbrthemes: Update to 0.9.3.
* gnu/packages/cran.scm (r-hrbrthemes): Update to 0.9.3.
[propagated-inputs]: Remove r-extrafont and r-gdtools.
[native-inputs]: Add r-vdiffr.

Change-Id: I6bd2f6462f672b4e4f762c057dc4d7d39f82c6ab
2026-04-27 09:09:11 +02:00
Ricardo Wurmus
9a5af89240 gnu: r-eulerr: Update to 7.1.0.
* gnu/packages/cran.scm (r-eulerr): Update to 7.1.0.

Change-Id: I0b10fa1a0c9311ea9781d836f5e023f542ced9af
2026-04-27 09:09:11 +02:00
Ricardo Wurmus
806cc1b133 gnu: r-testit: Update to 0.18.
* gnu/packages/cran.scm (r-testit): Update to 0.18.

Change-Id: Ic8279260cfe7a6a7ad158b0c70c0b89bba9c41a9
2026-04-27 09:09:11 +02:00
Ricardo Wurmus
48c0546556 gnu: r-nanoparquet: Update to 0.5.1.
* gnu/packages/cran.scm (r-nanoparquet): Update to 0.5.1.
[native-inputs]: Add r-blob.

Change-Id: I8cfdf27e5a001b45937a25a263f28b33fc8ff352
2026-04-27 09:09:11 +02:00
Ricardo Wurmus
95f08aab48 gnu: r-ps: Update to 1.9.3.
* gnu/packages/cran.scm (r-ps): Update to 1.9.3.

Change-Id: I143a8373efd9e27605a1b1ef36f29c40e6390f9c
2026-04-27 09:09:10 +02:00
Ricardo Wurmus
87060f46fc gnu: r-v8: Update to 8.2.0.
* gnu/packages/cran.scm (r-v8): Update to 8.2.0.

Change-Id: Iefd27adab0e62241c06137355f2bd8d756dd520e
2026-04-27 09:09:10 +02:00
Ricardo Wurmus
85fc653694 gnu: r-rcpparmadillo: Update to 15.2.6-1.
* gnu/packages/cran.scm (r-rcpparmadillo): Update to 15.2.6-1.
[native-inputs]: Add r-rcpp.

Change-Id: Ie65583b32261f6acf6cb93b985f96933f97f0b88
2026-04-27 09:09:10 +02:00
Ricardo Wurmus
21d21cea44 gnu: r-patrick: Enable tests.
* gnu/packages/cran.scm (r-patrick)[arguments]: Enable all tests.

Change-Id: Icaf4bc4a28063e0261691d3010e5a713450ade33
2026-04-27 09:09:10 +02:00
Ricardo Wurmus
50ab429624 gnu: r-gsva: Update to 2.4.9.
* gnu/packages/bioconductor.scm (r-gsva): Update to 2.4.9.

Change-Id: I1cde12b64f22c76813ecf41f7553e132807c5def
2026-04-27 09:09:10 +02:00
Ricardo Wurmus
465a6bdab4 gnu: r-duckdb: Update to 1.5.2.
* gnu/packages/duckdb.scm (r-duckdb): Update to 1.5.2.

Change-Id: Ibfd11f9d37bde94e53c222fa4edb90e714692fcc
2026-04-27 09:09:10 +02:00
Ricardo Wurmus
4a6ff16e69 gnu: r-randomforestsrc: Update to 3.6.2.
* gnu/packages/cran.scm (r-randomforestsrc): Update to 3.6.2.

Change-Id: I7bd3269e88d7e58bf4d5563a085a391c20157f89
2026-04-27 09:09:09 +02:00
Ricardo Wurmus
bae8654055 gnu: r-pdftools: Update to 3.8.0.
* gnu/packages/cran.scm (r-pdftools): Update to 3.8.0.

Change-Id: Ida05e42c4d93be13875f448d29096d37a72d40fd
2026-04-27 09:09:09 +02:00
Ricardo Wurmus
3932a55a43 gnu: r-readods: Update to 2.3.5.
* gnu/packages/cran.scm (r-readods): Update to 2.3.5.
[propagated-inputs]: Add r-withr.
[native-inputs]: Remove r-withr.

Change-Id: Ib6a4facb563639d0f280c870a53c3515801a0f87
2026-04-27 09:09:09 +02:00
Ricardo Wurmus
de3a338426 gnu: r-mlr3measures: Update to 1.3.0.
* gnu/packages/cran.scm (r-mlr3measures): Update to 1.3.0.

Change-Id: Iad5b8b73e6afcbb1143c2df1130e4a4cac5aa48c
2026-04-27 09:09:09 +02:00
Ricardo Wurmus
c06d29dcac gnu: r-seuratobject: Update to 5.4.0.
* gnu/packages/cran.scm (r-seuratobject): Update to 5.4.0.

Change-Id: I801715aed3324218b8ae96f4d70aae1f6d7622d7
2026-04-27 09:09:09 +02:00
Ricardo Wurmus
c1db193865 gnu: r-parsnip: Update to 1.5.0.
* gnu/packages/cran.scm (r-parsnip): Update to 1.5.0.
[propagated-inputs]: Remove r-withr.
[native-inputs]: Add r-withr.

Change-Id: I84d1f39c0505715a57a54cb4a5889c27aa37e0c5
2026-04-27 09:09:09 +02:00
Ricardo Wurmus
a7d1010f65 gnu: r-tune: Update to 2.1.0.
* gnu/packages/cran.scm (r-tune): Update to 2.1.0.
[propagated-inputs]: Remove r-gpfit; add r-gaupro and r-lifecycle.

Change-Id: Ia7490b10f965715e3a387da7b91d40c9fc5b692d
2026-04-27 09:09:09 +02:00
Ricardo Wurmus
bdb672df4f gnu: r-dials: Update to 1.4.3.
* gnu/packages/cran.scm (r-dials): Update to 1.4.3.

Change-Id: Iab09779cf00f1c9d376ad7309271fbd51cfe89f5
2026-04-27 09:09:08 +02:00
Ricardo Wurmus
3938c7003f gnu: r-rsconnect: Update to 1.8.0.
* gnu/packages/cran.scm (r-rsconnect): Update to 1.8.0.
[propagated-inputs]: Add r-httr2.

Change-Id: Ib5287d9ff877e403efe6a2b591817084fea39b17
2026-04-27 09:09:08 +02:00
Ricardo Wurmus
9f2ff15b81 gnu: r-rockchalk: Update to 1.8.164.
* gnu/packages/cran.scm (r-rockchalk): Update to 1.8.164.
[propagated-inputs]: Add r-reformulas.

Change-Id: Ia097b3e5bfaa3b824438546ff456b68f999f6911
2026-04-27 09:09:08 +02:00
Ricardo Wurmus
84fe701364 gnu: r-anytime: Update to 0.3.13.
* gnu/packages/cran.scm (r-anytime): Update to 0.3.13.
[native-inputs]: Add r-rcpp.

Change-Id: Ifae40fa0dadc44b932ec150ee8bdd5f59bb881a3
2026-04-27 09:09:08 +02:00
Ricardo Wurmus
262705dbdc gnu: r-torch: Update to 0.17.0.
* gnu/packages/cran.scm (r-torch): Update to 0.17.0.

Change-Id: I230b20be791c177b70f6fe4ac0fcd0e3da0285a8
2026-04-27 09:09:08 +02:00
Ricardo Wurmus
3183a5c627 gnu: r-leidenalg: Update to 1.1.7.
* gnu/packages/cran.scm (r-leidenalg): Update to 1.1.7.

Change-Id: I48fd2229a7351d98953cb3e76d84100bf1f15aef
2026-04-27 09:09:08 +02:00
Ricardo Wurmus
d0bf05a799 gnu: r-rjava: Update to 1.0-18.
* gnu/packages/cran.scm (r-rjava): Update to 1.0-18.

Change-Id: I65e90d63119dfdf22d173fb1ca045bec00b12691
2026-04-27 09:09:08 +02:00
Ricardo Wurmus
30f3c8fb25 gnu: r-parallelly: Update to 1.47.0.
* gnu/packages/cran.scm (r-parallelly): Update to 1.47.0.

Change-Id: Ic956e194a4ba089b85af81bfd0cb8527a4d1a4cc
2026-04-27 09:09:07 +02:00
Ricardo Wurmus
de9611da28 gnu: r-huge: Update to 1.6.
* gnu/packages/cran.scm (r-huge): Update to 1.6.

Change-Id: I74a0e76797522488974b876df628b1363bf86b03
2026-04-27 09:09:07 +02:00
Ricardo Wurmus
129e3b617f gnu: r-epi: Update to 2.65.
* gnu/packages/cran.scm (r-epi): Update to 2.65.

Change-Id: I96100a94251d1ca49eac246f72e2afd2551cbef7
2026-04-27 09:09:07 +02:00
Ricardo Wurmus
776aaa90bb gnu: r-arm: Update to 1.15-3.
* gnu/packages/cran.scm (r-arm): Update to 1.15-3.

Change-Id: Iafe768876a647e1dfcaa10cdca83bb3bcb7c1a4f
2026-04-27 09:09:07 +02:00
Ricardo Wurmus
9047936b62 gnu: r-fs: Update to 2.1.0.
* gnu/packages/cran.scm (r-fs): Update to 2.1.0.

Change-Id: I2eff7e9b47e7461f2b3fe489cfec48885092f5b7
2026-04-27 09:09:07 +02:00
Ricardo Wurmus
b1a9309a08 gnu: r-emmeans: Update to 2.0.3.
* gnu/packages/cran.scm (r-emmeans): Update to 2.0.3.

Change-Id: Ieeee9c867c656651d2402cebdd43c0ad23f33aff
2026-04-27 09:09:07 +02:00
Ricardo Wurmus
027b9d3484 gnu: r-quickjsr: Update to 1.9.2.
* gnu/packages/cran.scm (r-quickjsr): Update to 1.9.2.

Change-Id: I7fa7ad3ba70f0f567e0f0ccc4ffe21f2595fc2e1
2026-04-27 09:09:07 +02:00
Ricardo Wurmus
a4e066d0e9 gnu: r-nleqslv: Update to 3.3.7.
* gnu/packages/cran.scm (r-nleqslv): Update to 3.3.7.
[native-inputs]: Add r-testthat.

Change-Id: Iebadee3e6e16a05da15f63389a270c8328a4a52e
2026-04-27 09:09:06 +02:00
Ricardo Wurmus
b4dd27253e gnu: r-netrep: Update to 1.2.10.
* gnu/packages/cran.scm (r-netrep): Update to 1.2.10.

Change-Id: I5af1193d98c186ecc46a3f1cf14fa90a66c58a0d
2026-04-27 09:09:06 +02:00
Ricardo Wurmus
fb09b10f3f gnu: r-insight: Update to 1.5.0.
* gnu/packages/cran.scm (r-insight): Update to 1.5.0.

Change-Id: I080bbdb1e66daa180d9c0897d735255cb5ea8090
2026-04-27 09:09:06 +02:00
Ricardo Wurmus
bd2fc8a5d3 gnu: r-factominer: Update to 2.14.
* gnu/packages/cran.scm (r-factominer): Update to 2.14.

Change-Id: I7ba1aa2c042563479450cb86f9a935aeef295308
2026-04-27 09:09:06 +02:00
Ricardo Wurmus
eae9492c5c gnu: r-ggsci: Update to 5.0.0.
* gnu/packages/cran.scm (r-ggsci): Update to 5.0.0.

Change-Id: I1b3fbb96f16e719718c9438481b2cb739b79a3a6
2026-04-27 09:09:06 +02:00
Ricardo Wurmus
ce06a73141 gnu: r-reticulate: Update to 1.46.0.
* gnu/packages/cran.scm (r-reticulate): Update to 1.46.0.

Change-Id: I19baa0d170e7ac957d6215a727249f61fe85f2b2
2026-04-27 09:09:06 +02:00
Ricardo Wurmus
4be0a82048 gnu: r-renv: Update to 1.2.2.
* gnu/packages/cran.scm (r-renv): Update to 1.2.2.

Change-Id: I2034a63a5e656f875cddd43e97ccbac6c447e0c9
2026-04-27 09:09:06 +02:00
Ricardo Wurmus
1685d421b7 gnu: r-adbcdrivermanager: Update to 0.23.0-1.
* gnu/packages/cran.scm (r-adbcdrivermanager): Update to 0.23.0-1.

Change-Id: If0c4562f7eaa8ec2f58e2d93a74017846da4efbc
2026-04-27 09:09:05 +02:00
Ricardo Wurmus
022bb77ca2 gnu: r-nestedcv: Update to 0.8.2.
* gnu/packages/cran.scm (r-nestedcv): Update to 0.8.2.

Change-Id: I40da037fab723d8d9778e0bf03467ea39ba1abf2
2026-04-27 09:09:05 +02:00
Ricardo Wurmus
8311d02f00 gnu: r-nanoparquet: Update to 0.5.0.
* gnu/packages/cran.scm (r-nanoparquet): Update to 0.5.0.

Change-Id: I1908304c8b3a77d322239abece7497378a5ca1a4
2026-04-27 09:09:05 +02:00
Ricardo Wurmus
6e712bd7aa gnu: r-vctrs: Update to 0.7.3.
* gnu/packages/cran.scm (r-vctrs): Update to 0.7.3.

Change-Id: Ica88c39ef10d6a6ac2fc9ca17bf41846a1b2670c
2026-04-27 09:09:05 +02:00
Ricardo Wurmus
0473e8977b gnu: r-cli: Update to 3.6.6.
* gnu/packages/cran.scm (r-cli): Update to 3.6.6.

Change-Id: I7cf3345a2fc807cdd589b79bb8b8393e79d75bf0
2026-04-27 09:09:05 +02:00
Ricardo Wurmus
17b83a6caf gnu: r-dtw: Update to 1.23-2.
* gnu/packages/cran.scm (r-dtw): Update to 1.23-2.

Change-Id: I7a719f3a4e5955a19d0918d8b846ae615fa933d4
2026-04-27 09:09:05 +02:00
Ricardo Wurmus
f34682d9dc gnu: r-performanceanalytics: Update to 2.1.0.
* gnu/packages/cran.scm (r-performanceanalytics): Update to 2.1.0.
[native-inputs]: Remove r-tinytest; add r-e1071, r-testthat, and r-vdiffr.

Change-Id: I23ab8c04708636a83b3f05f3abcab8bc0d7ab6bd
2026-04-27 09:09:05 +02:00
Ricardo Wurmus
b6a82b1882 gnu: r-rmysql: Update to 0.11.3.
* gnu/packages/cran.scm (r-rmysql): Update to 0.11.3.

Change-Id: I9d70f5168182e78843e1efd6183e350789e4becb
2026-04-27 09:09:04 +02:00
Ricardo Wurmus
a34884d6a8 gnu: r-littler: Update to 0.3.23.
* gnu/packages/cran.scm (r-littler): Update to 0.3.23.

Change-Id: Ia74aafe3a91c74f19676f82c9ccdabf9081d957e
2026-04-27 09:09:04 +02:00
Ricardo Wurmus
848bd20f1f gnu: r-getoptlong: Update to 1.1.1.
* gnu/packages/cran.scm (r-getoptlong): Update to 1.1.1.

Change-Id: Ibe629b9579fc03a22d2ceaca40db4b41104ed31c
2026-04-27 09:09:04 +02:00
Ricardo Wurmus
e1a4daa759 gnu: r-globaloptions: Update to 0.1.4.
* gnu/packages/cran.scm (r-globaloptions): Update to 0.1.4.

Change-Id: Ieac2a7f703dffb6074c812020bcc96530d50f013
2026-04-27 09:09:04 +02:00
Ricardo Wurmus
e03f756a7a gnu: r-glue: Update to 1.8.1.
* gnu/packages/cran.scm (r-glue): Update to 1.8.1.

Change-Id: Id9cabfd419f8f802ae36119ff84d9c2dfba4a261
2026-04-27 09:09:04 +02:00
Ricardo Wurmus
6c48b7218e gnu: r-webfakes: Update to 1.4.1.
* gnu/packages/cran.scm (r-webfakes): Update to 1.4.1.

Change-Id: I60ce6d5564417a3fc1cf1d78f3632c5a15e11fe6
2026-04-27 09:09:04 +02:00
Ricardo Wurmus
b89727fb83 gnu: r-mvtnorm: Update to 1.3-7.
* gnu/packages/cran.scm (r-mvtnorm): Update to 1.3-7.

Change-Id: I2ee129f866fa020bcbbbd6a1ca1b5e4167688f53
2026-04-27 09:09:03 +02:00
Ricardo Wurmus
cccbbfc1a4 gnu: r-sendmailr: Update to 1.4-1.
* gnu/packages/cran.scm (r-sendmailr): Update to 1.4-1.

Change-Id: I4be9813e4497939a102937987e5138fdede3eb85
2026-04-27 09:09:03 +02:00
Ricardo Wurmus
877bcf67ee gnu: r-openssl: Update to 2.4.0.
* gnu/packages/cran.scm (r-openssl): Update to 2.4.0.

Change-Id: If0c740954f0b5629d479b1b8b66e4f5acdff2775
2026-04-27 09:09:03 +02:00
Ricardo Wurmus
912cbdf059 gnu: r-zcompositions: Update to 1.6.1.
* gnu/packages/cran.scm (r-zcompositions): Update to 1.6.1.

Change-Id: I3aece7d38644752b7b33fa72350b90ac461c12ee
2026-04-27 09:09:03 +02:00
Ricardo Wurmus
672aae121b gnu: r-v8: Update to 8.1.0.
* gnu/packages/cran.scm (r-v8): Update to 8.1.0.

Change-Id: I004126d4068de7785493b931c26cc69f529a9e21
2026-04-27 09:09:03 +02:00
Ricardo Wurmus
e5c80457a4 gnu: r-purrr: Update to 1.2.2.
* gnu/packages/cran.scm (r-purrr): Update to 1.2.2.

Change-Id: I6dc49aa59af99ef3214cc107dc47a3f2ef29f84f
2026-04-27 09:09:03 +02:00
Ricardo Wurmus
82fa519f5c gnu: r-pak: Update to 0.9.4.
* gnu/packages/cran.scm (r-pak): Update to 0.9.4.

Change-Id: I17bd495432b955538b1f4d66c2801fd82714044c
2026-04-27 09:09:03 +02:00
Ricardo Wurmus
09e0546ed0 gnu: r-epir: Update to 2.0.92.
* gnu/packages/cran.scm (r-epir): Update to 2.0.92.

Change-Id: I96aedd8013561241c6b6a2338d287a6a7c08a61c
2026-04-27 09:09:02 +02:00
Ricardo Wurmus
809cfe568c gnu: r-devtools: Update to 2.5.1.
* gnu/packages/cran.scm (r-devtools): Update to 2.5.1.

Change-Id: Ie3aa9bccab125526599442686b2e8fc9f8ccd7df
2026-04-27 09:09:02 +02:00
Ricardo Wurmus
de752a17f8 gnu: r-countrycode: Update to 1.8.0.
* gnu/packages/cran.scm (r-countrycode): Update to 1.8.0.

Change-Id: Ieffa36027985e51f0199a65e31bc0a9a0ea5299d
2026-04-27 09:09:02 +02:00
Ricardo Wurmus
700229a32b gnu: r-colorramp2: Update to 0.1.1.
* gnu/packages/cran.scm (r-colorramp2): Update to 0.1.1.

Change-Id: I3a0c42c07c51204354ea9ec4e4c5b50069408381
2026-04-27 09:09:02 +02:00
Ricardo Wurmus
fe83c90ccd gnu: r-box: Update to 1.2.2.
* gnu/packages/cran.scm (r-box): Update to 1.2.2.

Change-Id: I6788163ed22a02c24921eedaf510cd1abed028fb
2026-04-27 09:09:02 +02:00
Ricardo Wurmus
b5e24eec9f gnu: r-ggpicrust2: Update to 2.5.12.
* gnu/packages/bioconductor.scm (r-ggpicrust2): Update to 2.5.12.

Change-Id: Ie625e6082c6e6ff615e5655ef4e99f92d968f574
2026-04-27 09:09:02 +02:00
Ricardo Wurmus
1b8c17de8d gnu: r-samr: Update to 3.0.1.
* gnu/packages/bioconductor.scm (r-samr): Update to 3.0.1.

Change-Id: Ia662ec72bbd8c9c28c954e5a57137b14d9627def
2026-04-27 09:09:01 +02:00
Ricardo Wurmus
539fc61b30 gnu: Add r-gaupro.
* gnu/packages/cran.scm (r-gaupro): New variable.

Change-Id: I65995b68c25c12b58bc718d74d2d40f7fc7327f9
2026-04-27 09:09:01 +02:00
Ricardo Wurmus
59e983e81c gnu: Add r-mixopt.
* gnu/packages/cran.scm (r-mixopt): New variable.

Change-Id: Ie9e8be903bfac9a1f8b0547b98a26d5e98445ed4
2026-04-27 09:09:01 +02:00
Ricardo Wurmus
9044c48494 gnu: Add r-contourfunctions.
* gnu/packages/cran.scm (r-contourfunctions): New variable.

Change-Id: Ib05b992fcff568c1c9f16191784d8c76bea80502
2026-04-27 09:09:01 +02:00
Ricardo Wurmus
2bced82fa9 gnu: Add r-xmlrpc2.
* gnu/packages/cran.scm (r-xmlrpc2): New variable.

Change-Id: Ifab09184f73ff1bb7dbfac11426a2b0126c095d7
2026-04-27 09:09:01 +02:00
Ricardo Wurmus
deb51acc48 gnu: r-optparse: Update to 1.8.2.
* gnu/packages/cran.scm (r-optparse): Update to 1.8.2.
[properties]: Remove updater-extra-native-inputs.
[propagated-inputs]: Remove r-getopt.
[native-inputs]: Add r-rmarkdown.

Change-Id: I6da35779b7fcf10e25db70de0e422ced2dcb8b4f
2026-04-27 09:09:01 +02:00
Ricardo Wurmus
ce5b1699af gnu: Add r-splitfngr.
* gnu/packages/cran.scm (r-splitfngr): New variable.

Change-Id: Ica529377b0db12028df20109c0832da878147865
2026-04-27 09:09:01 +02:00
Ricardo Wurmus
a459c1acbe gnu: Add r-lbfgs.
* gnu/packages/cran.scm (r-lbfgs): New variable.

Change-Id: Ibcb6730d72419673214c35c3d025b7934653f5b4
2026-04-27 09:09:00 +02:00
Ricardo Wurmus
6a920ab00a gnu: Add r-testthatmulti.
* gnu/packages/cran.scm (r-testthatmulti): New variable.

Change-Id: Ie52b482dee3645f2c899968b022a8b4af5b5c7fe
2026-04-27 09:09:00 +02:00
Ricardo Wurmus
878cf0e175 gnu: r-detectseparation: Update to 0.4.0.
* gnu/packages/cran.scm (r-detectseparation): Update to 0.4.0.
[propagated-inputs]: Add r-roi-plugin-alabama, r-roi-plugin-ecos,
r-roi-plugin-glpk, and r-roi-plugin-neos.
[native-inputs]: Add r-tinytest.

Change-Id: I163baa560b16103e5c7393e36e9d914e238a336f
2026-04-27 09:09:00 +02:00
Ricardo Wurmus
566adfd7f5 gnu: Add r-roi-plugin-neos.
* gnu/packages/cran.scm (r-roi-plugin-neos): New variable.

Change-Id: Ic9dff65cf7a6fb0b8decc8f298cba03de5ed2a3f
2026-04-27 09:09:00 +02:00
Ricardo Wurmus
17348b10bd gnu: Add r-roi-plugin-glpk.
* gnu/packages/cran.scm (r-roi-plugin-glpk): New variable.

Change-Id: I7494d76df73a9c367e8897362acea174bb1629b4
2026-04-27 09:09:00 +02:00
Ricardo Wurmus
ba74459d0f gnu: Add r-roi-plugin-ecos.
* gnu/packages/cran.scm (r-roi-plugin-ecos): New variable.

Change-Id: Ie7830147d142873a526b495cc6b1d6b4362816e8
2026-04-27 09:09:00 +02:00
Ricardo Wurmus
3bb3f46cdc gnu: Add r-roi-plugin-alabama.
* gnu/packages/cran.scm (r-roi-plugin-alabama): New variable.

Change-Id: If92353f459bf8ec46a8c46895f8a15683cca6c41
2026-04-27 09:08:59 +02:00
Ricardo Wurmus
1263379e42 gnu: openjdk25: Enable build of i686 variant.
* gnu/packages/java.scm (openjdk25)[arguments]: Conditionally add configure
flags to enable i686 port; conditionally replace 'install and 'install-libjvm
phases.

Change-Id: Ie436812341a4b02f61034c5142f396d16f3da17f
2026-04-27 09:08:59 +02:00
Ricardo Wurmus
0816bc6f7a gnu: openjdk24: Enable build of i686 variant.
* gnu/packages/java.scm (openjdk24)[arguments]: Conditionally add configure
flag to enable i686 port.

Change-Id: Ib24d64d0dfb0e75ad6e1311a00cb8532d367b132
2026-04-27 09:08:59 +02:00
Ricardo Wurmus
e1bae6343a gnu: openjdk10: Conditionally disable C2 compiler when importing certificates.
* gnu/packages/java.scm (openjdk10)[arguments]: Conditionally add phase
'disable-C2-compiler on 32-bit x86.

Change-Id: Id8a90deb686cb1354c53faac11b91af098e83f6e
2026-04-27 09:08:59 +02:00
Ricardo Wurmus
4092b2cc21 gnu: ant-bootstrap: Add hack to build on i686.
* gnu/packages/java-bootstrap.scm (ant-bootstrap)[arguments]: Conditionally
patch isFile checks.

Change-Id: If09594e301dc4691f564e197499acc7d7af71706
2026-04-27 09:08:59 +02:00
Ricardo Wurmus
be07998182 gnu: r-seurat: Conditionally skip a test on 32-bit platforms.
* gnu/packages/cran.scm (r-seurat)[arguments]: On 32-bit platforms skip a
test.

Change-Id: I9c5eb3faed4bd3695fe81200447f201aa8081228
2026-04-27 09:08:59 +02:00
Ricardo Wurmus
402ddf8246 gnu: r-bpcells: Build with SSE2 for on x86 32-bit platforms.
* gnu/packages/bioinformatics.scm (r-bpcells)[arguments]: Conditionally add
phase 'require-sse2.

Change-Id: I4927d9701e47dc34cc435d24c64a3043ad984f0d
2026-04-27 09:08:59 +02:00
Ricardo Wurmus
dfcd5d106d gnu: r-bpcells: Update to 0.3.1.
* gnu/packages/bioinformatics.scm (r-bpcells): Update to 0.3.1.
[arguments]: Do not patch r/configure.

Change-Id: Ia16297dc02bfecaf353de04452026df98ea5c826
2026-04-27 09:08:59 +02:00
Ricardo Wurmus
2c5b0918d3 gnu: r-actuar: Conditionally skip some tests on 32-bit platforms.
* gnu/packages/cran.scm (r-actuar)[arguments]: On 32-bit platforms skip some
tests.

Change-Id: Iad305e0819f919ace9ab9fe7d20357981e2a226a
2026-04-27 09:08:58 +02:00
Ricardo Wurmus
0c3391b4ea gnu: r-expint: Conditionally skip test on 32-bit platforms.
* gnu/packages/cran.scm (r-expint)[arguments]: On 32-bit platforms skip one
test.

Change-Id: Ifa97d90cfcf65fbdb9c920515f32c383c61d1ae6
2026-04-27 09:08:58 +02:00
Ricardo Wurmus
280796188d gnu: r-lme4: Conditionally skip test on 32-bit platforms.
This is really questionable.  The test suite freezes in several places on
i686-linux, and it's not clear why.  It would be preferable to identify the
cause and fix that for good, but perhaps we can revisit this once the state of
R on i686-linux has improved.

* gnu/packages/cran.scm (r-lme4)[arguments]: On 32-bit platforms skip several
tests.

Change-Id: I67e963ec29cb00f66c122817898f0c6db330307f
2026-04-27 09:08:58 +02:00
Ricardo Wurmus
cd99044263 gnu: r-universalmotif: Conditionally skip test on 32-bit platforms.
* gnu/packages/bioconductor.scm (r-universalmotif)
[arguments]: On 32-bit platforms skip one test.

Change-Id: I66c046c20b0eefbaeb90c5fbf86233c175c096b4
2026-04-27 09:08:58 +02:00
Ricardo Wurmus
24997b631f gnu: r-ballgown: Adjust for testthat compatibility.
* gnu/packages/bioconductor.scm (r-ballgown)[arguments]: Add phase
'testthat-compatibility.

Change-Id: Id8d931ee79b55b82e977eb3822537f80b55108bf
2026-04-27 09:08:58 +02:00
Ricardo Wurmus
3e3840ed3b gnu: r-s2: Conditionally skip tests on 32-bit platforms.
* gnu/packages/cran.scm (r-s2)[arguments]: On 32-bit platforms skip some
tests.

Change-Id: Ie1ce57ad4def078c58f33ceec21338b3fb1176f7
2026-04-27 09:08:58 +02:00
Ricardo Wurmus
7a90801fa7 gnu: r-collapse: Conditionally skip tests on 32-bit platforms.
* gnu/packages/cran.scm (r-collapse)[arguments]: On 32-bit platforms skip some
tests.

Change-Id: Idd64fe930fba5b4599324ac0757bad7b0cba695f
2026-04-27 09:08:58 +02:00
Ricardo Wurmus
4a97df1fc9 gnu: r-cards: Conditionally skip one test.
* gnu/packages/cran.scm (r-cards)[arguments]: On 32-bit platforms skip one
test.

Change-Id: I7f0ade42f51290a862412dd3e280b6c42a81f654
2026-04-27 09:08:57 +02:00
Ricardo Wurmus
4cddf7f514 gnu: r-ggplot2: Conditionally skip one test.
* gnu/packages/cran.scm (r-ggplot2)[arguments]: On 32-bit platforms skip one
test.

Change-Id: Icc6d0d6046a18ed24e91e15294c49fb28b4cc12e
2026-04-27 09:08:57 +02:00
Ricardo Wurmus
14049807cc gnu: r-biocstyle: Do not build self-contained reports on 32-bit platforms.
* gnu/packages/bioconductor.scm (r-biocstyle)[arguments]: Conditionally add
phase 'prevent-pandoc-segfault.

Change-Id: I84ea57c44ceedb21e03050b4c48c9c05beedc7d7
2026-04-27 09:08:57 +02:00
Ricardo Wurmus
345419f585 gnu: proj-9.3: Fix build on 32-bit platforms.
* gnu/packages/geo.scm (proj-9.3)[arguments]: Conditionally add phase
'patch-tests to skip broken tests on 32-bit platforms.

Change-Id: I953489a7ac6a6c577d898e677df77d4acf4499c8
2026-04-27 09:08:57 +02:00
Ricardo Wurmus
1ed9219a5f gnu: proj: Fix build on 32-bit platforms.
* gnu/packages/geo.scm (proj)[arguments]: Conditionally add phase
'patch-tests to skip broken tests on 32-bit platforms.

Change-Id: Idf6339181f9bad128b060c2178a07735abba1e0b
2026-04-27 09:08:57 +02:00
Ricardo Wurmus
4a10d68e3c gnu: netcdf: Fix build on 32-bit platforms.
* gnu/packages/maths.scm (netcdf)[arguments]: Conditionally pass CFLAGS to
ignore incompatible pointer types; conditionally update 'fix-tests phase to
skip two broken tests on 32-bit platforms.

Change-Id: Id5d149038275c152bbb30f0b155a2c2f7e05a76e
2026-04-27 09:08:57 +02:00
Ricardo Wurmus
91965e3372 gnu: geos: Conditionally skip tests.
* gnu/packages/geo.scm (geos)[arguments]: Conditionally add phase
'disable-broken-tests on 32-bit platforms.

Change-Id: I9367519716ef309cb6f33e7455d4472ff5293478
2026-04-27 09:08:57 +02:00
Ricardo Wurmus
6e8d89440f gnu: r-coro: Conditionally skip one test.
* gnu/packages/cran.scm (r-coro)[arguments]: On 32-bit platforms skip one
test.

Change-Id: I828ec4eae53df79ed476bd761905b78ae12e45ee
2026-04-27 09:08:56 +02:00
Ricardo Wurmus
c84434a0d2 gnu: r-timechange: Conditionally skip one test.
* gnu/packages/cran.scm (r-timechange)[arguments]: On 32-bit platforms skip one
test.

Change-Id: Idb8298941382bc2447f780e17a125ed39fe889f5
2026-04-27 09:08:56 +02:00
Ricardo Wurmus
6b1b5331a9 gnu: r-bit64: Conditionally skip two tests.
* gnu/packages/cran.scm (r-bit64)[arguments]: On 32-bit platforms skip two
tests.

Change-Id: Iac69d9b9ab479e3756977b6669e4a9f2802233a0
2026-04-27 09:08:56 +02:00
Ricardo Wurmus
dd2351bc5a gnu: r-data-table: Fix a test on 32 bit machines.
* gnu/packages/cran.scm (r-data-table)[arguments]: Conditionally add phase
'fix-bad-test.

Change-Id: Iad9887debcb8a3e65e8495faae778266e42f1ead
2026-04-27 09:08:56 +02:00
Ricardo Wurmus
3c7c41c70c gnu: r-bit64: Update home-page field.
The home page here was for the ff package, not bit64.

* gnu/packages/cran.scm (r-bit64)[home-page]: Update to CRAN project page.

Change-Id: Idcc1972bfe594185cdee29d8b4e4e0259941e784
2026-04-27 09:08:56 +02:00
Ricardo Wurmus
f880a69781 gnu: r-accept: Update to 1.0.2.
* gnu/packages/cran.scm (r-accept): Update to 1.0.2.
[propagated-inputs]: Add r-hardhat, r-tibble, r-tidyselect, r-vctrs, and r-vetiver.
[native-inputs]: Add r-spelling and r-testthat.

Change-Id: I6b4782f8beb8e23f5e8987e1f00f34edec59c4b5
2026-04-27 09:08:56 +02:00
Ricardo Wurmus
6c8c0cf678 gnu: Add r-vetiver.
* gnu/packages/cran.scm (r-vetiver): New variable.

Change-Id: Ia60cb1ca09daf342a2b8df826ed5306ea51a284f
2026-04-27 09:08:56 +02:00
Ricardo Wurmus
53eeb3ad31 gnu: Add r-rapidoc.
* gnu/packages/cran.scm (r-rapidoc): New variable.

Change-Id: Ia43f969774fbaf1bdff69767d872ab113583c5db
2026-04-27 09:08:55 +02:00
Ricardo Wurmus
fc9522586c gnu: Add r-pins.
* gnu/packages/cran.scm (r-pins): New variable.

Change-Id: Ie69fde0b4252d7086a6dadab4645b7885b11f18f
2026-04-27 09:08:55 +02:00
Ricardo Wurmus
4c5f6f06bd gnu: Add r-bundle.
* gnu/packages/cran.scm (r-bundle): New variable.

Change-Id: I7694f43e4aa4ebc421a0e946d5d3ddafd30aa3ef
2026-04-27 09:08:55 +02:00
Ricardo Wurmus
677b924857 gnu: r-bbotk: Update to 1.10.0.
* gnu/packages/cran.scm (r-bbotk): Update to 1.10.0.
[native-inputs]: Remove r-processx, r-redux, and r-rush.

Change-Id: I3add7f5c00d752277dfae3199a9b37509869485c
2026-04-27 09:08:55 +02:00
Ricardo Wurmus
3de959237a gnu: Add r-embed.
* gnu/packages/cran.scm (r-embed): New variable.

Change-Id: I33d35f8c58545f53c346cd656782c4ed526d17b4
2026-04-27 09:08:55 +02:00
Ricardo Wurmus
f2318e31cc gnu: r-yardstick: Update to 1.4.0.
* gnu/packages/cran.scm (r-yardstick): Update to 1.4.0.
[properties]: Record updater-ignored-native-inputs.
[native-inputs]: Add r-epir, r-handtill2001, and r-orf.

Change-Id: I27ce3c780b776ff985df7eb72473011cbd5e93d3
2026-04-27 09:08:55 +02:00
Ricardo Wurmus
bda2ae796d gnu: Add r-orf.
* gnu/packages/cran.scm (r-orf): New variable.

Change-Id: I422f1fa4341b6835d2fd57057c1e1df49a0ec335
2026-04-27 09:08:54 +02:00
Ricardo Wurmus
43b0843a21 gnu: Add r-epir.
* gnu/packages/cran.scm (r-epir): New variable.

Change-Id: Ic2eba444f2f3cdac8420bfa6b391e763f62c7b4d
2026-04-27 09:08:54 +02:00
Ricardo Wurmus
0eba86a9ec gnu: Add r-handtill2001.
* gnu/packages/cran.scm (r-handtill2001): New variable.

Change-Id: I09e71b5286356b8c6d0cda0b6914e6af07074145
2026-04-27 09:08:54 +02:00
Ricardo Wurmus
b0b7e4c3c1 gnu: Add r-cereal.
* gnu/packages/cran.scm (r-cereal): New variable.

Change-Id: I3b5c8854f49c732cc003529e8a82f4a37bd6c5bf
2026-04-27 09:08:54 +02:00
Ricardo Wurmus
01b43ca524 gnu: r-s4vectors: Update to 0.48.1.
* gnu/packages/bioconductor.scm (r-s4vectors): Update to 0.48.1.

Change-Id: I8b856c0e0679262ec5be2a1ae655fd2aa9f6d263
2026-04-27 09:08:54 +02:00
Ricardo Wurmus
876b4d6b8c gnu: r-biocviews: Update to 1.78.2.
* gnu/packages/bioconductor.scm (r-biocviews): Update to 1.78.2.

Change-Id: I3aa91454ea13045bb4f4ebe36700c5c36ee28816
2026-04-27 09:08:54 +02:00
Ricardo Wurmus
626cfbb718 gnu: r-wiggleplotr: Update to 1.34.1.
* gnu/packages/bioconductor.scm (r-wiggleplotr): Update to 1.34.1.

Change-Id: I3e9df308ff374a62d2ae41eed6df7297411ee665
2026-04-27 09:08:53 +02:00
Ricardo Wurmus
1cf7f60434 gnu: r-enmix: Update to 1.46.2.
* gnu/packages/bioconductor.scm (r-enmix): Update to 1.46.2.

Change-Id: I04675d3351d71cf7132918f3840a236ba64ad2c0
2026-04-27 09:08:53 +02:00
Ricardo Wurmus
999e5580ed gnu: r-delayedarray: Update to 0.36.1.
* gnu/packages/bioconductor.scm (r-delayedarray): Update to 0.36.1.

Change-Id: I36e6c48575213cbdac4c7351bfd5fc49d2ca1faf
2026-04-27 09:08:53 +02:00
Ricardo Wurmus
c0f6315485 gnu: r-stars: Update to 0.7-2.
* gnu/packages/cran.scm (r-stars): Update to 0.7-2.

Change-Id: If5583378486a10f644dd7b9098c332f290d4a765
2026-04-27 09:08:53 +02:00
Ricardo Wurmus
9f8fc773ea gnu: r-pbdmpi: Update to 0.5-5.
* gnu/packages/cran.scm (r-pbdmpi): Update to 0.5-5.

Change-Id: I34ade16a4af9530a59aaf0698c1baf82262a1a9f
2026-04-27 09:08:53 +02:00
Ricardo Wurmus
97e3481dec gnu: r-mlr3: Update to 1.6.0.
* gnu/packages/cran.scm (r-mlr3): Update to 1.6.0.

Change-Id: I553b49832b9c56d43501edce7858abbd5c1062e7
2026-04-27 09:08:53 +02:00
Ricardo Wurmus
4fd6653a99 gnu: r-lobstr: Update to 1.2.1.
* gnu/packages/cran.scm (r-lobstr): Update to 1.2.1.

Change-Id: If088ac344520b04407c7b6f0e32fa4fb02a4cda8
2026-04-27 09:08:52 +02:00
Ricardo Wurmus
5633d8e1c7 gnu: r-igraph: Update to 2.2.3.
* gnu/packages/cran.scm (r-igraph): Update to 2.2.3.

Change-Id: I23dfd5b2a7685014b7aa86cf46b0a999081cce3e
2026-04-27 09:08:52 +02:00
Ricardo Wurmus
d2e466f447 gnu: r-cpp11: Update to 0.5.4.
* gnu/packages/cran.scm (r-cpp11): Update to 0.5.4.

Change-Id: Ib0f6d7898c26fa5b5a38a2da27161cd6e954f7cd
2026-04-27 09:08:52 +02:00
Ricardo Wurmus
c17e227f9d gnu: r-spatstat: Update to 3.6-0.
* gnu/packages/cran.scm (r-spatstat): Update to 3.6-0.

Change-Id: I05e18e899f11b9ed3227fd0234d97274dfa8b291
2026-04-27 09:08:52 +02:00
Ricardo Wurmus
b2390c3042 gnu: r-hardhat: Update to 1.4.3.
* gnu/packages/cran.scm (r-hardhat): Update to 1.4.3.

Change-Id: I92526d995ef4913a20ff879e99b079e27c7d0ef4
2026-04-27 09:08:52 +02:00
Ricardo Wurmus
6085cd2a1e gnu: r-quanteda: Update to 4.4.
* gnu/packages/cran.scm (r-quanteda): Update to 4.4.

Change-Id: I72e65e0d8a40b9a46a3353a87663c85b2dc7e4fb
2026-04-27 09:08:52 +02:00
Ricardo Wurmus
1fe2e00a2e gnu: r-sccore: Update to 1.0.7.
* gnu/packages/cran.scm (r-sccore): Update to 1.0.7.
[propagated-inputs]: Remove r-seurat.

Change-Id: Ib8b66b4c26c2f06965d64f14ac561b319a422b2f
2026-04-27 09:08:51 +02:00
Ricardo Wurmus
abd54577c6 gnu: r-spamm: Update to 4.6.65.
* gnu/packages/cran.scm (r-spamm): Update to 4.6.65.

Change-Id: Id033c8d33ca69a7f44a7b6dd9806e534778b4cd0
2026-04-27 09:08:51 +02:00
Ricardo Wurmus
7d09095d9c gnu: r-rio: Update to 1.3.0.
* gnu/packages/cran.scm (r-rio): Update to 1.3.0.
[native-inputs]: Remove r-jpeg.

Change-Id: Ie60d8e73148286b9cb0f1f5f2405f76aa3d8d22b
2026-04-27 09:08:51 +02:00
Ricardo Wurmus
105a252aa1 gnu: r-nanonext: Update to 1.8.2.
* gnu/packages/cran.scm (r-nanonext): Update to 1.8.2.

Change-Id: I2587c0be9c892de4379e9f8b50eb9ec33df97f2f
2026-04-27 09:08:51 +02:00
Ricardo Wurmus
4190c0b485 gnu: r-ucminf: Update to 1.2.3.
* gnu/packages/cran.scm (r-ucminf): Update to 1.2.3.

Change-Id: I486976827be08ec03c45fef94b745befde3f6907
2026-04-27 09:08:51 +02:00
Ricardo Wurmus
7af7bd4f53 gnu: r-statsexpressions: Update to 1.7.4.
* gnu/packages/cran.scm (r-statsexpressions): Update to 1.7.4.

Change-Id: I0b79a241393d26a8c026088b0e424b38e4472c9e
2026-04-27 09:08:51 +02:00
Ricardo Wurmus
6f8ddeab57 gnu: r-recipes: Update to 1.3.2.
* gnu/packages/cran.scm (r-recipes): Update to 1.3.2.

Change-Id: Id2e16bce4db896983b3185c1c5b2e23196a793b5
2026-04-27 09:08:51 +02:00
Ricardo Wurmus
479eb5f782 gnu: r-cvxr: Update to 1.8.2.
* gnu/packages/cran.scm (r-cvxr): Update to 1.8.2.

Change-Id: I2e8bda89edb439a667eb199abf7ae15b593b3071
2026-04-27 09:08:50 +02:00
Ricardo Wurmus
2ed6487259 gnu: r-circlize: Update to 0.4.18.
* gnu/packages/cran.scm (r-circlize): Update to 0.4.18.

Change-Id: I161c5eef8f7db52620ff87fc298ed5771cc914f8
2026-04-27 09:08:50 +02:00
Ricardo Wurmus
8249bba4c0 gnu: r-geosphere: Update to 1.6-8.
* gnu/packages/cran.scm (r-geosphere): Update to 1.6-8.
[propagated-inputs]: Remove r-sp.

Change-Id: Ibb73b0b53cd78de120c604d75a0549820eb3200e
2026-04-27 09:08:50 +02:00
Ricardo Wurmus
77fc1b7ad0 gnu: r-magrittr: Update to 2.0.5.
* gnu/packages/cran.scm (r-magrittr): Update to 2.0.5.
[native-inputs]: Add r-rlang.

Change-Id: Icd245b27401f4f0ba1c591ae1dd7a8e651201405
2026-04-27 09:08:50 +02:00
Ricardo Wurmus
67eca71ea8 gnu: r-ellipsis: Update to 0.3.3.
* gnu/packages/cran.scm (r-ellipsis): Update to 0.3.3.

Change-Id: I098570b2c7e05c2a67c3a91e4be4e222cb7deb15
2026-04-27 09:08:50 +02:00
Ricardo Wurmus
3683813e41 gnu: r-lazyeval: Update to 0.2.3.
* gnu/packages/cran.scm (r-lazyeval): Update to 0.2.3.
[propagated-inputs]: Add r-rlang.

Change-Id: I29e122307aa6b2e67258af2ca96cfc873fca973d
2026-04-27 09:08:50 +02:00
Ricardo Wurmus
1b191e1ce7 gnu: r-fpeek: Update to 0.2.1.
* gnu/packages/cran.scm (r-fpeek): Update to 0.2.1.

Change-Id: I65cec23ef7def6a4dd07b10345a33ed87465be90
2026-04-27 09:08:49 +02:00
Ricardo Wurmus
9c143cd805 gnu: r-fingerprint: Update to 3.5.10.
* gnu/packages/cran.scm (r-fingerprint): Update to 3.5.10.

Change-Id: Id7412db399a6bf6254f2ee154e3150c78486acab
2026-04-27 09:08:49 +02:00
Ricardo Wurmus
be4d624675 gnu: r-rush: Update to 1.0.1.
* gnu/packages/cran.scm (r-rush): Update to 1.0.1.

Change-Id: I8862fb80bbace1718d50a326220665519449d556
2026-04-27 09:08:49 +02:00
Ricardo Wurmus
a67c1136d8 gnu: r-rlang: Update to 1.2.0.
* gnu/packages/cran.scm (r-rlang): Update to 1.2.0.

Change-Id: Ibc781c6de7a2e3c0bb0ca4e0b1242f6dd68ac590
2026-04-27 09:08:49 +02:00
Ricardo Wurmus
188e088790 gnu: r-ggstatsplot: Update to 0.13.6.
* gnu/packages/cran.scm (r-ggstatsplot): Update to 0.13.6.

Change-Id: If4bf6c55a2bde9d629f7a9fc33456f256da8302d
2026-04-27 09:08:49 +02:00
Ricardo Wurmus
05356ebdb6 gnu: r-dplyr: Update to 1.2.1.
* gnu/packages/cran.scm (r-dplyr): Update to 1.2.1.

Change-Id: I3821473e4964b0d367915ad85c5b47927e35ee48
2026-04-27 09:08:49 +02:00
Ricardo Wurmus
96175dc3e9 gnu: r-cftime: Update to 1.7.3.
* gnu/packages/cran.scm (r-cftime): Update to 1.7.3.

Change-Id: I621d2a7cc6646369e963db137f089a0236b16199
2026-04-27 09:08:49 +02:00
Ricardo Wurmus
7f544e1a4c gnu: r-backports: Update to 1.5.1.
* gnu/packages/cran.scm (r-backports): Update to 1.5.1.

Change-Id: Ia363be468b5888a4d1b5d390a8a7c7eb07ea9cc1
2026-04-27 09:08:48 +02:00
Ricardo Wurmus
82a35f1e84 gnu: r-ggplot2: Disable one failing test.
* gnu/packages/cran.scm (r-ggplot2)[arguments]: Disable a failing test.

Change-Id: I41c5ec8790148f7ffe1397d3b9694f1cd8e0c739
2026-04-27 09:08:48 +02:00
Ricardo Wurmus
1f30133ad1 gnu: Add r-timereg.
* gnu/packages/cran.scm (r-timereg): New variable.

Change-Id: Ifb43c8f624ac79bb16361912ccf9cbdb623356ab
2026-04-27 09:08:48 +02:00
Ricardo Wurmus
5d5a6831fb gnu: r-lava: Update to 1.9.0.
* gnu/packages/cran.scm (r-lava): Update to 1.9.0.
[native-inputs]: Add r-vdiffr.
[arguments]: Disable some failing tests.

Change-Id: I6025e511e46f8d7aa6b3864b411e5aacd86a06d0
2026-04-27 09:08:48 +02:00
Ricardo Wurmus
14886a9f97 gnu: r-flames: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-flames)[arguments]: Remove
phase 'disable-some-tests; specify #:skipped-tests instead.

Change-Id: I75024c6b9c5316e1b4bef80c5e60d77699b71e9b
2026-04-27 09:08:48 +02:00
Ricardo Wurmus
cc3eaf49a6 gnu: r-ncdfflow: Enable all tests.
* gnu/packages/bioconductor.scm (r-ncdfflow)[arguments]: Remove phase
'delete-bad-tests.

Change-Id: I5c4c64f992b33af1ecaa42b833a8f2cb3f2b47d6
2026-04-27 09:08:48 +02:00
Ricardo Wurmus
b5cdb8c76f gnu: r-flowclust: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-flowclust)[arguments]: Remove
phase 'delete-bad-tests; specify #:skipped-tests instead; disable one more
test.

Change-Id: I18369d410ad9cff4db7afcb15fd5292b3c6c0177
2026-04-27 09:08:48 +02:00
Ricardo Wurmus
b9909c80aa gnu: r-variantfiltering: Enable all tests.
* gnu/packages/bioconductor.scm (r-variantfiltering)[arguments]: Remove phase
'delete-bad-tests.

Change-Id: I76ef169743ecbd5c75fb115ab5adf8c46128d068
2026-04-27 09:08:48 +02:00
Ricardo Wurmus
a958093f4b gnu: r-beachmat: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-beachmat)[arguments]: Remove
phase 'delete-bad-tests; specify #:skipped-tests
instead.

Change-Id: I17f4999f3747f4e72015ae64872e2c877a157267
2026-04-27 09:08:47 +02:00
Ricardo Wurmus
8b971bb8b2 gnu: r-rhdf5lib: Use G-expressions and fix test instead of disabling it.
* gnu/packages/bioconductor.scm (r-rhdf5lib)[arguments]: Use G-expressions;
fix library version check instead of disabling the test.

Change-Id: I78e8cfd9d2588517b0911dde5fc8aa53d4f67892
2026-04-27 09:08:47 +02:00
Ricardo Wurmus
2658de2741 gnu: r-sgseq: Enable all tests.
* gnu/packages/bioconductor.scm (r-sgseq)[arguments]: Remove phase
'delete-bad-tests.

Change-Id: I25cfd6620b6573057c161200bd5fad99a19e2bdd
2026-04-27 09:08:47 +02:00
Ricardo Wurmus
76a7ae3d03 gnu: r-metagenomeseq: Enable all tests.
* gnu/packages/bioconductor.scm (r-metagenomeseq)[arguments]: Remove phase
'delete-bad-tests.

Change-Id: I17d0d965b6d7702dfd6eb24eef288a51915aa3f6
2026-04-27 09:08:47 +02:00
Ricardo Wurmus
8ae7a78bd4 gnu: r-graph: Enable tests.
* gnu/packages/bioconductor.scm (r-graph)[arguments]: Enable tests.

Change-Id: I9307f27a1e36e439b3d0c5680faa558981dc5d3a
2026-04-27 09:08:47 +02:00
Ricardo Wurmus
04639276f7 gnu: r-summarizedexperiment: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-summarizedexperiment)[arguments]: Remove
phase 'delete-bad-tests; specify #:test-directory and #:skipped-tests
instead.

Change-Id: I6229ec548d21f30534f9d279b3aae8847e55a77e
2026-04-27 09:08:47 +02:00
Ricardo Wurmus
d88e55ffa9 gnu: r-batchelor: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-batchelor)[arguments]: Remove phase
'delete-bad-tests; specify #:skipped-tests instead.

Change-Id: Icd8aaae97130eed2e3c1b1629ac1dd9d18287fee
2026-04-27 09:08:47 +02:00
Ricardo Wurmus
42a7cf7845 gnu: r-biocsingular: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-biocsingular)[arguments]: Remove phase
'delete-bad-tests; specify #:skipped-tests instead.

Change-Id: I8b8f91562233c9cca180eeda50f5d6dc4bc1cd37
2026-04-27 09:08:46 +02:00
Ricardo Wurmus
135b32e248 gnu: r-glmgampoi: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-glmgampoi)[arguments]: Remove phase
'delete-bad-tests; specify #:skipped-tests instead; enable tests.

Change-Id: I5de95bf59482d706bf80bb6fc4cdcf6da89d2afd
2026-04-27 09:08:46 +02:00
Ricardo Wurmus
17f9333b6e gnu: r-variantannotation: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-variantannotation)[arguments]: Remove phase
'delete-bad-tests; specify #:test-directory and #:skipped-tests instead.

Change-Id: I17532f8a6e23b52591f0593677e8cd88aacbfc23
2026-04-27 09:08:46 +02:00
Ricardo Wurmus
0969c568fd gnu: r-rhdf5: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-rhdf5)[arguments]: Remove phase
'delete-bad-tests; specify #:skipped-tests instead; enable tests.

Change-Id: I2a440a41b6d527c5c91786345db49532fdca5b2c
2026-04-27 09:08:46 +02:00
Ricardo Wurmus
c8313fcb45 gnu: r-regioner: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-regioner)[arguments]: Remove phase
'delete-bad-tests; specify #:skipped-tests instead.

Change-Id: Ic90c620653ffa6d2ad6eab4ded05e4bbfe62d279
2026-04-27 09:08:46 +02:00
Ricardo Wurmus
c1f580299c gnu: r-msnbase: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-msnbase)[arguments]: Remove phase
'delete-bad-tests; specify #:skipped-tests instead.

Change-Id: Icb2170c300d80dc5f955b4ff1b97f1e33385a7c2
2026-04-27 09:08:46 +02:00
Ricardo Wurmus
6755b7f807 gnu: r-genomicdatacommons: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-genomicdatacommons)[arguments]: Remove phase
'delete-bad-tests; specify #:skipped-tests instead.

Change-Id: I02a6f73db89104c90e6a4301240a1fd20e35a636
2026-04-27 09:08:46 +02:00
Ricardo Wurmus
0988179a0d gnu: r-escape: Enable all tests.
* gnu/packages/bioconductor.scm (r-escape)[arguments]: Remove phase
'delete-bad-tests.

Change-Id: I6d0af6daaed7b5c142ccfdfc162ba57968d1ce17
2026-04-27 09:08:46 +02:00
Ricardo Wurmus
716794229f gnu: r-category: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-category)[arguments]: Remove phase
'delete-bad-tests; specify #:test-directory and #:skipped-tests instead.

Change-Id: If573e4ea497fdd1f3654433d2854f0a821455bd6
2026-04-27 09:08:45 +02:00
Ricardo Wurmus
63c03c3d26 gnu: r-treeio: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-treeio)[arguments]: Remove phase
'delete-bad-tests; specify #:skipped-tests instead; enable more tests.

Change-Id: I55fccf144c233bfd4115b9201c1550e9d477e6a4
2026-04-27 09:08:45 +02:00
Ricardo Wurmus
f1c11c6d8e gnu: r-derfinder: Enable all tests.
* gnu/packages/bioconductor.scm (r-derfinder)[arguments]: Remove phase
'delete-bad-tests.

Change-Id: Ib4e5e8557209b5a46b48e77c52c6355676b3e577
2026-04-27 09:08:45 +02:00
Ricardo Wurmus
dba094565a gnu: r-bumphunter: Disable tests instead of patching them.
After patching we didn't run any tests anyway.

* gnu/packages/bioconductor.scm (r-bumphunter)[arguments]: Remove phase
'delete-bad-tests; disable tests instead.

Change-Id: I6ba13013c6038b272204ae4191111714d835be05
2026-04-27 09:08:45 +02:00
Ricardo Wurmus
255537bde7 gnu: r-txdbmaker: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-txdbmaker)[arguments]: Remove phase
'delete-bad-tests; specify #:skipped-tests instead.

Change-Id: I35e1fb2dce920cb0a59a063eb2b511b636e46546
2026-04-27 09:08:45 +02:00
Ricardo Wurmus
b00a5ed37d gnu: r-scrapper: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-scrapper)[arguments]: Remove phase
'disable-bad-tests; specify #:skipped-tests instead.

Change-Id: I25b29604508732e64a7efb72b9635e7bc8685356
2026-04-27 09:08:45 +02:00
Ricardo Wurmus
5c4ed81244 gnu: r-plyranges: Enable all tests.
* gnu/packages/bioconductor.scm (r-plyranges)[arguments]: Remove phase
'disable-bad-tests.

Change-Id: I7539e3c6f8ed26a66bf9d4ef65ecb11bee74421d
2026-04-27 09:08:45 +02:00
Ricardo Wurmus
bf7cfab66f gnu: r-transcriptr: Enable all tests.
* gnu/packages/bioconductor.scm (r-transcriptr)[arguments]: Remove phase
'disable-bad-tests.

Change-Id: Ic0781089808a2468797d03e968aa696553409801
2026-04-27 09:08:44 +02:00
Ricardo Wurmus
3a315bf714 gnu: r-tcgautils: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-tcgautils)[arguments]: Remove phase
'disable-bad-tests; specify #:skipped-tests instead.

Change-Id: I29a788dc229c599207d89d7f4dbd49c3c9f06f1e
2026-04-27 09:08:44 +02:00
Ricardo Wurmus
a93bff0539 gnu: r-screpertoire: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-screpertoire)[arguments]: Remove phase
'disable-bad-tests; specify #:skipped-tests instead.

Change-Id: Ieac662ca919889a71861cb6b1f08febab2487f54
2026-04-27 09:08:44 +02:00
Ricardo Wurmus
9eeb042f66 gnu: r-chippeakanno: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-chippeakanno)[arguments]: Remove phase
'disable-bad-tests; specify #:skipped-tests instead.

Change-Id: Id7e7cd02d1b0b02f62022b9d55e69c867200e213
2026-04-27 09:08:44 +02:00
Ricardo Wurmus
b82a8212a9 gnu: r-msnid: Enable all tests.
* gnu/packages/bioconductor.scm (r-msnid)[arguments]: Remove phase
'disable-bad-tests.

Change-Id: Iaf459f89d1f6d82a486a0dcd860cff746ee140a0
2026-04-27 09:08:44 +02:00
Ricardo Wurmus
b4ebd385cb gnu: r-mosdef: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-mosdef)[arguments]: Remove phase
'disable-bad-tests; specify #:skipped-tests instead.

Change-Id: Iadf53cbebf8e30b1cd8a4a793a7853b01318de39
2026-04-27 09:08:44 +02:00
Ricardo Wurmus
8bc19a783e gnu: r-h5mread: Enable all tests.
* gnu/packages/bioconductor.scm (r-h5mread)[arguments]: Remove phase
'disable-bad-tests.

Change-Id: I8a20a311a4c8c2177c07ab5d0b59c8ea5e369c73
2026-04-27 09:08:44 +02:00
Ricardo Wurmus
0885dcbd28 gnu: r-immapex: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-immapex)[arguments]: Remove phase
'skip-bad-tests; specify #:skipped-tests instead.

Change-Id: Icb90decad077e6e2b9f68b618a983b8251954791
2026-04-27 09:08:44 +02:00
Ricardo Wurmus
ce874aa2ec gnu: r-rcas: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-rcas)[arguments]: Remove phase
'skip-bad-tests; specify #:skipped-tests instead.

Change-Id: Ib4497fa70e0b61267b61d4fdf70e3e5abd0c1af9
2026-04-27 09:08:43 +02:00
Ricardo Wurmus
a95926a0c6 gnu: r-karyoploter: Enable all tests.
* gnu/packages/bioconductor.scm (r-karyoploter)[arguments]: Remove phase
'disable-bad-tests.

Change-Id: I3d5727327d1da4ba30bd8cd8d9251100329e4cac
2026-04-27 09:08:43 +02:00
Ricardo Wurmus
6979e90a06 gnu: r-sanssouci: Update to 0.16.2-1.fcd60da.
* gnu/packages/bioconductor.scm (r-sanssouci): Update to 0.16.2-1.fcd60da.
[arguments]: Remove phase 'delete-bad-tests.
[propagated-inputs]: Remove r-rcpp and r-rcpparmadillo; add r-matrixtests and
r-rlang.
[native-inputs]: Remove r-ggplot2; add r-knitr.

Change-Id: I30fa708d0a1873d78fa2350e5933e807ccaae821
2026-04-27 09:08:43 +02:00
Ricardo Wurmus
6a27c193e6 gnu: r-cicero-monocle3: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-cicero-monocle3)[arguments]: Remove phase
'skip-bad-tests; specify #:skipped-tests instead.

Change-Id: I3ab92000982c97e95e4b157dcf3cfe1d49f056f3
2026-04-27 09:08:43 +02:00
Ricardo Wurmus
df58ecce45 gnu: r-mutationalpatterns: Enable all tests.
* gnu/packages/bioconductor.scm (r-mutationalpatterns)[arguments]: Remove
phase 'skip-bad-tests.

Change-Id: I51ee4d02fd12e34100a6823a8ba71e117bc618a1
2026-04-27 09:08:43 +02:00
Ricardo Wurmus
dabf458672 gnu: r-bamsignals: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-bamsignals)[arguments]: Remove phase
'disable-bad-tests; specify #:skipped-tests instead.

Change-Id: Ifbb26ef31debc2ad43eb1265c7916b24bfa140ae
2026-04-27 09:08:43 +02:00
Ricardo Wurmus
334b06c51b gnu: r-biomart: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-biomart)[arguments]: Remove phase
'delete-bad-tests; specify #:skipped-tests instead.

Change-Id: I98c167685c07453fd8fa8b8c7700c21591d043af
2026-04-27 09:08:42 +02:00
Ricardo Wurmus
0e337d2ac8 gnu: r-biocset: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-biocset)[arguments]: Remove phase
'delete-bad-tests; specify #:skipped-tests instead.

Change-Id: Ibcdfdca6e35869e260a8f02deddacaa59002c7f1
2026-04-27 09:08:42 +02:00
Ricardo Wurmus
485afefd34 gnu: r-zellkonverter: Enable tests by bypassing Conda.
* gnu/packages/bioconductor.scm (r-zellkonverter)[arguments]: Enable all tests
but one; add phase 'basilisk-configuration.
[inputs]: Add python-anndata, python-h5py, python-natsort, python-numpy,
python-pandas, python-scipy, and python-wrapper.

Change-Id: I4eb5e34ab540bdeea64f6b8629bb8f17d24c3663
2026-04-27 09:08:42 +02:00
Ricardo Wurmus
2b11327ca1 gnu: r-hdf5array: Update comment.
* gnu/packages/bioconductor.scm (r-hdf5array)[arguments]: Update comment on
why we delete a test.

Change-Id: Ibefbe960a12969337a63329d511d6c0891895c94
2026-04-27 09:08:42 +02:00
Ricardo Wurmus
91b7e40c48 gnu: r-basilisk: Patch to bypass Conda.
* gnu/packages/bioconductor.scm (r-basilisk)[arguments]: Add phase
'patch-for-guix.

Change-Id: I8bcfd78da0818235a3ab1c00aae8dafdc8aa57aa
2026-04-27 09:08:42 +02:00
Ricardo Wurmus
9384694ed8 gnu: r-decoupler: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-decoupler)[arguments]: Remove phase
'disable-bad-tests; specify #:skipped-tests instead.

Change-Id: I40e3ba1539ee4dc5d471c547a5208317f2a7600e
2026-04-27 09:08:42 +02:00
Ricardo Wurmus
876e740955 gnu: r-cner: Remove custom phases, enable all tests.
* gnu/packages/bioconductor.scm (r-cner)[arguments]: Remove phases
'disable-bad-tests and 'fix-gcc-14-strictness.

Change-Id: I116538acce4dacad5550727dba14bb72bb8905f4
2026-04-27 09:08:42 +02:00
Ricardo Wurmus
a54c1cce04 gnu: r-chromvar: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-chromvar)[arguments]: Remove phase
'disable-bad-tests; specify #:skipped-tests instead.

Change-Id: Ia5419e9be986c9600372de103c0ee5353a194346
2026-04-27 09:08:42 +02:00
Ricardo Wurmus
db4ac307d3 gnu: r-mscoreutils: Enable all tests.
* gnu/packages/bioconductor.scm (r-mscoreutils)[arguments]: Remove phase
'disable-bad-tests.

Change-Id: I6fa331a8110d3923f7f1394023cfa81aa2a1b837
2026-04-27 09:08:41 +02:00
Ricardo Wurmus
61d6237d50 gnu: r-abn: Enable all tests.
* gnu/packages/bioconductor.scm (r-abn)[arguments]: Remove phase
'delete-bad-tests.

Change-Id: I78978dfc6e606c90d24c6ef6b4cf0ed5f1af3492
2026-04-27 09:08:41 +02:00
Ricardo Wurmus
fcf0a97470 gnu: r-posterior: Update to 1.7.0.
* gnu/packages/cran.scm (r-posterior): Update to 1.7.0.

Change-Id: I7053e29e54d42cbb82a45d19831accc849df796a
2026-04-27 09:08:41 +02:00
Ricardo Wurmus
ce69ef9d5c gnu: r-processx: Update to 3.8.7.
* gnu/packages/cran.scm (r-processx): Update to 3.8.7.

Change-Id: I69d8e6a7d8627f851b066b00e4e74340767facfb
2026-04-27 09:08:41 +02:00
Ricardo Wurmus
1feeb06aff gnu: r-pkgload: Update to 1.5.1.
* gnu/packages/cran.scm (r-pkgload): Update to 1.5.1.

Change-Id: Ib774f4e6a77be5d7358673485337248e47388700
2026-04-27 09:08:41 +02:00
Ricardo Wurmus
5dc762a7ca gnu: r-ps: Update to 1.9.2.
* gnu/packages/cran.scm (r-ps): Update to 1.9.2.

Change-Id: I44542f83ac5880a79f940ab6702805812d3414e1
2026-04-27 09:08:41 +02:00
Ricardo Wurmus
a05f8cc7b0 gnu: r-conos: Update to 1.5.3.
* gnu/packages/bioconductor.scm (r-conos): Update to 1.5.3.

Change-Id: I1f2b0773ab03051dd4c82f991196c0c7ac77063f
2026-04-27 09:08:41 +02:00
Ricardo Wurmus
dce3a53259 gnu: r-barcodetrackr: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-barcodetrackr)[arguments]: Remove phase
'disable-bad-tests; specify #:skipped-tests instead.

Change-Id: Ibe719fb6a2395c31c67788255d7df95988962b4c
2026-04-27 09:08:40 +02:00
Ricardo Wurmus
366a7fa3bb gnu: r-basics: Replace custom phase with SKIPPED-TESTS argument.
* gnu/packages/bioconductor.scm (r-basics)[arguments]: Remove phase
'disable-bad-tests; specify #:skipped-tests instead.

Change-Id: I2948991cebaab753c496ec272a9f82c5f359ca2d
2026-04-27 09:08:40 +02:00
Efraim Flashner
c2b3c7a00b gnu: vim-full: Don't overwrite configure flags.
* gnu/packages/vim.scm (vim-full)[arguments]: Adjust the inherited
configure-flags instead of prepending configure-flags to the inherited
arguments.

Fixes: guix/guix#8116
Change-Id: I522b03620ffe6668876843b30bb90f44e521484d
2026-04-27 08:54:42 +03:00
jgart
0c1d342191 gnu: trealla: Update to 2.94.4.
* gnu/packages/prolog.scm (trealla): Update to 2.94.4.

Change-Id: I1e3fd231fa11ac47ce89eeb986b2c2d0969ae7cf
2026-04-26 21:59:16 -04:00
Maxim Cournoyer
ae50b34096 .guix-authorizations: Register Noé's key.
* .guix-authorizations (baleine): Register Noé's key.

Voucher: Liliana Marie Prikler <liliana.prikler@gmail.com>
Voucher: Maxim Cournoyer <maxim@guixotic.coop>
Voucher: Andreas Enge <andreas@enge.fr>
Change-Id: Iaa262f753d73f5ecd15ecd883b7e905de647b476
2026-04-27 09:35:25 +09:00
moksh
f90adbd63b gnu: syncthing: Update to 2.0.16.
* gnu/packages/syncthing.scm (syncthing): Update to 2.0.16.

Merges: https://codeberg.org/guix/guix/pulls/8160
Change-Id: I3272857ea3d73b0a206ff878333e6339a2e815ca
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-26 22:45:13 +01:00
Sharlatan Hellseher
0791717950 gnu: go-github-com-openzipkin-zipkin-go: Enable build and tests.
* gnu/packages/golang-web.scm (go-github-com-openzipkin-zipkin-go):
[arguments] <skip-build?, tests?>: Enable.
[propagated-inputs]: Add go-github-com-ibm-sarama and
go-github-com-rabbitmq-amqp091-go.
[description]: Provide URL with short explanation of what Zipkin is.

Change-Id: Ia3945e598b2868ab28b40ee7a4ff7937dc169558
2026-04-26 22:35:23 +01:00
Sharlatan Hellseher
ab69b44f78 gnu: Add go-github-com-rabbitmq-amqp091-go.
* gnu/packages/golang-web.scm (go-github-com-rabbitmq-amqp091-go): New variable.

Change-Id: I5f66448cc50ba88f84f1afdb571eb1e2d630451b
2026-04-26 22:27:38 +01:00
Sharlatan Hellseher
d19d23ceba gnu: Add go-github-com-ibm-sarama.
* gnu/packages/golang-web.scm (go-github-com-ibm-sarama, sarama-tools):
New variables.

Change-Id: I0022a5a435f5bb5001eba62b2ed59e45a0f4b0b0
2026-04-26 22:22:53 +01:00
Sharlatan Hellseher
db8a17feea gnu: Add go-github-com-eapache-go-resiliency.
* gnu/packages/golang-xyz.scm (go-github-com-eapache-go-resiliency): New variable.

Change-Id: I7b8c36c7c955c899e4212cb9248e7d9f86ce05b4
2026-04-26 22:22:53 +01:00
Danny Milosavljevic
a1a82d2525 gnu: codex: Update to 0.124.0.
* gnu/packages/patches/rust-codex-0.124.0-code-mode-stub-toolname.patch: New file.
* gnu/packages/patches/rust-codex-0.124.0-remove-patch-sections.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add references to them.
* gnu/packages/codex.scm (codex): Update to 0.124.0.
* gnu/packages/rust-crates.scm: Update.
* gnu/packages/rust-sources.scm (rust-codex-0.124.0): New variable.

Change-Id: I90570206d39c533edfc6d70e229ee3f7eda9dcf2
2026-04-26 22:47:11 +02:00
Tobias Geerinckx-Rice
ecda809fd4 doc: Further elucidate(?) the bcachefs situation.
This follows up on commit cd2d52bce2.

Said support is <https://codeberg.org/guix/guix/pulls/1917>, but linking
to PRs in the documentation is a bit much.  The git log is much better.

* doc/guix.texi (Keyboard Layout and Networking and Partitioning): One
cannot, in fact, load the bcachefs module on an unpatched Guix System.

Change-Id: Ib04cc97cf7cffc1e7d130d4dd43e422afaef55ee
2026-04-19 02:00:00 +02:00
Tobias Geerinckx-Rice
6565cb39a9 gnu: psi-plus: Tweak description.
* gnu/packages/messaging.scm (psi-plus)[description]: Prioritise.

Change-Id: Ica1695748628ba2ea7d06e2ebdaa871bf7cf09c1
2026-04-19 02:00:00 +02:00
Tobias Geerinckx-Rice
d93269e925 gnu: psi-plus: Update to 1.5.2115.
* gnu/packages/messaging.scm (psi-plus): Update to 1.5.2115.
[inputs]: Add libomemo-c.

Change-Id: Idc1ec0510a28420c659122f72ac832818be8e9b8
2026-04-19 02:00:00 +02:00
Tobias Geerinckx-Rice
223b983c4f gnu: psi-plus: Update home page.
* gnu/packages/messaging.scm (psi-plus)[home-page]: Update.

Change-Id: I27a0ef532455e1a352b19936a860ab0490217447
2026-04-19 02:00:00 +02:00
Tobias Geerinckx-Rice
65d5abecf4 gnu: psi-plus: Simplify wrapping phase.
* gnu/packages/messaging.scm (psi-plus)[arguments]: Rename the 'wrap-env phase
to 'wrap-executable and remove the single-element FOR-EACH complication.

Change-Id: Iabda6634f6f83cd8cd21bd26c2107b139030c575
2026-04-19 02:00:00 +02:00
Sharlatan Hellseher
dd2c600e8f gnu: go-github-com-sigstore-rekor-tiles-v2: Add more missing inputs.
* gnu/packages/golang-web.scm (go-github-com-sigstore-rekor-tiles-v2):
[arguments] <test-flags>: Run more tests.
[propagated-inputs]: Add go-cloud-google-com-go-spanner,
go-github-com-chainguard-dev-clog, and
go-github-com-transparency-dev-tessera.

Change-Id: I25d364114e8f4bc38a8aa3234f4952c5f6c58da9
2026-04-26 12:59:22 +01:00
Patrick Norton
2a3492b086 gnu: Add go-github-com-alingse-asasalint.
* gnu/packages/golang-check.scm (go-github-com-alingse-asasalint): New
variable.

Relates-to: https://codeberg.org/guix/guix/pulls/5417
Change-Id: Ia17d862ae911c00dac08256c0c2be61cbb422a8e
Reviewed-by: Johannes Christ <jc@jchri.st>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-26 12:59:21 +01:00
Patrick Norton
850300f874 gnu: Add go-github-com-alexkohler-prealloc.
* gnu/packages/golang-check.scm (go-github-com-alexkohler-prealloc): New
variable.

Relates-to: https://codeberg.org/guix/guix/pulls/5417
Change-Id: Ib7fffc1dbc1a026606dbd619b3db50b4c639eb8b
Reviewed-by: Johannes Christ <jc@jchri.st>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-26 12:59:21 +01:00
Patrick Norton
0c05c14a1c gnu: Add go-github-com-akutz-memconn.
* gnu/packages/golang-web.scm (go-github-com-akutz-memconn): New
variable.

Relates-to: https://codeberg.org/guix/guix/pulls/5417
Change-Id: I4983368885e32dbe8eb048ad40c2b4b244d5a691
Reviewed-by: Johannes Christ <jc@jchri.st>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-26 12:59:21 +01:00
Patrick Norton
f340255ac3 gnu: Add go-fyne-io-systray.
* gnu/packages/golang-xyz.scm (go-fyne-io-systray): New variable.

Relates-to: https://codeberg.org/guix/guix/pulls/5417
Change-Id: I026a0fc3045af9c3d6733973f88c8184d78596f6
Reviewed-by: Johannes Christ <jc@jchri.st>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-26 12:59:21 +01:00
Patrick Norton
c60385e7f3 gnu: Add go-codeberg-org-chavacava-garif.
* gnu/packages/golang-xyz.scm (go-codeberg-org-chavacava-garif): New
variable.

Relates-to: https://codeberg.org/guix/guix/pulls/5417
Change-Id: I701c4e3d7a55b7af146f6362d2ec1ff9060e54c5
Reviewed-by: Johannes Christ <jc@jchri.st>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-26 12:59:21 +01:00
Sharlatan Hellseher
11c071147e gnu: Add go-github-com-transparency-dev-tessera.
* gnu/packages/golang-web.scm (go-github-com-transparency-dev-tessera): New variable.

Change-Id: I4424fb0e10dfd17b34e1c122f7aec78c1a83de67
2026-04-26 12:59:21 +01:00
Sharlatan Hellseher
505d54e113 gnu: Add go-go-opentelemetry-io-contrib-detectors-aws-ecs.
* gnu/packages/golang-web.scm (go-go-opentelemetry-io-contrib-detectors-aws-ecs): New variable.

Change-Id: I81e34bde1c85014bff5b3010dbb66453ba9d9f08
2026-04-26 12:59:21 +01:00
Sharlatan Hellseher
adb6bc8174 gnu: Add go-go-opentelemetry-io-contrib-detectors-aws-ec2-v2.
* gnu/packages/golang-web.scm (go-go-opentelemetry-io-contrib-detectors-aws-ec2-v2): New variable.

Change-Id: I7dee3d4de6ef305e6ed8bafbedbba9754f008d17
2026-04-26 12:59:21 +01:00
Sharlatan Hellseher
9572ef816c gnu: Add go-github-com-brunoscheufler-aws-ecs-metadata-go.
* gnu/packages/golang-web.scm (go-github-com-brunoscheufler-aws-ecs-metadata-go): New variable.

Change-Id: I2862a77b66b0b78286dc4c3d0c799746e8e0978c
2026-04-26 12:59:20 +01:00
Sharlatan Hellseher
3141f98eab gnu: Add go-github-com-bitfield-script.
* gnu/packages/golang-xyz.scm (go-github-com-bitfield-script): New variable.

Change-Id: I732c56dff8d4af296998b0f9946ff7d90cf23199
2026-04-26 12:59:20 +01:00
Sharlatan Hellseher
e45b76740c gnu: Add go-github-com-chainguard-dev-clog.
* gnu/packages/golang-xyz.scm (go-github-com-chainguard-dev-clog): New variable.

Change-Id: Ia187d4153d24e982f85747565ffcdc33c26fe237
2026-04-26 12:59:20 +01:00
Sharlatan Hellseher
7d3faf9adb gnu: Add go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-trace.
* gnu/packages/golang-web.scm (go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-trace):
New variable.

Change-Id: I2df3bb8acb7986a06ba2827253c83332a1123829
2026-04-26 12:59:20 +01:00
Sharlatan Hellseher
d157829459 gnu: Add go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-cloudmock.
* gnu/packages/golang-web.scm (go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-cloudmock): New variable.

Change-Id: I58b9ce7873b77744ddb2c4812708ce9eb9a6268b
2026-04-26 12:59:20 +01:00
Sharlatan Hellseher
deb1281afd gnu: Add go-cloud-google-com-go-logging.
* gnu/packages/golang-web.scm (go-cloud-google-com-go-logging): New variable.
(go-cloud-google-com-go)[source] <snippet>: Remove "logging" directory.

Change-Id: I74650b7120356f780b2344b75e71734977b0f5e7
2026-04-26 12:59:20 +01:00
Sharlatan Hellseher
eb3dbd7e8d gnu: Add go-cloud-google-com-go-trace.
* gnu/packages/golang-web.scm (go-cloud-google-com-go-trace): New variable.
(go-cloud-google-com-go)[source] <snippet>: Remove "trace" directory.

Change-Id: Id2965aaa5107ef59d78023dc313525482a6e0e13
2026-04-26 12:59:20 +01:00
Sharlatan Hellseher
becde8b26b gnu: Add go-cloud-google-com-go-spanner.
* gnu/packages/golang-web.scm (go-cloud-google-com-go-spanner): New variable.
(go-cloud-google-com-go)[source] <snippet>: Remove "spanner" dirrectory.
[arguments] <test-flags>: Remove "spanner/spansql" from the scope.

Change-Id: If6da09f19d8b2c9e2937da7256d468693b7c0508
2026-04-26 12:59:20 +01:00
Sharlatan Hellseher
05ed48dba4 gnu: Add go-github-com-googlecloudplatform-grpc-gcp-go-grpcgcp.
* gnu/packages/golang-web.scm (go-github-com-googlecloudplatform-grpc-gcp-go-grpcgcp): New variable.

Change-Id: Ia4b5bcceaadb7c9e46822be5451101c8aaab55be
2026-04-26 12:59:20 +01:00
Sharlatan Hellseher
f826fb50e2 gnu: Add go-github-com-robinus2-golang-moving-average.
* gnu/packages/golang-maths.scm (go-github-com-robinus2-golang-moving-average): New variable.

Change-Id: Icf77b13b7a07a83e81ef81be2e1d39ac3be91ec2
2026-04-26 12:59:19 +01:00
Patrick Norton
cd1459572c gnu: go-github-com-google-go-tpm: Update to 0.9.4.
* gnu/packages/golang-crypto.scm (go-github-com-google-go-tpm): Update to 0.9.4.

Relates-to: https://codeberg.org/guix/guix/pulls/5417
Change-Id: I23189ffe8e8f3932271aa70be77cd03e97a35767
Reviewed-by: Johannes Christ <jc@jchri.st>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-26 12:59:19 +01:00
Patrick Norton
0b24f42085 gnu: go-gvisor-dev-gvisor: Update to 0.0.0-1.9414b50.
* gnu/packages/golang-xyz.scm (go-gvisor-dev-gvisor): Update to
9414b50a5633100fd7299a5a7998742575dcb669 commit.

Relates-to: https://codeberg.org/guix/guix/pulls/5417
Change-Id: I223906664b92768cca076243ee007abad5981283
Reviewed-by: Johannes Christ <jc@jchri.st>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-26 12:59:19 +01:00
Sharlatan Hellseher
56b8d8f33e gnu: go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc: Update to 1.43.0.
* gnu/packages/golang-web.scm (go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc): Update to 1.43.0.
[argumens] <skip-build?, tests?>: Enable.
[propagated-inputs]: Remove go-go-uber-org-goleak; add
go-go-opentelemetry-io-otel,
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace,
go-go-opentelemetry-io-otel-metric,
go-go-opentelemetry-io-otel-metric-x, go-go-opentelemetry-io-otel-sdk,
go-go-opentelemetry-io-otel-sdk-metric, and
go-go-opentelemetry-io-otel-trace.
[native-inputs]: Add go-go-uber-org-goleak.

Change-Id: Ida9f5d87f6c69507a0a7cb88dca1b24e9a512be1
2026-04-26 12:59:19 +01:00
Sharlatan Hellseher
f33ca72f00 gnu: Add go-go-opentelemetry-io-otel-metric-x.
* gnu/packages/golang-web.scm (go-go-opentelemetry-io-otel-metric-x): New variable.

Change-Id: I0d16b6f5c1a96c09b9a94e0fd89e13029e108bde
2026-04-26 12:59:19 +01:00
Sharlatan Hellseher
3e32fce5aa gnu: go-github-com-files-com-files-sdk-go-v3: Update to 3.3.95.
* gnu/packages/golang-web.scm (go-github-com-files-com-files-sdk-go-v3): Update to 3.3.95.
[propagated-inputs]: Remove go-github-com-bradfitz-iter; add go-golang-org-x-sync.

Relates-to: https://codeberg.org/guix/guix/issues/8118
Change-Id: I2f3975a4e984010ed602a73310c67da9cdddf2e6
2026-04-26 12:59:17 +01:00
Cayetano Santos
e978b77e9b gnu: emacs-calibredb: Update to 2.14.0.
* gnu/packages/emacs-xyz.scm (emacs-calibredb): Update to 2.14.0.
[propagated-inputs]: Add emacs-request.
[arguments]<#:tests?>: Disable.
<#:include>: Add .py files.
<#:phases>: Update ’patch-paths.

Change-Id: Ic0b8bf581fca242ff3e91ce510826e46c189aa18
2026-04-26 12:34:01 +02:00
Nguyễn Gia Phong
3e937950aa gnu: fnc: Indent.
* gnu/packages/version-control.scm (fnc): Indent.

Change-Id: I04a155e6084ee9d6f5b15db62f920c9bf5c6ba53
Merges: https://codeberg.org/guix/guix/pulls/7962
2026-04-26 17:37:16 +09:00
Nguyễn Gia Phong
b22ed7e361 gnu: fnc: Update to 0.19-0.c158d7ac217.
* gnu/packages/version-control.scm (fnc): Update to 0.19-0.c158d7ac217.
  [arguments]<#:make-flags>: Add LDFLAGS for libfossil and sqlite3.
  <#:phases>: Move 'don-t-use-install-s from here...
  [source]: ...to a snippet here together with the unbundling
  of SQLite and libfossil.  Switch to fossil-fetch.
  [inputs]: Add libfossil.  Remove zlib.
  [home-page]: Update to the new URL.

Change-Id: Ib9ee71665b23c363fdfc88ddd9a2380561e16351
Reviewed-by: Thanos Apollo <public@thanosapollo.org>
2026-04-26 17:37:03 +09:00
Nguyễn Gia Phong
f27a394eb7 gnu: libfossil: Dedent.
* gnu/packages/version-control.scm (libfossil): Dedent.

Change-Id: I90ed0a5e1d61ac50b125807b561d7f221284bd84
2026-04-26 17:37:01 +09:00
Nguyễn Gia Phong
a97d78ba76 gnu: libfossil: Update to 0.6.0.
* gnu/packages/patches/libfossil-skip-amalgamation.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Unregister patch.
* gnu/packages/version-control.scm (libfossil)[source]: Remove patch.
  Update to 0.6.0.

Change-Id: I3e75eea767c582325fa4a6b62d093a40964cfaeb
Reviewed-by: Thanos Apollo <public@thanosapollo.org>
2026-04-26 17:36:21 +09:00
Anderson Torres
229d0cb49f gnu: e3: Update to 2.82.1.
The original upstream website is no longer available.

* gnu/packages/text-editors.scm (e3): Update to 2.82.1.
  [source]: Use git-fetch.
  [arguments]: Use gexps.
  [supported-systems]: Reorder field.
  [home-page]: Update to fork at Museoa.

Change-Id: I908317793035971e84efc67b8970a18594bb3234
Merges: https://codeberg.org/guix/guix/pulls/8117
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-26 17:13:32 +09:00
Cayetano Santos
78e603ce22 gnu: emacs-mastodon: Add tests.
* gnu/packages/emacs-xyz.scm (emacs-mastodon)[native-inputs]: Add
emacs-el-mock.
[arguments]<#:test-command>: Add.
<#:tests?>: Delete.
<#:phases>: Indent; add ’skip-failing-tests and ’fix-tests.

Change-Id: Id7f9c07a9d54c7f91dfc498aa4859ddd56c17a40
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-26 07:53:08 +02:00
Vinicius Monego
83dfde3eb6 gnu: highs: Update to 1.14.0.
* gnu/packages/maths.scm (highs): Update to 1.14.0.
[description]: End with a period.

Change-Id: Ibb20b6bfa553be855c96a4960c36fd2c42f462e0
2026-04-25 22:01:20 -03:00
jgart
06cd989c0f gnu: sbcl-stumpwm-wpctl: Use modern style.
* gnu/packages/wm.scm (sbcl-stumpwm-wpctl)[arguments]: Use modern style.
[inputs]: Format the code.
[description]: Add period to sentence.

Change-Id: I285ea307e0f0a58e456870f8d5314cd464da2f49
2026-04-25 19:00:13 -04:00
Junker
ddc6ea22ca gnu: Add sbcl-stumpwm-wpctl.
* gnu/packages/wm.scm (sbcl-stumpwm-wpctl): New variable.

Change-Id: I2a73a72c1437e0a27b4ca9d047c6c153f5389dcf
Signed-off-by: jgart <jgart@dismail.de>
2026-04-25 18:55:38 -04:00
jgart
64e4b79de6 gnu: sbcl-stumpwm-acpi-backlight: Use modern style.
* gnu/packages/wm.scm (sbcl-stumpwm-acpi-backlight)[arguments]: Use modern
style.
[source]: Format the code.

Change-Id: I65c608d30aeefd54166d136115c81c7a4e6c7320
2026-04-25 18:54:57 -04:00
jgart
cbeee0326f gnu:sbcl-stumpwm-bluetooth: Use modern style.
* gnu/packages/wm.scm (sbcl-stumpwm-bluetooth)[arguments]: Use modern style.

Change-Id: I0038d52948f48c8a489b69a5ad9ae9ec9d6e32aa
2026-04-25 18:49:54 -04:00
Junker
165bc107d4 gnu: Add sbcl-stumpwm-bluetooth.
* gnu/packages/wm.scm (sbcl-stumpwm-bluetooth): New variable.

Change-Id: Iaa54c27cbfc8a429fe3af87a9a56cfec8c2923af
Signed-off-by: jgart <jgart@dismail.de>
2026-04-25 16:24:45 -04:00
jgart
c039b2da23 gnu: sbcl-stumpwm-acpi-backlight: Add comment on missing tests.
* gnu/packages/wm.scm (sbcl-stumpwm-acpi-backlight)[arguments]: Add comment
regarding missing tests.

Change-Id: Id86f679b7df58582b15be7e2dfa6d597276956a6
2026-04-25 16:24:03 -04:00
Junker
d02b10be15 gnu: Add sbcl-stumpwm-acpi-backlight.
* gnu/packages/wm.scm (sbcl-stumpwm-acpi-backlight): New variable.

Change-Id: I4db3c6f75c77d9c4e2c22b633a36cf68f6e47971
Signed-off-by: jgart <jgart@dismail.de>
2026-04-25 16:24:03 -04:00
Ian Eure
e5e2aaaf55 gnu: librewolf: Update to 150.0-1. [security-updates]
Contains fixes for:
CVE-2026-6746: Use-after-free in the DOM: Core & HTML component
CVE-2026-6747: Use-after-free in the WebRTC component
CVE-2026-6748: Uninitialized memory in the Audio/Video: Web Codecs
               component
CVE-2026-6749: Information disclosure due to uninitialized memory in
               the Graphics: Canvas2D component
CVE-2026-6750: Privilege escalation in the Graphics: WebRender
               component
CVE-2026-6751: Uninitialized memory in the Audio/Video: Web Codecs
               component
CVE-2026-6752: Incorrect boundary conditions in the WebRTC component
CVE-2026-6753: Incorrect boundary conditions in the WebRTC component
CVE-2026-6754: Use-after-free in the JavaScript Engine component
CVE-2026-6755: Mitigation bypass in the DOM: postMessage component
CVE-2026-6756: Mitigation bypass in Firefox for Android
CVE-2026-6757: Invalid pointer in the JavaScript: WebAssembly
               component
CVE-2026-6758: Use-after-free in the JavaScript: WebAssembly component
CVE-2026-6759: Use-after-free in the Widget: Cocoa component
CVE-2026-6760: Mitigation bypass in the Networking: Cookies component
CVE-2026-6761: Privilege escalation in the Networking component
CVE-2026-6762: Spoofing issue in the DOM: Core & HTML component
CVE-2026-6763: Mitigation bypass in the File Handling component
CVE-2026-6764: Incorrect boundary conditions in the DOM: Device
               Interfaces component
CVE-2026-6765: Information disclosure in the Form Autofill component
CVE-2026-6766: Incorrect boundary conditions in the Libraries
               component in NSS
CVE-2026-6767: Other issue in the Libraries component in NSS
CVE-2026-6768: Mitigation bypass in the Networking: Cookies component
CVE-2026-6769: Privilege escalation in the Debugger component
CVE-2026-6770: Other issue in the Storage: IndexedDB component
CVE-2026-6771: Mitigation bypass in the DOM: Security component
CVE-2026-6772: Incorrect boundary conditions in the Libraries
               component in NSS
CVE-2026-6773: Denial-of-service due to integer overflow in the
               Graphics: WebGPU component
CVE-2026-6774: Mitigation bypass in the DOM: Security component
CVE-2026-6775: Incorrect boundary conditions in the WebRTC component
CVE-2026-6776: Incorrect boundary conditions in the WebRTC: Networking
               component
CVE-2026-6777: Other issue in the Networking: DNS component
CVE-2026-6778: Invalid pointer in the Audio/Video: Playback component
CVE-2026-6779: Other issue in the JavaScript Engine component
CVE-2026-6780: Denial-of-service in the Audio/Video: Playback
               component
CVE-2026-6781: Denial-of-service in the Audio/Video: Playback
               component
CVE-2026-6782: Information disclosure in the IP Protection component
CVE-2026-6783: Incorrect boundary conditions, integer overflow in the
               Audio/Video: Playback component
CVE-2026-6784: Memory safety bugs fixed in Firefox 150 and Thunderbird
               150
CVE-2026-6785: Memory safety bugs fixed in Firefox ESR 115.35, Firefox
               ESR 140.10, Thunderbird ESR 140.10, Firefox 150 and
               Thunderbird 150
CVE-2026-6786: Memory safety bugs fixed in Firefox ESR 140.10,
               Thunderbird ESR 140.10, Firefox 150 and Thunderbird 150

* gnu/packages/patches/librewolf-150.0-encoding_rs-rust-fix.patch: New file.
* gnu/local.mk: Add new patch to dist_patch_DATA.
* gnu/packages/librewolf.scm (make-librewolf-source): Apply new patch.
* gnu/packages/librewolf.scm (librewolf): Update to 150.0-1.
[arguments #:phases use-mozzarella]: Update Mozzarella URLs.  Fixes #1923.

Change-Id: I7696abc0ac44d689190d9ef1e12704905c11d431
2026-04-25 09:50:42 -07:00
Ian Eure
5d73106227 gnu: nss-rapid: Update to 3.123.
* gnu/packages/nss.scm (nss-rapid): Update to 3.123.

Change-Id: I9a8d96da253bb0dca207d2bd7a6bb83b821880ee
2026-04-25 09:50:42 -07:00
Nguyễn Gia Phong
ce09216dce gnu: Add fead.
* gnu/packages/syndication.scm (fead): New variable.

Change-Id: Ic43d5fe1cc32697c6382bd6585c73cdef647e92b
Merges: https://codeberg.org/guix/guix/pulls/7979
Reviewed-by: Anderson Torres <anderson.torres.8519@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-25 21:35:10 +09:00
Danylo Kondratiev
cb1f7b8948 gnu: gkrellm: Migrate from (gnu packages gkrellm) to (gnu packages monitoring).
* gnu/packages/monitoring.scm (gkrellm): Move to here...
* gnu/packages/gkrellm.scm (gkrellm): ...from here.
  Define instead as a deprecated public alias.

Change-Id: I5fb902429dc128e349406655d0aa8b7a658212b6
Merges: https://codeberg.org/guix/guix/pulls/7928
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-25 21:31:58 +09:00
Junker
f78630e302 gnu: sbcl-stumpwm-tomato: Update to 0.2.0.
* gnu/packages/wm.scm (sbcl-stumpwm-tomato): Update to 0.2.0.

Change-Id: Iedc27803a0267e02fd62b9551953ae0f6c073b90
Signed-off-by: jgart <jgart@dismail.de>
2026-04-25 08:01:28 -04:00
Sergio Pastor Pérez
9e4f181122 gnu: Add emacs-ben.
* gnu/packages/emacs-xyz.scm (emacs-ben): New variable.

Change-Id: I67659ea638185b48d4c6a41ffa531fc89ed80852
Signed-off-by: jgart <jgart@dismail.de>
2026-04-25 07:53:24 -04:00
jgart
4362b0c608 gnu: trealla: Update to 2.94.2.
* gnu/packages/prolog.scm (trealla): Update to 2.94.2.

Change-Id: I5a6d67a0f20e8384e769d33bf17959d5317c78e4
2026-04-25 07:50:49 -04:00
Ian Eure
fef9065259 gnu: emacs-firefox-release-notes: Update to 1.8.
* gnu/packages/emacs-xyz.scm (emacs-firefox-release-notes): Update to 1.8.

Change-Id: I974e2414bd4a9fd3e128ca8778f15f3c1360fa0a
2026-04-24 19:39:20 -07:00
Ludovic Courtès
528c6261cd publish: Ignore ‘--advertise’ and warn when listening to localhost.
* guix/scripts/publish.scm (run-publish-server): Write lower-case message.
(localhost?): New procedure.
(guix-publish): Warn when ‘advertise?’ is true but ‘address’ is localhost.
Adjust #:advertise? argument to ‘run-publish-server’ accordingly.

Reported-by: Sergio Pastor Pérez <sergio.pastor-perez@inria.fr>
Change-Id: I7166528d11ead67882326defcf5151af28e4253a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7790
2026-04-24 22:58:43 +02:00
Nicolas Graves
fbd8568c22 tests: style: Fix tests for guile > 3.0.9.
* tests/style.scm : Drop the snippet that skipped all tests.
(read-package-field): Return S-expressions with comments rather than a
string.
Rewrite all tests accordingly.

Change-Id: I478611e7c58747a1b80598366c2b5510d9625498
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7632
2026-04-24 22:57:49 +02:00
jadzi
31c2fc709b guile-web-middleware: Propagate ‘guile-compose’.
* gnu/packages/guile-xyz.scm (guile-web-middleware)[inputs]: Move
‘guile-compose’ to…
[propagated-inputs]: … here.

Change-Id: I4b8ce3fd160dab7eb57f3565ff6f693b5cbdd36a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #8088
2026-04-24 22:57:13 +02:00
Ludovic Courtès
bbfb6f2c62 gnu: guile-git: Update to 0.11.1.
* gnu/packages/guile.scm (guile-git): Update to 0.11.1.
[home-page]: Switch to codeberg.org.
[arguments]: Remove ‘skip-tests/hurd’ phase, which is no longer needed.

Fixes: guix/guix#4989
Change-Id: Ie6570df3d19c61acc165d4619445c4a55ed319cf
Reported-by: Yelninei <yelninei@tutamail.com>
Reported-by: brian cully <bjc@spork.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #8076
2026-04-24 22:16:08 +02:00
Ludovic Courtès
0cbf963044 gnu: guile-variant-package-name: Don’t rename ‘guile-bootstrap’.
Previously, ‘package-for-guile-2.2’ would sometimes create a variant
of (@ (gnu packages commencement) glibc-final) with a package called
“guile2.2-bootstrap” among its derivations, thereby causing an entirely
separate package graph to be built.

The reason ‘glibc-final’ would be modified despite the use of #:deep? #f is
because ‘texinfo’ depends on ‘libc-utf8-locales-for-target’, which depends on
‘glibc-final’.  This happened for ‘guile2.2-git’ because it depends on
‘texinfo’.

* gnu/packages/guile.scm (guile-variant-package-name): When ‘name’ is
“guile-bootstrap”, return it unchanged.

Change-Id: I6317927cf073085f36c4e07704469bb400b5a890
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-04-24 22:16:07 +02:00
Daniel Littlewood
fe89ae08c2 services: nginx: Fix ‘stop’ in cases where a custom config file is passed.
A previous commit (c7cb771cf4) fixed an issue with the nginx service to
ensure it can be stopped when started from a custom config file.
The stop command, which should have been `nginx -s stop`, was mistakenly
written as `nginx stop`, which means that `herd stop nginx` still fails
in the given case. This commit corrects that typo.

* gnu/services/web.scm (nginx-shepherd-service): In ‘stop’, correctly
  call “nginx -s stop” when ‘value’ is not a process.

Fixes: guix/guix#7061
Reported-by: Dan Littlewood
Change-Id: I3055fc24084d30da969afd508861d2423a396ced
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #8128
2026-04-24 22:16:01 +02:00
Efraim Flashner
72ce4088da gnu: bottom: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
bottom.

Change-Id: I8deffd25b7876514997fe4c78b21b4fb89d37210
2026-04-24 16:15:57 +03:00
Efraim Flashner
65eb271e6f gnu: rmpc: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
rmpc.

Change-Id: I27e90add392c04f5670957240bb86c80882359e6
2026-04-24 16:15:57 +03:00
Efraim Flashner
0e0622edcc gnu: mollysocket: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
mollysocket.

Change-Id: If0acc613381141b1227cc3c5154e354c5bb6da8a
2026-04-24 16:15:57 +03:00
Efraim Flashner
9a9b4c5674 gnu: espflash: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
espflash.

Change-Id: I001401f94c48b0a524da23fd04e2f790639fa036
2026-04-24 16:15:56 +03:00
Efraim Flashner
f0c5f25cb4 gnu: cargo-nextest: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
cargo-nextest.

Change-Id: I97cd6068fed88ddd25eda6a6a32ab596f31c5882
2026-04-24 16:15:56 +03:00
Efraim Flashner
869cd7fa03 gnu: python-cmsis-pack-manager: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
python-cmsis-pack-manager.

Change-Id: I16ec4aebec3a887d04a72e6518a369d3c7b4d530
2026-04-24 16:15:56 +03:00
André Batista
08015b27ee gnu: mullvadbrowser: Update to 15.0.9.
* gnu/packages/tor-browsers.scm (%mullvadbrowser-build-date): Update to
140.9.1esr-15.0-1-build1.
(%mullvadbrowser-version): Update to 15.0.9.
(%mullvadbrowser-firefox-version): Update to 140.9.1esr-15.0-1-build1.
(mullvadbrowser-translation-base): Update to ce651a6f8a.
(mullvadbrowser-translation-specific): Update to 4bf1989120.

Change Id: I6678167e836f66979f44a3c7f67ae499930abdd4

Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-24 14:59:01 +02:00
André Batista
273a4433a6 gnu: torbrowser: Update to 15.0.9.
* gnu/packages/tor-browsers.scm (firefox-locales): Update to 412690f136.
(%torbrowser-build-date): Update to 20260404073000.
(%torbrowser-version): Update to 15.0.9.
(%torbrowser-firefox-version): Update to 140.9.1esr-15.0-1-build1.
(torbrowser-translation-base): Update to ce651a6f8a.
(torbrowser-translation-specific): Update to 685a144cb5.
[arguments] <#:phases> 'fix-zucchini: New phase.

Change Id: I04a709936f40f32780d2a9fd31d395db727378d3

Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-24 14:58:54 +02:00
Efraim Flashner
209874a88a gnu: ouch: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
ouch.

Change-Id: Ieef1dac04323f059afcfc1b4d814e81154fc3b09
2026-04-24 15:01:10 +03:00
Efraim Flashner
d7f45831cf gnu: tectonic: Install shell completions.
* gnu/packages/rust-apps.scm (tectonic)[arguments]: Add a phase to
generate the shell completions.

Change-Id: I9a624b1c44770325ff33567181440168c5b9a38f
2026-04-24 15:01:09 +03:00
Efraim Flashner
b10d0fdaf0 gnu: tectonic: Update to 0.16.9.
* gnu/packages/rust-apps.scm (tectonic): Update to 0.16.9.
[source]: Don't download recursively.  Remove snippet.
[arguments]: Skip a test.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
tectonic.

Change-Id: I293ba0f31567d0cedf918cdfbbcfd62692c46dec
2026-04-24 15:01:09 +03:00
Efraim Flashner
af2b12e51f gnu: rust-crates: Remove some rust crates.
These crates were mentioned specifically by cargo audit.

* gnu/packages/rust-crates.scm: Remove some unused crates.

Change-Id: Ic76e8fdaf47d1004e8f0fb2c28162d20ccb57004
2026-04-24 15:01:09 +03:00
Efraim Flashner
cfa3de9ba4 gnu: hyperfine: Simplify installing shell completions.
* gnu/packages/rust-apps.scm (hyperfine)[arguments]: Rewrite installing
the shell completions to use the copy-build-system's install phase.

Change-Id: I3113b1817a2a8ebeb63aa187f736def8babbb5c1
2026-04-24 15:01:09 +03:00
Efraim Flashner
fd18daaa4d gnu: hyperfine: Update to 1.20.0.
* gnu/packages/rust-apps.scm (hyperfine): Update to 1.20.0.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
hyperfine.

Change-Id: I285f911b3b1dbb5b8338e1b5d5f1153dfce0aeed
2026-04-24 15:01:09 +03:00
Efraim Flashner
3c2ea3ba6a gnu: vtracer: Update rust dependencies.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
vtracer.

Change-Id: Iebf3a02aed85ef832ba2f57f696e45b9865f9983
2026-04-24 15:01:09 +03:00
Efraim Flashner
d3a19b14a9 gnu: aw-watcher-window-wayland: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
aw-watcher-window-wayland.

Change-Id: I03e5904c697be2d1dcb9a447c84aa80e30afc286
2026-04-24 15:01:08 +03:00
Efraim Flashner
8a68d9f6c8 gnu: zed: Update some rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
rust-dap-types-0.0.1.1b461b3, rust-gh-workflow-0.8.0.c9eac0e,
rust-livekit-0.7.8.5f04705, rust-notify-8.2.0.ce58c24,
rust-zed-xim-0.4.0-zed.16f35a2.

Change-Id: I489b0fbc53da10c38bb25e0a20a43065d1aafdd6
2026-04-24 15:01:08 +03:00
Efraim Flashner
bec766115e gnu: python-proton-vpn-local-agent: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
python-proton-vpn-local-agent.

Change-Id: Ia4c1bbdb5e114861c1aec2f107d4f84982ff3a36
2026-04-24 15:01:01 +03:00
Greg Hogan
8793d78395 gnu: fast-float: Update to 8.2.5.
* gnu/packages/cpp.scm (fast-float): Update to 8.2.5.
[arguments]<#:phases>{patch-cmake-tests}: Fix matches.

Change-Id: I04d66fb223e2535d63daa2e7a1809a0bd22644af
2026-04-24 11:41:03 +00:00
Ashish SHUKLA
128dc8ca7f gnu: simdutf: Update to 9.0.0.
* gnu/packages/c.scm (simdutf): Update to 9.0.0.

Change-Id: I90f6e78814c2cfe827f5190f8cb743e97faa2531
Signed-off-by: Greg Hogan <code@greghogan.com>
2026-04-24 11:20:50 +00:00
Ashish SHUKLA
b5e877667d gnu: simdjson: Update to 4.6.2.
* gnu/packages/cpp.scm (simdjson): Update to 4.6.2.

Change-Id: I6ed5fa8293acc74ea0031ce781f1aacdaed05c13
Signed-off-by: Greg Hogan <code@greghogan.com>
2026-04-24 11:03:23 +00:00
Ashish SHUKLA
a3b0ebdde1 gnu: git-minimal: Update to 2.54.0
* gnu/packages/version-control.scm (git-minimal): Update to 2.54.0.
[source]: Remove patches.
* gnu/packages/patches/git-clar-path-max.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Unregister file.

Change-Id: I84ea947e29ab800b0dce7e7786f1cf5cefad2bb6
Signed-off-by: Greg Hogan <code@greghogan.com>
2026-04-24 10:45:08 +00:00
luca
606bbed702 gnu: Add yoctofetch.
* gnu/packages/admin.scm (yoctofetch): New variable.

Change-Id: Ic00cd0460627378fcbb57fadffc0cb94d7b58658
Merges: https://codeberg.org/guix/guix/pulls/4990
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-24 16:44:39 +09:00
Andrew Tropin
de8754d2e1 gnu: guile-ares-rs: Preserve load paths from environment variables.
* gnu/packages/guile-xyz.scm (guile-ares-rs): Preserve load paths from environment variables.
2026-04-24 11:39:20 +07:00
Andreas Enge
92c1e44eb8 gnu: ntp: Fix build.
* gnu/packages/ntp.scm (ntp)[inputs]: Replace openssl by openssl-3.0.

Change-Id: Ic4a9f753dc22d214dbf470784fa7d6eb5b8a6aee
2026-04-23 23:41:58 +02:00
Nicolas Graves
5ee0ece891 gnu: python-fast-histogram: Update to 0.14-0.92ed204.
* gnu/packages/python-science.scm (python-fast-histogram): Update to 0.14-0.92ed204.
[source]: Switch to git-fetch.
[arguments]: Ignore failing test.

Change-Id: I78510869691e0b198a65b62f9bcad614198a20e2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:11 +02:00
Nicolas Graves
1c3f020a60 gnu: python-m2crypto: Update to 0.47.0.
* gnu/packages/python-crypto.scm (python-m2crypto): Update to 0.47.0.
[source]: Switch to git-fetch.
[native-inputs]: Replace swig-4.0 by swig.  Remove python-wheel.

Change-Id: I2a71ecf2deca9fe9b1742759694e60960622aa26
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:11 +02:00
Nicolas Graves
7c60dab501 gnu: python-cherrypy: Update to 18.10.0-0.1f75bc9.
* gnu/packages/python-web.scm (python-cherrypy): Update to
18.10.0-0.1f75bc9.
[arguments]<#:phases>: Add phase 'patch-pyproject.
<#:test-flags>: Refresh them.
[native-inputs]: Add python-filelock, python-flaky,
python-setuptools-scm.
* gnu/packages/check.scm (python-flaky): Add comment.

Change-Id: I04910778ab2ae754bad5e6c02d2166b6c1605972
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:11 +02:00
Nicolas Graves
ff3ee6f1ce gnu: python-cheroot: Update to 11.1.2.
* gnu/packages/python-web.scm (python-cheroot): Update to 11.1.2.
[source]: Switch to git-fetch.

Change-Id: If85119857ae62f17d1f9989f038fa012bb85474b
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:11 +02:00
Andreas Enge
79acf11475 gnu: inetutils: Add patch to fix tests on our aarch64 build machines.
* gnu/packages/patches/inetutils-drop-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register file.
* gnu/packages/admin.scm (inetutils)[source]: Add patch.

Fixes: guix/guix#7995
Change-Id: Iaaf8cb665b81d02c876acc9d400559d4f7d7bf90
2026-04-23 22:47:11 +02:00
Yelninei
8119d7fc9d gnu: python: Skip test_ssl on the Hurd.
The test is failing with openssl 3.5 in non linux paths.

* gnu/packages/python.scm (python-3.11)[#:make-flags]: Skip test_ssl test
on the Hurd.

Fixes: guix/guix#4062
Change-Id: Ia83b51dfc18cf92c2fee02415fe628ac2675582d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:11 +02:00
Andreas Enge
3e358dd784 gnu: openssl: Switch to openssl-3.5 as the default.
* gnu/packages/tls.scm (openssl): Define as openssl-3.5.
(perl-net-ssleay)[inputs]: Replace openssl by openssl-3.0.
* gnu/packages/node.scm (node-lts)[inputs, native-inputs]:
Replace openssl by openssl-3.0.
* gnu/packages/haskell-crypto.scm (ghc-hsopenssl)[inputs]:
Replace openssl by openssl-3.0.

Change-Id: Ia13ea615a5265fc7012e881e516b98066cad8e3f
2026-04-23 22:47:11 +02:00
Andreas Enge
ab36825327 gnu: libsodium: Update to 1.0.22.
This fixes a build failure on aarch64, see
https://github.com/jedisct1/libsodium/issues/1502 .

* gnu/packages/crypto.scm (libsodium): Update to 1.0.22.

Change-Id: Ibf422b4c8e21dc71f0202bad3199d54bd8e01056
2026-04-23 22:47:11 +02:00
Andreas Enge
9880ac3122 gnu: python-pyftpdlib: Update to 1.5.10.
* gnu/packages/python-xyz.scm (python-pyftpdlib): Update to 1.5.10.

Change-Id: Ic267e2c91490aa677f54c908fd5883ab2da00c87
2026-04-23 22:47:11 +02:00
Cayetano Santos
a801ef90b5 gnu: libsodium: Update to 1.0.21.
* gnu/packages/crypto.scm (libsodium): Update to 1.0.21.
[source]: Switch to git-fetch.

Change-Id: Iaaefe80eec5e82fa3c7a81712389894d37faa5c2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:10 +02:00
Ashish SHUKLA
f828194554 gnu: openssh: Update to 10.3p1 [security-fixes].
Release notes since 10.2p1 (2025-10-10):
- 10.3p1 (2026-04-02)
  <https://www.openssh.org/txt/release-10.3>.

Contains fixes for:
CVE-2026-35385: A file downloaded by scp may be installed setuid or setgid, an
                outcome contrary to some users' expectations, if the download is
                performed as root with -O (legacy scp protocol) and without -p
                (preserve mode).
CVE-2026-35386: Command execution can occur via shell metacharacters in a
                username within a command line. This requires a scenario where
                the username on the command line is untrusted, and also requires
                a non-default configurations of % in ssh_config.
CVE-2026-35387: OpenSSH can use unintended ECDSA algorithms. Listing of any
                ECDSA algorithm in PubkeyAcceptedAlgorithms or
                HostbasedAcceptedAlgorithms is misinterpreted to mean all ECDSA
                algorithms.
CVE-2026-35388: OpenSSH before omits connection multiplexing confirmation for
                proxy-mode multiplexing sessions.
CVE-2026-35414: OpenSSH mishandles the authorized_keys principals option in
                uncommon scenarios involving a principals list in conjunction
                with a Certificate Authority that makes certain use of comma
                characters.

* gnu/packages/ssh.scm (openssh): Update to 10.3p1.

Merges: https://codeberg.org/guix/guix/pulls/7695
Change-Id: I9e90c3ef02f567d0f5b2485c4e0bcfaa1a1f31c8
Reviewed-by: Nguyễn Gia Phong <cnx@loang.net>
Reviewed-by: Jonas Meeuws <jonas.meeuws@gmail.com>
Reviewed-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-23 22:47:10 +02:00
Andy Tai
a50c44187a gnu: libtasn1: Update to 4.21.0.
* gnu/packages/tls.scm (libtasn1): Update to 4.21.0.

Change-Id: I8a33a95def0d22e9df5ec592abb9c6728dce2ccb
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:47:10 +02:00
Andreas Enge
33c8768b2e gnu: openssl-3.0: Change inheritance.
* gnu/packages/tls.scm (openssl-3.0)[inherit]: Use openssl-3.5
instead of openssl-1.1.
[source]: Add hurd patch.

Fixes: guix/guix#4062
Change-Id: Id03fdd9532855bd66fbd9da9eb64768f8b9fb780
2026-04-23 22:47:10 +02:00
Andreas Enge
0e163369bd gnu: Add openssl-3.5.
* gnu/packages/tls.scm (openssl-3.5): New variable.

Change-Id: I0636a3455cec5636e926a51eddb96d3bdec7adeb
2026-04-23 22:47:10 +02:00
Andreas Enge
30f766b991 gnu: openssl-1.1: Re-enable tls_ssl_new test.
* gnu/packages/tls.scm (openssl-1.1)[make-flags]: Do not disable
tls_ssl_new.

Change-Id: I95e6ef5906f7477f0ac6bfcd685a69229eb1a54d
2026-04-23 22:47:10 +02:00
Andreas Enge
ad469cba6e gnu: openssl-3.0: Update to 3.0.19.
* gnu/packages/tls.scm (openssl-3.0): Update to 3.0.19.

Change-Id: Iebfaeb06b6a9dd270a9fca69c67fa9c32eaa4962
2026-04-23 22:47:10 +02:00
Andreas Enge
ec02b2b974 gnu: openssl-1.1: Update to 1.1.1w.
* gnu/packages/tls.scm (openssl-1.1): Update to 1.1.1w.

Change-Id: Ibb7efac450bf942088a5332fa4a4b0a041ba2283
2026-04-23 22:47:02 +02:00
Noé Lopez
3b5508ffde gnu: openttd: Fix substitute* patching.
* gnu/packages/games.scm (openttd)[arguments]<#:phases>:
Change the substitute* to match the newer source.

Change-Id: Ib0bf0f4da84290fe99dd4337387636634b50043d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:30:41 +02:00
Patrick Norton
6f905d7258 gnu: openttd-jgrpp: Update to 0.71.1.
* gnu/packages/games.scm (openttd-jgrpp): Update to 0.71.1.

Change-Id: Id7922107354b4f7692d607346338874a5f570888
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:29:08 +02:00
Adrien 'neox' Bourmault
7c62cb0528 gnu: gajim: Fix inputs after update to 2.4.6.
* gnu/packages/messaging.scm (gajim)[inputs]: Remove gsound;
add python-cryptography.

Change-Id: Ide24d13ea4cd39bec1927f543a59ee70c42413eb
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 22:21:30 +02:00
Andreas Enge
59784cd1ad gnu: Deprecate guile-fibers-next.
* gnu/packages/guile-xyz.scm (guile-fibers-next): Deprecate by
guile-fibers.

Change-Id: I52bd95f47ee5969faa4c3a5ca5ad3b0175f24ba4
2026-04-23 19:05:32 +02:00
Andreas Enge
5fe0b7d3b6 gnu: guix-data-service: Use current guile and guile-fibers.
* gnu/packages/web.scm (guix-data-service)[propagated-inputs]:
Remove guile-fibers-next; add guile-fibers.
[native-inputs]: Use guile-3.0-latest instead of guile input
from guile-fibers-next.

Co-authored-by:  Christopher Baines <mail@cbaines.net>
Change-Id: I7ff232064770d90026bf513b75a396ec68a093f1

Change-Id: I0dd47c194268811c5035d52fa3036efb9d44740c
2026-04-23 19:04:52 +02:00
Andreas Enge
ad8f92b114 gnu: nar-herder: Use current guile and guile-fibers.
* gnu/packages/package-management.scm (nar-herder)[inputs]:
Remove guile-next; add guile-3.0-latest.
[propagated-inputs]: Remove guile-fibers-next; add guile-fibers.
[native-inputs]: Remove guile-next and guile-fibers-next; add guile-3.0-latest and
guile-fibers.
[arguments]<#:phases>{wrap-executable}: Reference changed input.

Change-Id: If0c6513b056b9c35c33fe84dcd48d36970c54de6
2026-04-23 19:04:52 +02:00
Andreas Enge
a3b327b8a8 gnu: guix-build-coordinator/agent-only: Use current guile.
* gnu/packages/package-management.scm (guix-build-coordinator/agent-only)
[inputs]: Remove guile-next; add guile-3.0-latest.
[native-inputs]: Remove guile-next; add guile-3.0-latest.

Change-Id: I8e5ca94fbad4daac4cef51aff25ab2d9601b2d08
2026-04-23 19:04:52 +02:00
Andreas Enge
3d19529f8e gnu: guix-build-coordinator: Use current guile and guile-fibers.
* gnu/packages/package-management.scm (guix-build-coordinator)[inputs]:
Remove guile-next; add guile-3.0-latest.
[propagated-inputs]: Remove guile-fibers-next; add guile-fibers.
[native-inputs]: Remove guile-fibers-next and guile-next; add guile-fibers
and guile-3.0-latest.
[arguments]<#:phases>{wrap-executable}: Reference changed input.
* gnu/services/guix.scm (<guix-build-coordinator-configuration>,
make-guix-build-coordinator-start-script):
Use guile-3.0-latest instead of guile-next as default.

Change-Id: I16b219db03112b62b53ffdb01a5a0872cb9d79d2
2026-04-23 19:04:52 +02:00
Andreas Enge
3b53789393 gnu: bffe: Use current guile and guile-fibers.
* gnu/packages/package-management.scm (bffe)[propagated-inputs]: Remove
guile-fibers-next; add guile-fibers.
[native-inputs]: Remove guile-next and guile-fibers-next;
add guile-3.0-latest and guile-fibers.
* gnu/services/guix.scm (bffe-shepherd-services): Adapt to changed input
of the bffe package.

Change-Id: I5f1cbb1225eb5c684b01098d7e87d198b5d20ff2
2026-04-23 19:04:52 +02:00
Andreas Enge
a191ad0d35 gnu: guile-knots: Use current guile and guile-fibers.
* gnu/packages/guile-xyz.scm (guile-knots)[inputs]: Remove guile-next;
add guile-3.0-latest.
[propagated-inputs]: Remove guile-fibers-next; add guile-fibers.
[native-inputs]: Remove guile-next and guile-fibers-next;
add guile-3.0-latest and guile-fibers.

Change-Id: I9b92a3e4fc4c3a83cc0b9c5088671704ce4a10dc
2026-04-23 19:04:44 +02:00
Andrew Tropin
9561f5375c gnu: emacs-arei: Update to 0.9.7.
* gnu/packages/emacs-xyz.scm (emacs-arei): Update to 0.9.7.
2026-04-23 19:39:44 +07:00
Andrew Tropin
8ebc554e6a gnu: guile-ares-rs: Update to 0.9.7.
* gnu/packages/guile-xyz.scm (guile-ares-rs): Update to 0.9.7.
2026-04-23 19:39:43 +07:00
Murilo
fda72ca8fb doc: Add a note reminder to checkout the correct tag for rust crates.
* doc/guix-cookbook.texi (Packaging Workflows)[Packaging Rust Crates]
{Common Workflow for Rust Packaging}: Add the note.

Change-Id: I670c78d7cd6771b5f4814123e488cbdb1c4e9fe2
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23 14:33:58 +02:00
Murilo
e9e6165d07 doc: Add new workflow for resolving merge conflicts on rust apps PRs.
* doc/guix-cookbook.texi (Packaging Workflows)[Packaging Rust Crates]
{Common Workflow for Updating Existing Rust Packages}: Add new workflow.

Change-Id: I191d35790754b2fab4c27b794829959f1bf58d06
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23 14:33:58 +02:00
Murilo
4dcde11825 doc: Recommend a way of resolving merge conflicts for rust PRs.
* doc/contributing.texi (Rust Crates)
[Resolving merge conflicts in Pull Requests]: New subsubsection.

Change-Id: Icbc5e2da01b6068b6237548f2bd49262433799de
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23 14:33:58 +02:00
Murilo
412394f444 doc: Add new workflow for resolving merge conflicts on rust crate PRs.
* doc/guix-cookbook.texi (Packaging Workflows)[Packaging Rust Crates]
{Common Workflow for Resolving Merge Conflicts on Existing Pull Requests}:
Add new workflow.

Change-Id: I6e5cbf843174049e1dbde17ecd1ea259b4fa4aae
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23 14:33:58 +02:00
Murilo
32f426c446 doc: Add rust commit messages guidance.
* doc/contributing.texi (Rust Crates)[Commit messages]:
New subsubsection.

Change-Id: If22d6921301902417a88d2d5d8e2fad947762bee
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23 14:33:58 +02:00
Murilo
0a713ecbc8 doc: Clarify that rust crate changes should be done in the same commit.
* doc/contributing.texi (Rust Crates): Add clarification.

Change-Id: Iff45cda11b14640a70a2849fe66ae68f46cb3ba9
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2026-04-23 14:33:58 +02:00
Igorj Gorjaĉev
edda146be0 gnu: elixir-ex-cldr: Update to 2.47.2.
* gnu/packages/elixir-i18n.scm (elixir-ex-cldr): Update to 2.47.2.

Change-Id: I1bb74ff47c899e4af02db4a852e939441d42289e
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 12:20:00 +02:00
Igorj Gorjaĉev
36bf3f59c1 gnu: elixir-httpoison: Fix test under Erlang 28+.
* gnu/packages/elixir-web.scm (elixir-httpoison): Fix test under Erlang 28+.

Change-Id: I61056fccf4346975d30e5f213185b2bebe650f4e
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 12:20:00 +02:00
Igorj Gorjaĉev
a368dfefbb gnu: erlang: Update to 28.4.3.
* gnu/packages/erlang.scm (erlang): Update to 28.4.3.

Change-Id: I1b197fc8a7f7a8f235bdc4b208ceb344b960f749
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-23 12:19:52 +02:00
Andreas Enge
32ed37885e gnu: grantlee: Build with Qt6.
* gnu/packages/qt.scm (grantlee)[build-system]: Switch to qt-build-system.
[inputs]: Remove qtbase-5, qtdeclarative-5, and qtscript-5;
add qtdeclarative.
[arguments]<#:qtbase>: Set to qtbase.
<#:configure-flags>: Define GRANTLEE_BUILD_WITH_QT6.

Change-Id: I3a2310ad3d3a8077640af530873692b26d6c7ed7
2026-04-23 11:21:29 +02:00
宋文武
ef8a6c422b gnu: plan9port: Update to 0.1.0-2.b379c7c.
* gnu/packages/plan9.scm (plan9port): Update to 0.1.0-2.b379c7c.
[arguments]<phases>: Better handle 'fontsrv' and '9c'.  Install 'config'.

Change-Id: I607780bc65926cfe5f3b7dcc2058140aa5434b9f
2026-04-23 17:13:07 +08:00
Liliana Marie Prikler
601d8c959d gnu: Cleanup emacs-org-arbeitszeit.
* gnu/packages/emacs-xyz.scm (emacs-org-arbeitszeit)[#:tests?]: Set to #f.
[license]: Use license:gpl3+.
2026-04-23 10:56:20 +02:00
Wilko Meyer
bb81430026 gnu: Add emacs-org-arbeitszeit.
* gnu/packages/emacs-xyz.scm (emacs-org-arbeitszeit): New variable.

Change-Id: I73c9832e111640d0745c27cadcf8bf30d0e04666
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-23 09:46:39 +02:00
coopi
b7e6b4c615 gnu: Add emacs-shr-syntax-highlight.
* gnu/packages/emacs-xyz.scm (emacs-shr-syntax-highlight): New variable.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-23 09:46:36 +02:00
Anderson Torres
affd37076f gnu: emacs-sliver: Update to 0.0.0-1.b4cb9cd.
* gnu/packages/emacs-xyz.scm (emacs-sliver): Update to 0.0.0-1.b4cb9cd.

Change-Id: Iee81c615ddb9b64c0acd390b52bc5b5a6f5a506c
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-23 09:46:32 +02:00
Liam Hupfer
c1719eb0c4 gnu: emacs-eglot: Update to 1.23.
This fixes a bug with imenu integration (at least).

* gnu/packages/emacs-xyz.scm (emacs-eglot): Update to 1.23.

See-also: https://bugs.gnu.org/80367
Change-Id: I0bb72159222735a194d7f7ae9ded2b9fc1e00e99
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-23 09:46:25 +02:00
Liam Hupfer
9147a33256 gnu: emacs-consult-eglot: Generate autoloads for extensions.
Most other Emacs packages with optional extensions use a custom
move-source-files phase rather than #:include to move the extensions to
the parent directory with the rest of the sources. This ensures the
build system generates autoloads correctly.

* gnu/packages/emacs-xyz.scm (emacs-consult-eglot)[#:phases]: Add
‘move-source-files’.

Change-Id: I9ddc8142a8bf151ce6cf02bb7ebfc3817b515a06
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-23 09:46:17 +02:00
Sergio Pastor Pérez
9e5a110068 services: kmonad: New service.
* gnu/services/desktop.scm (<kmonad-configuration>)
(kmonad-shepherd-service, kmonad-service-type): New variables.
* doc/guix.texi (Desktop Services): Document `kmonad-service-type'.

Change-Id: I53f868d55aea97858ec83d762a04723d3c72dc92
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-23 09:46:11 +02:00
Maxim Cournoyer
513168ffb2 gnu: guile-jtd: Update to 220323a-0.425f86a.
* gnu/packages/guile-xyz.scm (guile-jtd): Update to 220323a-0.425f86a.

Change-Id: I9355a82ca15022f2a080f85492da964056510f02
2026-04-23 16:14:50 +09:00
Danny Milosavljevic
23377537da gnu: (codex, codex-acp): Update to 0.120.0 and 0.11.1.
* gnu/packages/codex.scm (codex): Update to 0.120.0.
[source]: Adjust patches.
[arguments]: Adjust cargo-install-paths, cargo-test-flags, and
cargo-package-crates.
[arguments]<#:phases>{patch-git-deps-to-vendor,patch-hardcoded-paths,
set-bubblewrap-source,create-node-version-file,set-home}: Adjust for
the new workspace and test environment.
[native-inputs]: Add bubblewrap, bubblewrap-source, lsof,
nss-certs-for-test, and procps.
[inputs]: Add libcap, oniguruma, and zlib.
[description]: Mention that codex-code-mode's V8 Javascript executor is
disabled.
(codex-acp): Update to 0.11.1.
[source]: Adjust patches and source hash.
[arguments]<#:phases>{patch-codex-deps}: Rewrite the codex dependency
for rust-v0.117.0, disable codex-code-mode's V8 runtime, and set
CODEX_BWRAP_SOURCE_DIR.
[arguments]<#:phases>{set-home}: Set HOME and USER.
[arguments]<#:phases>{create-node-version-file}: Create node-version.txt.
[native-inputs]: Add cmake-minimal, clang, and bubblewrap-source.
[inputs]: Add libcap and zlib.
* gnu/packages/rust-sources.scm (rust-deunicode-1.6.2.cfb8552): New
variable.
(rust-codex-0.117.0, rust-codex-0.120.0): New variables.
* gnu/packages/rust-crates.scm (rust-deunicode-1.6.2,
rust-deunicode-1.6.2.cfb8552): Define aliases for the new workspace
package.
(lookup-cargo-inputs): Update entries for codex, codex-acp, and
rust-codex-0.0.0.785c0c43. Add rust-deunicode-1.6.2.cfb8552.
* gnu/packages/patches/codex-acp-0.11.1-disable-code-mode.patch,
gnu/packages/patches/codex-acp-0.11.1-remove-patch-sections.patch,
gnu/packages/patches/rust-codex-0.117.0-core-remove-self-dep.patch,
gnu/packages/patches/rust-codex-0.117.0-remove-patch-sections.patch,
gnu/packages/patches/rust-codex-0.120.0-connectors-cache-test-race.patch,
gnu/packages/patches/rust-codex-0.120.0-core-remove-self-dep.patch,
gnu/packages/patches/rust-codex-0.120.0-remove-libwebrtc.patch,
gnu/packages/patches/rust-codex-0.120.0-test-timeout.patch: New files.
* gnu/packages/patches/codex-acp-0.9.2-remove-patch-sections.patch,
gnu/packages/patches/codex-acp-0.9.2-replace-result-flatten.patch:
Delete files.
* gnu/local.mk (dist_patch_DATA): Register the new patches.

Change-Id: I280a752507f40e525243dcb869c264da96605bd7
2026-04-23 07:19:23 +02:00
jgart
9cf150b28e gnu: toys: Wrap Guile search paths.
* gnu/packages/package-management.scm (toys)[arguments]<#:phases>: Wrap
Guile search paths.

Change-Id: Ia43318cf81d00e728ed636d2860cdf9609f2d4ed
2026-04-23 00:23:11 -04:00
jgart
96b80b008e gnu: trealla: Update to 2.93.2.
* gnu/packages/prolog.scm (trealla): Update to 2.93.2.

Change-Id: Ib2eb9ce59ab3204329cf81a5ee5a7ece054b07da
2026-04-22 23:31:27 -04:00
jgart
6b89b97d05 gnu: Add python-rassumfrassum.
* gnu/packages/python-xyz.scm (python-rassumfrassum): New variable.

Change-Id: I136f86d7d782f49255ec2b8ac2a1b8ca417b3f84
Signed-off-by: jgart <jgart@dismail.de>
2026-04-22 23:27:03 -04:00
Vinicius Monego
4cc4c76637 gnu: Add gdu.
* gnu/packages/disk.scm (gdu): New variable.

Change-Id: Ic4667cb2ed3f4768f71d9e78b37733f378c2aa60
2026-04-22 22:07:13 -03:00
Vinicius Monego
33c9aaf002 gnu: go-github-com-maruel-natural: Update to 1.3.0.
* gnu/packages/golang-xyz.scm (go-github-com-maruel-natural): Update to
1.3.0.

Change-Id: I48bcf40d51fe4645a5f66b292aac01e23018dc3e
2026-04-22 22:07:13 -03:00
Vinicius Monego
643374559e gnu: go-github-com-rivo-tview: Update to 0.42.0.
* gnu/packages/golang-xyz.scm (go-github-com-rivo-tview): Update to
0.42.0.
[source]: Update commit string.

Change-Id: I117b9addb8f5f96c0944f14d1bdf000a57927815
2026-04-22 22:07:13 -03:00
Vinicius Monego
ad86e9660d gnu: go-github-com-dgraph-io-badger-v4: Update to 4.9.1.
* gnu/packages/golang-xyz.scm (go-github-com-dgraph-io-badger-v4):
Update to 4.9.1.
[propagated-inputs]: Remove go-go-opencensus-io. Add
go-go-opentelemetry-io-contrib-zpages, go-go-opentelemetry-io-otel.

Change-Id: Id1f216353d11a80002c911e4242f81ac7e874a89
2026-04-22 22:07:13 -03:00
Vinicius Monego
b4b7dbfe1b gnu: Add go-go-opentelemetry-io-contrib-zpages.
* gnu/packages/golang-web.scm (go-go-opentelemetry-io-contrib-zpages):
New variable.

Change-Id: I594f36251d908e9f40b46f6d67e0457cc1920e6b
2026-04-22 22:07:08 -03:00
Vinicius Monego
dbecaed075 gnu: python-qtconsole: Update to 5.7.2.
* gnu/packages/jupyter.scm (python-qtconsole): Update to 5.7.2.

Change-Id: I3fc928e5c1b82aad5d737121369e93d414be0fab
2026-04-22 21:37:39 -03:00
Vinicius Monego
87d45d5b76 gnu: Add python-lsp-ruff.
* gnu/packages/python-check.scm (python-lsp-ruff): New variable.

Change-Id: I4bcf0fc8abc5889547fc2a350916b10b5f4d053a
2026-04-22 21:37:39 -03:00
Vinicius Monego
bf3f52609d gnu: python-lsp-server: Update to 1.14.0.
* gnu/packages/python-xyz.scm (python-lsp-server): Update to 1.14.0.
[arguments]<#:test-flags>: Skip failing test.

Change-Id: I59ca40c905432d6be09aef36821fc6bca238af81
2026-04-22 21:37:39 -03:00
Vinicius Monego
34777c0bbd gnu: python-lsp-server: Refresh package.
* gnu/packages/python-xyz.scm (python-lsp-server)[source]: Switch to
git-fetch.
[arguments]: Use G-Expressions.
<#:test-flags>: Use STRING-JOIN for skipped tests.
[native-inputs]: Remove python-wheel. Move python-flake8, python-pylint,
python-rope to ...
[propagated-inputs]: ... here.

Change-Id: I45d07389aaad59805ad7e4ef6985c8e6fb168225
2026-04-22 21:37:39 -03:00
Vinicius Monego
d86748d99f gnu: Add python-pyls-spyder.
* gnu/packages/python-xyz.scm (python-pyls-spyder): New variable.

Change-Id: I1d639d0bdd6a9db51616cc5bcf1222ccc2bfbc18
2026-04-22 21:37:39 -03:00
Vinicius Monego
2474e38c5b gnu: Add python-pylint-venv.
* gnu/packages/python-check.scm (python-pylint-venv): New variable.

Change-Id: I64ae882de68d0a995f7636a50633001bd5b01290
2026-04-22 21:37:38 -03:00
Vinicius Monego
113d22500c gnu: Add python-pyuca.
* gnu/packages/python-xyz.scm (python-pyuca): New variable.

Change-Id: Ie526a115468921f133c75022e2224e266ca2b8fe
2026-04-22 21:37:38 -03:00
Vinicius Monego
28a2916e86 gnu: python-qtawesome: Update to 1.4.2.
* gnu/packages/python-graphics.scm (python-qtawesome): Update to 1.4.2.

Change-Id: If2cfd6d89a73ec8e9d1496abf967f9e12f0f8f47
2026-04-22 21:37:38 -03:00
Vinicius Monego
96d645150a gnu: Add python-spyder-kernels.
* gnu/packages/jupyter.scm (python-spyder-kernels): New variable.

Change-Id: Id4027e9672e5988f5c54681765ea077d5b2c7a27
2026-04-22 21:37:38 -03:00
Tomas Volf
78000c9395 gnu: crun: Update to 1.26.
* gnu/packages/containers.scm (crun): Update to 1.26.
2026-04-22 23:03:22 +02:00
Artyom V. Poptsov
a448eca8a5 gnu: rasdaemon: Update to 0.8.4.
* gnu/packages/linux.scm (rasdaemon): Update to 0.8.4.
[inputs]: Add pciutils.  Sort inputs alphabetically.

Change-Id: I42be9bae91e4c8e0a6c897932acc1d8db0bbf246
2026-04-22 22:38:12 +03:00
Artyom V. Poptsov
39a6807609 gnu: htop: Update to 3.5.0.
* gnu/packages/admin.scm (htop): Update to 3.5.0.

Change-Id: Ied547508584e7b29b736eeecebe32b3ca5bb9b4a
2026-04-22 22:38:12 +03:00
Noé Lopez
c581d42f7f gnu: debops: Switch to latest fuse.
* gnu/packages/admin.scm (debops)[inputs]: Replace fuse-2 with fuse.

Change-Id: Ibc195b24c39fb04a475688df04e10ba32986e0fc
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-22 20:40:12 +02:00
Efraim Flashner
13196327fd gnu: xdg-desktop-portal-wlr: Install manpage.
* gnu/packages/freedesktop.scm (xdg-desktop-portal-wlr)[native-inputs]:
Add scdoc.

Change-Id: If7b0694fdd6a3d847c0a1116cea11404a23da919
2026-04-22 19:30:33 +03:00
Josep Bigorra
e20ff3658f gnu: Add mutastructura.
* gnu/packages/databases.scm (mutastructura): New variable.

Change-Id: I777b1f760d87cdd1b404cee961be6ee6bc7d76c3
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-04-22 17:26:53 +02:00
jadzi
6a3832ad6d gnu: Add guile-compose, guile-web-middleware
* gnu/packages/guile-xyz.scm (guile-compose): New variable.
* gnu/packages/guile-xyz.scm (guile-web-middleware): New variable.

Change-Id: I73ba48093b4f614d6f1317275f4fa638b22f10c6
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7954
2026-04-22 17:23:31 +02:00
Johannes Christ
85ccd32fe6 gnu: pacemaker: Configure local state directory.
Before this commit, pacemaker would look in
`/gnu/store/...-pacemaker/var/` for its state, which would be
counterproductive. Use `/var` from the system instead, and disable the
make target that would create the local state directory.

* gnu/packages/high-availability.scm (pacemaker) [arguments] <#:phases>:
  Add phase to remove `/var` creation.
  <#:configure-flags>: Set local state directory to `/var`.

Change-Id: I4ef72bd6dabe1ed21fd356fe2eb10cee223aaf42
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
Merges: #8033
2026-04-22 17:16:20 +02:00
Roman Scherer
6a5005d62e tests: gexp: Fix test shadowing replacement field.
Fixes a regression introduced in a7c8e68dc5.

* tests/gexp.scm (gexp): Rename replacement binding to replacement-pkg in
order to not shadow the replacement field of the package record.

Change-Id: I70ceafc92f52e588b3cac8f74bffa274bf0da352
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7846
2026-04-22 16:51:07 +02:00
Ludovic Courtès
c04485849e gnu: guile-fibers-1.4: Update to 1.4.3.
* gnu/packages/guile-xyz.scm (guile-fibers-1.4): Update to 1.4.3.

Change-Id: I95296efbec90e96229166d34aea254822034796e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7996
2026-04-22 16:17:12 +02:00
Sören Tempel
bcee2b576a gnu: bmake: Update to 20260406.
* gnu/packages/build-tools.scm (bmake): Update to 20260406.

Change-Id: I78f7dd893f21a745fd5ac7a4f256e1572caf2a8d
2026-04-22 15:37:06 +02:00
Danylo Kondratiev
b9512bd5e8 gnu: gajim: Update to 2.4.6.
* gnu/packages/messaging.scm (gajim): Update to 2.4.6.

Change-Id: I32097ef0b269bdcf8aacc06b98c2abb9f43cb4bb
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-22 13:42:08 +02:00
Danylo Kondratiev
3628c68e9a gnu: python-nbxmpp: Update to 7.2.0.
* gnu/packages/messaging.scm (python-nbxmpp): Update to 7.2.0.

Change-Id: If8c9a3d686cfd603d44a49c36ebb70c21d1a011b
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-22 13:42:08 +02:00
Hennadii Stepanov
200fdbed49 gnu: bitcoin-core: Update to 31.0.
* gnu/packages/finance.scm (bitcoin-core): Update to 31.0.
[native-inputs]: Remove bash and coreutils.

Change-Id: I9ea1dcd2517ca2cdfb8cbfc5c6894d01bf922176
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-22 13:40:52 +02:00
Herman Rimm
f82efbf17d gnu: plasmatube: Update to 26.04.0.
* gnu/packages/kde-multimedia.scm (plasmatube)[version]: Set to 26.04.0.
[source]: Change origin-hash.

Change-Id: I321c0ce54725ec504f77877cd594b0c23210943a
Signed-off-by: Sughosha <sughosha@disroot.org>
2026-04-22 15:43:19 +05:30
Herman Rimm
d5091385a5 gnu: plasmatube: Add inputs for missing modules.
* gnu/packages/kde-multimedia.scm (plasmatube)[inputs]: Add
kdeclarative, kitemmodels, qqc2-desktop-style, sonnet.

Change-Id: I321c0ce54725ec504f77877cd594b0c23210943a
Signed-off-by: Sughosha <sughosha@disroot.org>
2026-04-22 15:43:18 +05:30
Herman Rimm
0d40939b5f gnu: plasmatube: Improve package style and update description.
* gnu/packages/kde-multimedia.scm (plasmatube)[source]: Unindent.
[inputs]: Order alphabetically.
[description]: Mention Invidious and PeerTube.

Change-Id: I321c0ce54725ec504f77877cd594b0c23210943a
Signed-off-by: Sughosha <sughosha@disroot.org>
2026-04-22 15:43:18 +05:30
宋文武
1b2320b8b0 gnu: wesnoth: Build with C++ compiled Lua.
* gnu/packages/games.scm (wesnoth)[arguments]: Remove pre-configure phase.
[inputs]: Replace lua-5.4 with lua-5.4-for-c++.

Change-Id: I3b3a7998bae2b8b0518dbb1a943e06c27c7993c0
2026-04-22 17:01:48 +08:00
Ian Eure
d93e81e2b4 gnu: mame: Update to 0.287.
* gnu/packages/emulators.scm (mame): Update to 0.287.
[source]: Adjust snippet.
[inputs]: Replace lua with lua-5.4-for-c++.

Merges guix/guix!8012

Change-Id: Ib872a90b2766f9381ebc4ba6774dd8a332bd8f25
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2026-04-22 17:01:48 +08:00
Ian Eure
8bb50dde37 gnu: Add lua-5.4-for-c++.
* gnu/packages/lua.scm (lua-5.4-for-c++): New variable.

Change-Id: I99727b0c1c83269b353431023ad4568b27cd86a3
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2026-04-22 17:01:48 +08:00
Anderson Torres
ae742476b5 gnu: ekho: Update to 9.0.
* gnu/packages/speech.scm (ekho): Update to 9.0.
[arguments]<:phases>: Add 'remove-configure-script and 'set-cxxflag-utf8cpp.
[inputs]: Add sonic, utfcpp.
[native-inputs]: Add autoconf, auutomake, libtool.
[description]: Add @acronym.

Merges guix/guix!7974

Change-Id: I70127f1f6b634209c08fd649573762846cea47c7
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2026-04-22 15:54:00 +08:00
Danny Milosavljevic
1dab977424 gnu: lazarus: Update to 4.6.
* gnu/packages/pascal.scm (lazarus): Update to 4.6.

Fixes: guix/guix#6308
2026-04-22 00:59:12 +02:00
bdunahu
96ae688e32 gnu: perl-image-exiftool: Update to 13.55
* gnu/packages/photo.scm (perl-image-exiftool): Update to 13.55.

Change-Id: If41f188bab3591b96b014f0a8fa8624d0cc05c7d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-21 23:00:16 +02:00
gemmaro
aad2bc38c7 gnu: Add ruby-4.0.
* gnu/packages/ruby.scm (ruby-4.0): New variable.

Change-Id: Id0102f4b6830da2106a49acc723d1cd9e39b18d1
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-21 21:49:58 +02:00
Anderson Torres
42e68f5584 gnu: snd: Update to 26.3.
* gnu/packages/audio.scm (snd): Update to 26.3.
[source]: Update URI.
[home-page]: Update.

Change-Id: I697bfdaa720c2d31b38ded23d7b64fc0f7761d38
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-21 21:42:09 +02:00
Mark H Weaver
5afd027487 gnu: icecat: Update to 140.10.0-gnu1 [security fixes].
Includes fixes for CVE-2026-6746, CVE-2026-6747, CVE-2026-6748,
CVE-2026-6749, CVE-2026-6750, CVE-2026-6751, CVE-2026-6752,
CVE-2026-6753, CVE-2026-6754, CVE-2026-6757, CVE-2026-6759,
CVE-2026-6761, CVE-2026-6762, CVE-2026-6763, CVE-2026-6764,
CVE-2026-6765, CVE-2026-6766, CVE-2026-6767, CVE-2026-6769,
CVE-2026-6770, CVE-2026-6771, CVE-2026-6772, CVE-2026-6776,
CVE-2026-6785, and CVE-2026-6786.

* gnu/packages/gnuzilla.scm (%icecat-base-version, %icecat-build-id): Update.
(icecat-source): Update 'gnuzilla-commit' and hashes.
(%icecat-140.9.1-base-version, %icecat-140.9.1-version)
(icecat-140.9.1-source): New variables.
(icedove-source): Use 'icecat-140.9.1-source'.
2026-04-21 13:46:03 -04:00
David Thompson
3806f5f991 gnu: guile-goblins: Update to 0.18.0.
* gnu/packages/guile-xyz.scm (guile-goblins): Update to 0.18.0.

Change-Id: I6f660150e6fa30d2a78fd3f3eccef37475c7d873
2026-04-21 12:16:09 -04:00
Efraim Flashner
65f772c482 gnu: rust-crates: Adjust indentation.
* gnu/packages/rust-crates.scm: Standardize the indentation.

Change-Id: I9a138aafa1c3e6e4be4f934cfe10951c5874083b
2026-04-21 17:07:22 +03:00
Efraim Flashner
7ce5f9e696 gnu: drill: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
drill.

Change-Id: I4f3385d2d1a53d29c9dc3cb6949bc37c87830ba9
2026-04-21 17:07:21 +03:00
Efraim Flashner
428dfc796f gnu: age-plugin-yubikey: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
age-plugin-yubikey.

Change-Id: Iecaa26a8dd6aa9813be3358970b02ae69457fe13
2026-04-21 17:07:21 +03:00
Efraim Flashner
90f9443668 gnu: agate: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
agate.

Change-Id: I50f6931ec1614d96a7fd0b4f565f8e08030873c9
2026-04-21 17:07:21 +03:00
Efraim Flashner
f8f9149ff0 gnu: alfis: Update rust dependencies.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
alfis.

Change-Id: I0fe42bbd103d236b5a84636bed607b2741ac3030
2026-04-21 17:07:20 +03:00
Efraim Flashner
6806ec49db gnu: gitoxide: Update to 0.52.0.
* gnu/packages/rust-apps.scm (gitoxide): Update to 0.52.0.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
gitoxide.

Change-Id: I90352b94d89bc83f2c0fc9fb9a4cf70bf9875b1d
2026-04-21 17:05:53 +03:00
Efraim Flashner
be70e45f12 gnu: selenium-manager: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
selenium-manager.

Change-Id: I59a61675ef4ee1866baa3376bc9371bdcc03bf5e
2026-04-21 17:05:53 +03:00
Efraim Flashner
fd86a45eb0 gnu: rabbitmqadmin: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
rabbitmqadmin.

Change-Id: I9f58279edb6c3fbb9c7dc3bc3bd92833e7341313
2026-04-21 17:05:53 +03:00
Efraim Flashner
a0d88a4725 gnu: c2rust: Update to 0.22.1.
* gnu/packages/rust-apps.scm (c2rust): Update to 0.22.1.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
c2rust.

Change-Id: I67528f6a88f7e983b984a6f6bb2ea177e314c954
2026-04-21 17:05:53 +03:00
Efraim Flashner
a1d6d4e8b8 gnu: wasm-bindgen-cli: Update to 0.2.118.
* gnu/packages/rust-apps.scm (wasm-bindgen-cli): Update to 0.2.118.
[source]: Update snippet.
[arguments]: Add cargo-install-paths.  Remove custom 'install phase.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
wasm-bindgen-cli.

Change-Id: I2070e70df44e08acf314a7664b1a55b80d7922d0
2026-04-21 17:05:53 +03:00
Efraim Flashner
c013cce3ba gnu: sequoia-chameleon-gnupg: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/sequoia.scm (sequoia-chameleon-gnupg)[native-inputs]: Add
capnproto.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
sequoia-chameleon-gnupg.

Change-Id: Ica3d71e8e2313f15f9045f74a99892d2dda50cfe
2026-04-21 17:05:52 +03:00
Efraim Flashner
46e915efba gnu: sequoia: Update to 2.2.0.
Addresses rust security advisories.

* gnu/packages/sequoia.scm (sequoia): Update to 2.2.0.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entries for
sequoia-sq, sequoia-sqv, sequoia-wot-tools.

Change-Id: Idd29d0441230b14f186b2023d17b4f4396af6e3e
2026-04-21 17:05:52 +03:00
Efraim Flashner
25a3cf7687 gnu: spotifyd: Update to 0.4.2.
* gnu/packages/rust-apps.scm (spotifyd): Update to 0.4.2.
[inputs]: Add openssl.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
spotifyd.

Change-Id: I0d2f9f680fcbcb3f7db6eebb9db64502262d969a
2026-04-21 17:05:52 +03:00
Efraim Flashner
cc1c4e60e7 gnu: ripgrep-all: Update to 0.10.10.
* gnu/packages/rust-apps.scm (ripgrep-all): Update to 0.10.10.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
ripgrep-all.

Change-Id: Ib9ec07ce3bc39fb1b79c4e6d1f5ddda5fb38de6b
2026-04-21 17:05:52 +03:00
Efraim Flashner
969be80aae gnu: python-nh3: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
python-nh3.

Change-Id: I350b3829b96d7f3a5cf943f03814a8feb8df219c
2026-04-21 17:05:52 +03:00
Efraim Flashner
6a2c721366 teams: rust: Improve audit-rust-crates script.
* etc/teams/rust/audit-rust-crates: Count the number of untested crates
and print them at the end of running the script.
[Begin]: Close open file descriptor.
[crate-source]: Use variables.
[package:rust, git-reference]: New matches.

Change-Id: If3d9dec79175dfa521a4dfa54d2fedf69712d96e
2026-04-21 17:05:52 +03:00
Efraim Flashner
7a37399512 gnu: rust-crates: Remove spurious crate.
* gnu/packages/rust-crates.scm (rust-pubgrub-0.3.0-alpha.1.b70cf70):
Remove variable.

Change-Id: I2dd7a69527ecc674dcc766732d799eeb77597134
2026-04-21 17:05:52 +03:00
Evgeny Pisemsky
05ad747b16 gnu: Add go-github-com-xtls-reality.
* gnu/packages/golang-crypto.scm (go-github-com-xtls-reality): New variable.

Change-Id: I7f0e63961efc81ae38994ac99190b6e178bc9127
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-21 14:10:19 +01:00
Evgeny Pisemsky
7072de11b9 gnu: go-github-com-refraction-networking-utls: Update to 1.8.2.
* gnu/packages/golang-crypto.scm (go-github-com-refraction-networking-utls): Update to 1.8.2.

Change-Id: Id51a0804238ee927209e6022143dd4a2fdd3fa3e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-21 14:05:12 +01:00
宋文武
c03156b1fb gnu: logtalk: Update to 3.99.0.
* gnu/packages/prolog.scm (logtalk): Update to 3.99.0.

Merges guix/guix!7992

Change-Id: I6e8616411577068e537e72554e05d29db93e8166
2026-04-21 17:51:03 +08:00
Jason Conroy
ef1638ebdf gnu: ocaml-opam-client: Remove dependency on ocaml-cmdliner.
No longer required in opam >= 2.5.

* gnu/packages/ocaml.scm (ocaml-opam-client)[propagated-inputs]: Remove ocaml-cmdliner.

Change-Id: I67fd4dd30fbee25a0598a844b27e351fd4b87d1e
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:57:12 +02:00
Jason Conroy
cdaefd61ba gnu: opam: Update package for 2.5.1.
Restore tests now that the inherited package is at 2.5.1. The package
definition is backported from the ocaml-team branch with one extra test
exclusion for the new opam release.

* gnu/packages/ocaml.scm (opam): Update package for 2.5.1.

Change-Id: Ib80e2f7c31f56dd7a285454ce0ddfed701d68860
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:57:10 +02:00
Jason Conroy
c2e4b45aad gnu: ocaml-opam-core: Update to 2.5.1.
* gnu/packages/ocaml.scm (ocaml-opam-core): Update to 2.5.1.

Change-Id: Ie0934f39df8e52ec6665ee64b9828826f002095d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:57:08 +02:00
Jason Conroy
0133d872f6 gnu: opam: Temporarily disable tests.
This is a prerequisite for a version bump in the inherited package.

* gnu/packages/ocaml.scm (opam):
[arguments]: Disable tests. Delete modified phase related to tests.

Change-Id: I114e85eefa5ab78cdba0b264d9954ac831031541
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:57:06 +02:00
Jason Conroy
ddb7a77b7d gnu: ocaml-opam-client: Add dependency on ocaml-spdx-licenses.
This is a prerequisite for a version bump in the inherited package.

* gnu/packages/ocaml.scm (ocaml-opam-client)[propagated-inputs]: Add ocaml-spdx-licenses.

Change-Id: I72f13f8276acb89eba14b86baf33c265f5405bf6
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:57:04 +02:00
Jason Conroy
31eee60940 gnu: ocaml-opam-solver: Add dependency on ocaml-opam-0install-cudf.
This is a prerequisite for a version bump in the inherited package.

* gnu/packages/ocaml.scm (ocaml-opam-solver)[propagated-inputs]: Add
ocaml-opam-0install-cudf.

Change-Id: I87ad17c8a7fa032e54ebd4a8d096bd0da91003e3
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:57:02 +02:00
Jason Conroy
16f971bbf7 gnu: ocaml-opam-state: Add dependency on ocaml-spdx-licenses.
This is a prerequisite for a version bump in the inherited package.

* gnu/packages/ocaml.scm (ocaml-opam-state)[inputs]: Add ocaml-spdx-licenses.

Change-Id: Iffe4f00abeb394d92385e17ea7c7e0516d1ca0e3
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:59 +02:00
Jason Conroy
c32757baf6 gnu: ocaml: Add ocaml-patch.
* gnu/packages/ocaml.scm (ocaml-patch): New variable.

Change-Id: I18f224e1c8cac942a86d05419d02d0fa418ded98
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:57 +02:00
Jason Conroy
986d997ad0 gnu: ocaml: Add ocaml-opam-0install-cudf.
* gnu/packages/ocaml.scm (ocaml-opam-0install-cudf): New variable.

Change-Id: If7e08f2fbf55626eb90644a0ed8317a2367de0fd
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:55 +02:00
Jason Conroy
0748122bd2 gnu: ocaml: Add ocaml-0install-solver.
* gnu/packages/ocaml.scm (ocaml-0install-solver): New variable.

Change-Id: I52482474746ea518cd108074b0afe22f62952960
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:53 +02:00
Jason Conroy
396bb7e8ef gnu: ocaml: Add ocaml-spdx-licenses.
* gnu/packages/ocaml.scm (ocaml-spdx-licenses): New variable.

Change-Id: I6bed592e3320f1e902478586ff1a84c0b5cf327f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:51 +02:00
Jason Conroy
f668151823 gnu: ocaml: Add ocaml-swhid-core.
* gnu/packages/ocaml.scm (ocaml-swhid-core): New variable.

Change-Id: I017a7370d12c9c7e73e3902a1310778d9b630fe8
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:49 +02:00
Jason Conroy
c0584bed8c gnu: ocaml-mccs: Update to 1.1+19.
* gnu/packages/ocaml.scm (ocaml-mccs): Update to 1.1+19.

Change-Id: I4ae04da62c430c732fb806195bb6116041b6aaa3
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:47 +02:00
Jason Conroy
6cc23705a6 gnu: opam-installer: Update to 2.5.1.
* gnu/packages/ocaml.scm (opam-installer): Update to 2.5.1.

Change-Id: Ifd0ba2ab79df67b18d3cdc7a5995acf0a4012e81
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 19:56:31 +02:00
Sören Tempel
acb466c056 gnu: kissat: Update to 4.0.4.
* gnu/packages/maths.scm (kissat): Update to 4.0.4.
[arguments]<#:phases>{patch-source}: Don't check if /etc/passwd is writable.

Change-Id: I40d6b22bea16009fa67fa8abcda95ea9824e5baf
2026-04-20 18:51:14 +02:00
fanquake
735e13d60e gnu: guile-lzlib: Fix hash.
Fixes a regression introduced in 650e69784d.

* gnu/packages/guile.scm (guile-lzlib)[source]: Update sha256.

Change-Id: Iccb8acc8d1c92d89c4e3b03dbf500e21be604692
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes: guix/guix#7573
Merges: #8020
2026-04-20 16:41:49 +02:00
Miro Palmu
98168d5362 gnu: ucx: enable multithreading support
* gnu/packages/fabric-management.scm (ucx): Enable multithreading
  support.
[#:configure-clags]: Add "--enable-mt".

Fixes: guix/guix/#7456
Change-Id: Ib59efca36e9a168c30638a02f110344e83edd949
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7529
2026-04-20 15:21:15 +02:00
Ludovic Courtès
fa8e00338c doc: Mention the GCD process.
* doc/contributing.texi (Making Decisions): Document GCDs.

Change-Id: I8b247af4e6ec731bc7750e19519c8dba863e5ef5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7786
2026-04-20 15:03:23 +02:00
Ludovic Courtès
32b007b434 doc: Document ‘package/inherit’.
* doc/guix.texi (Defining Package Variants): Document ‘package/inherit’.

Change-Id: I373b54d3a6978d7d2719a234b244397f68004818
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7784
2026-04-20 15:03:13 +02:00
Ludovic Courtès
0e8a578da4 doc: Add missing markup in “Invoking guix refresh”.
* doc/guix.texi (Invoking guix refresh): Add missing @option.

Change-Id: I898d2d4d6fac8a05281a43043e1eaba36cd57869
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-04-20 15:03:13 +02:00
Ludovic Courtès
fe376cdf4a doc: Fix typographical issues in “Invoking guix style”.
* doc/guix.texi (Invoking guix style): Fix typographic issues.  Use less
horizontal space in example.

Change-Id: Ibc8c89e4f0ae1f8ea03c4d706280b424533b0e48
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-04-20 15:03:12 +02:00
Andreas Enge
d636e801be gnu: Remove gourmet.
* gnu/packages/nutrition.scm (gourmet): Delete variable.

Fixes: guix/guix#7352
Change-Id: Idb4f13e75caf6f19baefe43d0017a5ea57cc3edb
2026-04-20 13:48:46 +02:00
Andreas Enge
c46b44ce68 gnu: Remove python-pytest-tornado5.
* gnu/packages/check.scm (python-pytest-tornado5): Delete variable.

Fixes: guix/guix#7347
Change-Id: Ife69b7a42fb1bdcdd6ed9dd4b37847d94bf3cee5
2026-04-20 13:47:58 +02:00
Andreas Enge
bb27bc901c gnu: Remove lkrg.
* gnu/packages/linux.scm (lkrg): Delete variable.

Fixes: guix/guix#7335
Change-Id: Id303e1bc80a5be8b2ec125a2ff07859d9be72f01
2026-04-20 13:47:07 +02:00
Andreas Enge
7619e82b35 gnu: Remove evdi.
* gnu/packages/linux.scm (evdi): Delete variable.

Fixes: guix/guix#7339
Change-Id: I878d0677d28504b8f44c63471834e568e8303935
2026-04-20 13:43:31 +02:00
Andreas Enge
8d6b041cb6 gnu: Remove libevdi.
* gnu/packages/linux.scm (libevdi): Delete variable.

Change-Id: I8961aa3cddc981eddd908ccc7df66b2906a928e2
2026-04-20 13:43:00 +02:00
Andreas Enge
55e3d0b154 gnu: Remove lttng-modules.
* gnu/packages/instrumentation.scm (lttng-modules): Delete variable.

Fixes: guix/guix#7337
Change-Id: I1868722e93ee25072855c9f32da6556b46e42ceb
2026-04-20 13:41:20 +02:00
Andreas Enge
32863e42b6 gnu: Remove vhba-module.
* gnu/packages/linux.scm (vhba-module): Delete variable.

Fixes: guix/guix#7336
Change-Id: Ie48554619a8d23cda7b5764ee326727ec1bef2e9
2026-04-20 13:39:17 +02:00
Andreas Enge
c6cf60450d gnu: Remove vendor-reset-linux-module.
* gnu/packages/linux.scm (vendor-reset-linux-module): Delete variable.

Fixes: guix/guix#7334
Change-Id: Ib6c0d821dfb7b3d08d106ac34b37d6fafe57377a
2026-04-20 13:38:26 +02:00
Andreas Enge
451247642d gnu: Remove librem-ec-acpi-linux-module.
* gnu/packages/linux.scm (librem-ec-acpi-linux-module): Delete variable.

Fixes: guix/guix#7331
Change-Id: I68f04f69fb25e8e762aff96430b2d62c3fdca86c
2026-04-20 13:37:08 +02:00
Andreas Enge
be5131cf13 gnu: Remove rdesktop.
* gnu/packages/rdesktop.scm (rdesktop): Delete variable.

Fixes: guix/guix#7302
Change-Id: Ie6dbb506f66b2ce81dc93e73902b99f437accaaa
2026-04-20 13:36:21 +02:00
Andreas Enge
7b4d4f16ed gnu: Remove wxwidgets-gtk2.
* gnu/packages/wxwidgets.scm (wxwidgets-gtk2): Delete variable.

Fixes: guix/guix#7247
Change-Id: I4f3bb13d4cca2f2d22879ce47123fa649cfb3065
2026-04-20 13:33:48 +02:00
Andreas Enge
73d69677a3 gnu: Remove font-cozette.
* gnu/packages/fonts.scm (font-cozette): Delete variable.

Fixes: guix/guix#7241
Change-Id: I56eb14d2aad5ea070c42d1983ee9a37ee40556db
2026-04-20 13:31:44 +02:00
Andreas Enge
44a1f76f05 gnu: Remove hwloc-2.
* gnu/packages/mpi.scm (hwloc-2): Delete variable.

Fixes: guix/guix#7216
Change-Id: If7dfd6002ef2c02677691adc791f75ea3b2cb5ce
2026-04-20 13:27:28 +02:00
Andreas Enge
ce0a26bf44 gnu: Remove hwloc-1.
* gnu/packages/mpi.scm (hwloc-1): Delete variable.
* gnu/packages/patches/hwloc-1-test-btrfs.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Unregister file.

Change-Id: I1ff036fb7c81702a46a9f97b6d5d3199d380242c
2026-04-20 13:27:27 +02:00
Andreas Enge
d57ecc3023 gnu: slurm-minimal: Rewrite input.
* gnu/packages/parallel.scm (slurm-minimal)[inputs]: Replace hwloc-2 by
the identical hwloc.

Change-Id: I9ae384f88c3840b4d1c6978129ca48a4459de166
2026-04-20 13:27:26 +02:00
Andreas Enge
132d2a4e7c gnu: mpich: Rewrite input.
* gnu/packages/mpi.scm (mpich)[inputs]: Replace hwloc-2 by the identical
hwloc.

Change-Id: I1ba8a2fbdc64c8a4343903f936e6a018322ac2a8
2026-04-20 13:27:25 +02:00
Andreas Enge
f3efb57c4c gnu: openmpi-4: Rewrite input.
* gnu/packages/mpi.scm (openmpi-4)[inputs]: Replace hwloc-2 by the
identical hwloc.

Change-Id: I16f4dde4f66f5ee05f6c490f19aa590407cffb1a
2026-04-20 13:27:24 +02:00
Andreas Enge
d68e92fcf7 gnu: gromacs: Rewrite input.
* gnu/packages/chemistry.scm (gromacs)[inputs]: Replace hwloc-2 by the
identical hwloc.

Change-Id: I5a7f33e12cefff884329a867e05ecef60ce9e1d9
2026-04-20 13:27:23 +02:00
Andreas Enge
72d81789e9 gnu: Remove fsom.
* gnu/packages/bioinformatics.scm (fsom): Delete variable.

Change-Id: I2881a1addec0c9c100141bd181a1f7a84a964c94
2026-04-20 13:18:43 +02:00
Denis 'GNUtoo' Carikli
65b767cb36 teams: Add GNUtoo to the embedded team.
I was asked to join the team that manages the gnu/packages/coreboot.scm
file.

* etc/teams.scm ("GNUtoo"): Create and add to the embedded team.

Link: https://codeberg.org/guix/guix/pulls/7065
Change-Id: I3e3963cf3806e4a7d741b75b052de4caa3b8ea98
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-20 13:33:22 +03:00
Denis 'GNUtoo' Carikli
a02a6d2b83 teams: embedded: adopt gnu/packages/coreboot.scm.
Before the commit 7cf91385c5 ("gnu: Move bincfg,
ifdtool and intelmetool to coreboot.scm."), the packages moved to coreboot.scm
were managed by the electronics team. After that, these packages became orphan
because coreoot.scm had wasn't managed by any team.

For now, the best fit is the "embedded" team because embedded also manages
bootloader.scm which also provide boot firmware images (u-boot).

* CODEOWNERS: Regenrate file.
* etc/teams.scm (embedded)<#:scope>: Add gnu/packages/coreboot.scm.

Link: https://codeberg.org/guix/guix/pulls/7065
Change-Id: I6626ad74bf5b20bee24c018292354c4db127f7a3
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-20 13:33:18 +03:00
Dan Rostovtsev
14a65594a1 gnu: Add rocqide.
* gnu/packages/rocq.scm (rocqide): New variable.

Change-Id: I5db4925c6a193c562a14be49d4edc17ed252f22a
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 11:35:11 +02:00
Dan Rostovtsev
527de054fa gnu: Add rocqide-server.
* gnu/packages/rocq.scm (rocqide): New variable.

Change-Id: I446de988b7f456918b8913b002e2fb070ff22883
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 11:35:06 +02:00
Dan Rostovtsev
78cb02925f gnu: Add rocq-core.
* gnu/packages/rocq.scm (rocq-core): New variable.

Change-Id: I4db97a371d6d6c12ab285c4f5484caa4bd471485
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 11:35:04 +02:00
Dan Rostovtsev
3e6e8582a1 gnu: Add rocq-runtime.
* gnu/packages/rocq.scm (rocq-runtime): New variable.

Change-Id: Ib9199253987f444bd597b03d12cd8b34bd3bbce8
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 11:35:02 +02:00
Dan Rostovtsev
c94e2af5aa gnu: Add rocq module.
* gnu/packages/rocq.scm: New file.
* etc/teams.scm (ocaml): Add it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* CODEOWNERS: Regenerate file.

Change-Id: Ia6ed17bf36632463b7df1e6bd6a6ae14ee1b7e3f
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 11:34:55 +02:00
Efraim Flashner
f5c418be09 gnu: fish: Run more tests.
* gnu/packages/shells.scm (fish)[native-inputs]: Add python-pexpect.

Change-Id: I1b712178f7e9263bb7682bd8fc1572949639c0a4
2026-04-20 11:41:25 +03:00
Andrew Stubbs
a4ecd92dae gnu: fish: Update to 4.6.0.
* gnu/packages/shells.scm (fish): Update to 4.6.0.
[arguments]: Remove some unneeded substitutions.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
fish.

Change-Id: I13e4aec5e16ca0e0ecacddbee4c471151e7b09ca
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-04-20 11:40:13 +03:00
Nicolas Graves
b8946c8d7b gnu: java-snappy: Improve style.
* gnu/packages/java-compression.scm
(java-snappy)[arguments]: Drop trailing #t, fit into 79 characters.
[native-inputs, inputs, propagated-inputs]: Drop input labels.
(java-snappy-1)[arguments]: Likewise.

Change-Id: I241a675425cf2d28b52568e52a923e48a347453d
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2026-04-20 10:20:47 +02:00
Efraim Flashner
f17572eb4b gnu: alacritty: Speedup patching library references phase.
* gnu/packages/terminals.scm (alacritty)[arguments]: Rewrite the
'add-absolute-library-references phase to run faster.

Change-Id: I6eb41a1739b0199dc883a5ce0f6772ee0691f9a6
2026-04-20 10:03:48 +03:00
Efraim Flashner
48f52f85f9 gnu: alacritty: Modernize package.
* gnu/packages/terminals.scm (alacritty)[arguments]: Rewrite using
g-exps.  Add cargo-install-paths. Replace custom 'install phase with
'install-more phase using the copy-build-system's 'install phase.

Change-Id: I8eac507e2f07df07c62cfc68a9adabf4155f79c0
2026-04-20 09:38:28 +03:00
Efraim Flashner
852c6300bf gnu: alacritty: Update to 0.17.0.
* gnu/packages/terminals.scm (alacritty): Update to 0.17.0.
[arguments]: Install new manpage.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update entry for
alacritty.

Change-Id: I76dfa7b0d23d3d82284ea4e3912cfec0ec425cec
2026-04-20 09:37:44 +03:00
Anderson Torres
3699c4a4fe gnu: nvi: Move to (gnu packages text-editors).
* gnu/packages/nvi.scm (nvi): Deprecate, move from here ...
* gnu/packages/text-editors.scm: ... to here.  Update copyright headers.
* gnu/system.scm: Do not use (gnu packages nvi).

Change-Id: I9968c854a7ea42b1f3288ae68a9259bd7d35c685
Merges: https://codeberg.org/guix/guix/pulls/4806
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-20 12:43:25 +09:00
Anderson Torres
d1011b548f gnu: nvi: Reformat.
* gnu/packages/nvi.scm (nvi)[source]: Reduce indentation,
  reformat uri, use G-expression snippet.
  [inputs]: Remove newline.
  [description]: Reduce indentation, limit width to 72 columns.
  [home-page]: Update.
  [license]: Add prefix.

Change-Id: I0f8068a7f204a817deb02ac0dc179bde47d96d58
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-20 12:42:04 +09:00
Ashish SHUKLA
3814cc1da9 gnu: labwc: Update to 0.9.7
* gnu/packages/wm.scm (labwc): Update to 0.9.7.

Change-Id: Iaf7437e8bcc71819252250934b386bb1b1927724
Merges: https://codeberg.org/guix/guix/pulls/7969
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-20 11:41:55 +09:00
Maxim Cournoyer
746add3f1b gnu: luanti-mineclonia: Update to 0.121.1.
* gnu/packages/luanti.scm (luanti-mineclonia): Update to 0.121.1.

Change-Id: Iabbb5743e04106393736be5e891458da8bef98e3
2026-04-20 11:18:12 +09:00
jgart
2fbb82a8a5 gnu: trealla: Update to 2.92.41.
* gnu/packages/prolog.scm (trealla): Update to 2.92.41.

Change-Id: I23d7054e7154cd8f484522e8ed8781981b75915c
2026-04-19 20:30:37 -04:00
134 changed files with 21031 additions and 9443 deletions

View File

@@ -16,6 +16,8 @@
( ;; primary: "D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F"
"01FD 85F4 1A7B 7F82 0583 06A5 935E BE07 36DC 857E"
(name "avp"))
("5D54 CF25 57B2 38E8 8DC1 80A2 2D22 3241 0AB7 4043"
(name "baleine"))
( ;; primary: "34FF 38BC D151 25A6 E340 A0B5 3453 2F9F AFCA 8B8E"
"A3A4 B419 0074 087C A7DE 5698 BC45 CA67 E2F8 D007"
(name "bavier"))

View File

@@ -179,6 +179,7 @@ guix/scripts/import/elpa\.scm @guix/emacs
tests/import/elpa\.scm @guix/emacs
gnu/packages/bootloaders\.scm @guix/embedded
gnu/packages/coreboot\.scm @guix/embedded
gnu/packages/firmware\.scm @guix/embedded
gnu/packages/emulators\.scm @guix/games
@@ -318,6 +319,7 @@ gnu/packages/tor-browsers\.scm @guix/mozilla
gnu/packages/ocaml\.scm @guix/ocaml
gnu/packages/coq\.scm @guix/ocaml
gnu/packages/rocq\.scm @guix/ocaml
guix/build/ocaml-build-system\.scm @guix/ocaml
guix/build/dune-build-system\.scm @guix/ocaml
guix/build-system/ocaml\.scm @guix/ocaml

View File

@@ -1667,6 +1667,9 @@ can be turned into a version string via @code{git-version}, for example
@code{rust-pipewire-0.8.0.fd3d8f7} and @code{rust-pubgrub-0.3.0.b70cf70}.
@end table
When contributing Rust packages, we should have all modifications to these
two modules, in the same commit as the package we are contributing.
To avoid merge conflicts with changes from multiple branches, these two modules
are maintained by the Rust team (@pxref{Teams}).
@@ -1696,6 +1699,68 @@ tree.
@xref{Packaging Rust Crates,,, guix-cookbook, GNU Guix Cookbook}, for
packaging workflow.
@subsubsection Commit messages
The commit message must have a general brief mention to entry changes
in @code{(gnu packages rust-crates)}. For changes in @code{(gnu packages
rust-sources)}, the commit message must explicitly mention all changes to the
packages.
Here are some examples for different situations:
@itemize
@item
Adding a new Rust package:
@example
gnu: Add catppuccin-whiskers.
* gnu/packages/rust-apps.scm (catppuccin-whiskers): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)
[catppuccin-whiskers]: New entry.
@end example
@item
Updating a simple package:
@example
gnu: watchexec: Update to 2.3.2.
* gnu/packages/rust-apps.scm (watchexec): Update to 2.3.2.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[watchexec]:
Update entry.
@end example
@item
Updating a package with sources:
@example
gnu: typst: Update to 0.14.0.
* gnu/packages/rust-apps.scm (typst): Update to 0.14.0.
[arguments]<#:rust>: Use rust-1.88.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[typst]: Update
entry.
[rust-syntect-5]: Rename to rust-syntect-5.2.
[rust-syntect-5.3]: New entry.
* gnu/packages/rust-sources.scm (rust-hypher-0.1): Update to 0.1.6.
(rust-syntect-5): Rename to rust-syntect-5.2.
[inputs]: Rename cargo-inputs rust-syntect-5 to rust-syntect-5.2.
(rust-syntect-5.3): New variable.
@end example
@end itemize
@subsubsection Resolving merge conflicts in Pull Requests
For Rust crates, the recommended way to solve merge conflicts is to drop all
changes to @code{gnu/packages/rust-crates.scm}, rebase onto the desired branch
and run the lockfile importer again, manually adding back all relevant snippets
(if any).
@xref{Common Workflow for Resolving Merge Conflicts on Existing Pull Requests,,, guix-cookbook, GNU Guix Cookbook} for
a suggested workflow on resolving merge conflicts.
@node Elm Packages
@subsection Elm Packages
@@ -2650,6 +2715,7 @@ applications settings page}, granting read/write access to the
@cindex decision making
@cindex consensus seeking
Every contribution to the project involves a form of decision making.
It is expected from all contributors, and even more so from committers,
to help build consensus and make decisions based on consensus. By using
consensus, we are committed to finding solutions that everyone can live
@@ -2664,6 +2730,26 @@ resolve the deadlock. To learn what consensus decision making means and
understand its finer details, you are encouraged to read
@url{https://www.seedsforchange.org.uk/consensus}.
Day-to-day decision making, for instance discussions about pull requests
(@pxref{Reviewing the Work of Others}), happens informally among
interested parties such as contributors and members of the relevant
teams (@pxref{Teams}).
@cindex GCD, Guix Consensus Documents
@cindex Guix Consensus Documents (GCD)
Decisions that are expected to have an impact on most contributors
and/or on the broader user community---e.g., changes to project-wide
policies, to core functionality, and so on---are made following the
@acronym{GCD, Guix Consensus Document} process. The process provides a
framework to formalize proposals and draw attention to them, to leave
time for interested parties to discuss them, and to collectively accept
or withdraw them based on input from participating team members. It is
defined in
@uref{https://consensus.guix.gnu.org/gcd/001-gcd-process.html,
GCD@tie{}001}. Past GCDs can be seen at
@uref{https://consensus.guix.gnu.org}, and discussions take place at
@uref{https://codeberg.org/guix/guix-consensus-documents}.
@node Commit Access
@section Commit Access

View File

@@ -146,6 +146,8 @@ Packaging Rust Crates
* Common Workflow for Rust Packaging::
* Cargo Workspaces and Development Snapshots::
* Using Rust Libraries in Other Build Systems::
* Common Workflow for Updating Existing Rust Packages::
* Common Workflow for Resolving Merge Conflicts on Existing Pull Requests::
System Configuration
@@ -1647,6 +1649,8 @@ $ guix shell rust rust:cargo cargo-audit cargo-license
* Common Workflow for Rust Packaging::
* Cargo Workspaces and Development Snapshots::
* Using Rust Libraries in Other Build Systems::
* Common Workflow for Updating Existing Rust Packages::
* Common Workflow for Resolving Merge Conflicts on Existing Pull Requests::
@end menu
@node Common Workflow for Rust Packaging
@@ -1705,6 +1709,15 @@ $ cargo audit
$ cargo license
@end example
@quotation Note
Before running @command{cargo generate-lockfile}, make sure you have checked
out the correct tag for the version you are packaging. This ensures that
@code{Cargo.toml} matches the file used in the packages's @code{source} field.
To make sure, you can obtain the exact source with @command{./pre-inst-env guix
build --source <package>} and only then run @command{cargo generate-lockfile} on
that source tree.
@end quotation
@command{cargo generate-lockfile} updates dependencies to compatible versions.
Applying it to all Rust applications helps reduce a great number of Rust
libraries we need to check later. Although sometimes libraries may fail to
@@ -1987,6 +2000,316 @@ method, one of the most popular choices for Traditional Chinese users.")
(license license:lgpl2.1+)))
@end lisp
@node Common Workflow for Updating Existing Rust Packages
@subsubsection Common Workflow for Updating Existing Rust Packages
For this example, we'll update @code{niri}. The package definition looks like
this initially:
@lisp
(define-public niri
(package
(name "niri")
(version "25.08")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/YaLTeR/niri")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"09nsxd211mly8r1ys2lq6ia4jxgb980h1axrbgw748r0knfbbj7n"))))
(build-system cargo-build-system)
...
@end lisp
We start by running the usual @command{guix refresh -u niri}.
The @command{-u} flag will update in place the version and hash for the
@code{niri} package.
The package definition will then look like this:
@lisp
(define-public niri
(package
(name "niri")
(version "25.11")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/YaLTeR/niri")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0752qm245wc2gak0jhp0fnr0rdj3z54m2h97k3cxbjym9pcn658n"))))
(build-system cargo-build-system)
...
@end lisp
This means the source field was updated successfully, thus we can now proceed to
get the updated source with @command{guix build --source niri} as follows:
@example shell
$ cp -r $(./pre-inst-env guix build --source niri) /tmp
$ cd /tmp/<hash>-niri-25.11-checkout/
@end example
@quotation Note
In this specific example, the source is a git checkout, thus a directory. If the
package source is a compressed archive, you would at this point extract it to a
directory to proceed.
@end quotation
Now, given that we have access to the @code{Cargo.toml} file, we can now run
the following inside the checkout:
@example shell
$ guix shell rust rust:cargo -- cargo generate-lockfile
$ guix shell rust rust:cargo -- cargo audit
$ guix shell rust rust:cargo -- cargo license
@end example
@quotation Note
Sometimes the package will require a more up-to-date version of rust, that is
not yet the default rust on guix. For these cases you can use:
@example shell
$ guix shell -e "(@ (gnu packages rust) rust-1.90)" \
-e '`(,(@ (gnu packages rust) rust-1.90) "cargo")'
@end example
@end quotation
The first command will ensure that all cargo dependencies are up to date
and semver compatible, while also providing some other benefits, as further
explained in @ref{Common Workflow for Rust Packaging}.
The following command will warn if there are any known vulnerabilities in the
crates being imported. The last one will output the license information of all
the dependent crates.
If everything looks good, we can now replace the contents of the @code{niri}
indentifier, located inside the @code{lookup-cargo-inputs} variable on the
bottom of the @file{gnu/packages/rust-crates.scm} module, with the newer updated
crates by running the importer on the lockfile as follows:
@example shell
$ guix import -i /path/to/gnu/packages/rust-crates.scm \
crate -f Cargo.lock niri
@end example
@quotation Note
For the purpose of contributing a package to Guix (@pxref{Contributing,,,
guix, GNU Guix Reference Manual}), there is no need to cleanup the leftover
crates as a result of the package update. This is tasked to the rust-team
(@pxref{Teams,,, guix, GNU Guix Reference Manual}) to periodically run a
convenient script in @code{etc/teams/rust} to cleanup unused crates from
@file{gnu/packages/rust-crates.scm}.
@end quotation
We then need to check whether the importer has placed some TODOs for us,
inside @file{gnu/packages/rust-crates.scm} (you can use @command{git diff --
gnu/packages/rust-crates.scm} for this purpose).
There are a few types of TODO messages that you might encounter during this
step, each type requiring you to perform a different action.
The first one we encounter in our example is:
@lisp
(define rust-libdisplay-info-sys-0.3.0
;; TODO REVIEW: Check bundled sources.
(crate-source "libdisplay-info-sys" "0.3.0"
"07xmkc2aqcdn6d58321y87rd3gzdr4nx3ncm1mmrr7w1p1ahsn96"))
@end lisp
This specific TODO message tells us that there is a high probability of
encountering bundled sources within a crate definition generated by the
importer.
We then check if there are any bundled sources within the
@code{rust-libdisplay-info-sys-0.3.0} crate. Since there are none (in our
example), we can simply remove the TODO line, and continue to the next TODO.
If there were any bundled sources inside the crate, we would have to patch
it with a snippet, in order to unbundle it. You can see some examples on
how to unbundle inside @file{gnu/packages/rust-crates.scm} (search for the
@code{#:snippet} keyword).
@quotation Note
If the unbundle is considered too difficult to be executed (e.g. the effort
needed to unbundle is unreasonable), the @code{TODO REVIEW} line should be
converted to a regular TODO comment explicitly stating the unbundle was not done
(e.g. @code{TODO: Unbundle rust-libdisplay-info-sys.}).
@end quotation
Continuing, another TODO message we encounter in this example is the following:
@lisp
(define rust-smithay-0.7.0.d743e1a
;; TODO REVIEW: Define standalone package if this is a workspace.
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/Smithay/smithay.git")
(commit "d743e1a317fa0f01d1c4cadd96d277a1ec7b59d9")))
(file-name (git-file-name "rust-smithay" "0.7.0.d743e1a"))
(sha256 (base32 "11327mhxxf844bs0v5bw1g9bzjssnzhidsissywy6kwng16x727v"))))
@end lisp
This specific TODO message tells us that there is a high probability of the
@code{rust-smithay-0.7.0.d743e1a} crate being a workspace.
After verifying that it is indeed a workspace, we now need to make it an
actual package in @file{gnu/packages/rust-sources.scm}, referencing it in the
crate-source definition (see @ref{Common Workflow for Rust Packaging} for more
details).
@quotation Note
You can verify if a crate is a workspace by cloning the crate repository (in
this case @code{https://github.com/Smithay/smithay.git}), checking out the
specific revision (in this case @command{git checkout d743e1a}), and looking
for @code{[workspace]} in its main @file{Cargo.toml} file. If it does not have a
TOML @code{[workspace]} section, then it is not a workspace.
@end quotation
After defining the separate source package for the workspace in
@file{gnu/packages/rust-sources.scm} (see @ref{Common Workflow for Rust
Packaging} for more details on how to do this), the crate definition for
@code{rust-smithay-0.7.0.d743e1a} would then become the following (notice we
also remove the TODO line):
@lisp
(define rust-smithay-0.7.0.d743e1a package:rust-smithay-0.7.0.d743e1a)
@end lisp
If @code{rust-smithay-0.7.0.d743e1a} was not a workspace, we would simply remove
the TODO line and move on.
We then try to build the package with @command{guix build niri}, and make sure
whether it builds successfully, which it does.
As a good practice, we can further check the output of the
@code{check-for-pregenerated-files} phase to ensure there are no extraneous
pregenerated files inside the crates. If there are any, it is important to
snippet them out, like these:
@lisp
(define rust-winapi-x86-64-pc-windows-gnu-0.4.0
(crate-source "winapi-x86_64-pc-windows-gnu" "0.4.0"
"0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"
#:snippet '(delete-file-recursively "lib")))
(define rust-flate2-1.1.4
(crate-source "flate2" "1.1.4"
"1a8a3pk2r2dxays4ikc47ygydhpd1dcxlgqdi3r9kiiq9rb4wnnw"
#:snippet '(for-each delete-file-recursively '("examples" "tests"))))
(define rust-flo-curves-0.3.1
(crate-source "flo_curves" "0.3.1"
"16x293dp8825jh465kgms4yyvl4960j26gh37h3skflq9zxpy8hw"
#:snippet '(for-each delete-file '("logo-small.png" "logo.png"))))
(define rust-interception-sys-0.1.3
(crate-source "interception-sys" "0.1.3"
"1lgwbml7gzq5a5rriy708w68gx6yiw9cdg7xy2c5vsrrck7pbs5b"
#:snippet '(for-each delete-file (find-files "." "\\.(dll|lib)$"))))
@end lisp
@node Common Workflow for Resolving Merge Conflicts on Existing Pull Requests
@subsubsection Common Workflow for Resolving Merge Conflicts on Existing Pull Requests
Whenever a Rust package change is merged into our target branch from a different
Pull Request, we often encounter many merge conflicts in @code{(gnu packages
rust-crates)} when rebasing the Pull Request on top of the target branch. Since
we should avoid modifying the rust-crates file manually (e.g. using the git
interface to solve merge conflicts), it is recommended (and often much faster)
to drop all changes to @code{(gnu packages rust-crates)} and run the lockfile
importer once again, manually adding back all the manual changes.
This workflow describes one of many ways to do the described procedure.
In this example we'll update the @code{codeberg-cli} package, which has produced
some merge conflicts in @file{gnu/packages/rust-crates.scm} when we tried a git
pull rebase.
Before starting, make sure we're not in a rebase environment, by aborting the
rebase we tried previously (the one which created the merge conflicts by git
pulling):
@example
$ git rebase --abort
@end example
@cindex git rebase --interactive
@cindex interactive rebase
To begin, we interactively rebase our PR branch by marking as
@code{edit} the commit we want to edit, which is the one containing the
@file{gnu/packages/rust-crates.scm} changes:
@example
# Change 1 to the number of relevant commits
$ git rebase -i HEAD~1
@end example
In our example, we would mark the @code{codeberg-cli} commit like so:
@example
edit 6ef4f1ad043 # gnu: codeberg-cli: Update to 0.5.4.
@end example
After that, we'll be in rebase mode, where we can restore the changes made to
@file{gnu/packages/rust-crates.scm}:
@quotation Note
Notice that we will lose all manual changes we have previously made to
@file{gnu/packages/rust-crates.scm} (e.g. snippets, deleting TODO comments,
if there were any). We'll need to manually add them back after we run the guix
lockfile importer once again, so make sure you have them saved somewhere, for
example in your PR link under the @code{Files changed} tab.
@end quotation
@example
$ git restore --source=HEAD~ gnu/packages/rust-crates.scm
@end example
Having restored the file, we can stage the changes, commit, finish the rebase
and pull rebase from the target branch:
@example
$ git add gnu/packages/rust-crates.scm
$ git commit --amend --no-edit
$ git rebase --continue
$ git pull <remote> <target branch>
@end example
We then proceed to run the guix lockfile importer:
@quotation Note
Remember to checkout the correct tag you're packaging in the package repository
checkout. Don't forget to run @code{cargo generate-lockfile} before running
the lockfile importer, see @ref{Common Workflow for Rust Packaging} for more
detailed steps on what to do before running the guix lockfile importer.
@end quotation
@example
$ guix import --insert=gnu/packages/rust-crates.scm \
crate --lockfile=/path/to/Cargo.lock codeberg-cli
@end example
Now is the time we manually add back the snippets and remove the relevant TODOs
we have already checked (if there are any).
After running the lockfile importer and checking if there are any changes to
manually add back, we can finally:
@example
$ git add gnu/packages/rust-crates.scm
# Our target commit is the last one:
$ git commit --amend --no-edit
@end example
We now have a non-conflicting tree, from which we can now update our PR with.
@c *********************************************************************
@node System Configuration

View File

@@ -2658,12 +2658,13 @@ bootloaders.
Once you are done partitioning the target hard disk drive, you have to
create a file system on the relevant partition(s)@footnote{Currently
Guix System supports only ext4, btrfs, bcachefs, JFS, F2FS, and XFS
file systems. In particular, code that reads file system UUIDs and
labels works only for these file system types. For bcachefs, also add
the @code{bcachefs-linux-module} to your @code{operating-system}'s
@code{initrd-modules}.}. For the ESP, if you have one and assuming it is
@file{/dev/sda1}, run:
Guix System can mount only ext4, btrfs, JFS, F2FS, and XFS file systems
at boot time. In particular, code that reads file system UUIDs and
labels works only for these file system types. The code for bcachefs is
in place, but support for loading out-of-tree kernel modules in the
initrd is not.}.
For the ESP, if you have one and assuming it is @file{/dev/sda1}, run:
@example
mkfs.fat -F32 /dev/sda1
@@ -8843,12 +8844,12 @@ dependencies than the original package. For example, the default
optional dependency, you can define a variant that removes that
dependency like so:
@findex package/inherit
@lisp
(use-modules (gnu packages gdb)) ;for 'gdb'
(define gdb-sans-guile
(package
(inherit gdb)
(package/inherit gdb
(inputs (modify-inputs inputs
(delete "guile")))))
@end lisp
@@ -8856,6 +8857,23 @@ dependency like so:
In the body of the @code{inputs} field above, @code{inputs} is bound to
the inherited value. Thus, the @code{modify-inputs} form above removes
the @code{"guile"} package from the @code{inputs} field of @code{gdb}.
@quotation Note
The example above uses @code{(package/inherit gdb @dots{})} instead of
the usual @code{(package (inherit gdb) @dots{})}. While the latter
would work, @code{package/inherit} does extra work: if @code{gdb} has a
@code{replacement} field (@pxref{Security Updates}),
@code{package/inherit} propagates the @code{inputs} changes of this
variant to the replacement.
In other words, @code{package/inherit} ensures the variant gets a
consistent @code{replacement} when the original package has one. Thus,
one should generally use @code{package/inherit} when creating a variant
for the same version, but not when targeting a different version, as in
the @code{hello} example we saw earlier, where the replacement may be
incorrect.
@end quotation
The @code{modify-inputs} macro is a helper that can prove useful anytime
you want to remove, add, or replace package inputs.
@@ -15534,7 +15552,7 @@ gnu/packages/qt.scm:452:13: qtbase would be upgraded from 5.15.8 to 5.15.10
@end example
@cindex partial version specification, guix refresh
A per-package equivalent to --target-version is made available by
A per-package equivalent to @option{--target-version} is made available by
prefixing the version specification with the @samp{~} (tilde) character.
For example:
@@ -16095,7 +16113,7 @@ it unchanged.
@item git-source
If the @code{home-page} is a Git repository (as per
@code{git-repository-url?}), and the actual Git repository is tagged
with @code{version} or @code{(string-append ``v'' version)}, change the
with a version string, possibly prefixed by ``v'', change the
package origin to the @code{git-fetch} method
(@pxref{origin Reference}). Consider this example:
@@ -16124,14 +16142,16 @@ its @code{source} field like to:
(inherit guile-json-3)
(name "guile-json")
(version "4.7.3")
(source (origin
(method git-fetch)
(uri (git-reference (url
"https://github.com/aconchillo/guile-json")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
"0akhm8xjv8fl55fyq0w6c9c6hi5j7mifjx01w07np7qg1cjl9f06"))))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aconchillo/guile-json")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0akhm8xjv8fl55fyq0w6c9c6hi5j7mifjx01w07np7qg1cjl9f06"))))))
@end lisp
@end table
@@ -27248,6 +27268,28 @@ Package object for GVfs.
@end table
@end deftp
@defvar kmonad-service-type
This is the type of the service that runs
@uref{https://github.com/kmonad/kmonad, KMonad}. Its value is a
@code{kmonad-configuration} object. This service allows spawning
@command{kmonad} configurations to manage keyboards.
@deftp {Data Type} kmonad-configuration
Configuration record for the KMonad service.
@table @asis
@item @code{kmonad} (default: @code{kmonad})
The KMonad package to use.
@item @code{keymaps}
A list of files with KMonad configurations. One shepherd service will be
created to control each configuration. Each configuration should target
a distinct input device as KMonad operates on a per-input basis.
@end table
@end deftp
@end defvar
@defvar colord-service-type
This is the type of the service that runs @command{colord}, a system
service with a D-Bus

View File

@@ -16,6 +16,7 @@ exec $pre_inst_env_maybe guix repl -- "$0" "$@"
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025-2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;; Copyright © 2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -690,6 +691,7 @@ ecosystem."
(team 'embedded
#:name "Embedded"
#:scope (list "gnu/packages/bootloaders.scm"
"gnu/packages/coreboot.scm"
"gnu/packages/firmware.scm")))
(define-team games
@@ -943,6 +945,7 @@ importer, and the ocaml-build-system."
#:scope
(list "gnu/packages/ocaml.scm"
"gnu/packages/coq.scm"
"gnu/packages/rocq.scm"
"guix/build/ocaml-build-system.scm"
"guix/build/dune-build-system.scm"
"guix/build-system/ocaml.scm"
@@ -1246,6 +1249,11 @@ the \"texlive\" importer."
"jonsger")
mozilla)
(define-member (person "Denis Carikli"
"GNUtoo@cyberdimension.org"
"GNUtoo")
embedded)
(define-member (person "Ludovic Courtès"
"ludo@gnu.org"
"civodul")

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env -S gawk -f
# GNU Guix --- Functional package management for GNU
# Copyright © 2025 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2025, 2026 Efraim Flashner <efraim@flashner.co.il>
#
# This file is part of GNU Guix.
#
@@ -21,20 +21,22 @@
# ./etc/teams/rust/audit-rust-crates ./path/to/file.scm
# Prints the output of cargo-audit to the shell.
# Make sure we have cargo-audit in our PATH
BEGIN {
if (system("which cargo-audit 1> /dev/null"))
exit 1;
"which cargo-audit" | getline cargoAudit
close("which cargo-audit")
cargoAudit = cargoAudit " audit --file -"
# Parse a record at a time.
RS = "\n\n"
cargoAudit = "cargo-audit audit --file -"
}
# Check the crate-source origin-only inputs
# Check the crate-source origin-only inputs, like in rust-crates.scm
/crate-source/ {
for(i=3; i <= NF-2; i++) {
if($i == "(crate-source") {
cargoLock = cargoLock "[[package]]\nname = " $(i+1) "\nversion = " $(i+2) "\n"
crateName = $(i+1)
crateVersion = $(i+2)
cargoLock = cargoLock "[[package]]\nname = " crateName "\nversion = " crateVersion "\n"
next
}
}
@@ -44,27 +46,64 @@ BEGIN {
/crate-uri/ {
for(i=3; i <= NF; i++) {
if($i == "(version")
crateVersion = $(i+1)
crateVersion = $(i+1)
if($i == "(crate-uri")
crateName = $(i+1)
crateName = $(i+1)
}
gsub(/)/, "", crateVersion)
cargoLock = cargoLock "[[package]]\nname = " crateName "\nversion = " crateVersion "\n"
next
}
# The xxxx-cargo-input variables have a set style
# TODO: Replace the last dash between the name and the version with a space!
# This doesn't take into account swapping between "-" and "_" so we skip it.
#( $2 ~ /-cargo-inputs/ ) {
# sub(/-cargo-inputs/, "", $2)
# gsub(/)/, "", $0)
# gsub(/rust-/, "", $0)
# #gensub(/([[:alpha:]])-([[:digit:]]+)/, "\\1 \\2", "g", $i)
# print "[[package]]\nname = \"" $2 "\"\nversion = \"1.0.0\"\ndependencies = ["
# for (i = 4; i <= NF; i++) {
# print "\"" $i "\","
# }
# print "]"
#}
# Parse the crates created from packages using 'cargo package'
/package:rust/ {
pkg = $2
split(pkg, name_version, "-")
crateVersion = name_version[length(name_version)]
crateName = substr(pkg, 6, (length(pkg) - length(crateVersion) - 6))
split(crateVersion, versionDots, ".")
if(crateVersion && (crateVersion != "(git-version") && (length(versionDots) == 3) && crateName) {
cargoLock = cargoLock "[[package]]\nname = \"" crateName "\"\nversion = \"" crateVersion "\"\n"
} else {
untested++
#print("Unable to test " $0)
}
next
}
END { print cargoLock | cargoAudit }
# We make an attempt to create the crate name from the package name otherwise
/git-reference/ {
for(i=3; i <= NF; i++) {
if($i == "(version")
crateVersion = $(i+1)
if($i == "(name")
crateName = $(i+1)
if($i == "(git-file-name") {
crateName = $(i+1)
crateVersion = $(i+2)
}
}
gsub(/)/, "", crateVersion)
gsub(/)/, "", crateName)
sub(/rust-/, "", crateName)
# The crate version MUST be major.minor.patch
split(crateVersion, versionParts, ".")
if(crateVersion && (crateVersion != "(git-version") && (length(versionParts) == 3) && crateName) {
cargoLock = cargoLock "[[package]]\nname = " crateName "\nversion = " crateVersion "\n"
} else {
untested++
#print("Unable to test " $0)
}
next
}
# Note those which we were unable to parse
/define rust/ {
if($3 == "#f)")
next
print("Unable to parse " $0)
}
{ untested++ }
END { print("Number of crates untested: " untested); print cargoLock | cargoAudit }

View File

@@ -610,6 +610,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/rocm-apps.scm \
%D%/packages/rocm-libs.scm \
%D%/packages/rocm-tools.scm \
%D%/packages/rocq.scm \
%D%/packages/rpc.scm \
%D%/packages/rpm.scm \
%D%/packages/rrdtool.scm \
@@ -1130,9 +1131,10 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-gcc-14.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/codex-acp-0.9.2-remove-patch-sections.patch \
%D%/packages/patches/codex-acp-0.9.2-replace-result-flatten.patch \
%D%/packages/patches/codex-acp-0.11.1-disable-code-mode.patch \
%D%/packages/patches/codex-acp-0.11.1-remove-patch-sections.patch \
%D%/packages/patches/codex-0.98.0-remove-patch-sections.patch \
%D%/packages/patches/rust-codex-0.117.0-remove-patch-sections.patch \
%D%/packages/patches/cogl-fix-double-free.patch \
%D%/packages/patches/collada-dom-boost.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
@@ -1466,7 +1468,6 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/gimp-fix-metadata-editor.patch \
%D%/packages/patches/gimp-fix-tiff-load.patch \
%D%/packages/patches/git-clar-path-max.patch \
%D%/packages/patches/git-filter-repo-generate-doc.patch \
%D%/packages/patches/gklib-suitesparse.patch \
%D%/packages/patches/glib-appinfo-watch.patch \
@@ -1616,7 +1617,6 @@ dist_patch_DATA = \
%D%/packages/patches/hurd-refcounts-assert.patch \
%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 \
@@ -1652,6 +1652,7 @@ dist_patch_DATA = \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/inetutils-drop-test.patch \
%D%/packages/patches/inferno-fix-crash.patch \
%D%/packages/patches/iniparser-remove-fetchcontent-usage.patch \
%D%/packages/patches/inkscape-libxml2.patch \
@@ -1698,7 +1699,6 @@ dist_patch_DATA = \
%D%/packages/patches/libcss-check-format.patch \
%D%/packages/patches/libeb-gcc-14.patch \
%D%/packages/patches/libextractor-tidy-support.patch \
%D%/packages/patches/libfossil-skip-amalgamation.patch \
%D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.3.0.patch \
@@ -1713,6 +1713,7 @@ dist_patch_DATA = \
%D%/packages/patches/libretro-dolphin-emu-libusb-assert.patch \
%D%/packages/patches/libretro-dolphin-emu-vulkan-headers.patch \
%D%/packages/patches/libretranslate-use-flasgger.patch \
%D%/packages/patches/librewolf-150.0-encoding_rs-rust-fix.patch \
%D%/packages/patches/librewolf-add-store-to-rdd-allowlist.patch \
%D%/packages/patches/librewolf-compare-paths.patch \
%D%/packages/patches/librewolf-neuter-locale-download.patch \
@@ -2348,8 +2349,16 @@ dist_patch_DATA = \
%D%/packages/patches/renpy-fix-integer-slots.patch \
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
%D%/packages/patches/rdkit-unbundle-external-dependencies.patch \
%D%/packages/patches/r-biostrings-r4.6.0-compat.patch \
%D%/packages/patches/r-h5mread-0001-h5mread-1.3.2-Get-rid-of-non-API-calls-to-R.patch \
%D%/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch \
%D%/packages/patches/r-mscoreutils-0001-fix-non-API-call-to-R-SETLENGTH-by-using-lengthgets.patch \
%D%/packages/patches/r-rsamtools-r-4.6.0-compat.patch \
%D%/packages/patches/r-snpstats-0001-fixed-non-API-except-for-IS_S4_OBJECT.patch \
%D%/packages/patches/r-snpstats-0002-fixed-IS_S4_OBJECT.patch \
%D%/packages/patches/r-sapa-lapack.patch \
%D%/packages/patches/r-shortread-0001-ShortRead-1.69.3-Get-rid-of-non-API-calls-to-R.patch \
%D%/packages/patches/r-sparsearray-r-4.6.0-compat.patch \
%D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \
@@ -2394,6 +2403,13 @@ dist_patch_DATA = \
%D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \
%D%/packages/patches/rust-codex-0.98.0-test-timeout.patch \
%D%/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch \
%D%/packages/patches/rust-codex-0.117.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.120.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.120.0-connectors-cache-test-race.patch \
%D%/packages/patches/rust-codex-0.120.0-remove-libwebrtc.patch \
%D%/packages/patches/rust-codex-0.120.0-test-timeout.patch \
%D%/packages/patches/rust-codex-0.124.0-code-mode-stub-toolname.patch \
%D%/packages/patches/rust-codex-0.124.0-remove-patch-sections.patch \
%D%/packages/patches/rust-ring-0.17-ring-core.patch \
%D%/packages/patches/rw-igraph-0.10.patch \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \

View File

@@ -1158,7 +1158,7 @@ on memory usage on GNU/Linux systems.")
(define-public htop
(package
(name "htop")
(version "3.4.1")
(version "3.5.0")
(source
(origin
(method git-fetch)
@@ -1166,7 +1166,7 @@ on memory usage on GNU/Linux systems.")
(url "https://github.com/htop-dev/htop")
(commit version)))
(sha256
(base32 "058y4a4mvx9m179dyr4wi8mlm6i4ybywshadaj4cvfn9fv0r0nkx"))
(base32 "1r07ri0dl9xz0jn1hc2g8q3l0q4clvnxs05yagpzsz0zigp4flj5"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -1309,7 +1309,8 @@ re-executing them as necessary.")
version ".tar.gz"))
(sha256
(base32
"11n01vsd51r7qraaaylhhx04hq4s6vcq0896zkz0yp1wvqfbwmm1"))))
"11n01vsd51r7qraaaylhhx04hq4s6vcq0896zkz0yp1wvqfbwmm1"))
(patches (search-patches "inetutils-drop-test.patch"))))
(build-system gnu-build-system)
(arguments
(list
@@ -3441,7 +3442,7 @@ modules and plugins that extend Ansible.")
(list ansible
bash-minimal
encfs
fuse-2
fuse
util-linux ;; for umount
findutils
git
@@ -7169,6 +7170,35 @@ stored in an SQL database.")
(connects via USB OTG).")
(license license:expat)))
(define-public yoctofetch
(package
(name "yoctofetch")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/Phosphenius/yoctofetch.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0smkaydv74p2231gafibvqbwsy469w56hya8gz8wq0gw7m2l7zh3"))))
; Support for other platforms not available per upstream:
; https://codeberg.org/Phosphenius/yoctofetch#supported-platforms
(supported-systems '("x86_64-linux" "aarch64-linux"))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f)) ; No tests available.
(home-page "https://codeberg.org/Phosphenius/yoctofetch")
(synopsis "Fast and low footprint system fetch tool for the Linux UAPI")
(description
"This package provides a system fetch tool, similar to
@command{neofetch}, @command{fastfetch}, etc. It is lightweight and
has a focus on performance. It can be used as a greeter by starting
it from @file{~/.bashrc} for example.")
(license license:agpl3+)))
(define-public zzz
(package
(name "zzz")

View File

@@ -6529,22 +6529,23 @@ on the ALSA software PCM plugin.")
(define-public snd
(package
(name "snd")
(version "25.2")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz"))
(sha256
(base32
"0fgxqk0byxdj6059mb9d5qic2dqjabz49j0szsrn2y3c9nz6iyq4"))))
(version "26.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://ccrma.stanford.edu/software/snd/snd-"
version ".tar.gz"))
(sha256
(base32
"1d573mjlrn9rhl9g0a3d1rkar34q60ln8mwlbibfalpn8lsz59a0"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no tests
#:out-of-source? #f ; for the 'install-doc' phase
#:tests? #f ; No tests.
#:out-of-source? #f ; Required by 'install-doc'.
#:configure-flags
#~(let ((docdir (string-append #$output "/share/doc/"
#$name "-" #$version)))
#~(let
((docdir (string-append #$output "/share/doc/snd-" #$version)))
(list "--with-alsa"
"--with-jack"
"--with-gmp"
@@ -6552,18 +6553,20 @@ on the ALSA software PCM plugin.")
(string-append "--with-doc-dir=" docdir)))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-s7
(add-after 'install 'install-s7-h
(lambda _
(install-file "s7.h" (string-append #$output "/include"))))
(install-file "s7.h" (string-append #$output
"/include"))))
(add-after 'install 'install-doc
(lambda _
(let ((doc (string-append #$output "/share/doc/"
#$name "-" #$version)))
(let
((docdir (string-append #$output "/share/doc/snd-"
#$version)))
(for-each
(lambda (f)
(install-file f doc))
(install-file f docdir))
(find-files "." "\\.html$"))
(copy-recursively "pix" (string-append doc "/pix"))))))))
(copy-recursively "pix" (string-append docdir "/pix"))))))))
(native-inputs
(list pkg-config))
(inputs
@@ -6582,13 +6585,16 @@ on the ALSA software PCM plugin.")
timidity++
vorbis-tools
wavpack))
(home-page "https://ccrma.stanford.edu/software/snd/snd/snd.html")
(synopsis "Sound editor")
(home-page "https://ccrma.stanford.edu/software/snd/")
(description
"Snd is a sound editor modelled loosely after Emacs. It can be
customized and extended using either the s7 Scheme implementation (included in
the Snd sources), Ruby, or Forth.")
(license (license:non-copyleft "file://COPYING"))))
(license
;; INFO: pkgsrc classifies this as `esdl-license', a license not included
;; in OSI or FSF lists, despite being similar to ISC.
(license:non-copyleft "file://COPYING"))))
(define-public libspecbleach
(package

File diff suppressed because it is too large Load Diff

View File

@@ -913,7 +913,7 @@ suite native in R.")
(define-public r-bpcells
(package
(name "r-bpcells")
(version "0.3.0")
(version "0.3.1")
(source
(origin
(method git-fetch)
@@ -922,7 +922,7 @@ suite native in R.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12h1di45fg06nhsliii7v0h1z567pkpis1xm4ar1qr8ns1n8iljw"))
(base32 "0yqgcajq83g25mznwcngaw7pi6vcqxqdnynpgb95yci57k3wrp6j"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "r/src/vendor/highway"))))
@@ -931,13 +931,15 @@ suite native in R.")
(arguments
(list
#:phases
'(modify-phases %standard-phases
`(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(substitute* "r/configure"
(("tools/hwy-test.cpp" m)
(string-append m " $HWY_LIBS $HWY_CFLAGS")))
(chdir "r"))))))
(lambda _ (chdir "r")))
,@(if (target-x86-32?)
'((add-after 'chdir 'require-sse2
;; This avoids falling back to the scalar backend in
;; highway, which fails to build.
(lambda _ (setenv "CFLAGS" "-msse2"))))
'()))))
(propagated-inputs
(list r-dplyr
r-ggplot2
@@ -22349,37 +22351,6 @@ combinatorial configurations.\", G. Ehrlich - Journal of the ACM (JACM),
1973. (Algorithm 7.)")
(license license:expat)))
(define-public fsom
(let ((commit "a6ef318fbd347c53189384aef7f670c0e6ce89a3"))
(package
(name "fsom")
(version (git-version "0.0.0" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ekg/fsom/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0gw1lpvr812pywg9y546x0h1hhj261xwls41r6kqhddjlrcjc0pi"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests to run.
#:phases
(modify-phases %standard-phases
(delete 'configure) ; There is no configure phase.
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(install-file "fsom" bin)))))))
(native-inputs
(list gcc-6))
(home-page "https://github.com/ekg/fsom")
(synopsis "Manage SOM (Self-Organizing Maps) neural networks")
(description "A tiny C library for managing SOM (Self-Organizing Maps)
neural networks.")
(license license:gpl3))))
(define-public fastahack
(package
(name "fastahack")

View File

@@ -275,14 +275,14 @@ generate such a compilation database.")
(define-public bmake
(package
(name "bmake")
(version "20260313")
(version "20260406")
(source
(origin
(method url-fetch)
(uri (string-append
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
(sha256
(base32 "0xgryknmv625idw37rq89mpl5rymwdb15j5w8zxwy1gf8b6z7j3n"))
(base32 "09nzd9v12n2pwxmf67056kzjnvxcpk5q2x1fs5qkrsk1ssh5yvpd"))
(patches (search-patches "bmake-run-check-separately.patch"))))
(build-system gnu-build-system)
(inputs

View File

@@ -23,7 +23,7 @@
;;; Copyright © 2023, 2024 David Elsing <david.elsing@posteo.net>
;;; Copyright @ 2022, Kitzman <kitzman@disroot.org>
;;; Copyright @ 2025 Dariqq <dariqq@posteo.net>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025, 2026 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2026 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
@@ -1762,7 +1762,7 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
(define-public simdutf
(package
(name "simdutf")
(version "7.7.1")
(version "9.0.0")
(source
(origin
(method git-fetch)
@@ -1771,7 +1771,7 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0kw4j4qqcfjaii667xa745pklj50m70nqq8cj5agj714acczbk7y"))))
(base32 "0f5ccvqj7pfa69m9y1kxp2v1lybx6x8i9pykdqfkr7dydqbhrhx6"))))
(build-system cmake-build-system)
(arguments (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")))
(synopsis "SIMD Unicode validation and transcoding")

View File

@@ -3131,7 +3131,7 @@ time by mocking the datetime module.")
(define-public python-flaky
(package
(name "python-flaky")
(version "3.8.1")
(version "3.8.1") ; On bump, remove some skipped tests in python-cherrypy.
(source (origin
(method url-fetch)
(uri (pypi-uri "flaky" version))
@@ -3719,30 +3719,6 @@ system. The code under test requires no modification to work with pyfakefs.")
directories and files.")
(license license:expat)))
(define-public python-pytest-tornado5
(package
(name "python-pytest-tornado5")
(version "2.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest-tornado5" version))
(sha256
(base32
"0qb62jw2w0xr6y942yp0qxiy755bismjfpnxaxjjm05gy2pymr8d"))))
(build-system pyproject-build-system)
(arguments
;; Tests require pytest < 6
(list #:tests? #f))
(propagated-inputs (list python-pytest python-tornado))
(native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/vidartf/pytest-tornado")
(synopsis
"Fixtures and markers to simplify testing of Tornado applications")
(description
"This package provides a @code{py.test} plugin supplying fixtures and
markers to simplify testing of asynchronous tornado applications.")
(license license:asl2.0)))
(define-public guile-proba
(package
(name "guile-proba")

View File

@@ -580,7 +580,7 @@ stored with user-specified precision.")
python-sphinx))
(inputs
(list fftwf
`(,hwloc-2 "lib")
`(,hwloc "lib")
libtirpc
lmfit
muparser

View File

@@ -18,10 +18,10 @@
;;; 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
;;; defines rust-codex-0.124.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
;;; rust-apps before rust-codex-0.124.0 is defined, causing an unbound
;;; variable error.
(define-module (gnu packages codex)
@@ -36,33 +36,46 @@
#:use-module (gnu packages base)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages linux)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages llvm)
#:use-module (gnu packages lsof)
#: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 textutils)
#:use-module (gnu packages nss)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control))
#:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization))
(define-public codex
(package
(name "codex")
(version (package-version rust-codex-0.98.0))
(version (package-version rust-codex-0.124.0))
(source
(origin
(inherit (package-source rust-codex-0.98.0))
(inherit (package-source rust-codex-0.124.0))
(patches (search-patches
"codex-0.98.0-remove-patch-sections.patch"
"codex-acp-0.11.1-disable-code-mode.patch"
"rust-codex-0.124.0-code-mode-stub-toolname.patch"
"rust-codex-0.124.0-remove-patch-sections.patch"
"rust-codex-0.120.0-remove-libwebrtc.patch"
"rust-codex-0.98.0-test-shebangs.patch"
"rust-codex-0.98.0-test-timeout.patch"))))
"rust-codex-0.120.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"
;; exec-server is library-only in 0.124 (no [[bin]] in
;; exec-server/Cargo.toml); cargo install --path exec-server fails
;; with "no packages found with binaries or examples". Drop it
;; from the install paths -- the library is consumed via the
;; workspace by other binaries here, not installed standalone.
#:cargo-install-paths '(list "cli" "exec"
"linux-sandbox" "mcp-server"
"app-server" "tui")
;; schema_fixtures_match_generated (upstream fixture is stale:
;; FileChange::Update in codex-protocol gained old_content,
@@ -71,72 +84,55 @@
#: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.
;;; BEGIN Landlock returns NotEnforced
;;; in the build container; the sandbox
;;; binary panics instead of cleanly
;;; denying filesystem access.
;; Sandbox denial and escalation tests.
"--skip" "sandbox_denied_shell_returns_original_output"
;; Sandbox denial and escalation tests.
"--skip" "shell_escalated_permissions_rejected_then_ok"
;; Sandbox denial and escalation tests.
"--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.
;; codex-exec: spawn_command_under_linux_sandbox
;; panics with LandlockRestrict (exit 101).
"--skip" "python_getpwuid_works_under_sandbox"
;; Same as above.
"--skip" "python_multiprocessing_lock_works_under_sandbox"
;; Same as above.
"--skip" "sandbox_distinguishes_command_and_policy_cwds"
;; These linux-sandbox tests directly invoke
;; the Landlock sandbox via
;; process_exec_tool_call; same root cause.
;; linux-sandbox: process_exec_tool_call
;; invokes Landlock; same panic.
"--skip" "test_writable_root"
;; Same as above.
"--skip" "test_timeout"
;; Same as above.
"--skip" "test_root_read"
;; Same as above.
"--skip" "test_dev_null_write"
;; Same as above.
"--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.
;; One scenario runs through Landlock
;; which panics; cargo --skip cannot
;; target individual scenarios.
"--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.
;; Landlock panic triggers escalation-retry
;; which interferes with the approval cache.
"--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:
;; TurnAborted. 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).
;; 2. Landlock is unavailable, so the
;; sandbox binary exits instantly.
;; 3. Orchestrator gets SandboxErr::Denied.
;; wants_no_sandbox_approval(OnRequest)
;; returns false (sandboxing.rs:222),
;; so no escalation -- denial returned
;; directly.
;; returns false, so no escalation --
;; denial returned directly.
;; 4. ToolEmitter::finish sends the error
;; to the mock model as
;; function_call_output.
;; to the mock model.
;; 5. Second mock SSE response fires,
;; turn finishes with TurnComplete.
;; 6. Op::Interrupt arrives 100 ms later,
@@ -150,74 +146,370 @@
;; has only one mock response (so the turn
;; cannot complete first).
"--skip" "interrupt_persists_turn_aborted_marker_in_next_request"
;; Same causal chain as above.
"--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".
;; WorkspaceWrite sandbox policy wraps
;; commands with codex-linux-sandbox;
;; Landlock panics, command never runs,
;; exit_code is None instead of Some(0).
"--skip" "request_permissions_grants_apply_to_later_exec_command_calls"
;; Same root cause.
"--skip" "request_permissions_grants_apply_to_later_shell_command_calls"
;; Same root cause.
"--skip" "partial_request_permissions_grants_do_not_preapprove_new_permissions"
;;; END Landlock
;;; BEGIN mcp_process.rs initialize
;;; assertion expects "version":"0.0.0"
;;; but the server returns "0.120.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.
;;; END version mismatch
;;; BEGIN Test isolation bug:
;;; unique_temp_dir() in
;;; state/src/runtime.rs names dirs
;;; using nanosecond timestamps, so
;;; parallel tests can collide. The
;;; SQLite migration runs CREATE TABLE
;;; threads (without IF NOT EXISTS),
;;; so the second init panics with
;;; "table threads already exists".
"--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")
"--skip" "deleting_thread_cascades_thread_memory"
;;; END SQLite test isolation
;; The test spawns 'sh' after
;; env_clear() with an empty env map;
;; glibc execvp uses confstr(_CS_PATH)
;; ("/bin:/usr/bin") when PATH is
;; unset, but /bin/sh does not exist
;; in the build container.
"--skip" "cancellation_expiration_keeps_process_alive_until_terminated"
;; Proxy baseline_policy returns 403
;; "not_allowed_local" for example.com;
;; test expects 200.
"--skip" "managed_network_proxy_decider_survives_full_access_start"
;;; BEGIN bash_snapshot_script() uses
;;; "compgen -e" to list exports but
;;; bash-minimal lacks programmable
;;; completion; export section is empty.
;; stdout.contains("VALID_NAME") fails.
"--skip" "bash_snapshot_filters_invalid_exports"
;; stdout.contains("MULTILINE_CERT") fails.
"--skip" "bash_snapshot_preserves_multiline_exports"
;; snapshot.contains("PATH") fails.
"--skip" "linux_bash_snapshot_includes_sections"
;;; END compgen
;; substitute* patches PAGER to store
;; path of cat; test expects bare "cat".
"--skip" "unified_exec_env_injects_defaults"
;;; BEGIN V8 disabled (codex-code-mode
;;; default-features = false).
"--skip" "suite::code_mode::"
"--skip" "suite::js_repl::"
"--skip" "suite::view_image::js_repl_"
;;; END V8 disabled
;;; BEGIN same compgen root cause:
;;; assert_posix_snapshot_sections
;;; asserts snapshot.contains("PATH").
"--skip" "linux_shell_command_uses_shell_snapshot"
"--skip" "linux_unified_exec_uses_shell_snapshot"
"--skip" "shell_command_snapshot_still_intercepts_apply_patch"
;;; END compgen / shell snapshot
;;; BEGIN These sandbox tests set
;;; exclude_slash_tmp: true which makes
;;; bwrap exclude /tmp from its mount
;;; namespace. Since Guix builds under
;;; /tmp, the codex-linux-sandbox binary
;;; becomes invisible to bwrap even though
;;; the test adds the helper dir as a
;;; filesystem carve-out -- the parent /tmp
;;; bind-mount is absent so the carve-out
;;; has nothing to carve out of.
"--skip" "sandbox_reenables_writable_subpaths_under_unreadable_parents"
"--skip" "managed_proxy_mode_routes_through_bridge_and_blocks_direct_egress"
;;; END exclude_slash_tmp
;; Expects 3 TerminalInteraction events
;; across timed poll windows; under CPU
;; contention events merge into 2.
"--skip" "unified_exec_terminal_interaction_captures_delayed_output"
;;; BEGIN assert_parallel_duration
;;; requires < 1600 ms for parallel ops.
;; Two 300 ms test_sync_tool calls.
"--skip" "read_file_tools_run_in_parallel"
;; Two "sleep 0.25" shell commands.
"--skip" "shell_tools_run_in_parallel"
;; One test_sync_tool + one shell sleep.
"--skip" "mixed_parallel_tools_run_in_parallel"
;;; END assert_parallel_duration
;; Asserts elapsed >= 4500 ms and
;; < 5800 ms for a 5 s timeout; under
;; contention elapsed drifts past 5800.
"--skip" "remote_models_request_times_out_after_5s"
;; Queued inter-agent mail must be
;; injected between the reasoning/
;; commentary item and the gate release;
;; under contention the gate fires before
;; the mail is processed, so the snapshot
;; shows the stale function_call instead
;; of the expected mail message.
"--skip" "queued_inter_agent_mail_triggers_follow_up_after_commentary_message_item"
;; Same root cause: snapshot mismatch at
;; pending_input.rs assert_two_responses_
;; input_snapshot; expects mail at position
;; 04 but gets function_call/shell instead.
"--skip" "queued_inter_agent_mail_triggers_follow_up_after_reasoning_item"
;;; BEGIN DNS for hostnames like
;;; example.com fails in the build
;;; sandbox. host_resolves_to_non_
;;; public_ip() in runtime.rs treats
;;; failed DNS as non-public and
;;; returns NotAllowedLocal, so tests
;;; expecting Allowed or Decider get
;;; Deny/BaselinePolicy instead.
"--skip" "host_blocked_requires_allowlist_match"
"--skip" "add_allowed_domain_removes_matching_deny_entry"
"--skip" "host_blocked_subdomain_wildcards_exclude_apex"
"--skip" "host_blocked_global_wildcard_allowlist_allows_public_hosts_except_denylist"
"--skip" "evaluate_host_policy_emits_domain_event_for_decider_ask"
"--skip" "evaluate_host_policy_emits_domain_event_for_decider_allow_override"
"--skip" "http_connect_accept_blocks_in_limited_mode"
"--skip" "http_connect_accept_allows_allowlisted_host_in_full_mode"
"--skip" "mitm_policy_blocks_disallowed_method_and_records_telemetry"
;;; END DNS failure / NotAllowedLocal
;;; BEGIN Flaky: wiremock mock expects
;;; 1 POST to /codex/safety/arc but
;;; receives 0. Passes in some builds,
;;; fails in others with identical code
;;; and env. The identical custom_
;;; variant always passes; only the
;;; CODEX_APPS_MCP_SERVER_NAME variant
;;; flakes, suggesting a timing race
;;; in the async POST under contention.
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_for_model"
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_without_annotations"
;;; END ARC monitor flake
;;; BEGIN nss-certs sets SSL_CERT_FILE
;;; which makes build_reqwest_client load
;;; 171 CA certs via add_root_certificate.
;;; This changes the reqwest TLS backend
;;; configuration; the ARC safety POST to
;;; the localhost mock server never arrives
;;; (wiremock expects 1 request, gets 0).
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_for_model"
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_without_annotations"
;;; END nss-certs / ARC monitor
;; Upstream bug: JsonRpcConnection has
;; no websocket keepalive or read timeout.
;; When the exec-server is killed, the
;; client's reader task blocks on
;; websocket_reader.next() forever because
;; TCP doesn't detect the dead peer without
;; a write or keepalive probe. Previously
;; masked because empty env made "sleep 10"
;; fail instantly; with PATH the process
;; lives long enough to hit the deadlock.
"--skip" "remote_exec_process_reports_transport_disconnect"
;; 500 ms timeout on MCP list response
;; (mcp_server_status.rs timeout at
;; Duration::from_millis(500)). With
;; nss-certs TLS now works, so the
;; startup plugin sync HTTP requests
;; (chatgpt.com, api.github.com) wait
;; for TCP timeout instead of failing
;; instantly at TLS, eating the budget.
"--skip" "mcp_server_status_list_tools_and_auth_only_skips_slow_inventory_calls"
;;; BEGIN Stack overflow in 'current_thread'
;;; tokio runtime. The sibling tests in
;;; tracing_tests.rs use the local helper
;;; run_current_thread_test_with_stack
;;; (4 MiB) but this one uses bare
;;; #[tokio::test] on the 2 MiB default
;;; test-thread stack, and TurnStart's
;;; future graph exceeds it. With
;;; RUST_MIN_STACK raised the overflow is
;;; gone but the test then deterministically
;;; times out waiting for a span tagged
;;; codex.op = "user_input" on the remote
;;; trace that upstream never emits on that
;;; trace in our environment.
"--skip" "turn_start_jsonrpc_span_parents_core_turn_spans"
;;; END tracing test stack/timeout
;;; BEGIN The upstream loader resolves the
;;; MCP OAuth credentials store mode by
;;; calling
;;; resolve_mcp_oauth_credentials_store_mode
;;; with env!("CARGO_PKG_VERSION") -- which
;;; in the released 0.124.0 tarball is
;;; "0.124.0". These fixture tests
;;; construct the expected Config by
;;; passing the LOCAL_DEV_BUILD_VERSION
;;; constant ("0.0.0") to the same
;;; resolver, and the resolver only returns
;;; File for "0.0.0" -- Auto otherwise.
;;; Upstream CI builds from a checkout
;;; still carrying version = "0.0.0" so the
;;; tests pass there; they cannot pass
;;; against a released tag.
"--skip" "test_precedence_fixture_with_gpt3_profile"
"--skip" "test_precedence_fixture_with_gpt5_profile"
"--skip" "test_precedence_fixture_with_o3_profile"
"--skip" "test_precedence_fixture_with_zdr_profile"
;;; END LOCAL_DEV_BUILD_VERSION fixture mismatch
;;; BEGIN Verifies that Codex's user-shell
;;; spawn produces a child where
;;; CODEX_SANDBOX_NETWORK_DISABLED is unset
;;; (asserts stdout == "not-set"). We
;;; deliberately set that env var at the
;;; check phase to trigger upstream's
;;; skip_if_no_network! guards; the var then
;;; leaks into the spawned shell and the
;;; assertion fails. The guix skip is a
;;; direct cost of the network-gate fix --
;;; trading one broken test for two that
;;; now skip cleanly.
"--skip" "user_shell_command_does_not_set_network_sandbox_env_var"
;;; END CODEX_SANDBOX_NETWORK_DISABLED leak
;;; BEGIN The exec-server/tests/file_system
;;; integration tests invoke the real
;;; system bwrap, which tries to execvp the
;;; test binary at the cargo target path
;;; under the build dir. Same root cause
;;; as the existing
;;; sandbox_reenables_writable_subpaths_under_unreadable_parents
;;; skip: guix builds live under /tmp but
;;; bwrap's mount namespace excludes /tmp,
;;; making the binary invisible inside the
;;; namespace.
"--skip" "file_system_copy_preserves_symlink_source"
"--skip" "file_system_copy_rejects_symlink_escape_destination"
"--skip" "file_system_copy_rejects_symlink_escape_source"
"--skip" "file_system_create_directory_rejects_symlink_escape"
"--skip" "file_system_read_directory_rejects_symlink_escape"
"--skip" "file_system_remove_rejects_symlink_escape"
"--skip" "file_system_remove_removes_symlink_not_target"
"--skip" "file_system_sandboxed_read_allows_readable_root"
"--skip" "file_system_sandboxed_read_rejects_symlink_escape"
"--skip" "file_system_sandboxed_read_rejects_symlink_parent_dotdot_escape"
"--skip" "file_system_sandboxed_write_allows_additional_write_root"
"--skip" "file_system_sandboxed_write_rejects_symlink_escape"
"--skip" "file_system_sandboxed_write_rejects_unwritable_path"
;;; END bwrap-cant-see-/tmp file_system tests
;;; BEGIN Landlock is unavailable on Guix,
;;; so the sandbox cannot deny network
;;; syscalls. These tests expect
;;; SandboxErr::Denied for the nc, ping,
;;; ssh, getent, and dev_tcp_redirection
;;; commands but those commands instead
;;; block on connect() until the test's 2s
;;; timeout fires (Timeout, exit 124).
;;; Same root cause as the Landlock skips
;;; at the top of this list; new test names
;;; in 0.124.
"--skip" "sandbox_blocks_nc"
"--skip" "sandbox_blocks_ping"
"--skip" "sandbox_blocks_dev_tcp_redirection"
"--skip" "sandbox_blocks_getent"
"--skip" "sandbox_blocks_ssh"
;;; END Landlock network block
;;; BEGIN Requires github.com network access.
;;; With no "extraKnownMarketplaces" entry
;;; in settings.json,
;;; collect_marketplace_import_sources
;;; inserts a fallback entry for the
;;; "claude-plugins-official" marketplace
;;; pointing at the github shorthand
;;; "anthropics/claude-plugins-official".
;;; add_marketplace -> parse_marketplace_source
;;; expands that to a github.com/.git URL
;;; and clone_git_source runs 'git clone'.
;;; The Guix build sandbox has no network,
;;; so the clone fails and the marketplace
;;; lands in failed_marketplaces. No mock
;;; cloner is injected via
;;; ExternalAgentConfigService::new_for_test,
;;; so there is no in-tree way to satisfy
;;; the test offline.
"--skip" "import_plugins_infers_claude_official_marketplace_when_missing_from_settings"
;;; END github.com network access
;;; BEGIN Async race between the rollout
;;; writer task and a direct SQLite read.
;;; The test calls
;;; update_memory_settings_with_app_server,
;;; which routes through the in-memory
;;; thread path on the app-server's
;;; ThreadMemoryModeSet handler ->
;;; Session::set_thread_memory_mode ->
;;; persist_thread_memory_mode_update,
;;; which writes a RolloutItem::SessionMeta
;;; with the new mode to the rollout file
;;; via recorder.record_items + flush. The
;;; rollout writer task then asynchronously
;;; calls sync_thread_state_after_write,
;;; which calls state_db::apply_rollout_items
;;; to mirror the SessionMeta into SQLite.
;;; flush() only awaits the rollout-file
;;; write, not the subsequent SQLite sync.
;;; The test opens a fresh StateRuntime and
;;; reads get_thread_memory_mode
;;; immediately, so it observes the creation
;;; default of "enabled" written by
;;; upsert_thread_with_creation_memory_mode
;;; instead of the new "disabled". Upstream
;;; CI wins this race; we lose.
"--skip" "update_memory_settings_updates_current_thread_memory_mode"
;;; END memory-mode rollout/sqlite race
;;; BEGIN The Stopwatch::new constructor in
;;; codex_shell_escalation anchors
;;; T0 = Instant::now() at construction;
;;; the spawned cancellation task fires at
;;; T0 + limit. The test captures
;;; start = Instant::now() at T1 > T0 (after
;;; cancellation_token() returns) and
;;; asserts start.elapsed() >= limit,
;;; i.e. (T0 + limit) - T1 >= limit, which
;;; is always false by the offset T1 - T0.
;;; The test only passes when scheduler
;;; jitter on the sleep wakeup happens to
;;; exceed that offset. Upstream wins the
;;; race; we don't always.
"--skip" "cancellation_receiver_fires_after_limit"
;;; END Stopwatch construction/start offset race
)
#:cargo-package-crates
''(;;; Tier 0: No internal deps.
"codex-ansi-escape"
"codex-async-utils"
"codex-backend-openapi-models"
"codex-client"
"codex-execpolicy"
"codex-file-search"
"codex-git"
"codex-git-utils"
"codex-keyring-store"
"codex-process-hardening"
"codex-utils-absolute-path"
"codex-utils-cache"
"codex-utils-cargo-bin"
"codex-utils-elapsed"
"codex-utils-fuzzy-match"
"codex-utils-home-dir"
"codex-utils-json-to-toml"
"codex-utils-path"
"codex-utils-plugins"
"codex-utils-pty"
"codex-utils-readiness"
"codex-utils-rustls-provider"
"codex-utils-sleep-inhibitor"
"codex-utils-stream-parser"
"codex-utils-string"
"codex-backend-openapi-models"
"codex-process-hardening"
"codex-ansi-escape"
;;; Tier 1: Depends on tier 0.
"codex-utils-template"
;;; Tier 1.
"codex-utils-image"
"codex-utils-output-truncation"
"codex-apply-patch"
"codex-protocol"
"codex-windows-sandbox"
@@ -226,35 +518,69 @@
"codex-secrets"
"codex-execpolicy-legacy"
"codex-debug-client"
"codex-analytics"
"codex-rollout"
"codex-rollout-trace"
"codex-terminal-detection"
"codex-utils-approval-presets"
"codex-utils-cli"
"codex-uds"
"codex-install-context"
"codex-device-key"
;;; Tier 2.
"codex-app-server-protocol"
"codex-rmcp-client"
"codex-otel"
"codex-thread-store"
"codex-state"
"codex-core"
"codex-linux-sandbox"
"codex-features"
"codex-model-provider"
"codex-config"
"codex-agent-identity"
"codex-aws-auth"
"codex-hooks"
"codex-code-mode"
"codex-feedback"
"codex-skills"
"codex-test-binary-support"
"codex-core"
"codex-core-plugins"
"codex-utils-sandbox-summary"
"codex-linux-sandbox"
"codex-sandboxing"
"codex-connectors"
"codex-core-skills"
;;; Tier 3.
"codex-arg0"
"codex-lmstudio"
"codex-login"
"codex-ollama"
"codex-common"
"codex-utils-oss"
"codex-mcp-server"
"codex-backend-client"
"codex-responses-api-proxy"
"codex-shell-command"
"codex-shell-escalation"
"codex-plugin"
"codex-model-provider-info"
"codex-models-manager"
;;; Tier 4.
"codex-cloud-requirements"
"codex-exec"
"codex-exec-server"
"codex-stdio-to-uds"
"codex-network-proxy"
"codex-stdio-to-uds"
"codex-chatgpt"
"codex-cloud-tasks-client"
"codex-cloud-tasks-mock-client"
"codex-tools"
"codex-mcp"
"codex-collaboration-mode-templates"
;;; Tier 5.
"codex-app-server"
"codex-app-server-test-client"
"codex-tui"
"codex-response-debug-context"
;;; Tier 6.
"codex-cloud-tasks"
;; The main executable.
@@ -270,7 +596,7 @@
;; Update them to match the actual package version.
(let ((snap-files (find-files "." "\\.snap$")))
(substitute* snap-files
(("\\(v0\\.0\\.0\\) ") "(v0.98.0)")))))
(("\\(v0\\.0\\.0\\) ") "(v0.124.0) ")))))
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
(lambda _
;; Replace git dependencies with version references so cargo
@@ -279,23 +605,57 @@
(("nucleo = \\{ git = [^}]+\\}")
"nucleo = \"0.5.0\"")
(("runfiles = \\{ git = [^}]+\\}")
"runfiles = \"0.1.0\""))))
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
"runfiles = \"0.1.0\""))
;; Remove workspace members that have unbuildable deps
;; (v8-poc requires V8). code-mode stays a workspace member
;; so its codex-protocol resolves to the same local copy as
;; the rest of the build; disabling its default features
;; (below) avoids pulling in V8.
(substitute* "Cargo.toml"
(("\"v8-poc\",") ""))
;; Disable V8 runtime in codex-code-mode by turning off
;; default features. Keep path= so code-mode is resolved
;; from the local source tree and shares codex-protocol
;; (and other workspace crates) with the rest of the build;
;; resolving it from the vendor instead introduces a
;; duplicate codex-protocol and causes E0308 type
;; mismatches in codex-tools.
(substitute* "Cargo.toml"
(("codex-code-mode = \\{ path = \"code-mode\" \\}")
"codex-code-mode = { path = \"code-mode\", default-features = false }"))
;; cargo build at workspace root ignores per-dep
;; default-features=false and builds code-mode with its
;; own default features, which include v8-runtime and
;; would pull in V8. Make the default feature empty.
(substitute* "code-mode/Cargo.toml"
(("^default = \\[\"v8-runtime\"\\]") "default = []"))))
(add-after 'patch-git-deps-to-vendor '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.
;; Add version = "0.124.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 = "))
(string-append name " = { version = \"0.124.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 = "))
(string-append name " = { version = \"0.124.0\", package = "))
;; Handle section deps: [dependencies.X] with path = "..."
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
(string-append path-line "\nversion = \"0.98.0\""))))))
(string-append path-line "\nversion = \"0.124.0\""))))))
(add-after 'chdir-to-workspace 'use-gnu-store-in-sandbox
(lambda _
;; LINUX_PLATFORM_DEFAULT_READ_ROOTS in linux-sandbox/src/
;; bwrap.rs is the read-only baseline that codex's bwrap
;; sandbox bind-mounts so commands can read /usr/bin/ls,
;; libc, etc. Upstream lists "/nix/store" for NixOS;
;; Guix's equivalent is "/gnu/store". Without this swap,
;; the codex sandbox cannot locate any binaries on a Guix
;; system because every "system" path resolves into
;; /gnu/store/<hash>-pkg/bin/...
(substitute* "linux-sandbox/src/bwrap.rs"
(("\"/nix/store\"") "\"/gnu/store\""))))
(add-after 'chdir-to-workspace 'patch-hardcoded-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash-bin (string-append
@@ -325,6 +685,14 @@
(string-append "\"" bash-bin "/bash "))
(("\"/bin/sh ")
(string-append "\"" bash-bin "/sh "))
;; Single-quoted paths in test assertion strings,
;; e.g. "exec '/bin/bash' -c ...". Must match the
;; double-quoted substitutions above so both sides
;; of assert_eq!/contains use the store path.
(("'/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 "\""))
@@ -339,28 +707,132 @@
(string-append "\"" git-bin "/git\""))
(("\"/usr/bin/sed\"")
(string-append "\"" sed-bin "/sed\"")))
;; Bare Command::new("git") and Command::new("ls")
;; in codex source files that exec internally.
(substitute* (find-files "git-utils" "\\.rs$")
(("Command::new\\(\"git\"\\)")
(string-append "Command::new(\"" git-bin "/git\")")))
(substitute* "tui/src/get_git_diff.rs"
(("Command::new\\(\"git\"\\)")
(string-append "Command::new(\"" git-bin "/git\")")))
(substitute* "core/src/turn_diff_tracker.rs"
(("Command::new\\(\"git\"\\)")
(string-append "Command::new(\"" git-bin "/git\")")))
(substitute* "cloud-tasks/src/env_detect.rs"
(("Command::new\\(\"git\"\\)")
(string-append "Command::new(\"" git-bin "/git\")")))
(substitute* "core/src/plugins/startup_sync.rs"
(("\"git\",")
(string-append "\"" git-bin "/git\",")))
(substitute* "file-search/src/lib.rs"
(("Command::new\\(\"ls\"\\)")
(string-append "Command::new(\"" coreutils-bin "/ls\")")))
;; Neutralize pager with absolute path to cat.
(substitute* "core/src/unified_exec/process_manager.rs"
(("\"PAGER\", \"cat\"")
(string-append "\"PAGER\", \"" coreutils-bin "/cat\""))
(("\"GIT_PAGER\", \"cat\"")
(string-append "\"GIT_PAGER\", \"" coreutils-bin "/cat\""))
(("\"GH_PAGER\", \"cat\"")
(string-append "\"GH_PAGER\", \"" coreutils-bin "/cat\"")))
;; Bare /bin/sleep inside a format! string
;; (no surrounding double quotes, so the main
;; pattern does not match).
(substitute*
"shell-escalation/src/unix/escalate_server.rs"
(("/bin/sleep")
(string-append coreutils-bin "/sleep")))
;; @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
;; Shebangs inside raw string literals (r#"..."#)
;; that are written to scripts at runtime. The
;; main "/bin/sh" patterns only match double-quoted
;; occurrences; these shebangs have no surrounding
;; double quotes.
(substitute*
"core/tests/suite/user_notification.rs"
(list "core/src/plugins/startup_sync_tests.rs"
"core/src/tools/runtimes/shell/unix_escalation_tests.rs"
"core/tests/suite/client.rs"
"core/tests/suite/js_repl.rs"
"core/tests/suite/skill_approval.rs"
"core/tests/suite/user_notification.rs"
"exec-server/tests/file_system.rs"
"login/src/auth/auth_tests.rs"
"models-manager/src/manager_tests.rs"
"sandboxing/src/bwrap_tests.rs")
(("#!/bin/bash")
(string-append "#!" bash-bin "/bash"))))))
(string-append "#!" bash-bin "/bash"))
(("#!/bin/sh")
(string-append "#!" bash-bin "/sh")))
;; Test helpers pass env: Default::default() to the
;; spawn code which calls env_clear(), leaving
;; processes with no PATH. Inject the build-time
;; PATH so tests find coreutils, bash, etc.
(substitute* (find-files "." "\\.rs$")
(("env: Default::default\\(\\)")
(string-append
"env: std::env::var(\"PATH\")"
".into_iter()"
".map(|p| (\"PATH\".to_string(), p))"
".collect()")))
;; Test-only absolute path; bare name works via PATH.
(substitute* "exec-server/tests/exec_process.rs"
(("\"/usr/bin/python3\"")
"\"python3\""))
;; Same empty-env issue but in JSON literals
;; (serde_json::json! macro).
(substitute* "exec-server/tests/process.rs"
(("\"env\": \\{\\}")
(string-append
"\"env\": {\"PATH\": \""
(getenv "PATH")
"\"}"))))))
(add-before 'build 'set-bubblewrap-source
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CODEX_BWRAP_SOURCE_DIR"
(string-append
(assoc-ref inputs "bubblewrap-source")
"/"))))
(add-before 'build 'create-node-version-file
(lambda _
(call-with-output-file "guix-vendor/node-version.txt"
(lambda (port)
(display "22.22.0" port)))))
(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))
;; HOME must not be a prefix of /tmp, otherwise
;; the TUI's path shortener replaces /tmp/... with
;; ~/... and 30 snapshot tests fail.
(setenv "HOME" "/tmp/guix-home")
(mkdir-p "/tmp/guix-home")
(setenv "USER" "nixbld")
;; Default libtest thread stack is 2 MiB, which is not
;; enough for tokio current_thread tests that drive
;; codex-core's full turn pipeline. Upstream gates such
;; tests through run_current_thread_test_with_stack (4 MiB)
;; in app-server/src/message_processor/tracing_tests.rs;
;; raise the global default so future additions that
;; forget the wrapper still pass.
(setenv "RUST_MIN_STACK" "8388608")
;; Disable network access.
(setenv "CODEX_SANDBOX_NETWORK_DISABLED" "1"))))))
(native-inputs `(("bubblewrap" ,bubblewrap) ;tests need bwrap on PATH
("clang" ,clang)
("cmake-minimal" ,cmake-minimal)
("libunwind" ,libunwind)
("lsof" ,lsof) ;app-server tests
("nss-certs-for-test" ,nss-certs-for-test) ;OTLP gRPC TLS
("perl" ,perl)
("procps" ,procps) ;tests use ps
("python-minimal" ,python-minimal)
("pkg-config" ,pkg-config)
("bubblewrap-source" ,(package-source bubblewrap))))
(inputs (cons* bash-minimal coreutils git-minimal sed
openssl sqlite `(,zstd "lib")
libcap oniguruma openssl sqlite zlib `(,zstd "lib")
(cargo-inputs 'codex)))
(home-page "https://github.com/openai/codex")
(synopsis "AI-assisted coding CLI and TUI")
@@ -368,13 +840,15 @@
"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}.")
Configure providers via @file{~/.codex/config.toml}.
codex-code-mode's V8 Javascript executor is disabled.")
(license license:asl2.0)))
(define-public codex-acp
(package
(name "codex-acp")
(version "0.9.2")
(version "0.11.1")
(source
(origin
(method git-fetch)
@@ -383,9 +857,8 @@ Configure providers via @file{~/.codex/config.toml}.")
(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"))))
(base32 "1rlgkbvrbdl5jhf49sjn2mifn2rq6z0vwf0gard23y1bz6sr3wmr"))
(patches (search-patches "codex-acp-0.11.1-remove-patch-sections.patch"))))
(build-system cargo-build-system)
(arguments
(list
@@ -393,13 +866,43 @@ Configure providers via @file{~/.codex/config.toml}.")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-codex-deps
(lambda _
(lambda* (#:key inputs #:allow-other-keys)
;; 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)))
(("git = \"https://github.com/openai/codex\", tag = \"rust-v0.117.0\"")
"version = \"0.117.0\""))
;; Disable V8 runtime in codex-code-mode (transitive dep).
(let ((port (open-file "Cargo.toml" "a")))
(display "
[dependencies.codex-code-mode]
version = \"0.117.0\"
default-features = false
" port)
(close-port port))
;; Point codex-linux-sandbox at system bubblewrap source.
(setenv "CODEX_BWRAP_SOURCE_DIR"
(string-append
(assoc-ref inputs "bubblewrap-source")
"/"))))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" "/tmp")
(setenv "USER" "nixbld")))
(add-before 'build 'create-node-version-file
(lambda _
;; codex-core's js_repl uses include_str! to read
;; node-version.txt four directories up from its source;
;; create it where the vendored crate expects it.
(call-with-output-file "guix-vendor/node-version.txt"
(lambda (port)
(display "22.22.0" port))))))))
(native-inputs
`(("cmake-minimal" ,cmake-minimal)
("clang" ,clang)
("pkg-config" ,pkg-config)
("bubblewrap-source" ,(package-source bubblewrap))))
(inputs (cons* libcap openssl sqlite zlib `(,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

View File

@@ -150,7 +150,7 @@ as created by Podman, CRI-O and containerd.")))
(define-public crun
(package
(name "crun")
(version "1.25.1")
(version "1.26")
(source
(origin
(method url-fetch)
@@ -160,7 +160,7 @@ as created by Podman, CRI-O and containerd.")))
"/crun-" version ".tar.gz"))
(sha256
(base32
"02kksvnja234k8mpq5j7yms8npbpvh8iz3k03h21lwcqzqsb88rx"))))
"1hdwk5dpsz9danxiyfli07b7sqid6hr34qmhs5qjl2dcc00is89j"))))
(build-system gnu-build-system)
(arguments
(list

View File

@@ -44,7 +44,7 @@
;;; Copyright © 2024 Jakob Kirsch <jakob.kirsch@web.de>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025, 2026 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Romain Garbage <romain.garbage@inria.fr>
;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
@@ -3360,7 +3360,7 @@ which can evaluate Jsonnet files and expressions.")))
(define-public simdjson
(package
(name "simdjson")
(version "3.13.0")
(version "4.6.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3369,7 +3369,7 @@ which can evaluate Jsonnet files and expressions.")))
(file-name (git-file-name name version))
(sha256
(base32
"005yli56nrkvlyx9g9cq8dczk42r9a18l162i2s5k81lj3y7mcrp"))))
"0729mxnc2wjb94gr4znwlzfmgw5w2v9kd8glvn3vnjhkdnd87zry"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; tests require downloading dependencies
@@ -3608,7 +3608,7 @@ std::wstring, etc).")
(define-public fast-float
(package
(name "fast-float")
(version "8.0.2")
(version "8.2.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3617,7 +3617,7 @@ std::wstring, etc).")
(file-name (git-file-name name version))
(sha256
(base32
"19x1yklf641yrpad6lk4cq3jmird10d5ig8hicm3p9lxh92k78cl"))))
"1l13nsl4sgq71m7aifrmmmfyl14vp48vqdh7pb50hxqq6f8bq2b5"))))
(build-system cmake-build-system)
(arguments
(list
@@ -3628,12 +3628,10 @@ std::wstring, etc).")
(add-after 'unpack 'patch-cmake-tests
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(substitute* "tests/CMakeLists.txt"
(("FetchContent_GetProperties\\(supplemental_test_files.*")
"")
(("if\\(NOT supplemental_test_files_POPULATED.*")
(("FetchContent_MakeAvailable\\(supplemental_test_files.*")
(string-append
"set(supplemental_test_files_BINARY_DIR "
#$fast-float-test-files ")\nif(0)\n"))))))))
#$fast-float-test-files ")\n"))))))))
(native-inputs (list doctest fast-float-test-files))
(home-page "https://github.com/fastfloat/fast_float")
(synopsis "Floating point number parser for C++")

File diff suppressed because it is too large Load Diff

View File

@@ -276,18 +276,17 @@ Ed448-Goldilocks and Curve448, using the Decaf encoding.")
(define-public libsodium
(package
(name "libsodium")
(version "1.0.18")
(source (origin
(method url-fetch)
(uri (list (string-append
"https://download.libsodium.org/libsodium/"
"releases/libsodium-" version ".tar.gz")
(string-append
"https://download.libsodium.org/libsodium/"
"releases/old/libsodium-" version ".tar.gz")))
(sha256
(base32
"1h9ncvj23qbbni958knzsli8dvybcswcjbx0qjjgi922nf848l3g"))))
(version "1.0.22")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jedisct1/libsodium")
(commit (string-append version "-RELEASE"))))
(file-name (git-file-name name version))
(sha256
(base32
"05lqdn6nzldsia5mv5a9xfvc5k0kybh9snwv7qsb135gva4bpjwk"))))
(build-system gnu-build-system)
(synopsis "Portable NaCl-based crypto library")
(description

View File

@@ -70,6 +70,7 @@
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
;;; Copyright © 2026 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2026 Josep Bigorra <jjbigorra@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -126,6 +127,7 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages language)
@@ -198,6 +200,7 @@
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system guile)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
@@ -5046,6 +5049,54 @@ postgresql = postgresql://nixbld@/yoyo_test~%")))
files or Python scripts that define a list of migration steps.")
(license license:asl2.0)))
(define-public mutastructura
(package
(name "mutastructura")
(version "0.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/jjba23/mutastructura")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08vzlc5imavqf3bdzgbh70c7z44xjhf05gr7i2g5ksl49lv39gzh"))))
(build-system guile-build-system)
(arguments
(list
#:source-directory "src"
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'install-program-files
(lambda _
(let* ((bin (string-append #$output "/bin"))
(share (string-append #$output "/share")))
(copy-recursively "resources"
(string-append share "/resources"))
(install-file "scripts/mutastructura" bin)
(install-file "scripts/log.bash"
(string-append share "/scripts/"))
(chmod (string-append bin "/mutastructura") #o755)))))))
(native-inputs (list guile-3.0))
(propagated-inputs (list guile-dbi
guile-dbd-mysql
guile-dbd-sqlite3
guile-dbd-postgresql
guile-gcrypt))
(inputs (list guile-3.0 bash-minimal))
(home-page "https://codeberg.org/jjba23/mutastructura")
(synopsis "Relational database schema migrations powered by Guile Scheme")
(description
"Mutastructura provides a familiar, declarative and transactional
approach to managing database states. It exposes a user-friendly
@acronym{CLI, command-line interface} and has support for PostgreSQL, MySQL, and SQLite.
It also exposes library functions and can be imported and used directly from other Guile code.
Features include executing migrations transactionally and computing SHA256
checksums to track schema evolution in a @code{migrations_history} table.")
(license license:agpl3+)))
(define-public python-mysqlclient
(package
(name "python-mysqlclient")

View File

@@ -31,7 +31,7 @@
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2025, 2026 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2025 Grigory Shepelev <shegeley@gmail.com>
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
@@ -94,6 +94,8 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
@@ -420,6 +422,49 @@ tables, and it understands a variety of different formats.")
similarity.")
(license license:gpl3+)))
(define-public gdu
(package
(name "gdu")
(version "5.35.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dundee/gdu")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "051xf3wncdiavjwyl9djmni5vd2dqjgn6drkw2nm21c9l0rjfv6d"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "github.com/dundee/gdu/v5/cmd/gdu"
#:unpack-path "github.com/dundee/gdu/v5"))
(native-inputs
(list go-github-com-dgraph-io-badger-v4
go-github-com-fatih-color
go-github-com-gdamore-tcell-v2
go-github-com-h2non-filetype
go-github-com-maruel-natural
go-github-com-mattn-go-isatty
go-github-com-pkg-errors
go-github-com-rivo-tview
go-github-com-sirupsen-logrus
go-github-com-spf13-cobra
go-github-com-stretchr-testify
go-github-com-ulikunitz-xz
go-golang-org-x-sys
go-golang-org-x-text
go-gopkg-in-yaml-v3
go-modernc-org-sqlite))
(home-page "https://github.com/dundee/gdu")
(synopsis "Disk usage analyzer")
(description "Gdu is a disk usage analyzer written in Go. It is intended
primarily for SSD disks where it can fully utilize parallel processing, but it
also works on HDDs.")
(license license:expat)))
(define-public gpart
;; The latest (0.3) release is from 2015 and is missing a crash fix.
(let ((commit "ec03350a01ad69708b5a3e2d47b8e002b0eba6c9")

View File

@@ -148,13 +148,13 @@ system.")
(define-public r-duckdb
(package
(name "r-duckdb")
(version "1.5.1")
(version "1.5.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "duckdb" version))
(sha256
(base32 "177621m08whqqk4yhj3zrr08l3d9hhlqh3gm9jzhi5cplg47cksq"))
(base32 "1dldlfwvc33czvlxfmwaj4p9y6sjjj5iqy98yda47a8kclrqmyam"))
;; This package bundles the duckdb sources and builds a custom variant
;; of duckdb. I'd be happy to link it with our duckdb library instead,
;; but it does not seem possible to do that.

View File

@@ -290,7 +290,7 @@ based upon the Common Locale Data Repository (CLDR).")
(package
(inherit elixir-ex-cldr-minimal)
(name "elixir-ex-cldr")
(version "2.43.2")
(version "2.47.2")
(source
(origin
;; The hex.pm package ships only the en locale.
@@ -300,7 +300,7 @@ based upon the Common Locale Data Repository (CLDR).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wgwp74ya0gkvd5pk4qv9s38p85r5yw370y4wv7jywy3hrbrj9f5"))))
(base32 "1rivy61aq0c9zfklm4bpvvkj7lzjgy316rwxl8qz92xqp6xa292y"))))
(arguments
(list
#:phases

View File

@@ -303,7 +303,17 @@ purposes. Its goal is to be as close as possible to
(list
#:test-flags
;; These tests require network access to badssl.com.
#~(list "--exclude" "network")))
#~(list "--exclude" "network")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'make-reproducible
(lambda _
;; Buffer size has been increased in OTP 28+. For more info see:
;; https://github.com/erlang/otp/issues/9722#issuecomment-2808683303
(substitute* "test/httpoison_test.exs"
(("stream/20") "stream/100")
(("<= expected_length") "<= expected_length * 1.1")
((">= max_length") ">= max_length * 0.9")))))))
(native-inputs
(list erlang-cowboy
elixir-earmark

View File

@@ -56,7 +56,7 @@
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
;;; Copyright © 2019, 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2019, 2021—2026 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
@@ -147,7 +147,7 @@
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024, 2025 Spencer King <spencer.king@wustl.edu>
;;; Copyright © 2024 emma thompson <bigbookofbug@proton.me>
;;; Copyright © 2024-2025 Liam Hupfer <liam@hpfr.net>
;;; Copyright © 2024-2026 Liam Hupfer <liam@hpfr.net>
;;; Copyright © 2024-2025 Alvin Hsu <aurtzy@gmail.com>
;;; Copyright © 2024 Olivier Rojon <o.rojon@posteo.net>
;;; Copyright © 2024 Divya Ranjan Pattanaik <divya@subvertising.org>
@@ -656,6 +656,30 @@ supported algorithm is chosen to ensure interoperability with
Emacs Lisp.")
(license license:gpl3)))
(define-public emacs-org-arbeitszeit
(package
(name "emacs-org-arbeitszeit")
(version "0.0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bkaestner/org-arbeitszeit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0krxainwpn7bnnvbrrhivmh302i9dyfixs6l5wb7xw7qpjgwqzc8"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ; no tests
(home-page "https://github.com/bkaestner/org-arbeitszeit")
(synopsis "Calculate your worktime")
(description
"This package provides a new dynamic block for Org called \"arbeitszeit\"
(German for \"working hours\"). The dynamic block collects all clocked hours and
provides a weekly table to quickly see your accumulated overtime. To insert a
new block, use @samp{M-x org-dynamic-block-insert-dblock}.")
(license license:gpl3+)))
(define-public emacs-perl-doc
(package
(name "emacs-perl-doc")
@@ -757,6 +781,54 @@ balance windows (keeping them roughly the same size) whenever the window
configuration changes, e.g. after splitting or deleting a window.")
(license license:bsd-3))))
(define-public emacs-ben
(package
(name "emacs-ben")
(version "0.12.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/pastor/ben.el")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0iqrk87dl567vwpwm8rmplrpva475a04s6c34rm24xfy2m7wrwk6"))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-environment
(lambda _
;; Since the testsuite uses `direnv', the build needs a home
;; directory so `direnv' can allow the contents of the `.envrc`
;; files generated for the different tests.
(setenv "HOME" "/tmp")
(setenv "OFFLINE" "1") ;Enable offline tests.
(emacs-substitute-variables "ben.el"
("ben-direnv-executable"
#$(file-append (this-package-input "direnv")
"/bin/direnv"))))))))
(inputs (list direnv))
(propagated-inputs (list emacs-inheritenv))
(home-page "https://codeberg.org/pastor/ben.el")
(synopsis "Asynchronous buffer-local environments via @command{direnv}")
(description
"This package allows you to load environments buffer locally. The
package is named @command{ben}, which stands for Buffer ENvironments.
The project relies on @uref{https://direnv.net, direnv} which allows setting
per-directory environments through @file{.envrc} files.
The main improvement of @command{ben} over @command{envrc} is the asynchronous
processing of environments, which prevents Emacs from freezing. This is
especially useful while loading computationally heavy environments, such when
loading @file{.envrc} files that rely on Guix. In these cases, computations
can take hours to complete. This package aims to facilitate loading such
environments in the background.")
(license license:gpl3+)))
(define-public emacs-bookmark-plus
(package
(name "emacs-bookmark-plus")
@@ -834,7 +906,7 @@ input via a small child-frame spawned at the position of the cursor.")
(define-public emacs-arei
(package
(name "emacs-arei")
(version "0.9.6")
(version "0.9.7")
(source
(origin
(method git-fetch)
@@ -844,10 +916,13 @@ input via a small child-frame spawned at the position of the cursor.")
(file-name (git-file-name name version))
(sha256
(base32
"1m8ic5pcshz2y2maxvbgg70n4k2kgxvj98zisqal15j7djz0hzji"))))
"1fp4l8rzfd7cds80p8c9jgwwlb7rsw35djh0hs50g89h937w5s02"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ; no tests
(propagated-inputs (list emacs-eros emacs-sesman emacs-queue))
(arguments
(list #:lisp-directory "lisp"
#:tests? #f)) ; no tests
(propagated-inputs
(list emacs-consult emacs-eros emacs-sesman emacs-queue))
(home-page "https://git.sr.ht/~abcdw/emacs-arei")
(synopsis "Asynchronous Reliable Extensible IDE")
(description "Sleek Guile IDE for Emacs.")
@@ -13518,8 +13593,8 @@ for compilation, debugging, documentation lookup, and so on.")
(license (list license:gpl2+ license:public-domain))))
(define-public emacs-sliver
(let ((commit "d08d41947bb943f25ee2de9573459a6c720e027f")
(revision "0"))
(let ((commit "b4cb9cd2a810ba59c946e2592c4a4d56060a8d22")
(revision "1"))
(package
(name "emacs-sliver")
;; No tagged releases. Version comes from source code.
@@ -13532,7 +13607,7 @@ for compilation, debugging, documentation lookup, and so on.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "08qycim0mxyiqbik9hjlmzpdggl506bcsv1q1icxzd05bm73sh6n"))))
(base32 "1wddivmp5f4m6fdib96vfylqp4kgcw3ipdsi4b9w50dqzvrqrfjh"))))
(build-system emacs-build-system)
(arguments
(list
@@ -15797,8 +15872,16 @@ versions utilizing Consult's internal API.")
(arguments
(list
#:tests? #f ;no tests
#:include #~(cons "^extensions\\/consult-eglot-embark"
%default-include)))
#:phases
#~(modify-phases %standard-phases
;; Move the extensions source files to the top level, which is
;; included in the EMACSLOADPATH.
(add-after 'unpack 'move-source-files
(lambda _
(let ((el-files (find-files "./extensions" ".*\\.el$")))
(for-each (lambda (f)
(rename-file f (basename f)))
el-files)))))))
(propagated-inputs (list emacs-consult emacs-eglot emacs-embark))
(home-page "https://github.com/mohkale/consult-eglot")
(synopsis "Consulting-read interface for eglot")
@@ -25071,7 +25154,7 @@ lines, and @code{gc} to comment out the target of a motion.")
(define-public emacs-eglot
(package
(name "emacs-eglot")
(version "1.21")
(version "1.23")
(source
(origin
(method url-fetch)
@@ -25079,7 +25162,7 @@ lines, and @code{gc} to comment out the target of a motion.")
".tar"))
(sha256
(base32
"03fx22rv8ijxq0jnn7xlfqhkpk2b109ygpjbcchp41sa4q7d6nbl"))))
"1l83c90rdamlk576bd859jkg6406hgxi7w4c6ixlw509c66qr3s6"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-eldoc
@@ -28516,7 +28599,7 @@ unstructured, meant for quick @code{JavaScript} experiments.")
(define-public emacs-firefox-release-notes
(package
(name "emacs-firefox-release-notes")
(version "1.7")
(version "1.8")
(source
(origin
(method git-fetch)
@@ -28527,7 +28610,7 @@ unstructured, meant for quick @code{JavaScript} experiments.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1i9ncnn0qys0v0bqw87jwx0sa2g31n1i1gfr9zqdml3hakyz8b5f"))))
(base32 "13ymnx4vgiq5f3cjk3zddrq4xnv6116j5zzza67v98q7rsvzl049"))))
(build-system emacs-build-system)
(arguments
(list
@@ -32038,6 +32121,31 @@ leverages the Parinfer Rust Emacs library to do most of the heavy lifting.")
bookmarks and history.")
(license license:gpl3+)))
(define-public emacs-shr-syntax-highlight
(package
(name "emacs-shr-syntax-highlight")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/coopi/emacs-shr-syntax-highlight")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04ax8svpw2s0085pp93dsz5xhhbqr58ghkr1ab2g38pczlsbz18s"))))
(build-system emacs-build-system)
(home-page "https://codeberg.org/coopi/emacs-shr-syntax-highlight")
(synopsis "Syntax highlighting for code blocks rendered by shr")
(description
"This package adds syntax highlighting to @code{<pre>} code blocks
rendered by @acronym{@code{shr}, Simple @acronym{HTML, HyperText Markup
Language} Renderer}, used by @acronym{EWW, Emacs Web Wowser} and similar
interfaces. It reads @acronym{CSS, Cascading Style Sheets} class annotations
such as @code{language-python} and fontifies block contents using the
corresponding Emacs major mode.")
(license license:agpl3+)))
(define-public emacs-stumpwm-mode
(let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d6")
(revision "3"))
@@ -39802,7 +39910,7 @@ user interfaces for various built-in modes.")
(define-public emacs-calibredb
(package
(name "emacs-calibredb")
(version "2.13.0")
(version "2.14.0")
(source
(origin
(method git-fetch)
@@ -39811,31 +39919,40 @@ user interfaces for various built-in modes.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1a4gyc3gcq18j29pw2i296d70nvx5fbzlw9fdmqwzncciqz5as6m"))))
(base32 "1g0jg6a6fgvxd5bsydckbqwf899d2d9732laz4k1k476mbws5dqy"))))
(build-system emacs-build-system)
(arguments
(list
#:include #~(cons "\\.py$" %default-include)
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "calibredb-core.el")
(let ((calibredb (search-input-file inputs "/bin/calibredb"))
(fetch-ebook-metadata
(search-input-file inputs "/bin/fetch-ebook-metadata"))
(ebook-convert
(search-input-file inputs "/bin/ebook-convert"))
(calibre-debug
(search-input-file inputs "/bin/calibre-debug")))
(search-input-file inputs "/bin/calibre-debug"))
(ebook-meta
(search-input-file inputs "/bin/ebook-meta"))
(folder-program
(string-append #$output
"/share/emacs/site-lisp/calibredb-"
#$version "/calibredb-folder.py")))
(emacs-substitute-variables "calibredb-core.el"
("calibredb-fetch-metadata-program" fetch-ebook-metadata)
("calibredb-program" calibredb)
("calibredb-convert-program" ebook-convert)
("calibredb-debug-program" calibre-debug))))))))
("calibredb-debug-program" calibre-debug)
("calibredb-ebook-meta-program" ebook-meta)
("calibredb-folder-program" folder-program))))))))
(inputs
(list calibre))
(propagated-inputs
(list emacs-dash emacs-esxml emacs-s))
(list emacs-dash emacs-esxml emacs-request emacs-s))
(home-page "https://github.com/chenyanming/calibredb.el")
(synopsis "Yet another calibre client for Emacs")
(description "This package integrates calibre into Emacs.
@@ -41433,17 +41550,65 @@ time.")
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ; requires cask
#:phases #~(modify-phases %standard-phases
;; Move the source files to the top level, which is
;; included in the EMACSLOADPATH.
(add-after 'unpack 'move-source-files
(lambda _
(let ((el-files (find-files "./lisp" ".*\\.el$")))
(for-each (lambda (f)
(rename-file f
(basename f)))
el-files)))))))
#:test-command #~(list "make" "tests")
#:phases
#~(modify-phases %standard-phases
;; Move the source files to the top level, which is
;; included in the EMACSLOADPATH.
(add-after 'unpack 'move-source-files
(lambda _
(let ((el-files (find-files "./lisp" ".*\\.el$")))
(for-each (lambda (f)
(rename-file f
(basename f)))
el-files))))
(add-before 'check 'fix-tests
(lambda _
(substitute* "Makefile"
(("cask") ""))
(substitute* "test/ert-helper.el"
(("lisp\\/") ""))))
(add-before 'check 'skip-failing-tests
(lambda _
(let-syntax
((disable-tests
(syntax-rules ()
((_ file ())
(syntax-error "test names list must not be empty"))
((_ file (test-name ...))
(substitute* file
(((string-append
"^\\(ert-deftest " test-name ".*") all)
(string-append all "(skip-unless nil)\n")) ...)))))
(disable-tests
"test/mastodon-profile-tests.el"
("mastodon-profile--add-author-bylines"
"mastodon-profile--make-author-buffer"))
(disable-tests
"test/mastodon-auth-tests.el"
("mastodon-auth--handle-token-response--good"
"mastodon-auth-plstore-token-check"))
(disable-tests
"test/mastodon-client-tests.el"
("mastodon-client--make-user-active"
"mastodon-client--store"
"mastodon-client--store-access-token"))
(disable-tests
"test/mastodon-tl-tests.el"
("mastodon-tl--byline-timestamp-has-relative-display"
"mastodon-tl--next-tab-item--no-spaces-at-ends"
"mastodon-tl--next-tab-item--with-spaces-at-ends"))
(disable-tests
"test/mastodon-media-tests.el"
("mastodon-media--get-avatar-rendering"
"mastodon-media--inline-images"
"mastodon-media--load-image-from-url-avatar-with-imagemagic"
"mastodon-media--load-image-from-url-avatar-without-imagemagic"
"mastodon-media--load-image-from-url-media-link-with-imagemagic"
"mastodon-media--load-image-from-url-media-link-without-imagemagic"
"mastodon-media--load-image-from-url-url-fetching-fails"
"mastodon-media--process-image-response"))))))))
(native-inputs (list emacs-el-mock))
(propagated-inputs
(list emacs-persist emacs-tp))
(home-page "https://codeberg.org/martianh/mastodon.el")

View File

@@ -3452,7 +3452,7 @@ This is a part of the TiLP project.")
(define-public mame
(package
(name "mame")
(version "0.252")
(version "0.287")
(source
(origin
(method git-fetch)
@@ -3461,16 +3461,16 @@ This is a part of the TiLP project.")
(commit (apply string-append "mame" (string-split version #\.)))))
(file-name (git-file-name name version))
(sha256
(base32 "07qhcm1v47sy2wj30nx3cbhvcbgki0cl83gabr0miiw60fhgyn6j"))
(base32 "1p9v71gvaqiyj6sa1b0wkdksa9wnr6yr2a43ckycljjfas5s36kq"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
'(begin
(with-directory-excursion "3rdparty"
(for-each delete-file-recursively
'("asio" "expat" "glm" "libflac" "libjpeg" "lua"
"portaudio" "portmidi" "pugixml" "rapidjson" "SDL2"
"SDL2-override" "sqlite3" "utf8proc" "zlib")))))))
'("asio" "expat" "glm" "flac" "libjpeg" "lua"
"portaudio" "portmidi" "pugixml" "rapidjson"
"sqlite3" "utf8proc" "zlib")))))))
(build-system gnu-build-system)
(arguments
(list
@@ -3604,7 +3604,9 @@ This is a part of the TiLP project.")
libjpeg-turbo
libxi
libxinerama
lua
;; MAME requires Lua compiled as C++ to work correctly.
;; See https://www.mamedev.org/?p=523
lua-5.4-for-c++
portaudio
portmidi
pugixml

View File

@@ -50,7 +50,7 @@
(define-public erlang
(package
(name "erlang")
(version "27.3.4.6")
(version "28.4.3")
(source (origin
(method git-fetch)
;; The tarball from http://erlang.org/download contains many
@@ -62,7 +62,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0dhz2c7w28ss0ypj7jh88pfs3kc8hbwiiq91in1j2miy5sn4cp3x"))
"1dsdmp2rccc0rhzy2w8r4amxmc6nr9hbi053j2s0bg9db30b48rc"))
(patches (search-patches "erlang-man-path.patch"))))
(build-system gnu-build-system)
(native-inputs
@@ -75,7 +75,7 @@
"/OTP-" version "/otp_doc_man_" version ".tar.gz"))
(sha256
(base32
"1j1fcli7ma9vi4qyv67lq7yiznhpnfvcmh57bn8qxvha6ky2pngm"))))))
"1g17wzv8j12g9272yvv55nj4wqs09hxkv3i0vnp7d6gcs24bmphi"))))))
(inputs
(list ncurses openssl wxwidgets))
(propagated-inputs

View File

@@ -220,6 +220,7 @@ testing InfiniBand networks.")
"--disable-assertions"
"--disable-params-check"
"--enable-mt"
(string-append "--with-verbs="
#$(this-package-input "rdma-core"))

View File

@@ -165,7 +165,7 @@
;; <https://bitcoincore.org/en/lifecycle/#schedule>.
(package
(name "bitcoin-core")
(version "30.2")
(version "31.0")
(source (origin
(method url-fetch)
(uri
@@ -173,7 +173,7 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
"1jw4djh22v0nih0n7irdbknfbqavlc4l3b8176b5qgc88a60pl3g"))))
"1qxkcyq8nwq6sw4qi660z8n8356mqdsf4jvpq5ndkvrsx9gfz80b"))))
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase
@@ -197,9 +197,7 @@
"python3" "./test/functional/test_runner.py" "--timeout-factor=2"
(string-append "--jobs=" (number->string (parallel-job-count)))))))))
(native-inputs
(list bash ; provides the sh command for system_tests
coreutils ; provides the cat, echo and false commands for system_tests
pkg-config
(list pkg-config
python ; for the tests
python-pyzmq ; for the tests
qttools))

View File

@@ -4658,46 +4658,6 @@ is a stylish type with a polished yet relaxed feel. Its versatility makes it
suitable for a wide range of uses.")
(license license:silofl1.1))))
(define-public font-cozette
(package
(name "font-cozette")
(version "1.13.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/slavfox/Cozette")
(commit (string-append "v." version))))
(file-name (git-file-name name version))
(sha256
(base32
"178i812n4sfsvid7jhnm683jlxqmrv4ck6qbb4nwyllhwg3gyq60"))))
(build-system font-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'dont-depend-on-git
(lambda _
(substitute* "build.py"
;; Merely importing this module requires a git repository.
;; We don't use get_changelog, so just disable the import.
(("from cozette_builder\\.changeloggen import get_changelog")
""))))
(add-before 'install 'build
(lambda _
(invoke "python3" "build.py" "fonts"))))))
(native-inputs
(list fontforge
python
python-crayons
python-fonttools
python-numpy
python-pillow))
(home-page "https://github.com/slavfox/Cozette")
(synopsis "Bitmap programming font")
(description "Cozette is a 6x13px (bounding box) bitmap font based on Dina
and heavily inspired by Creep.")
(license license:expat)))
(define-public font-montserrat
(package
(name "font-montserrat")

View File

@@ -3454,7 +3454,7 @@ interfaces.")
(string-append (assoc-ref outputs "out")
"/share/doc/" ,name)))))))
(native-inputs
(list cmake-minimal pkg-config))
(list cmake-minimal pkg-config scdoc))
(inputs (list elogind
bash-minimal
grim

View File

@@ -5534,23 +5534,13 @@ falling, themeable graphics and sounds, and replays.")
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no test target
#:configure-flags #~'("-DENABLE_SYSTEM_LUA=ON")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _
;; XXX: Our Lua doesn't have a C++ library, force C linkage.
(substitute* '("src/lua/wrapper_lua.h"
"src/lua/wrapper_lualib.h"
"src/lua/wrapper_lauxlib.h")
(("#include \"(lua|lualib|lauxlib)\\.h\"")
"#include \"lua.hpp\"")))))))
#:configure-flags #~'("-DENABLE_SYSTEM_LUA=ON")))
(inputs
(list boost-1.83
curl
dbus
libvorbis
lua-5.4
lua-5.4-for-c++
openssl
pango
sdl2
@@ -5937,7 +5927,7 @@ Transport Tycoon Deluxe.")
(add-after 'unpack 'patch-sources
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/music/fluidsynth.cpp"
(("default_sf\\[\\] = \\{" all)
(("_default_soundfonts\\[\\] = \\{" all)
(string-append all "
\t/* Guix hardcoded :P */
\t\"" (search-input-file inputs "/share/soundfonts/FreePatsGM.sf2") "\",
@@ -5964,7 +5954,7 @@ Transport Tycoon Deluxe.")
(package
(inherit openttd)
(name "openttd-jgrpp")
(version "0.70.2")
(version "0.71.1")
(source
(origin
(method git-fetch)
@@ -5973,7 +5963,7 @@ Transport Tycoon Deluxe.")
(commit (string-append "jgrpp-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jzzvribf2cqvjl9cympyx9qpplljvmhqrrlw7aq4ckzl92d87z3"))))
(base32 "1cy1ghc1mc61hdz8lykx2ggs5nld30jdgj8y4vdli2v1ffhy7xy9"))))
(inputs (modify-inputs inputs
(append zstd harfbuzz)))
(arguments

View File

@@ -425,14 +425,29 @@ hierarchical hexagonal geospatial indexing system")
(base32
"00qdk9a4048pzfj2rhzkfw3lvm642znf6kr4x29i3d94494pxsnn"))))
(build-system cmake-build-system)
(arguments `(#:phases
(modify-phases %standard-phases
(add-after
'unpack 'patch-test-shebangs
(lambda _
(substitute* '("tests/xmltester/testrunner.sh"
"tests/xmltester/safe_to_xml.sh")
(("/bin/sh") (which "sh"))))))))
(arguments
`(#:phases
(modify-phases %standard-phases
,@(if (or (target-x86-32?) (target-arm32?))
'((add-after 'unpack 'disable-broken-tests
(lambda _
;; This test fails due to limited accuracy.
(delete-file "tests/xmltester/tests/general/TestCentroid.xml")
(with-directory-excursion "tests/unit"
;; These also fail due to limited accuracy.
(delete-file "algorithm/MinimumAreaRectangleTest.cpp")
(delete-file "capi/GEOSMinimumRotatedRectangleTest.cpp")
;; It is unclear why these fail, but I'm guessing:
;; limited accuracy.
(delete-file "linearref/LengthIndexedLineTest.cpp")
(delete-file "math/DDTest.cpp")))))
'())
(add-after
'unpack 'patch-test-shebangs
(lambda _
(substitute* '("tests/xmltester/testrunner.sh"
"tests/xmltester/safe_to_xml.sh")
(("/bin/sh") (which "sh"))))))))
(inputs
(list glib))
(home-page "https://libgeos.org/")
@@ -955,6 +970,29 @@ hydrology and waste deposition.")
(base32
"03r6mspfv22fs4x4jcgv25v9gsj5k6zy8incvyf94qf50g47s2bc"))))
(build-system cmake-build-system)
(arguments
(if (target-32bit?)
(list
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
;; These regression tests fail due to accuracy problems.
(substitute* "test/unit/test_factory.cpp"
(("^TEST\\(factory, AuthorityFactory_createUnitOfMeasure_linear_us_survey_foot\\) \\{" m)
(string-append m "\nGTEST_SKIP();\n")))
(substitute* "test/unit/test_grids.cpp"
(("^TEST_F\\(GridTest, VerticalShiftGridSet_gtx\\) \\{" m)
(string-append m "\nGTEST_SKIP();\n")))
(substitute* "test/unit/test_defmodel.cpp"
(("^TEST\\(defmodel, evaluator_horizontal_unit_metre\\) \\{" m)
(string-append m "\nGTEST_SKIP();\n")))
;; These regression tests fail due to accuracy problems.
(substitute* "test/CMakeLists.txt"
(("proj_add_gie_test\\(\"4D-API-cs2cs-style\".+") "")
(("proj_add_gie_test\\(\"Builtins\".+") "")
(("proj_add_gie_test\\(\"peirce_q\".+") ""))))))
'()))
(native-inputs (list googletest pkg-config))
(propagated-inputs (list curl libtiff sqlite)) ;required by proj.pc
(home-page "https://proj.org/")
@@ -984,7 +1022,34 @@ lets developers use the functionality of Proj in their own software.")
version ".tar.gz"))
(sha256
(base32
"1g0hkpiablvhsmw0kn5frwgdir3q7avc45p6lc1zhhhzkv5ikydh"))))))
"1g0hkpiablvhsmw0kn5frwgdir3q7avc45p6lc1zhhhzkv5ikydh"))))
(arguments
(if (target-32bit?)
(list
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
;; These regression tests fail due to accuracy problems.
(substitute* "test/unit/test_factory.cpp"
(("^TEST\\(factory, AuthorityFactory_createUnitOfMeasure_linear_us_survey_foot\\) \\{" m)
(string-append m "\nGTEST_SKIP();\n")))
(substitute* "test/unit/test_grids.cpp"
(("^TEST_F\\(GridTest, VerticalShiftGridSet_gtx\\) \\{" m)
(string-append m "\nGTEST_SKIP();\n")))
(substitute* "test/unit/test_defmodel.cpp"
(("^TEST\\(defmodel, evaluator_horizontal_unit_metre\\) \\{" m)
(string-append m "\nGTEST_SKIP();\n")))
;; These regression tests fail due to accuracy problems.
(substitute* "test/CMakeLists.txt"
(("proj_add_gie_test\\(\"4D-API-cs2cs-style\".+") "")
(("proj_add_gie_test\\(\"Builtins\".+") "")
(("proj_add_gie_test\\(\"peirce_q\".+") "")
(("proj_add_gie_test\\(\"adams_ws2\".+") ""))
(substitute* "test/cli/CMakeLists.txt"
(("proj_add_test_script_sh\\(\"testvarious\" CS2CS_BIN\\)") ""))))))
'()))))
(define-public python-obspy
(package

View File

@@ -1,7 +1,4 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,44 +16,8 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gkrellm)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xorg))
#:use-module (gnu packages monitoring)
#:use-module (guix deprecation))
(define-public gkrellm
(package
(name "gkrellm")
(version "2.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://gkrellm.srcbox.net/releases/gkrellm-"
version ".tar.bz2"))
(sha256
(base32 "0qvy2xmwmfy5f0g09yn9lr262shnx82ba04r5il2wj4qscg3r7h8"))))
(build-system gnu-build-system)
(inputs (list gtk+-2 libsm))
(native-inputs (list gettext-minimal pkg-config))
(arguments
(list
#:tests? #f ;there is no check target
#:phases
#~(modify-phases %standard-phases
(delete 'configure)) ;no configure script
#:make-flags
#~(list (string-append "INSTALLROOT=" #$output)
(string-append "CC=" #$(cc-for-target)))))
(home-page "https://gkrellm.srcbox.net/")
(synopsis "System monitors")
(description
"GKrellM is a single process stack of system monitors which supports
applying themes to match its appearance to your window manager, Gtk, or any
other theme.")
(license license:gpl3+)))
(define-deprecated/public-alias gkrellm
(@ (guix packages monitoring) gkrellm))

View File

@@ -605,9 +605,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"zh-TW"))
;;; Please keep these versions in sync with icedove.
(define %icecat-base-version "140.9.1")
(define %icecat-base-version "140.10.0")
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
(define %icecat-build-id "20260414000000") ;must be of the form YYYYMMDDhhmmss
(define %icecat-build-id "20260421000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -627,9 +627,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"1hld2kbzvrmr7pqq0r5hw639xl8kw29lm2hsbn0m4kxang1fdlj5"))))
"06996548nfmn4r4mfw3wvgb1mp35majc5hjyhs1krgp33ck2m1f0"))))
(gnuzilla-commit "f3595923458a5255f61a3853bd83bb5f004dc3bc")
(gnuzilla-commit "02125f31250c0240ee2ab1aa629ce66d4ffb9f30")
(gnuzilla-source
(origin
(method git-fetch)
@@ -640,7 +640,7 @@ in the case of Firefox, it is browser/locales/all-locales."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"03kc08cvmdv3sxihf5hfhw2k91mg1y6f46b3x47p7q98phgk03cv"))))
"1hgx286gp0j46pklzzh5kvsnari1j3s0bff384m505m942k6l4hf"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
@@ -1249,6 +1249,166 @@ testing.")
(cpe-name . "firefox_esr")
(cpe-version . ,(first (string-split version #\-)))))))
;;; TEMPORARY old version of icecat-source for use by icedove until it is updated.
(define %icecat-140.9.1-base-version "140.9.1")
(define %icecat-140.9.1-version (string-append %icecat-140.9.1-base-version "-gnu1"))
(define icecat-140.9.1-source
(let* ((major-version (first (string-split %icecat-140.9.1-base-version #\.)))
(minor-version (second (string-split %icecat-140.9.1-base-version #\.)))
(sub-version (third (string-split %icecat-140.9.1-base-version #\.)))
(upstream-firefox-version (string-append %icecat-140.9.1-base-version "esr"))
(upstream-firefox-source
(origin
(method url-fetch)
(uri (string-append
"https://ftp.mozilla.org/pub/firefox/releases/"
upstream-firefox-version "/source/"
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"1hld2kbzvrmr7pqq0r5hw639xl8kw29lm2hsbn0m4kxang1fdlj5"))))
(gnuzilla-commit "f3595923458a5255f61a3853bd83bb5f004dc3bc")
(gnuzilla-source
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/gnuzilla.git")
(commit gnuzilla-commit)))
(file-name (git-file-name "gnuzilla"
(string-take gnuzilla-commit 8)))
(sha256
(base32
"03kc08cvmdv3sxihf5hfhw2k91mg1y6f46b3x47p7q98phgk03cv"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
(makeicecat-patch
(local-file (assume-valid-file-name
(search-patch "icecat-makeicecat.patch")))))
(origin
(method computed-origin-method)
(file-name (string-append "icecat-" %icecat-140.9.1-version ".tar.zst"))
(sha256 #f)
(uri
(delay
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(let ((firefox-dir
(string-append "firefox-" #$%icecat-140.9.1-base-version))
(icecat-dir
(string-append "icecat-" #$%icecat-140.9.1-version)))
(set-path-environment-variable
"PATH" '("bin")
(list #+python
#+(canonical-package bash)
#+(canonical-package coreutils)
#+(canonical-package findutils)
#+(canonical-package patch)
#+(canonical-package xz)
#+(canonical-package zstd)
#+(canonical-package sed)
#+(canonical-package grep)
#+(canonical-package bzip2)
#+(canonical-package gzip)
#+(canonical-package tar)))
(set-path-environment-variable
"PYTHONPATH"
(list #+(format #f "lib/python~a/site-packages"
(version-major+minor
(package-version python))))
'#+(cons python-jsonschema
(map second
(package-transitive-propagated-inputs
python-jsonschema))))
;; We copy the gnuzilla source directory because it is
;; read-only in 'gnuzilla-source', and the makeicecat script
;; uses "cp -a" to copy parts of it and assumes that the
;; copies will be writable.
(copy-recursively #+gnuzilla-source "/tmp/gnuzilla"
#:log (%make-void-port "w"))
(with-directory-excursion "/tmp/gnuzilla"
(make-file-writable "makeicecat")
(invoke "patch" "--force" "--no-backup-if-mismatch"
"-p1" "--input" #+makeicecat-patch)
(patch-shebang "makeicecat")
(substitute* "makeicecat"
(("^readonly FFMAJOR=(.*)" all ffmajor)
(unless (string=? #$major-version
(string-trim-both ffmajor))
;; The makeicecat script cannot be expected to work
;; properly on a different version of Firefox, even if
;; no errors occur during execution.
(error "makeicecat major version mismatch"))
(string-append "readonly FFMAJOR=" #$major-version "\n"))
(("^readonly FFMINOR=.*")
(string-append "readonly FFMINOR=" #$minor-version "\n"))
(("^readonly FFSUB=.*")
(string-append "readonly FFSUB=" #$sub-version "\n"))
(("^readonly DATADIR=.*")
"readonly DATADIR=/tmp/gnuzilla/data\n")
(("^readonly SOURCEDIR=.*")
(string-append "readonly SOURCEDIR=" icecat-dir "\n"))
(("/bin/sed")
#+(file-append (canonical-package sed) "/bin/sed"))))
(format #t "Unpacking upstream firefox tarball...~%")
(force-output)
(invoke "tar" "xf" #+upstream-firefox-source)
(rename-file firefox-dir icecat-dir)
(with-directory-excursion icecat-dir
(format #t "Populating l10n directory...~%")
(force-output)
(mkdir "l10n")
(with-directory-excursion "l10n"
(for-each
(lambda (locale)
(let ((locale-dir (string-append #+mozilla-l10n "/"
locale)))
(format #t " ~a~%" locale)
(force-output)
(copy-recursively locale-dir locale
#:log (%make-void-port "w"))
(for-each make-file-writable (find-files locale))
(with-directory-excursion locale
(mkdir-p "browser/chrome/browser/preferences")
(call-with-output-file "browser/chrome/browser/\
preferences/advanced-scripts.dtd"
(lambda (port) #f)))))
'#+%icecat-locales)
(copy-recursively #+mozilla-compare-locales
"compare-locales"
#:log (%make-void-port "w"))
(delete-file "compare-locales/.gitignore")))
(format #t "Running makeicecat script...~%")
(force-output)
(invoke "bash" "/tmp/gnuzilla/makeicecat")
(format #t "Packing IceCat source tarball...~%")
(force-output)
(setenv "ZSTD_NBTHREADS" (number->string (parallel-job-count)))
(invoke "tar" "cfa" #$output
;; Avoid non-determinism in the archive. We set the
;; mtime of files in the archive to early 1980 because
;; the build process fails if the mtime of source
;; files is pre-1980, due to the creation of zip
;; archives.
"--mtime=@315619200" ; 1980-01-02 UTC
"--owner=root:0"
"--group=root:0"
"--sort=name"
icecat-dir)))))))))
(define %icedove-build-id "20260403000000") ;must be of the form YYYYMMDDhhmmss
;;; See <https://product-details.mozilla.org/1.0/thunderbird_versions.json>
;;; for the source of truth regarding Thunderbird releases.
@@ -1383,7 +1543,7 @@ testing.")
;; Extract the base Icecat tarball, renaming its top-level
;; directory.
(invoke "tar" "--transform" (string-append "s,[^/]*," #$name ",")
"-xf" #$icecat-source)
"-xf" #$icecat-140.9.1-source)
(chdir #$name)
;; Merge the Thunderdbird localization data.

View File

@@ -245,6 +245,55 @@ go-fuzz-headers.")
@end itemize")
(license license:expat)))
(define-public go-github-com-alexkohler-prealloc
(package
(name "go-github-com-alexkohler-prealloc")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alexkohler/prealloc")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "011i8yqzyjgwj17k44xvvg4bxfv8z20s0416r2d3yf4s3wqqygpq"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/alexkohler/prealloc"))
(home-page "https://github.com/alexkohler/prealloc")
(synopsis "Find slice declarations that could be preallocated")
(description
"This package is a Go static analysis tool to find slice declarations
that could potentially be preallocated.")
(license license:expat)))
(define-public go-github-com-alingse-asasalint
(package
(name "go-github-com-alingse-asasalint")
(version "0.0.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alingse/asasalint")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1avz33cx3gcpps26rxijv7ic0njfmsdkbcp2mqg5yxhdcpq57s0q"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/alingse/asasalint"))
(propagated-inputs
(list go-golang-org-x-tools))
(home-page "https://github.com/alingse/asasalint")
(synopsis "Lint pass any slice as any in variadic function")
(description
"Golang linter, lint that pass any slice as any in variadic function.")
(license license:expat)))
(define-public go-github-com-andreyvit-diff
(package
(name "go-github-com-andreyvit-diff")

View File

@@ -31,6 +31,7 @@
;;; Copyright © 2025 Arthur Rodrigues <arthurhdrodrigues@proton.me>
;;; Copyright © 2025 Patrick Norton <patrick.147.norton@gmail.com>
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2026 Evgeny Pisemsky <mail@pisemsky.site>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1599,7 +1600,7 @@ RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.")
(define-public go-github-com-google-go-tpm
(package
(name "go-github-com-google-go-tpm")
(version "0.9.1")
(version "0.9.4")
(source
(origin
(method git-fetch)
@@ -1608,7 +1609,7 @@ RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1c5j5cvwl45ka93nknmv454ivd7kp9n8yql19gr6z01z0s1ph7sg"))))
(base32 "1sp1mbr6vz36zy9w36iksirbsj5p2jslsl8zs1cdj8s4ig4lkd9d"))))
(build-system go-build-system)
(arguments
(list
@@ -2873,7 +2874,7 @@ package.")
(define-public go-github-com-refraction-networking-utls
(package
(name "go-github-com-refraction-networking-utls")
(version "1.6.0")
(version "1.8.2")
(source
(origin
(method git-fetch)
@@ -2882,7 +2883,7 @@ package.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1iywar5vqsml4b177k2nkcxmjm8mw92g3p112yjsrpmikiwpwpyw"))))
(base32 "03kgwxdm2lg28fn2w5q7ql2szsiwj2xjdf477h1g3a4a9y9j6zk0"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/refraction-networking/utls"
@@ -3640,6 +3641,39 @@ algorithm described in @url{https://rfc-editor.org/rfc/rfc2898.html,RFC 2898}
and @url{https://rfc-editor.org/rfc/rfc8018.html,RFC 8018}.")
(license license:asl2.0)))
(define-public go-github-com-xtls-reality
(package
(name "go-github-com-xtls-reality")
(version "0.0.0-20260322125925-9234c772ba8f")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xtls/reality")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wncy5aph6nmq4814xjhj6b5p1wm2fyrqn83dw0xlyxvq2z6iqfs"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/xtls/reality"))
(propagated-inputs
(list go-github-com-cloudflare-circl
go-github-com-juju-ratelimit
go-github-com-pires-go-proxyproto
go-github-com-refraction-networking-utls
go-golang-org-x-crypto
go-golang-org-x-sys))
(home-page "https://github.com/xtls/reality")
(synopsis "Implementation of REALITY protocol")
(description
"This package provides an implementation of REALITY protocol, which is
intented to eliminate the detectable TLS fingerprint on the server side, while
still maintain the secrecy. It achieves full real TLS that is
undistingwishable with the specified SNI to the middleman.")
(license (list license:bsd-3 license:mpl2.0))))
(define-public go-github-com-youmark-pkcs8
(package
(name "go-github-com-youmark-pkcs8")

View File

@@ -456,6 +456,29 @@ penalization.")
FFT (Schonhage-Strassen method for multiplying integers).")
(license license:bsd-3)))
(define-public go-github-com-robinus2-golang-moving-average
(package
(name "go-github-com-robinus2-golang-moving-average")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/RobinUS2/golang-moving-average")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "02z3ad29653fz7whxkjjpq820ig9j8m68xj4kay14jyazkr5in1f"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/RobinUS2/golang-moving-average"))
(home-page "https://github.com/RobinUS2/golang-moving-average")
(synopsis "Moving average implementation for Go")
(description
"This package provides a moving average implementation for Go.")
(license license:asl2.0)))
(define-public go-github-com-shopspring-decimal
(package
(name "go-github-com-shopspring-decimal")

File diff suppressed because it is too large Load Diff

View File

@@ -75,6 +75,7 @@
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2026 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2026 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -524,6 +525,35 @@ file along with an index.html file.")
"Package tcell provides a gruid Driver for making terminal apps.")
(license license:isc)))
(define-public go-codeberg-org-chavacava-garif
(package
(name "go-codeberg-org-chavacava-garif")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/chavacava/garif.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0cz037yb9gnk9fd61pni6m0n9cbrwmlxxija5vm91mplyxlih05h"))))
(build-system go-build-system)
(arguments
(list
#:import-path "codeberg.org/chavacava/garif"))
(native-inputs
(list go-github-com-stretchr-testify))
(home-page "https://codeberg.org/chavacava/garif")
(synopsis "Create and manipulate SARIF logs")
(description
"This package defines all the Go structures required to model a log file.
SARIF, from Static Analysis Results Interchange Format, is a standard
JSON-based format for the output of static analysis tools defined and promoted
by @url{https://www.oasis-open.org/, OASIS}.")
(license license:expat)))
(define-public go-codeberg-org-emersion-go-scfg
(package
(name "go-codeberg-org-emersion-go-scfg")
@@ -612,6 +642,33 @@ recursively any exported one. It also won't merge structs inside
maps (because they are not addressable using Go reflection).")
(license license:bsd-3)))
(define-public go-fyne-io-systray
(package
(name "go-fyne-io-systray")
(version "1.11.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fyne-io/systray")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yrd4f3n8wrqcqradmqq9w0b31hd5hali876xkynfhm3nhaz4j1i"))))
(build-system go-build-system)
(arguments
(list
#:import-path "fyne.io/systray"))
(propagated-inputs
(list go-github-com-godbus-dbus-v5
go-golang-org-x-sys))
(home-page "https://fyne.io/systray/")
(synopsis "Place an icon and menu in the notification area")
(description
"This package is a cross-platform Go library to place an icon and menu in
the notification area.")
(license license:asl2.0)))
(define-public go-git-sr-ht-rjarry-go-opt
(package
(name "go-git-sr-ht-rjarry-go-opt")
@@ -2980,6 +3037,38 @@ input from the terminal while not echoing the input back (similar to
and is therefore compatible with cross-compiling.")
(license license:expat)))
(define-public go-github-com-bitfield-script
(package
(name "go-github-com-bitfield-script")
(version "0.24.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bitfield/script")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1pzmz7n39sh9sprclzd0m0l0flf626286fh51m065yjhkqzrjw89"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/bitfield/script"
#:test-flags #~(list "-vet=off")))
(native-inputs
(list go-github-com-google-go-cmp))
(propagated-inputs
(list go-github-com-itchyny-gojq
go-github-com-rogpeppe-go-internal
go-mvdan-cc-sh-v3))
(home-page "https://github.com/bitfield/script")
(synopsis "Making it easy to write shell-like scripts in Go")
(description
"Package script aims to make it easy to write shell-type scripts in Go,
for general system administration purposes: reading files, counting lines,
matching strings, and so on.")
(license license:expat)))
(define-public go-github-com-bitly-go-hostpool
(package
(name "go-github-com-bitly-go-hostpool")
@@ -4432,6 +4521,34 @@ over strings.")
@code{https://en.wikipedia.org/wiki/WebP, WebP} images.")
(license license:bsd-3)))
(define-public go-github-com-chainguard-dev-clog
(package
(name "go-github-com-chainguard-dev-clog")
(version "1.8.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/chainguard-dev/clog")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0b95vw8czs2r9lscyi85vppbyqj672zm6z2n9siy1s9yv6fkys62"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/chainguard-dev/clog"))
(home-page "https://github.com/chainguard-dev/clog")
(synopsis "Context aware slog")
(description
"This package provides a context-aware Go std lib
@url{https://pkg.go.dev/log/slog, @code{slog}}. The context Logger can be
used to use Loggers from the context. This is sometimes preferred over the
@url{https://github.com/chainguard-dev/clog#context-handler, Context Handler},
since this can make it easier to use different loggers in different
contexts (e.g. testing).")
(license license:asl2.0)))
(define-public go-github-com-charlievieth-fastwalk
(package
(name "go-github-com-charlievieth-fastwalk")
@@ -8036,7 +8153,7 @@ supports concurrent serializable transactions.")
(package
(inherit go-github-com-dgraph-io-badger)
(name "go-github-com-dgraph-io-badger-v4")
(version "4.5.2")
(version "4.9.1")
(source
(origin
(method git-fetch)
@@ -8045,7 +8162,7 @@ supports concurrent serializable transactions.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0v4c69whypm3k40hrx8bw9rjrcb0swz43v056s0fadqr04j0ncwj"))))
(base32 "0a9lk7fw06yb89wy9rp4q50ircw5imm1cqzhyhs92d0cia5qbhh6"))))
(arguments
(list
#:tests? #f ; TODO: tests hang, find out why.
@@ -8058,7 +8175,8 @@ supports concurrent serializable transactions.")
go-github-com-klauspost-compress
go-github-com-pkg-errors
go-github-com-spf13-cobra
go-go-opencensus-io
go-go-opentelemetry-io-contrib-zpages
go-go-opentelemetry-io-otel
go-golang-org-x-net
go-golang-org-x-sys
go-google-golang-org-protobuf))))
@@ -8965,6 +9083,41 @@ sub-interfaces are also provided for cases where the full Channel interface
cannot be met (for example, @code{InChannel} for write-only channels).")
(license license:expat)))
(define-public go-github-com-eapache-go-resiliency
(package
(name "go-github-com-eapache-go-resiliency")
(version "1.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/eapache/go-resiliency")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07a1r3c2spd37k3riy4fxz8v8ibxiprf8a3vw788whz4mlp6gm40"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/eapache/go-resiliency"))
(home-page "https://github.com/eapache/go-resiliency")
(synopsis "Resiliency patterns for golang")
(description
"Resiliency patterns for golang. Based in part on
@url{https://github.com/Netflix/Hystrix, Hystrix},
@@url{https://github.com/Shopify/semian, Semian}, and others.
Currently implemented patterns include:
@itemize
@item circuit-breaker
@item semaphore
@item deadline/timeout
@item batching
@item retriable
@end itemize")
(license license:expat)))
(define-public go-github-com-eapache-queue
(package
(name "go-github-com-eapache-queue")
@@ -17604,7 +17757,7 @@ implementing features like:
(define-public go-github-com-maruel-natural
(package
(name "go-github-com-maruel-natural")
(version "1.1.1")
(version "1.3.0")
(source
(origin
(method git-fetch)
@@ -17613,7 +17766,7 @@ implementing features like:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "040aikizdd7c4zm8xindb2ps16s60i0fkf8gkll2rir7lwv6q7ks"))))
(base32 "1nr1ai3b7yvz4wz4k0jqvjq3978hpk9yxarn7g7i3d2sxbdc0g4q"))))
(build-system go-build-system)
(arguments
(list
@@ -22786,16 +22939,16 @@ it is capable of logging at some or all levels.")
(define-public go-github-com-rivo-tview
(package
(name "go-github-com-rivo-tview")
(version "0.0.0-20241227133733-17b7edb88c57")
(version "0.42.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rivo/tview")
(commit (go-version->git-ref version))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1w59vyvs8k5mzl7k39zpwcwwdgam2pbz0rnrfnnjgvkld1rh81dc"))))
(base32 "0jw47h92l0vp1lg6s5kng4hjv81hi8qxx9h5yilc7rzrr8l9ksd2"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/rivo/tview"))
@@ -30436,8 +30589,8 @@ The yaml package supports most of YAML 1.2, but preserves some behavior from
;; to build NNCP and remove vendor) dependency for Golang. Full build depends
;; on Bazel <https://bazel.build/>.
(define-public go-gvisor-dev-gvisor
(let ((commit "634ce95eed8d5b8e6b3e2ea30542c34cb30af148")
(revision "0"))
(let ((commit "9414b50a5633100fd7299a5a7998742575dcb669")
(revision "1"))
(package
(name "go-gvisor-dev-gvisor")
(version (git-version "0.0.0" revision commit))
@@ -30449,7 +30602,7 @@ The yaml package supports most of YAML 1.2, but preserves some behavior from
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1l3si6qlchwgsvaq6lxyvj8iq8n8pqxlayb1hbdf3pynxi52hfkw"))))
(base32 "0vqaclb2ignkcs7n463bj349m0xybdsv71i6afhzh8r05hdywzax"))))
(build-system go-build-system)
(arguments
(list

View File

@@ -60,6 +60,7 @@
;;; Copyright © 2025 Andy Tai <atai@atai.org>
;;; Copyright © 2025 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2026 Matt Wette <matt.wette@gmail.com>
;;; Copyright © 2026 Dzianis Jackievič <mail@miesta.by>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1167,7 +1168,7 @@ is not available for Guile 2.0.")
(package
(inherit guile-fibers-1.3)
(name "guile-fibers")
(version "1.4.2")
(version "1.4.3")
(source
(origin (inherit (package-source guile-fibers-1.3))
(file-name (git-file-name name version))
@@ -1176,7 +1177,7 @@ is not available for Guile 2.0.")
(commit (string-append "v" version))))
(sha256
(base32
"0qh0czz5qvk5mmrc8x2gmvl5psdfd22q2rhzj4jrpan6k3d55bl8"))
"1q0a9y0cc8rld1z7mcj61fkldhd0kn9n4yq25izxslbgg4g5h9j6"))
(patches '())))
(arguments
(if (target-aarch64?)
@@ -1256,30 +1257,8 @@ is not available for Guile 2.0.")
(modify-inputs native-inputs
(replace "guile" guile-2.2)))))
(define-public guile-fibers-next
(let ((commit "297359f0ad655378bcc3ff0d4e96101965ef39b4")
(revision "0"))
(package
(inherit guile-fibers)
(name "guile-fibers-next")
(version (git-version "1.4.2"
revision
commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/guile/fibers.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0qh0czz5qvk5mmrc8x2gmvl5psdfd22q2rhzj4jrpan6k3d55bl8"))))
(inputs
(modify-inputs inputs
(replace "guile" guile-next)))
(native-inputs
(modify-inputs native-inputs
(replace "guile" guile-next))))))
;; Deprecated on 2026-04-23
(define-deprecated-package guile-fibers-next guile-fibers)
(define-public guile-kracht
(package
@@ -1537,7 +1516,7 @@ order to provide IDE functionality for Guile Scheme.")
(define-public guile-ares-rs
(package
(name "guile-ares-rs")
(version "0.9.6")
(version "0.9.7")
(source
(origin
(method git-fetch)
@@ -1547,35 +1526,42 @@ order to provide IDE functionality for Guile Scheme.")
(file-name (git-file-name name version))
(sha256
(base32
"1vkww3vc0lsh5f8yh6fnh402rx3rsm0ss69rdkmplhzp4c7c4z1d"))))
"1xbznh5zjswfydgqg53g50ya7zm0hidin74g2glk849l9j45szw3"))))
(build-system guile-build-system)
(arguments
(list
#:source-directory "src/guile"
#:phases
#~(modify-phases %standard-phases
(add-after 'build 'install-script
(add-after 'build 'install-scripts
(lambda _
(let* ((bin (string-append #$output "/bin"))
(oldpath (string-append
#$output
;; This file will be named ares-nrepl.scm for
;; the next version.
"/share/guile/site/3.0/ares/scripts/ares.scm"))
(newpath (string-append bin "/ares-nrepl")))
(mkdir bin)
(symlink oldpath newpath)
(wrap-program newpath
`("GUILE_LOAD_PATH" ":" =
,(list (string-append #$output "/share/guile/site/3.0")
(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" =
,(list (string-append #$output "/lib/guile/3.0/site-ccache")
(getenv "GUILE_LOAD_COMPILED_PATH"))))
;; Not needed since the wrapper followed the symlink.
(delete-file (string-append bin "/.ares-nrepl-real"))))))))
(inputs (list bash-minimal guile-3.0))
(propagated-inputs (list guile-fibers guile-custom-ports))
(define bin (string-append #$output "/bin"))
(define site (string-append #$output "/share/guile/site/3.0"))
(define ccache
(string-append #$output "/lib/guile/3.0/site-ccache"))
(define (install-script name)
(let ((oldpath
(string-append site "/ares/scripts/" name ".scm"))
(newpath
(string-append bin "/" name)))
(symlink oldpath newpath)
(wrap-program newpath
`("GUILE_LOAD_PATH" ":" =
,(list "$GUILE_LOAD_PATH"
site
(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" =
,(list "$GUILE_LOAD_COMPILED_PATH"
ccache
(getenv "GUILE_LOAD_COMPILED_PATH"))))
;; Not needed since the wrapper followed the symlink.
(delete-file (string-append bin "/." name "-real"))))
(mkdir bin)
(for-each install-script '("ares-nrepl" "ares-suitbl")))))))
(inputs (list bash-minimal guile-3.0-latest))
(propagated-inputs (list guile-fibers))
(home-page "https://git.sr.ht/~abcdw/guile-ares-rs")
(synopsis "Asynchronous Reliable Extensible Sleek RPC Server for Guile")
(description "Asynchronous Reliable Extensible Sleek RPC Server for
@@ -5707,27 +5693,32 @@ perform geometrical transforms on JPEG images.")
(license license:gpl3+))))
(define-public guile-jtd
(package
(name "guile-jtd")
(version "220323a")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mwette/guile-jtd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1l8fyqhvksarvpbr903i3ss3432jzvyvhgcqa15j922ngqh4ds6f"))))
(build-system guile-build-system)
(native-inputs (list guile-3.0))
(home-page "https://github.com/mwette/guile-jtd")
(synopsis "Python's @code{pdb.set_trace()} but for Guile")
(description
"The @code{(jtd)} module for Guile provides a procedure
;; There are a few unreleased commits that include niceties such as warning
;; that the debug VM must be used; use the latest commit until the next
;; release comes.
(let ((commit "425f86ae954d6445aaedacfd4ecd50aa0022e59d")
(revision "0"))
(package
(name "guile-jtd")
(version (git-version "220323a" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mwette/guile-jtd")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1l8fyqhvksarvpbr903i3ss3432jzvyvhgcqa15j922ngqh4ds6f"))))
(build-system guile-build-system)
(native-inputs (list guile-3.0))
(home-page "https://github.com/mwette/guile-jtd")
(synopsis "Python's @code{pdb.set_trace()} but for Guile")
(description
"The @code{(jtd)} module for Guile provides a procedure
@code{jump-to-debugger} for escaping to the Guile REPL for the purpose of
debugging code.")
(license license:lgpl2.1+)))
(license license:lgpl2.1+))))
(define-public guile-png
(package
@@ -6399,6 +6390,88 @@ as signed sessions, multipart message support, etc.")
(propagated-inputs
(list guile2.2-irregex guile2.2-gcrypt))))
(define-public guile-compose
(package
(name "guile-compose")
(version "0.1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/jadzi/guile-compose.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1g68gczs96nrb0vf1hv4n07zsp2516gpiwq1wwlhcq4rzynhf12h"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~'("GUILE_AUTO_COMPILE=0")))
(inputs (list guile-3.0))
(native-inputs (list autoconf-2.72 automake pkg-config guile-3.0 texinfo))
(synopsis "Procedure composition utilities for Guile Scheme")
(description
"This tiny package provides some procedures and macros to extend
Guile Scheme procedure composition facilities. For example, there is
a @code{compose-top}, a reverse-order analog to native @code{compose}
procedure. The @code{compose-cont} is a macro, utilizing some power of
continuations to build really flexible flows.
This library is intended to stay basic and small, so it has no any
external dependencies and can be a good base for other packages, like e.g.
@code{guile-web-middleware}.")
(license (list license:lgpl3+))
(home-page "https://jadzi.codeberg.page/guile-compose")))
(define-public guile-web-middleware
(package
(name "guile-web-middleware")
(version "0.11.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/jadzi/guile-web-middleware.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01wb8v0lszphdv08ly4aqv59qm5h8yw2fgm025vkn61djspsq4j9"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~'("GUILE_AUTO_COMPILE=0")))
(inputs (list guile-3.0))
(propagated-inputs (list guile-compose))
(native-inputs (list autoconf-2.72 automake pkg-config guile-3.0 texinfo))
(synopsis "Web application middleware composition for Guile Scheme")
(description
"This package provides means to compose a web application by
chaining procedures, a.k.a. middlewares. By those means, composed
procedures form a standard request handler for any Guile's web server
implementation.
Each middleware has its own limited responsibility in request
processing. Also, middlewares are simple Scheme procedures, so they
can be easily tested and shared among web applications.
Out of the box, this package provides several procedures for commonly
required tasks. Among them:
@itemize
@item Error handling with customizable page contents.
@item Request filtering.
@item Request logging.
@item Serving static files, file URL generation.
@item Request routing, handling parameters, route URL generation.
@item Middleware nesting, composing whole apps.
@end itemize
This package relies on @code{guile-compose} package as its only dependency.")
(license (list license:lgpl3+))
(home-page "https://jadzi.codeberg.page/guile-web-middleware")))
(define-public guile-web-driver-ng
(package
(name "guile-web-driver-ng")
@@ -7716,13 +7789,13 @@ is an attempt to combine both into something useful.")
(list pkg-config
autoconf
automake
guile-next
guile-3.0-latest
guile-lib
guile-fibers-next))
guile-fibers))
(inputs
(list guile-next))
(list guile-3.0-latest))
(propagated-inputs
(list guile-fibers-next))
(list guile-fibers))
(home-page "https://cbaines.codeberg.page/guile-knots/")
(synopsis "Patterns and functionality to use with Guile Fibers")
(description
@@ -8018,14 +8091,14 @@ application to open a given file or URL based on given configurations.")
(define-public guile-goblins
(package
(name "guile-goblins")
(version "0.17.0")
(version "0.18.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.spritely.institute/releases"
"/guile-goblins/guile-goblins-" version ".tar.gz"))
(sha256
(base32 "16jkmfspsnza2fdk5jr05a5pfh7x856gpg031i21s1yvy43l8mi0"))))
(base32 "0gj5018wmq97ln1z7x03a13z3p35xc8762id9bl9fgkxwm01df1a"))))
(build-system gnu-build-system)
(arguments
(list

View File

@@ -653,7 +653,10 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
(define (guile-variant-package-name prefix)
(lambda (name)
"Return NAME with PREFIX instead of \"guile-\", when applicable."
(if (string-prefix? "guile-" name)
(if (and (string-prefix? "guile-" name)
;; Don't rename guile-bootstrap@2.0.
(not (string=? "guile-bootstrap" name)))
(string-append prefix "-"
(string-drop name
(string-length "guile-")))
@@ -900,8 +903,8 @@ type system, elevating types to first-class status.")
(define-public guile-git
(package
(name "guile-git")
(version "0.11.0")
(home-page "https://gitlab.com/guile-git/guile-git.git")
(version "0.11.1")
(home-page "https://codeberg.org/guile-git/guile-git.git")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -910,11 +913,11 @@ type system, elevating types to first-class status.")
(file-name (git-file-name name version))
(sha256
(base32
"1yjyil6z4k80pjdps8v6h6lxikwxmjxvrslf2jrmq2rrfnajschz"))))
"0xpzchnglddphi3chv53xqaz2x6rpq3l4s023w7r4mmndb6lgz0b"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("GUILE_AUTO_COMPILE=0") ; to prevent guild warnings
;; https://gitlab.com/guile-git/guile-git/-/issues/20
;; https://codeberg.org/guile-git/guile-git/issues/20
,@(if (target-ppc32?)
`(#:phases
(modify-phases %standard-phases
@@ -922,20 +925,7 @@ type system, elevating types to first-class status.")
(lambda _
(substitute* "Makefile.am"
((".*tests/blob\\.scm.*") ""))))))
'())
,@(if (system-hurd?)
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-tests/hurd
(lambda _
(substitute* "tests/proxy.scm"
(("\\(test-begin.*" all)
(string-append
all
"(when (string-ci= \"GNU\" (vector-ref (uname) 0))\n"
" (test-skip 1))\n")))))))
'())))
'())))
(native-inputs
(list pkg-config autoconf automake texinfo guile-3.0 guile-bytestructures))
(inputs
@@ -1004,7 +994,7 @@ Guile's foreign function interface.")
(file-name (string-append "guile-lzlib-" version ".tar.gz"))
(sha256
(base32
"1whgmwkr1v8m63p4aaqn8blwl9vcrswwhbfv4bm0aghl5a6rryd7"))
"1v1pfqp6hwl0rivs7swhqnfgznxlfnws9ldmn6avnhd10filfa3a"))
(patches (search-patches "guile-lzlib-gcc-14.patch"
"guile-lzlib-hurd64.patch"))))
(build-system gnu-build-system)

View File

@@ -914,7 +914,7 @@ regular) Diffie Hellman key exchanges, and many extensions.")
(list #:extra-directories (list "openssl")
#:configure-flags
#~(list "--ghc-options=-optc=-Wno-incompatible-pointer-types")))
(inputs (list ghc-network openssl))
(inputs (list ghc-network openssl-3.0))
(home-page "https://github.com/haskell-cryptography/HsOpenSSL")
(synopsis "Partial OpenSSL binding for Haskell")
(description

View File

@@ -489,11 +489,22 @@ lost.
"0b9d2i22ghyjarwi1c596q5mf7gj1k04k784hnmrd2d4x9hgv9ax"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags #~(list "--with-corosync" "--disable-static"
(list #:configure-flags #~(list "--with-corosync"
"--disable-static"
"--localstatedir=/var"
(string-append "--with-initdir="
#$output "/etc/init.d")
(string-append "--with-ocfdir="
#$output "/lib"))))
#$output "/lib"))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _
;; Do not attempt to install /var.
(substitute* '("Makefile.am"
"daemons/schedulerd/Makefile.am")
(("install-exec-local:")
"install-exec-local-disabled:")))))))
(native-inputs (list autoconf
automake
cmocka

View File

@@ -339,30 +339,6 @@ coverage.")
;; that list in further version.
(supported-systems (list "x86_64-linux"))))
(define-public lttng-modules
(package
(name "lttng-modules")
(version "2.13.14")
(source (origin
(method url-fetch)
(uri (string-append "https://lttng.org/files/lttng-modules/"
"lttng-modules-" version ".tar.bz2"))
(sha256
(base32
"19jx1yz1hsbr4vwfp2nr6z52a5g50iimaak962k49diay5zryi66"))))
(build-system linux-module-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags (list "CONFIG_LTTNG=m"
"CONFIG_LTTNG_CLOCK_PLUGIN_TEST=m")))
(home-page "https://lttng.org/")
(synopsis "LTTng kernel modules for the LTTng tracer toolset")
(description
"LTTng kernel modules are Linux kernel modules which make
LTTng kernel tracing possible. They include essential control modules and
many probes which instrument numerous interesting parts of Linux.")
(license (list license:lgpl2.1 license:gpl2 license:expat))))
(define-public lttng-ust
(package
(name "lttng-ust")

View File

@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2014-2019, 2021, 2026 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021, 2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2022 Marius Bakke <marius@gnu.org>
@@ -226,6 +226,18 @@ JNI.")
(setenv "JAVACMD" (search-input-file inputs "/bin/jamvm"))
(setenv "JAVAC" (search-input-file inputs "/bin/jikes"))
(setenv "CLASSPATH" (search-input-file inputs "/lib/rt.jar"))))
,@(if (target-x86-32?)
;; XXX: On i686 isFile() always seems to return true. Patching
;; this here is very ugly, but the effects are limited. None
;; of these changes remain by the time we've built Icedtea and
;; the other JDKs.
'((add-after 'unpack 'disable-isFile-checks
(lambda _
(substitute* "src/main/org/apache/tools/ant/util/ResourceUtils.java"
(("destFile = \\(\\(FileProvider\\).*") ""))
(substitute* "src/main/org/apache/tools/ant/taskdefs/Mkdir.java"
(("dir.isFile\\(\\)") "false")))))
'())
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Ant complains if this file doesn't exist.

View File

@@ -55,13 +55,12 @@
(modify-phases %standard-phases
(add-after 'unpack 'make-git-checkout-writable
(lambda _
(for-each make-file-writable (find-files "."))
#t))
(for-each make-file-writable (find-files "."))))
(add-before 'build 'remove-binaries
(lambda _
(delete-file "lib/org/xerial/snappy/OSInfo.class")
(delete-file-recursively "src/main/resources/org/xerial/snappy/native")
#t))
(delete-file-recursively
"src/main/resources/org/xerial/snappy/native")))
(add-before 'build 'build-jni
(lambda _
;; Rebuild one of the binaries we removed earlier
@@ -98,36 +97,33 @@
(add-after 'build-jni 'copy-jni
(lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")
#t))
"build/classes/org/xerial/snappy/native")))
(add-before 'build 'set-test-memory-size
(lambda _
(substitute* "build.xml"
(("<junit printsummary=") "<junit maxmemory=\"2G\" printsummary="))
#t))
(("<junit printsummary=")
"<junit maxmemory=\"2G\" printsummary="))))
(add-before 'check 'fix-failing
(lambda _
(with-directory-excursion "src/test/java/org/xerial/snappy"
;; This package assumes maven build, which puts results in "target".
;; We put them in "build" instead, so fix that.
;; This package assumes maven build, which puts results in
;; "target". We put them in "build" instead, so fix that.
(substitute* "SnappyLoaderTest.java"
(("target/classes") "build/classes"))
;; This requires Hadoop, which is not in Guix yet.
(delete-file "SnappyHadoopCompatibleOutputStreamTest.java"))
#t)))))
(delete-file "SnappyHadoopCompatibleOutputStreamTest.java")))))))
(inputs
`(("osgi-framework" ,java-osgi-framework)))
(list java-osgi-framework))
(propagated-inputs
`(("bitshuffle" ,bitshuffle-for-snappy)
("snappy" ,snappy)))
(list bitshuffle-for-snappy snappy))
(native-inputs
`(("junit" ,java-junit)
("hamcrest" ,java-hamcrest-core)
("xerial-core" ,java-xerial-core)
("classworlds" ,java-plexus-classworlds)
("commons-lang" ,java-commons-lang)
("commons-io" ,java-commons-io)
("perl" ,perl)))
(list java-junit
java-hamcrest-core
java-xerial-core
java-plexus-classworlds
java-commons-lang
java-commons-io
perl))
(home-page "https://github.com/xerial/snappy-java")
(synopsis "Compression/decompression algorithm in Java")
(description "Snappy-java is a Java port of snappy, a fast C++
@@ -156,13 +152,13 @@ compressor/decompressor.")
(add-before 'build 'remove-binaries
(lambda _
(delete-file "lib/org/xerial/snappy/OSInfo.class")
(delete-file-recursively "src/main/resources/org/xerial/snappy/native")
#t))
(delete-file-recursively
"src/main/resources/org/xerial/snappy/native")))
(add-before 'build 'build-jni
(lambda _
;; Rebuild one of the binaries we removed earlier
(invoke "javac" "src/main/java/org/xerial/snappy/OSInfo.java"
"-d" "lib")
"-d" "lib")
;; Link to the dynamic snappy, not the static ones
(substitute* "Makefile.common"
(("-shared") "-shared -lsnappy"))
@@ -184,16 +180,14 @@ compressor/decompressor.")
(add-after 'build-jni 'copy-jni
(lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")
#t))
"build/classes/org/xerial/snappy/native")))
(add-before 'check 'fix-tests
(lambda _
(mkdir-p "src/test/resources/org/xerial/snappy/")
(copy-recursively "src/test/java/org/xerial/snappy/testdata"
"src/test/resources/org/xerial/snappy/testdata")
(install-file "src/test/java/org/xerial/snappy/alice29.txt"
"src/test/resources/org/xerial/snappy/")
#t)))))))
"src/test/resources/org/xerial/snappy/"))))))))
(define-public java-iq80-snappy
(package

View File

@@ -1285,7 +1285,13 @@ new Date();"))))
;; It looks like the "--disable-warnings-as-errors" option of
;; the 'configure' phase is not working.
(substitute* "make/autoconf/generated-configure.sh"
(("-Werror") ""))))))
(("-Werror") ""))))
#$@(if (target-x86-32?)
;; On i686 the C2 compiler sometimes crashes when importing
;; certificates.
#~((add-before 'install-keystore 'disable-C2-compiler
(lambda _ (setenv "_JAVA_OPTIONS" "-XX:TieredStopAtLevel=1"))))
#~())))
((#:disallowed-references refs '())
(cons* (this-package-native-input "openjdk")
(gexp-input (this-package-native-input "openjdk") "jdk")
@@ -1844,12 +1850,50 @@ blacklisted.certs.pem"
(define-public openjdk24
(make-openjdk
openjdk23 "24.0.1"
"0h6sbzbjyqg85iml41pswdh2z3d7h2hhb0sd5yll37r1mj5lsxmx"))
"0h6sbzbjyqg85iml41pswdh2z3d7h2hhb0sd5yll37r1mj5lsxmx"
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags #~(list))
(if (target-x86-32?)
#~(cons* "--enable-deprecated-ports=yes" #$flags)
flags))))))
(define-public openjdk25
(make-openjdk
openjdk24 "25.0.2"
"03aa34lscr3qbdl6qz3gqyp0nzkqfj02362mzmpkiq3y2g5xdnrj"))
"03aa34lscr3qbdl6qz3gqyp0nzkqfj02362mzmpkiq3y2g5xdnrj"
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags #~(list))
(if (target-x86-32?)
;; Full builds on 32-bit x86 architectures are not supported as of
;; this version. Best we can do is to build with the "zero" variant.
#~(cons* "--with-jvm-variants=zero"
"--disable-precompiled-headers"
#$flags)
flags))
((#:phases phases #~%standard-phases)
(if (target-x86-32?)
#~(modify-phases #$phases
(replace 'install
(lambda _
(let ((images (car (find-files "build" "-zero-release"
#:directories? #t))))
(copy-recursively (string-append images "/images/jdk")
#$output:jdk)
(copy-recursively (string-append images "/images/jre")
#$output)
(copy-recursively (string-append images "/images/docs")
#$output:doc))))
(replace 'install-libjvm
(lambda _
(let ((lib-out (string-append #$output "/lib"))
(lib-jdk (string-append #$output:jdk "/lib")))
(symlink (string-append lib-jdk "/zero/libjvm.so")
(string-append lib-jdk "/libjvm.so"))
(symlink (string-append lib-out "/zero/libjvm.so")
(string-append lib-out "/libjvm.so"))))))
phases))))))
;;; Convenience alias to point to the latest version of OpenJDK.
(define-public openjdk openjdk25)

View File

@@ -22,6 +22,7 @@
;;; Copyright © 2024, 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
;;; Copyright © 2026 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -52,7 +53,9 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
#:use-module (gnu packages databases)
#:use-module (gnu packages docker)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages linux)
#:use-module (gnu packages monitoring)
#:use-module (gnu packages networking)
@@ -1710,13 +1713,13 @@ analyzing Jupyter Notebooks.")
(define-public python-qtconsole
(package
(name "python-qtconsole")
(version "5.7.0")
(version "5.7.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "qtconsole" version))
(sha256
(base32 "0w9i0s70dm39cxgn3vh4wcaxdywzp9j0ac7f49q4qmggx4f3fcqd"))))
(base32 "088m56fav6xlcw55srxz96yf7rj2ndmycy4f3m69498r2swqbd17"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1764,6 +1767,67 @@ analyzing Jupyter Notebooks.")
rich media output.")
(license license:bsd-3)))
(define-public python-spyder-kernels
(package
(name "python-spyder-kernels")
(version "3.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/spyder-ide/spyder-kernels")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yhrifh148g93qkwx9ggsh2kr9789apzlw91ais4dyas5yf1xj8w"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "-k" (string-append
;; Avoid pulling Django for a single test.
"not test_django_settings"
;; AssertionError.
" and not test_umr_reload_modules"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'redirect-HOME
(lambda _
(setenv "HOME" "/tmp"))))))
(propagated-inputs (list python-cloudpickle
python-ipykernel
python-ipython
python-jupyter-client
python-packaging
python-pyxdg
python-pyzmq
python-traitlets
python-wurlitzer))
(native-inputs (list python-anyio
python-cython
python-dask
python-h5py
python-matplotlib
python-numpy
python-pandas
python-pillow
python-polars
python-pyarrow
python-pydicom
python-pytest
python-scipy
python-setuptools
python-xarray))
(home-page "https://github.com/spyder-ide/spyder-kernels")
(synopsis "Jupyter kernels for Spyder's console")
(description "This package provides Jupyter kernels for use with the
consoles of Spyder, the Scientific Python Development Environment.
These kernels can be launched either through Spyder itself or in an
independent Python session, and allow for interactive or file-based execution
of Python code inside Spyder.")
(license license:expat)))
(define-public python-voila
(package
(name "python-voila")

View File

@@ -1191,37 +1191,42 @@ CDs.")
(define-public plasmatube
(package
(name "plasmatube")
(version "25.12.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/plasmatube-" version ".tar.xz"))
(sha256
(base32
"1jc6iqcxz0zyai26vx80nyfr818r4cj8lpw0b1pbvb1vya12v8zy"))))
(version "26.04.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/plasmatube-" version ".tar.xz"))
(sha256
(base32 "0dby9wypbrhg6g03kvl8fc40zpnri03hf3kk3vi1z16pwc7sn093"))))
(build-system qt-build-system)
(native-inputs (list extra-cmake-modules pkg-config python-minimal))
(inputs
(list kconfig
kcoreaddons
kdbusaddons
kdeclarative ; for org.kde.kquickcontrolsaddons
ki18n
kirigami
kirigami-addons
ki18n
kitemmodels
kwindowsystem
mpvqt
purpose
qqc2-desktop-style ; for org.kde.desktop
qtdeclarative
qtkeychain-qt6
qtmultimedia
qtsvg
qtkeychain-qt6
qtwayland
sonnet
yt-dlp))
(arguments (list #:qtbase qtbase))
(home-page "https://apps.kde.org/plasmatube/")
(synopsis "Kirigami YouTube video player")
(description "This package provides YouTube video player based
on QtMultimedia and @command{yt-dlp}.")
(synopsis "YouTube and PeerTube video player")
(description
"Plasmatube is a YouTube video player that uses Invidious and Piped
APIs. It can also play videos from PeerTube sources.")
(license license:gpl3+)))
(define-public rattlesnake

View File

@@ -125,14 +125,14 @@
;; ex:
;; tar xf /gnu/store/...-firefox-123.4.source.tar.xz -O \
;; firefox-123.4/browser/locales/l10n-changesets.json | grep revision
(let ((commit "0245ffb160688061f0e0c67ea488bcdfdacbeca4"))
(let ((commit "fefe280d909d0eee8d60edd2a6db7d969df56c5b"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
(commit commit)))
(file-name (git-file-name "firefox-l10n" commit))
(sha256 (base32 "0y8xdxql04yys0wj685v4yp3kmx1ivnndg6z11vam8vszh0j7ak6")))))
(sha256 (base32 "0z1ksvspbn4bbzxdl2w4x7bg36j4rwhaby8g37apg4393frh558i")))))
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
(let* ((ff-src (firefox-source-origin
@@ -205,7 +205,8 @@
(search-patches
"librewolf-compare-paths.patch"
"librewolf-use-system-wide-dir.patch"
"librewolf-add-store-to-rdd-allowlist.patch"))
"librewolf-add-store-to-rdd-allowlist.patch"
"librewolf-150.0-encoding_rs-rust-fix.patch"))
;; Slim down the tarball by removing unbundled libraries and 75 Mo (800+
;; Mo uncompressed) of unused tests.
;; TODO: Unbundle security/nss and media/libpng.
@@ -244,17 +245,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 "20260409162101")
(define %librewolf-build-id "20260421153818")
(define-public librewolf
(package
(name "librewolf")
(version "149.0.2-2")
(version "150.0-1")
(source
(make-librewolf-source
#:version version
#:firefox-hash "1kkhg3lgyakinn5ankxrlxbf39wi61mqbhwrj1l4q5l7y0n1m4va"
#:librewolf-hash "1bai8g2kc9snck2f724al29q6r57vkj3d7v58rf0mgzpqzvwnw5f"
#:firefox-hash "151rxzl80dm8jsxl6fwzgbirwq4zpms5adwwnbjcwdd1r3s3vr7v"
#:librewolf-hash "0iw9v3zc1fxc93yyhldqarxaypgmbndh2ylsy330kcbpb6p1gnmr"
#:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments
@@ -352,18 +353,18 @@
(cdr pref)))
`(("extensions.getAddons.search.browseURL"
,(string-append
"https://gnuzilla.gnu.org/mozzarella/"
"https://gnuzilla.gnu.org/"
"search.php?q=%TERMS%"))
("extensions.getAddons.get.url" .
"https://gnuzilla.gnu.org/mozzarella")
"https://gnuzilla.gnu.org")
("extensions.getAddons.link.url" .
"https://gnuzilla.gnu.org/mozzarella")
"https://gnuzilla.gnu.org")
("extensions.getAddons.discovery.api_url" .
"https://gnuzilla.gnu.org/mozzarella")
"https://gnuzilla.gnu.org")
("extensions.getAddons.langpacks.url" .
"https://gnuzilla.gnu.org/mozzarella")
"https://gnuzilla.gnu.org")
("lightweightThemes.getMoreURL" .
"https://gnuzilla.gnu.org/mozzarella")))))))
"https://gnuzilla.gnu.org")))))))
(add-after 'patch-source-shebangs 'patch-cargo-checksums
(lambda _
(use-modules (guix build cargo-utils))

View File

@@ -2767,32 +2767,6 @@ This package provides the @command{corefreqd} data collection daemon, the
(supported-systems (list "x86_64-linux"))
(license license:gpl2)))
(define-public librem-ec-acpi-linux-module
(package
(name "librem-ec-acpi-linux-module")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://source.puri.sm/nicole.faerber/librem-ec-acpi-dkms")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0m8hamf0550083jnk5q4hv20l8lfiardnkxbib4hhvqghpzzbxl0"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f)) ; no test suite
(home-page "https://source.puri.sm/nicole.faerber/librem-ec-acpi-dkms")
(synopsis "Linux kernel module to control the Librem Embedded Controller")
(description
"This is the Linux kernel @acronym{ACPI, Advanced Configuration and Power
Interface} platform driver for the @acronym{EC, Embedded Controller} firmware
on Purism Librem laptop computers. It allows user-space control over the
battery charging thresholds, keyboard backlight, fans and thermal monitors,
and the notification, WiFi, and Bluetooth LED.")
(license license:gpl2)))
(define-public tuxedo-keyboard
(package
(name "tuxedo-keyboard")
@@ -2823,70 +2797,6 @@ kernel modules to control the keyboard on most Tuxedo computers. The @code{tuxed
module is also needed for the @code{tuxedo-control-center} (short tcc) package.")
(license license:gpl2+)))
(define-public evdi
(package
(name "evdi")
(version "1.14.8") ;inherited by libevdi
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/DisplayLink/evdi")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "18n8kk4gbbj252a2dqb7mbpscfb437x42flh1fsl4g5c8brczc77"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f ;no test suite
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "module"))))))
(home-page "https://github.com/DisplayLink/evdi")
(synopsis
"@acronym{EVDI, Extensible Virtual Display Interface} Linux kernel module")
(description
"The @acronym{EVDI, Extensible Virtual Display Interface} is a Linux kernel
module that enables management of multiple screens, allowing user-space programs
to take control over what happens with the image. It is essentially a virtual
display for which applications using the @code{libevdi} library can add, remove,
and receive screen updates.
The EVDI driver uses the standard Linux @acronym{DRM, Direct Rendering Manager}.
Its displays can be controlled by standard tools such as @command{xrandr} and
display settings applets in graphical environments")
(license license:gpl2)))
(define-public libevdi
(package
(inherit evdi)
(name "libevdi")
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target)))
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'chdir
(lambda _
(chdir "library")))
(replace 'install
(lambda* _
(let* ((lib (string-append #$output "/lib")))
(mkdir-p lib)
(install-file "libevdi.so" lib)))))))
(inputs (list libdrm))
(native-inputs (list pkg-config))
(synopsis
"@acronym{EVDI, Extensible Virtual Display Interface} user-space library")
(description
"Libevdi is a library that gives applications easy access to
@acronym{EVDI, Extensible Virtual Display Interface} devices provided by the
@code{evdi} driver package.")
(license license:lgpl2.1)))
(define-public ec
(package
(name "ec")
@@ -2912,62 +2822,6 @@ registers of the @acronym{EC, Embedded Controller} supported by the
@code{ec_sys} Linux driver.")
(license license:gpl2)))
(define-public lkrg
(package
(name "lkrg")
(version "0.9.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lkrg-org/lkrg")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0k0z9caj48nqjwk3bapgfcdzi1lkizxcjj4r1dvkvwsk38mbk1c4"))))
(build-system linux-module-build-system)
(arguments
(list #:linux linux-libre
#:tests? #f
#:make-flags #~(list (string-append "CC="
#$(cc-for-target))
(string-append "SYSSRC="
(assoc-ref %build-inputs
"linux-module-builder")
"/lib/modules/build"))))
(inputs (list bash-minimal))
(home-page "https://lkrg.org/")
(synopsis "Linux Kernel Runtime Guard")
(description
"This package performs runtime integrity checking of the Linux kernel and
detection of security vulnerability exploits against the kernel.")
(license license:gpl2)))
(define-public vhba-module
(package
(name "vhba-module")
(version "20211218")
(source
(origin
(method url-fetch)
(uri (string-append
"http://downloads.sourceforge.net/cdemu/vhba-module/vhba-module-"
version ".tar.xz"))
(sha256
(base32 "1dkprnnya0i8121p7ip4g8cww99drk7fzbwcxx65x02jqk0siibj"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f)) ; no test suite
(home-page "https://cdemu.sourceforge.io/")
(synopsis "Linux kernel module that emulates SCSI devices")
(description
"The @acronym{VHBA, Virtual SCSI Host Bus Adapter} module is the link
between the CDemu user-space daemon and the kernel Linux. It acts as a
low-level SCSI driver that emulates a virtual SCSI adapter which can have
multiple virtual devices attached to it. Its typical use with CDEmu is to
emulate optical devices such as DVD and CD-ROM drives.")
(license license:gpl2+)))
(define-public bbswitch-module
;; Use "develop" branch since stable release does not build on Linux >= 5.6.
;; See https://github.com/Bumblebee-Project/bbswitch/issues/205.
@@ -3164,36 +3018,6 @@ Linux kernel module, it also contains a modprobe configuration and udev rules,
which need to be installed separately.")
(license license:gpl3+)))
(define-public vendor-reset-linux-module
(let ((commit "4b466e92a2d9f76ce1082cde982c7be0be91e248")
(revision "0"))
(package
(name "vendor-reset-linux-module")
(version (git-version "0.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gnif/vendor-reset")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1gaf4j20grng689c9fylcqri3j9ycnhr2bsva2z6qcdqvzl6yxbi"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f)) ;no test suite
(home-page "https://github.com/gnif/vendor-reset")
(synopsis
"Kernel module that resets GPUs that are affected by the reset bug")
(description
"This package provides a kernel module that is capable of
resetting hardware devices into a state where they can be
re-initialized or passed through into a virtual machine (VFIO).
While it would be great to have these in the kernel as PCI quirks,
some of the reset procedures are very complex and would never be
accepted as a quirk (ie AMD Vega 10).")
(license license:gpl2))))
;;;
;;; Pluggable authentication modules (PAM).
@@ -12094,7 +11918,7 @@ provides user-space tools for creating EROFS file systems.")
(define-public rasdaemon
(package
(name "rasdaemon")
(version "0.8.3")
(version "0.8.4")
(source
(origin
(method git-fetch)
@@ -12103,9 +11927,17 @@ provides user-space tools for creating EROFS file systems.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vfw4vf75fnpbxnfsmpdwdzhplnccz24j23bg6nsb3b4wa8hv4sa"))))
(base32 "1930g35igfdw5bzcd6diy59rm1q4yirpjgqznfqfsichnmk04kmf"))))
(native-inputs (list autoconf automake libtool pkg-config))
(inputs (list bash-minimal libtraceevent perl perl-dbd-sqlite sqlite dmidecode kmod))
(inputs
(list bash-minimal
dmidecode
kmod
libtraceevent
pciutils
perl
perl-dbd-sqlite
sqlite))
(arguments
(list
#:configure-flags

View File

@@ -89,6 +89,7 @@
#:use-module (gnu packages wget)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (ice-9 match)
#:use-module ((srfi srfi-1) #:hide (zip)))
(define (lua-search-paths version)
@@ -170,6 +171,22 @@ for configuration, scripting, and rapid prototyping.")
"lua-5.4-search-paths.patch"))))
(native-search-paths (lua-search-paths "5.4"))))
(define-public lua-5.4-for-c++
(let ((lua-pkg lua-5.4))
(hidden-package
(package/inherit lua-pkg
(name (string-append (package-name lua-pkg) "-for-c++"))
(arguments
(substitute-keyword-arguments (package-arguments lua-pkg)
((#:make-flags old-flags)
(map
(match-lambda
((string-append "CC=" _)
`(string-append "CC=" ,(cxx-for-target)))
(else else))
old-flags))))))))
(define-public lua-5.2
(package (inherit lua)
(version "5.2.4")

View File

@@ -488,7 +488,7 @@ with different rules and mechanics.")
(define-public luanti-mineclonia
(package
(name "luanti-mineclonia")
(version "0.120.1")
(version "0.121.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -497,7 +497,7 @@ with different rules and mechanics.")
(file-name (git-file-name name version))
(sha256
(base32
"135xllkvdravry25y1f94wqn7nxb0pnrpn7xiagh2b5vjbajhdg4"))))
"1c3x59iq04vfc0fa09z6g8davrr2vhdywppdbgyw64n7vk4f6br9"))))
(build-system copy-build-system)
(arguments
`(#:install-plan

View File

@@ -2475,6 +2475,9 @@ similar to MATLAB, GNU Octave or SciPy.")
;; "--enable-doxygen"
"--enable-dot"
"--enable-netcdf-4"
#$@(if (or (target-x86-32?) (target-arm32?))
'("CFLAGS=-Wno-error=incompatible-pointer-types")
'())
(string-append "--with-plugin-dir=" #$output "/lib/hdf5-plugins"))
#:phases
#~(modify-phases %standard-phases
@@ -2486,7 +2489,15 @@ similar to MATLAB, GNU Octave or SciPy.")
(("testurl.sh") ""))
(substitute* "nczarr_test/Makefile.in"
(("/bin/bash")
(search-input-file inputs "bin/bash")))))
(search-input-file inputs "bin/bash")))
;; This test fails on 32 bit platforms.
#$@(if (or (target-x86-32?) (target-arm32?))
'((substitute* '("ncdump/tst_netcdf4_4.sh"
"ncdump/tst_nccopy4.sh")
(("#!/bin/sh" m) (string-append m "\nexit 0\n")))
(substitute* "ncdump/Makefile.in"
(("tst_netcdf4_4.log") "")))
'())))
(add-before 'configure 'fix-source-date
(lambda _
;; As we ${SOURCE_DATE_EPOCH} evaluates to "1" in the build
@@ -9647,7 +9658,7 @@ researchers and developers alike to get started on SAT.")
(define-public kissat
(package
(name "kissat")
(version "4.0.1")
(version "4.0.4")
(source
(origin
(method git-fetch)
@@ -9657,7 +9668,7 @@ researchers and developers alike to get started on SAT.")
(file-name (git-file-name name version))
(sha256
(base32
"0acg61cfcjg13if2i375cyl4xvwmabhfhi9z8pnw971046am6bzv"))))
"1snimig4cp97p570nin2i38my72zvwypldyhr125i1z6cd9pa046"))))
(build-system gnu-build-system)
(inputs (list xz gzip lzip bzip2 p7zip))
(arguments
@@ -9668,6 +9679,10 @@ researchers and developers alike to get started on SAT.")
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "test/testfile.c"
;; Don't check if /etc/passwd isn't writable.
;; When building in a container/chroot, this fails spuriously.
((".*/etc/passwd.*") ""))
(substitute* "scripts/generate-build-header.sh"
;; by default BUILD includes the build date which
;; makes the build not reproducible.
@@ -11454,7 +11469,7 @@ expression parsing and evaluation.")
(define-public highs
(package
(name "highs")
(version "1.10.0")
(version "1.14.0")
(source
(origin
(method git-fetch)
@@ -11463,14 +11478,14 @@ expression parsing and evaluation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19q99nkk6r6k91gxp8a5rjil1399qyfgfc6jqlg2gd82vpcw8c8b"))))
(base32 "16y664rzvxd8785195k0srz0842zvl0zdkf6qi103p503pj81afh"))))
(build-system cmake-build-system)
(home-page "https://highs.dev")
(synopsis "High performance software for linear optimization")
(description
"HiGHS provides serial and parallel solvers for large-scale sparse
linear programming (LP), mixed-integer programming (MIP), and quadratic
programming (QP) models")
programming (QP) models.")
(license license:expat)))
(define-public trilinos-zoltan

View File

@@ -1151,7 +1151,7 @@ simultaneously and therefore appear under the same nickname on IRC.")
(define-public python-nbxmpp
(package
(name "python-nbxmpp")
(version "7.1.0")
(version "7.2.0")
(source
(origin
(method git-fetch)
@@ -1160,7 +1160,7 @@ simultaneously and therefore appear under the same nickname on IRC.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1n7b6yv2k89hsmhmx9pi7m8l3aq97xppaz3hm7mvqgvxnlw0c1kr"))))
(base32 "1dyf4jh76ffbl45x4cpk6rsn1r4wck54b3d8wfd2swxaqq4p7lis"))))
(build-system pyproject-build-system)
(arguments (list #:test-backend #~'unittest))
(propagated-inputs
@@ -1184,7 +1184,7 @@ of xmpppy.")
(define-public gajim
(package
(name "gajim")
(version "2.4.5")
(version "2.4.6")
(source
(origin
(method url-fetch)
@@ -1192,7 +1192,7 @@ of xmpppy.")
(version-major+minor version)
"/gajim-" version ".tar.gz"))
(sha256
(base32 "1rkxzf1pfd29rip5bw4730fl7b2xk12zpiwnfkyzxlkmbh4j3kp2"))
(base32 "0ilpgkzw45scjlnag94p8v6np629v7w0ihci5a2w5d742gpqvq6c"))
(patches
(search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch"))))
(build-system pyproject-build-system)
@@ -1278,7 +1278,6 @@ of xmpppy.")
glib
glib-networking
gsettings-desktop-schemas
gsound
libspelling
libadwaita
gstreamer
@@ -1293,6 +1292,7 @@ of xmpppy.")
libsoup
libxscrnsaver
network-manager
python-cryptography
python-css-parser
python-dbus-1.2
python-emoji
@@ -2839,7 +2839,7 @@ implementation of an MQTT version client class.")
(define-public psi-plus
(package
(name "psi-plus")
(version "1.5.1484")
(version "1.5.2115")
(source
(origin
(method git-fetch)
@@ -2853,7 +2853,7 @@ implementation of an MQTT version client class.")
`(begin
(delete-file-recursively "3rdparty")))
(sha256
(base32 "1jsm39nzzbqkp3zc0xqx7jid6p4q1ra28xad38wjr2l1jb8qjn24"))))
(base32 "14za9rh7nszv5px5a2w43ysi9977zws8a5mxsh7wc8ksr693faz2"))))
(build-system qt-build-system)
(arguments
`(#:tests? #f ; No target
@@ -2910,19 +2910,13 @@ implementation of an MQTT version client class.")
"qite/qiteaudio.h")
(("qiteaudiorecorder.h")
"qite/qiteaudiorecorder.h"))))
(add-after 'install 'wrap-env
(add-after 'install 'wrap-executable
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each
(lambda (name)
(let ((file (string-append out "/bin/" name))
(gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program file
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))
'("psi-plus")))))
(add-after 'wrap-env 'glib-or-gtk-compile-schemas
(wrap-program (string-append out "/bin/psi-plus")
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
`("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))))))
(add-after 'wrap-executable 'glib-or-gtk-compile-schemas
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
(add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
@@ -2945,6 +2939,7 @@ implementation of an MQTT version client class.")
libgcrypt
libgpg-error
libidn
libomemo-c
libotr
libsignal-protocol-c
tidy-html
@@ -2964,11 +2959,11 @@ implementation of an MQTT version client class.")
libxcb
libxscrnsaver
zlib))
(home-page "https://psi-plus.com/")
(home-page "https://psi-im.com/")
(synopsis "Qt-based XMPP Client")
(description
"Psi+ is a spin-off of Psi XMPP client. It is a powerful XMPP client
designed for experienced users.")
"Psi+ is a powerful XMPP client designed for experienced users.
It's a spin-off of the Psi XMPP client.")
(license license:gpl2+)))
(define-deprecated-package psi

View File

@@ -1,11 +1,16 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2021, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018-2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019, 2023 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
@@ -19,9 +24,6 @@
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2025 Christian Birk Sørensen <chrbirks@gmail.com>
;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019, 2023 Vasile Dumitrascu <va511e@yahoo.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -70,6 +72,7 @@
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages lua)
#:use-module (gnu packages mail)
@@ -411,6 +414,37 @@ system statistics (CPU, disk, and memory usage, etc.) and more on the
desktop.")
(license license:gpl3+)))
(define-public gkrellm
(package
(name "gkrellm")
(version "2.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://gkrellm.srcbox.net/releases/gkrellm-"
version ".tar.bz2"))
(sha256
(base32 "0qvy2xmwmfy5f0g09yn9lr262shnx82ba04r5il2wj4qscg3r7h8"))))
(build-system gnu-build-system)
(inputs (list gtk+-2 libsm))
(native-inputs (list gettext-minimal pkg-config))
(arguments
(list
#:tests? #f ;there is no check target
#:phases
#~(modify-phases %standard-phases
(delete 'configure)) ;no configure script
#:make-flags
#~(list (string-append "INSTALLROOT=" #$output)
(string-append "CC=" #$(cc-for-target)))))
(home-page "https://gkrellm.srcbox.net/")
(synopsis "System monitors")
(description
"GKrellM is a single process stack of system monitors which supports
applying themes to match its appearance to your window manager, Gtk, or any
other theme.")
(license license:gpl3+)))
(define-public glances
(package
(name "glances")

View File

@@ -76,95 +76,7 @@
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
(define-public hwloc-1
(package
(name "hwloc")
(version "1.11.13")
(source (origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
(version-major+minor version)
"/downloads/hwloc-" version ".tar.bz2"))
(sha256
(base32
"1j69p8a1pjpbpwn4w7l4dfxmaxxqikchjzqw1ncw05zmcmvlnjd4"))
(patches (search-patches "hwloc-1-test-btrfs.patch"))))
(properties
;; Tell the 'generic-html' updater to monitor this URL for updates.
`((release-monitoring-url
. "https://www-lb.open-mpi.org/software/hwloc/current")))
(build-system gnu-build-system)
(outputs '("out" ;'lstopo' & co., depends on Cairo, libx11, etc.
"lib" ;small closure
"doc" ;400+ section 3 man pages
"debug"))
(inputs
(append (if (%current-target-system)
'() ;fewer dependencies when cross-compiling
(list libx11 cairo ncurses expat))
(if (target-arm32?) '() (list numactl))))
(propagated-inputs
;; hwloc.pc lists it in 'Requires.private'.
(list libpciaccess))
(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"))))))))
(home-page "https://www.open-mpi.org/projects/hwloc/")
(synopsis "Abstraction of hardware architectures")
(description
"hwloc provides a portable abstraction (across OS,
versions, architectures, ...) of the hierarchical topology of modern
architectures, including NUMA memory nodes, sockets, shared caches, cores and
simultaneous multithreading. It also gathers various attributes such as cache
and memory information. It primarily aims at helping high-performance
computing applications with gathering information about the hardware so as to
exploit it accordingly and efficiently.
hwloc may display the topology in multiple convenient formats. It also offers
a powerful programming interface to gather information about the hardware,
bind processes, and much more.")
(license license:bsd-3)))
(define-public hwloc-2
(define-public hwloc
(package
(name "hwloc")
(version "2.13.0")
@@ -274,10 +186,6 @@ a powerful programming interface to gather information about the hardware,
bind processes, and much more.")
(license license:bsd-3)))
(define-public hwloc
;; The latest stable series of hwloc.
hwloc-2)
(define-public openmpi-4
(package
(name "openmpi")
@@ -306,7 +214,7 @@ bind processes, and much more.")
(package-supported-systems package)))
(list package)
'()))))
(append (list `(,hwloc-2 "lib")
(append (list `(,hwloc "lib")
gfortran
libfabric-1 ;fails to build with 2.3
libevent
@@ -699,7 +607,7 @@ arrays) that expose a buffer interface.")
(build-system gnu-build-system)
(inputs
`(,zlib
(,hwloc-2 "lib")
(,hwloc "lib")
,slurm
,@(if (and (not (%current-target-system))
(member (%current-system) (package-supported-systems ucx)))

View File

@@ -966,7 +966,7 @@ fi"
icu4c-76
libuv-for-node-lts
`(,nghttp2 "lib")
openssl
openssl-3.0
zlib
; ngtcp2? nghttp3?
;; Regular build-time dependencies.
@@ -986,7 +986,7 @@ fi"
ngtcp2
nghttp3
`(,nghttp2 "lib")
openssl
openssl-3.0
zlib))
(supported-systems
(cons "riscv64-linux" (package-supported-systems node-bootstrap)))

View File

@@ -286,7 +286,7 @@ This package tracks the Extended Support Release (ESR) channel.")
(package
(inherit nss)
(name "nss-rapid")
(version "3.121")
(version "3.123")
(source
(origin
(inherit (package-source nss))
@@ -297,7 +297,7 @@ This package tracks the Extended Support Release (ESR) channel.")
"releases/NSS_" version-with-underscores "_RTM/src/"
"nss-" version ".tar.gz")))
(sha256
(base32 "0bk3lxmj364vlf4x2q01pf0li3mm5ixgnfnxirxqp9xyh63qyfnb"))
(base32 "0jafdl18q9j36bwk73i462qkc24070b5llchffd7fsd2k0ri2i91"))
(patches
(search-patches "nss-3.56-pkgconfig.patch"
"nss-getcwd-nonnull.patch"

View File

@@ -173,7 +173,7 @@ time-stamping or reference clock, sub-microsecond accuracy is possible.")
(native-inputs (list which pkg-config))
(inputs (cons* guile-3.0 ; for wrap-script
libevent
openssl
openssl-3.0
perl
perl-http-tiny
perl-io-socket-ssl

View File

@@ -81,72 +81,3 @@
(description "This tool extracts cooking recipe from HTML structured data
in the @url{https://schema.org/Recipe} format.")
(license asl2.0)))
(define-public gourmet
;; Use the latest commit to gain Python 3 support.
(let ((revision "0")
(commit "8af29c8ded24528030e5ae2ea3461f61c1e5a575"))
(package
(name "gourmet")
(version (git-version "0.17.4" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thinkle/gourmet")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"08fbw6zp32ws6w9czwy2sqc9c9izlkglsskshj2114d0l79z4gj8"))
(patches (search-patches "gourmet-sqlalchemy-compat.patch"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; XXX: Some tests in deeper directories or otherwise discovered by
;; Pytest are broken.
#~(list "--ignore-glob=gourmet/tests/**/*.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-environemnt
(lambda _
(setenv "HOME" "/tmp")
(system "Xvfb &")
(setenv "DISPLAY" ":0")))
(add-after 'install 'install-dekstop-file-and-icons
(lambda _
(define share (string-append #$output "/share"))
(install-file ".flatpak/io.github.thinkle.Gourmet.desktop"
(string-append share "/applications"))
(install-file ".flatpak/io.github.thinkle.Gourmet.svg"
(string-append share "/icons/Gourmet")))))))
(native-inputs
(list python-dogtail
python-pytest
python-selenium
python-setuptools
xorg-server-for-tests))
(inputs
(list gtk+
python-argcomplete
python-beautifulsoup4
python-gst
python-keyring
python-lxml
python-pillow
python-pycairo
python-pyenchant
python-pygobject
python-requests
python-scrape-schema-recipe
python-sqlalchemy
python-toml))
(home-page "https://thinkle.github.io/gourmet/")
(synopsis "Recipe organizer")
(description
"Gourmet Recipe Manager is a recipe organizer that allows you to collect,
search, organize, and browse your recipes. Gourmet can also generate shopping
lists and calculate nutritional information. It imports Mealmaster,
MasterCook and KRecipe files and exports PDFs, webpages, and other formats.")
(license gpl2+))))

View File

@@ -1,8 +1,4 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,98 +16,8 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages nvi)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages dbm)
#:use-module (gnu packages ncurses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix gexp)
#:use-module (guix licenses)
#:use-module (guix utils))
#:use-module (gnu packages text-editors)
#:use-module (guix deprecation))
(define-public nvi
(package
(name "nvi")
(version "1.81.6")
(source
(origin
(method url-fetch)
(uri ;; sites.google.coma/bostic.com/keithbostic/vi is stale.
(string-append "http://harrier.slackbuilds.org/misc/nvi-" version
".tar.bz2"))
(sha256
(base32 "0nbbs1inyrqds0ywn3ln5slv54v5zraq7lszkg8nsavv4kivhh9l"))
(patches (search-patches "nvi-assume-preserve-path.patch"
"nvi-dbpagesize-binpower.patch"
"nvi-add-function-prototypes.patch"
"nvi-db4.patch"))
(modules '((guix build utils)))
(snippet
;; Create a wrapper for the configure script, make it executable.
'(let ((conf-wrap (open-output-file "configure")))
(display "#!/bin/sh" conf-wrap)
(newline conf-wrap)
(display
"../nvi-1.81.6/dist/configure --srcdir=../nvi-1.81.6/dist $@"
conf-wrap)
(newline conf-wrap)
(close-output-port conf-wrap)
(chmod "configure" #o0755)
;; Glibc 2.30 removed the deprecated <sys/stropts.h>, so fall back
;; to the internal PTY allocation logic.
(substitute* "ex/ex_script.c"
(("#ifdef HAVE_SYS5_PTY")
"#if defined(HAVE_SYS5_PTY) && !defined(__GLIBC__)"))
#t))))
(build-system gnu-build-system)
(arguments
(list
#:out-of-source? #t
#:configure-flags
#~'("--enable-widechar"
#$@(if (%current-target-system)
'("vi_cv_sprintf_count=yes")
'()))
#:make-flags
#~(list
;; Add CFLAGS to relax gcc-14's strictness.
;; nvi's configure chokes on passing CFLAGS and ignores
;; CFLAGS set in the environment.
(string-append "CFLAGS=-g -O2"
" -Wno-error=incompatible-pointer-types"))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'fix-configure
(lambda* (#:key inputs native-inputs #:allow-other-keys)
;; Replace outdated config.sub and config.guess:
(with-directory-excursion "dist"
(for-each
(lambda (file)
(chmod file #o755)
(install-file
(format #f "~a/share/automake-~a/~a"
(assoc-ref (or native-inputs inputs)
"automake")
#$(version-major+minor
(package-version automake))
file)
"."))
'("config.sub" "config.guess"))))))))
(inputs
(list bdb ncurses))
(native-inputs
(list automake)) ;Up to date 'config.guess' and 'config.sub'.
(synopsis "The Berkeley Vi Editor")
(description
"Vi is the original screen based text editor for Unix systems. It is
considered the standard text editor, and is available on almost all Unix
systems. Nvi is intended as a \"bug-for-bug compatible\" clone of the
original BSD vi editor. As such, it doesn't have a lot of snazzy features as
do some of the other vi clones such as elvis and vim. However, if all you
want is vi, this is the one to get.")
(home-page "https://sites.google.com/a/bostic.com/keithbostic/vi")
(license bsd-3)))
(define-deprecated/public-alias nvi
(@ (gnu packages text-editors) nvi))

View File

@@ -91,6 +91,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages unicode)
#:use-module (gnu packages version-control)
#:use-module (gnu packages vim)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages web)
#:use-module (gnu packages web-browsers)
@@ -797,30 +798,29 @@ describing upgrade scenarios in package-based software distributions.")
(define-public ocaml-mccs
(package
(name "ocaml-mccs")
(version "1.1+14")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AltGr/ocaml-mccs")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"17bvm0jhhs8h3p5sbb65asj53a8sxl634cc0kvcivpams74837zq"))))
(version "1.1+19")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AltGr/ocaml-mccs")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1x1y5rhj4f0xakbgfn9f90a9xy09v99p8mc42pbnam5kghyjmxy6"))))
(build-system dune-build-system)
(propagated-inputs (list ocaml-cudf))
(home-page "https://www.i3s.unice.fr/~cpjm/misc/")
(synopsis "Upgrade path problem solver")
(description "Mccs (Multi Criteria CUDF Solver) is a CUDF problem solver.
(description
"Mccs (Multi Criteria CUDF Solver) is a CUDF problem solver.
Mccs take as input a CUDF problem and computes the best solution according to
a set of criteria. It relies on a Integer Programming solver or a
Pseudo Boolean solver to achieve its task. Mccs can use a wide set of
underlying solvers like Cplex, Gurobi, Lpsolver, Glpk, CbC, SCIP or WBO.")
(license (list
license:bsd-3
license:gpl3+
;; With static-linking exception
license:lgpl2.1+))))
(license (list license:bsd-3 license:gpl3+
;; With static-linking exception
license:lgpl2.1+))))
(define-public ocaml-dose3
(package
@@ -945,47 +945,156 @@ the opam file format.")
;; With static-linking exception
(license license:lgpl2.1+)))
(define-public ocaml-swhid-core
(package
(name "ocaml-swhid-core")
(version "0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OCamlPro/swhid_core")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0h3zndyk94lf2lakc3cb8b7a00jqh0y1m8xk6mg61gj2kdpdbfdq"))))
(build-system dune-build-system)
(properties `((upstream-name . "swhid_core")))
(home-page "https://github.com/ocamlpro/swhid_core")
(synopsis "OCaml library to work with swhids")
(description
"swhid_core is an OCaml library to work with Software Heritage persistent
identifiers (swhids). This is the core library, for most use cases you should
use the swhid library instead.")
(license license:isc)))
(define-public ocaml-spdx-licenses
(package
(name "ocaml-spdx-licenses")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kit-ty-kate/spdx_licenses")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08vh9mfkq34f0l5ka94hhklc43kvz09wd04x1gkxkawn4786rf9z"))))
(build-system dune-build-system)
(native-inputs (list ocaml-alcotest))
(properties `((upstream-name . "spdx_licenses")))
(home-page "https://github.com/kit-ty-kate/spdx_licenses")
(synopsis "Strict SPDX License Expression parser")
(description
"This package provides an up-to-date and strict SPDX License Expression
parser. It implements the format described in:
https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/
See https://spdx.org/licenses/ for more details.")
(license license:expat)))
(define-public ocaml-0install-solver
(package
(name "ocaml-0install-solver")
(version "2.18")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/0install/0install")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hm72k355qwgh16hngmnd77bgawf20ipnqxfncdzl10rqrc0640b"))))
(build-system dune-build-system)
(arguments
`(#:package "0install-solver"))
(native-inputs (list ocaml-ounit2))
(home-page "https://docs.0install.net/developers/solver/")
(synopsis "Package dependency solver")
(description
"This package provides a package dependency resolver based on a SAT solver.
This was originally written for the 0install package manager, but is now
generic and is also used as a solver backend for opam. The SAT solver is
based on @code{MiniSat} (http://minisat.se/Papers.html) and the application to
package management is based on OPIUM (Optimal Package Install/Uninstall
Manager). 0install-solver uses a (novel?) strategy to find the optimal
solution extremely quickly (even for a SAT-based solver).")
(license license:lgpl2.1+)))
(define-public ocaml-opam-0install-cudf
(package
(name "ocaml-opam-0install-cudf")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml-opam/opam-0install-cudf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12v1bgnxcxdylgxbsjlcr90rzwcp39rjlv191cy8g2s33nyxyi2c"))))
(build-system dune-build-system)
(propagated-inputs (list ocaml-cudf ocaml-0install-solver))
(native-inputs (list ocaml-alcotest))
(home-page "https://opam.ocaml.org")
(synopsis "Opam solver using 0install backend using the CUDF interface")
(description
"Opam's default solver is designed to maintain a set of packages over time,
minimising disruption when installing new programs and finding a compromise
solution across all packages. In many situations (e.g. CI, local roots or
duniverse builds) this is not necessary, and we can get a solution much faster
by using a different algorithm. This package provides a generic solver library
which uses 0install's solver library. The library uses the CUDF library in
order to interface with opam as it is the format common used to talk to all the
supported solvers.")
(license license:isc)))
(define ocaml-opam-core
(package
(name "ocaml-opam-core")
(version "2.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml/opam")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0ckd87rcmcz11iyhhm5qnmy27jbdffx6n1fr06hvrqqrzi00jljh"))))
(version "2.5.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml/opam")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "10diw6wdl6v89kbvb8x22dbfacw1ikhl63hybyp2s7560450hygc"))))
(build-system dune-build-system)
(arguments `(#:package "opam-core"
;; tests are run with the opam package
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda* (#:key inputs make-flags #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash"))
(bwrap (search-input-file inputs "/bin/bwrap")))
(substitute* "src/core/opamSystem.ml"
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\""))
(("getconf")
(which "getconf")))))))))
(propagated-inputs
(list ocaml-graph
ocaml-re
ocaml-cppo))
(arguments
`(#:package "opam-core"
;; tests are run with the opam package
#:tests? #f
#:phases (modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda* (#:key inputs make-flags #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash"))
(bwrap (search-input-file inputs "/bin/bwrap")))
(substitute* "src/core/opamSystem.ml"
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\""))
(("getconf")
(which "getconf")))))))))
(propagated-inputs (list ocaml-graph
ocaml-re
ocaml-patch
ocaml-uutf
ocaml-swhid-core
ocaml-jsonm
ocaml-sha))
(inputs (list bubblewrap))
(home-page "https://opam.ocamlpro.com/")
(home-page "https://opam.ocaml.org")
(synopsis "Package manager for OCaml")
(description
"OPAM is a tool to manage OCaml packages. It supports multiple
simultaneous compiler installations, flexible package constraints, and a
Git-friendly development workflow.")
;; The 'LICENSE' file waives some requirements compared to LGPLv3.
(license license:lgpl3)))
;; The 'LICENSE' file waives some requirements compared to LGPLv2.1.
(license license:lgpl2.1)))
(define ocaml-opam-format
(package
@@ -1002,24 +1111,56 @@ Git-friendly development workflow.")
(define-public opam-installer
(package
(inherit ocaml-opam-core)
(name "opam-installer")
(native-inputs (list ocaml-opam-format
ocaml-cmdliner))
(inputs '())
(propagated-inputs '())
(arguments `(#:package "opam-installer"
;; requires all of opam
#:tests? #f))
(version "2.5.1")
;; opam has some library dependencies that in turn depend on
;; opam-installer (https://codeberg.org/guix/guix/issues/3588). To break
;; the cycle, we build opam-installer from a version of the release that
;; vendors all dependencies. Then the remaining opam packages can be built
;; in the usual way from git sources.
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ocaml/opam/releases/download/"
version "/opam-full-" version ".tar.gz"))
(sha256
(base32 "1v9k00az5lkdrlb64xb9h8xasnsz73kms0j0bz64hh2wbypvzia8"))))
(build-system gnu-build-system)
(arguments
(list
;; Tests depend on the full opam package.
#:tests? #f
#:configure-flags
#~'("--with-vendored-deps")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-shell-path
(lambda _
(let ((sh (which "sh")))
(substitute* "configure"
(("/bin/sh") sh)))))
;; The Makefile builds both opam and opam-installer, but we
;; only want the latter.
(replace 'install
(lambda _
(define (install source dest-dir)
(install-file source
(string-append #$output "/" dest-dir)))
(install "opam-installer" "bin")
(install "_build/default/doc/man/opam-installer.1"
"share/man/man1"))))))
(native-inputs (list ocaml))
(home-page "https://opam.ocaml.org")
(synopsis "Tool for installing OCaml packages")
(description "@var{opam-installer} is a tool for installing OCaml packages
(description
"@var{opam-installer} is a tool for installing OCaml packages
based on @code{.install} files defined by the OPAM package manager. It is
useful for installing OCaml packages without requiring the entirety of
OPAM.")
(properties
;; opam-installer is used as a tool and not as a library, we can use the
;; OCaml 4.14 compiled opam until opam is compatible with OCaml 5.0.
`((ocaml5.0-variant . ,(delay opam-installer))))))
(properties `((ocaml5.0-variant unquote
(delay opam-installer))))
;; The 'LICENSE' file waives some requirements compared to LGPLv2.1.
(license license:lgpl2.1)))
(define ocaml-opam-repository
(package
@@ -1056,7 +1197,7 @@ OPAM.")
(string-append "add_sys_mounts "
(%store-directory)
" /run/current-system /usr")))))))))
(inputs (list bubblewrap))
(inputs (list bubblewrap ocaml-spdx-licenses))
(propagated-inputs (list ocaml-opam-repository))))
(define ocaml-opam-solver
@@ -1066,7 +1207,8 @@ OPAM.")
(inputs '())
(propagated-inputs (list ocaml-opam-format
ocaml-mccs
ocaml-dose3))
ocaml-dose3
ocaml-opam-0install-cudf))
(arguments `(#:package "opam-solver"
;; tests are run with the opam package
#:tests? #f
@@ -1093,7 +1235,7 @@ OPAM.")
ocaml-opam-repository
ocaml-base64
ocaml-re
ocaml-cmdliner))))
ocaml-spdx-licenses))))
(define-public opam
(package
@@ -1102,120 +1244,171 @@ OPAM.")
(build-system dune-build-system)
(arguments
`(#:package "opam"
#:phases
(modify-phases %standard-phases
(add-before 'check 'prepare-checks
(lambda* (#:key inputs #:allow-other-keys)
;; Opam tests need to run an isolated environment from a writable
;; home directory.
(mkdir-p "test-home")
(setenv "HOME" (string-append (getcwd) "/test-home"))
(with-output-to-file (string-append (getcwd) "/test-home/.gitconfig")
(lambda _
(display "[user]
#:phases (modify-phases %standard-phases
(add-before 'check 'prepare-checks
(lambda* (#:key inputs #:allow-other-keys)
;; Opam tests need to run an isolated environment from a writable
;; home directory.
(mkdir-p "test-home")
(setenv "HOME"
(string-append (getcwd) "/test-home"))
(with-output-to-file (string-append (getcwd)
"/test-home/.gitconfig")
(lambda _
(display "[user]
email = guix@localhost.none
name = Guix Builder")
(newline)))
name = Guix Builder
;; Opam tests require data from opam-repository. Instead of
;; downloading them with wget from the guix environment, copy the
;; content to the expected directory.
(substitute* "tests/reftests/dune.inc"
(("tar -C.*opam-archive-([0-9a-f]*)[^)]*" _ commit)
(string-append "rmdir %{targets}) (run cp -r "
(assoc-ref inputs (string-append "opam-repo-" commit))
"/ %{targets}) (run chmod +w -R %{targets}"))
(("wget[^)]*") "touch %{targets}")
;; Disable a failing test because it tries to clone a git
;; repository from inside bwrap
(("diff upgrade-format.test upgrade-format.out") "run true")
;; Disable a failing test because it tries to figure out which
;; distro this is, and it doesn't know Guix
(("diff pin.unix.test pin.unix.out") "run true")
;; Disable a failing test because of a failed expansion
(("diff opamroot-versions.test opamroot-versions.out") "run true")
;; Disable a failing test, probably because the repository we
;; replaced is not as expected
(("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true")
;; Disable a failing test because of missing sandboxing
;; functionality
(("diff init.test init.out") "run true"))
(substitute* "tests/reftests/dune"
;; Because of our changes to the previous file, we cannot check
;; it can be regenerated
(("diff dune.inc dune.inc.gen") "run true"))
;; Ensure we can run the generated build.sh (no /bin/sh)
(substitute* '("tests/reftests/legacy-local.test"
"tests/reftests/legacy-git.test")
(("#! ?/bin/sh")
(string-append "#!"
(search-input-file inputs "/bin/sh"))))
(substitute* "tests/reftests/testing-env"
(("OPAMSTRICT=1")
(string-append "OPAMSTRICT=1\nLIBRARY_PATH="
(assoc-ref inputs "libc") "/lib"))))))))
(native-inputs
(let ((opam-repo (lambda (commit hash)
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml/opam-repository")
(commit commit)))
(file-name (git-file-name "opam-repo" commit))
(sha256 (base32 hash))))))
`(("dune" ,dune)
("ocaml-cppo" ,ocaml-cppo)
[protocol \"file\"]
allow = always")
(newline)))
;; For tests.
("git" ,git-minimal/pinned)
("openssl" ,openssl)
("python" ,python-wrapper)
("rsync" ,rsync)
("unzip" ,unzip)
("which" ,which)
;; Opam tests require data from opam-repository. Instead
;; of downloading them with wget from the guix
;; environment, copy the content to the expected
;; directory.
(substitute* "tests/reftests/dune.inc"
(("tar -C.*opam-archive-([0-9a-f]*)[^)]*" _ commit)
(string-append "rmdir %{targets}) (run cp -r "
(begin
;; When updating opam, uncomment the following
;; call. It will list "opam-repo" commit-ish
;; required to run tests (see native-inputs
;; below). Remove versions that are no longer
;; required, and add new ones if necessary.
;;
;; (pk commit)
(assoc-ref inputs
(string-append "opam-repo-" commit)))
"/ %{targets}) (run chmod +w -R %{targets}"))
(("wget[^)]*")
"touch %{targets}")
;; Data for tests
("opam-repo-0070613707"
,(opam-repo "00706137074d536d2019d2d222fbe1bea929deda"
"1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
("opam-repo-009e00fa"
,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
"1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
("opam-repo-7090735c"
,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
"1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
("opam-repo-a5d7cdc0"
,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
"0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
("opam-repo-ad4dd344"
,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
"1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
("opam-repo-c1842d168d"
,(opam-repo "c1842d168de956caf06d7ac8588e65020d7594d8"
"142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
("opam-repo-c1d23f0e"
,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d"
,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws"))
("opam-repo-11ea1cb"
,(opam-repo "11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
"1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
("opam-repo-297366c"
,(opam-repo "297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
"1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
("opam-repo-3235916"
,(opam-repo "3235916a162a59d7c82dac3fe24214975d48f1aa"
"1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a"
,(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
"1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw")))))
(inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
;; compiled opam until opam is compatible with OCaml 5.0.
`((ocaml5.0-variant . ,(delay opam))))))
;; Selectively disable a fraction of opam's "reftests"
;; (CRAM-style regression tests). Most of these tests
;; make assumptions about the build environment that
;; don't hold for Guix.
;; Test tries to clone a git repository from inside
;; bwrap
(("diff upgrade-format.test upgrade-format.out")
"run true")
;; Test tries to figure out which distro this is, and
;; it doesn't know Guix
(("diff pin.unix.test pin.unix.out")
"run true")
;; A variable expansion fails.
(("diff opamroot-versions.test opamroot-versions.out")
"run true")
;; The repository we replaced is probably not as
;; expected
(("diff opamrt-big-upgrade.test opamrt-big-upgrade.out")
"run true")
;; Disable a failing test because of missing sandboxing
;; functionality
(("diff init.test init.out")
"run true")
;; These tests try to normalize output to exclude
;; version strings, but this seems to break some
;; output assertions if $BASEDIR happens to include
;; the version.
(("diff cli-versioning.test cli-versioning.out")
"run true")
(("diff hooks-variables.test hooks-variables.out")
"run true")
;; Fails on noisy git output.
(("diff action-disk.test action-disk.out")
"run true")
;; Requires network access.
(("diff download.test download.out")
"run true")
(("diff swhid.unix.test swhid.unix.out")
"run true")
;; Depends on 3rd-party git repos.
(("diff lock.test lock.out")
"run true"))
(substitute* "tests/reftests/dune"
;; Because of our changes to the previous file, we
;; cannot check it can be regenerated
(("diff dune.inc dune.inc.gen")
"run true"))
;; Ensure we can run the generated build.sh (no /bin/sh)
(substitute* '("tests/reftests/legacy-local.test"
"tests/reftests/legacy-git.test")
(("#! ?/bin/sh")
(string-append "#!"
(search-input-file inputs "/bin/sh"))))
(substitute* "tests/reftests/testing-env"
(("OPAMSTRICT=1")
(string-append "OPAMSTRICT=1\nLIBRARY_PATH="
(assoc-ref inputs "libc") "/lib"))))))))
(native-inputs (let ((opam-repo (lambda (commit hash)
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/ocaml/opam-repository")
(commit commit)))
(file-name (git-file-name "opam-repo"
commit))
(sha256 (base32 hash))))))
`(("dune" ,dune)
;; For tests.
("git" ,git-minimal/pinned)
("openssl" ,openssl)
("python" ,python-wrapper)
("rsync" ,rsync)
("unzip" ,unzip)
("which" ,which)
("xxd" ,xxd)
;; Data for tests
("opam-repo-0070613707" ,(opam-repo
"00706137074d536d2019d2d222fbe1bea929deda"
"1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
("opam-repo-009e00fa" ,(opam-repo
"009e00fa86300d11c311309a2544e5c6c3eb8de2"
"1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
("opam-repo-11ea1cb" ,(opam-repo
"11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
"1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
("opam-repo-143dd2a2f59f5befbf3cb90bb2667f911737fbf8" ,
(opam-repo "143dd2a2f59f5befbf3cb90bb2667f911737fbf8"
"1kliiy9n2j8myxhbz1brq6yingfy0si1bmv15j1hbnbpyi3bavr9"))
("opam-repo-297366c" ,(opam-repo
"297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
"1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
("opam-repo-3235916" ,(opam-repo
"3235916a162a59d7c82dac3fe24214975d48f1aa"
"1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
("opam-repo-7090735c" ,(opam-repo
"7090735c9d1dd2dc481c4128c5ef4d3667238f15"
"1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
("opam-repo-7371c1d9" ,(opam-repo
"7371c1d9c53000840fb9a6d8ec13d87ffaa98401"
"0lmy3rmp5liyp2dsx4s90rjdwc012947ig2fz6y97s3pmwsbf9g8"))
("opam-repo-a5d7cdc0" ,(opam-repo
"a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
"0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
("opam-repo-ad4dd344" ,(opam-repo
"ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
"1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
("opam-repo-c1842d168d" ,(opam-repo
"c1842d168de956caf06d7ac8588e65020d7594d8"
"142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
("opam-repo-c1ba97dafe95c865d37ad4d88f6e57c9ffbe7f0a" ,
(opam-repo "c1ba97dafe95c865d37ad4d88f6e57c9ffbe7f0a"
"0sllm110dvs3w1k7qhias5y8v6ikkk2knw97v1fk9lnw4lq45gv6"))
("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a" ,
(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
"1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw"))
("opam-repo-f372039d" ,(opam-repo
"f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
(inputs (list ocaml-opam-client))))
(define-public ocaml-opam-monorepo
(package
@@ -4124,6 +4317,32 @@ and command-line tool.")
length of domain names are preserved throughout the module.")
(license license:isc)))
(define-public ocaml-patch
(package
(name "ocaml-patch")
(version "3.1.0")
(build-system dune-build-system)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hannesm/patch")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1zg35f427ixd3jhkiwk91sil45pmf6ns7yfcgyi6gf2r0y241xn3"))))
(native-inputs (list ocaml-alcotest))
(home-page "https://github.com/hannesm/patch")
(synopsis "Applies unified diffs in pure OCaml")
(description
"This package applies unified diffs in pure OCaml.
The loosely specified diff file format is widely used for transmitting
differences of line-based information. The motivating example is opam, which
is able to validate updates being cryptographically signed (e.g. conex) by
providing a unified diff.")
(license license:isc)))
(define-public ocaml-macaddr
(package
(name "ocaml-macaddr")

View File

@@ -817,7 +817,33 @@ high-performance computing} clusters.")
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'register-guix-extension
(add-after 'unpack 'set-load-paths-in-entry-point
(lambda _
(define load-path
(cons (string-append #$output
"/share/guile/site/"
(target-guile-effective-version))
(parse-path (getenv "GUILE_LOAD_PATH"))))
(define load-compiled-path
(cons (string-append #$output
"/lib/guile/"
(target-guile-effective-version)
"/site-ccache")
(parse-path (getenv "GUILE_LOAD_COMPILED_PATH"))))
(define search-paths-header
`(begin
(set! %load-path
(append (list ,@load-path) %load-path))
(set! %load-compiled-path
(append (list ,@load-compiled-path)
%load-compiled-path))))
(substitute* "guix/extensions/toys.scm"
(("^\\(define-module \\(guix extensions toys\\)")
(string-append
(with-output-to-string
(lambda () (write search-paths-header)))
"\n(define-module (guix extensions toys)")))))
(add-after 'set-load-paths-in-entry-point 'register-guix-extension
(lambda* (#:key outputs #:allow-other-keys)
(let ((ext-path (string-append #$output "/share/guix/extensions")))
(mkdir-p ext-path)
@@ -1199,13 +1225,13 @@ transactions from C or Python.")
automake
;; Guile libraries are needed here for cross-compilation.
guile-next
guile-3.0-latest
guile-gnutls
guile-json-4
guix
guix-data-service
guix-build-coordinator
guile-fibers-next
guile-fibers
guile-knots
guile-pfds
guile-prometheus
@@ -1216,7 +1242,7 @@ transactions from C or Python.")
guix
guix-data-service
guix-build-coordinator
guile-fibers-next
guile-fibers
guile-knots
guile-pfds
guile-prometheus
@@ -2185,7 +2211,7 @@ environments.")
"guile-gnutls"
#$@(if (target-hurd?)
'()
'("guile-fibers-next"
'("guile-fibers"
"guile-knots")))))
(wrap-program file
`("PATH" ":" prefix
@@ -2229,12 +2255,12 @@ environments.")
guile-gcrypt
guix
guile-prometheus
guile-fibers-next
guile-fibers
guile-knots
guile-lib
guile-next))
guile-3.0-latest))
(inputs
(list guile-next
(list guile-3.0-latest
sqlite-next
bash-minimal
(libc-utf8-locales-for-target)
@@ -2249,7 +2275,7 @@ environments.")
guile-sqlite3
guix
guile-gnutls
guile-fibers-next
guile-fibers
guile-knots))
(home-page "https://git.cbaines.net/guix/build-coordinator/")
(synopsis "Tool to help build derivations")
@@ -2285,9 +2311,9 @@ outputs of those builds.")
guix
guile-prometheus
guile-lib
guile-next))
guile-3.0-latest))
(inputs
(list guile-next
(list guile-3.0-latest
guix
guile-prometheus
guile-gcrypt
@@ -2438,7 +2464,7 @@ in an isolated environment, in separate namespaces.")
"guile-prometheus"
"guile-sqlite3"
"guile-gnutls"
"guile-fibers-next"
"guile-fibers"
"guile-knots")))
(wrap-program file
`("GUILE_LOAD_PATH" ":" prefix
@@ -2468,11 +2494,12 @@ in an isolated environment, in separate namespaces.")
;; Guile libraries are needed here for cross-compilation.
guile-next
guile-3.0-latest
guile-aws
guile-json-4
guile-gcrypt
guix
guile-fibers-next
guile-fibers
guile-knots
guile-prometheus
guile-lib
@@ -2481,13 +2508,13 @@ in an isolated environment, in separate namespaces.")
guile-sqlite3))
(inputs
(list bash-minimal
guile-next))
guile-3.0-latest))
(propagated-inputs
(list guile-aws
guile-json-4
guile-gcrypt
guix
guile-fibers-next
guile-fibers
guile-knots
guile-prometheus
guile-lib

View File

@@ -254,7 +254,7 @@ when jobs finish.")
(inputs
(append
(list freeipmi
`(,hwloc-2 "lib")
`(,hwloc "lib")
json-c
linux-pam)
(if (supported-package? openpmix-4)

View File

@@ -39,6 +39,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (ice-9 match))
@@ -323,7 +324,7 @@ Pascal programs.")
(define-public lazarus
(package
(name "lazarus")
(version "2.2.6")
(version "4.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -336,48 +337,95 @@ Pascal programs.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0hpk6fxmy1h1q0df41jg1vnp8g8vynrg5v5ad43lv229nizfs3wj"))))
"1mkimvd5hiwlsxpjwqnhd7lwb0x2icnf9ks09wza7j5xaq7xjswy"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;No tests exist
#:make-flags #~(list (string-append "INSTALL_PREFIX="
#$output))
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((libdirs (map (lambda (x)
(assoc-ref inputs x))
'("glib" "gdk-pixbuf"
"gtk+"
"libx11"
"libx11"
"pango"
"cairo"
"at-spi2-core")))
(libs (append (map (lambda (name)
(string-append "-Fl"
name
"/lib"))
libdirs)
(map (lambda (name)
(string-append
"-k-rpath=" name
"/lib")) libdirs))))
(setenv "LAZARUS_LIBPATHS"
(string-join libs " "))
(setenv "MAKEFLAGS"
(string-append "LHELP_OPT="
(string-join libs "\\ "))))
(invoke "make" "bigide"))))))
(native-inputs (list fpc pkg-config))
(inputs (list glib
gdk-pixbuf
gtk+-2
libx11
pango
cairo
at-spi2-core))
#$output)
"LCL_PLATFORM=qt6")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
;; lcl/interfaces/qt6/cbindings/ ships the C++ source of
;; libQt6Pas -- the Qt6 C-ABI bridge that LCL's qt6
;; widgetset calls into. Build it with qmake6 and stage
;; the library so the IDE finds it at runtime.
(add-before 'build 'build-qt6pas
(lambda _
(with-directory-excursion "lcl/interfaces/qt6/cbindings"
(invoke "qmake6" "Qt6Pas.pro"
(string-append "PREFIX=" #$output))
(invoke "make" "-j"
(number->string (parallel-job-count))))))
(replace 'build
(lambda* (#:key inputs make-flags #:allow-other-keys)
(let* ((qt6pas-build
(string-append (getcwd)
"/lcl/interfaces/qt6/cbindings"))
(qt6pas-runtime
(string-append #$output "/lib"))
(input-libs
(map (lambda (x)
(string-append (assoc-ref inputs x) "/lib"))
'("qtbase" "libx11")))
;; Link against the build tree so the linker
;; resolves libQt6Pas now; bake the final
;; $out/lib into RUNPATH so the installed
;; binary finds it at runtime.
(fpc-args
(append (map (lambda (d)
(string-append "-Fl" d))
(cons qt6pas-build input-libs))
(map (lambda (d)
(string-append "-k-rpath=" d))
(cons qt6pas-runtime input-libs)))))
(setenv "LAZARUS_LIBPATHS"
(string-join fpc-args " "))
(setenv "MAKEFLAGS"
(string-append "LHELP_OPT="
(string-join fpc-args "\\ "))))
(apply invoke "make" "bigide" make-flags)))
(add-after 'install 'wrap-qt
(lambda* (#:key inputs #:allow-other-keys)
;; Qt6 apps load their platform plugins
;; (libqxcb.so, libqwayland.so, ...) from
;; QT_PLUGIN_PATH; each qt input has its plugins
;; under lib/qt6/plugins/. Wrap lazarus-ide so the
;; wayland/xcb platform plugins are found at runtime.
(let ((plugin-path
(string-join
(map (lambda (i)
(string-append (assoc-ref inputs i)
"/lib/qt6/plugins"))
'("qtbase" "qtsvg" "qtwayland"))
":")))
(for-each
(lambda (prog)
(wrap-program (string-append #$output "/bin/" prog)
`("QT_PLUGIN_PATH" ":" prefix (,plugin-path))))
'("lazarus-ide" "startlazarus")))))
(add-after 'install 'install-qt6pas
(lambda _
;; qmake's `make install' tries to copy libQt6Pas.so
;; into Qt's install prefix (read-only store path);
;; place it under $out/lib/ instead.
(let ((src "lcl/interfaces/qt6/cbindings")
(dst (string-append #$output "/lib")))
(mkdir-p dst)
(for-each
(lambda (f)
(let ((sf (string-append src "/" f))
(df (string-append dst "/" f)))
(if (eq? 'symlink (stat:type (lstat sf)))
(symlink (readlink sf) df)
(copy-file sf df))))
'("libQt6Pas.so"
"libQt6Pas.so.6"
"libQt6Pas.so.6.2"
"libQt6Pas.so.6.2.10"))))))))
(native-inputs (list fpc pkg-config qtbase qttools))
(inputs (list qtbase qtsvg qtwayland libx11))
(synopsis "Integrated development environment for Pascal")
(description "This package provides an integrated development environment
for Pascal.")

View File

@@ -0,0 +1,128 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-04-13
License: ASL2.0
Make V8 an optional dependency in codex-code-mode.
The V8 engine is only needed for actually executing JavaScript in the
code-mode sandbox. The description helpers, tool name constants, and
data types do not require V8. Gate the runtime and service modules
behind a "v8-runtime" feature so that consumers like codex-acp that
never use code-mode can avoid the V8 build dependency.
--- a/codex-rs/code-mode/Cargo.toml 2026-04-13 16:14:49.459504037 +0000
+++ codex-rs/code-mode/Cargo.toml 2026-04-13 16:14:49.466438318 +0000
@@ -12,6 +12,10 @@
[lints]
workspace = true
+[features]
+default = ["v8-runtime"]
+v8-runtime = ["dep:v8"]
+
[dependencies]
async-trait = { workspace = true }
serde = { workspace = true, features = ["derive"] }
@@ -19,7 +23,7 @@
tokio = { workspace = true, features = ["macros", "rt", "sync", "time"] }
tokio-util = { workspace = true, features = ["rt"] }
tracing = { workspace = true }
-v8 = { workspace = true }
+v8 = { workspace = true, optional = true }
[dev-dependencies]
pretty_assertions = { workspace = true }
--- a/codex-rs/code-mode/src/lib.rs 2026-04-13 16:14:49.461337956 +0000
+++ codex-rs/code-mode/src/lib.rs 2026-04-13 16:14:49.470869556 +0000
@@ -1,6 +1,8 @@
mod description;
mod response;
+#[cfg(feature = "v8-runtime")]
mod runtime;
+#[cfg(feature = "v8-runtime")]
mod service;
pub use description::CODE_MODE_PRAGMA_PREFIX;
@@ -16,15 +18,82 @@
pub use description::render_json_schema_to_typescript;
pub use response::FunctionCallOutputContentItem;
pub use response::ImageDetail;
+
+#[cfg(feature = "v8-runtime")]
pub use runtime::DEFAULT_EXEC_YIELD_TIME_MS;
+#[cfg(feature = "v8-runtime")]
pub use runtime::DEFAULT_MAX_OUTPUT_TOKENS_PER_EXEC_CALL;
+#[cfg(feature = "v8-runtime")]
pub use runtime::DEFAULT_WAIT_YIELD_TIME_MS;
+#[cfg(feature = "v8-runtime")]
pub use runtime::ExecuteRequest;
+#[cfg(feature = "v8-runtime")]
pub use runtime::RuntimeResponse;
+#[cfg(feature = "v8-runtime")]
pub use runtime::WaitRequest;
+#[cfg(feature = "v8-runtime")]
pub use service::CodeModeService;
+#[cfg(feature = "v8-runtime")]
pub use service::CodeModeTurnHost;
+#[cfg(feature = "v8-runtime")]
pub use service::CodeModeTurnWorker;
+// Stub types when V8 is not available.
+#[cfg(not(feature = "v8-runtime"))]
+pub const DEFAULT_EXEC_YIELD_TIME_MS: u64 = 10_000;
+#[cfg(not(feature = "v8-runtime"))]
+pub const DEFAULT_MAX_OUTPUT_TOKENS_PER_EXEC_CALL: usize = 10_000;
+#[cfg(not(feature = "v8-runtime"))]
+pub const DEFAULT_WAIT_YIELD_TIME_MS: u64 = 10_000;
+
+#[cfg(not(feature = "v8-runtime"))]
+pub struct ExecuteRequest {
+ pub tool_call_id: String,
+ pub enabled_tools: Vec<ToolDefinition>,
+ pub source: String,
+ pub stored_values: std::collections::HashMap<String, serde_json::Value>,
+ pub yield_time_ms: Option<u64>,
+ pub max_output_tokens: Option<usize>,
+}
+
+#[cfg(not(feature = "v8-runtime"))]
+#[derive(Clone, Debug)]
+pub struct WaitRequest {
+ pub cell_id: String,
+ pub yield_time_ms: u64,
+ pub terminate: bool,
+}
+
+#[cfg(not(feature = "v8-runtime"))]
+#[derive(Debug, PartialEq)]
+pub enum RuntimeResponse {
+ Yielded { cell_id: String, content_items: Vec<FunctionCallOutputContentItem> },
+ Terminated { cell_id: String, content_items: Vec<FunctionCallOutputContentItem> },
+ Result { cell_id: String, content_items: Vec<FunctionCallOutputContentItem>, stored_values: std::collections::HashMap<String, serde_json::Value>, error_text: Option<String> },
+}
+
+#[cfg(not(feature = "v8-runtime"))]
+#[async_trait::async_trait]
+pub trait CodeModeTurnHost: Send + Sync {
+ async fn invoke_tool(&self, tool_name: String, input: Option<serde_json::Value>, cancellation_token: tokio_util::sync::CancellationToken) -> Result<serde_json::Value, String>;
+ async fn notify(&self, call_id: String, cell_id: String, text: String) -> Result<(), String>;
+}
+
+#[cfg(not(feature = "v8-runtime"))]
+pub struct CodeModeService;
+
+#[cfg(not(feature = "v8-runtime"))]
+impl CodeModeService {
+ pub fn new() -> Self { Self }
+ pub async fn stored_values(&self) -> std::collections::HashMap<String, serde_json::Value> { Default::default() }
+ pub async fn replace_stored_values(&self, _values: std::collections::HashMap<String, serde_json::Value>) {}
+ pub async fn execute(&self, _request: ExecuteRequest) -> Result<RuntimeResponse, String> { Err("code-mode requires v8-runtime feature".into()) }
+ pub async fn wait(&self, _request: WaitRequest) -> Result<RuntimeResponse, String> { Err("code-mode requires v8-runtime feature".into()) }
+ pub fn start_turn_worker(&self, _host: std::sync::Arc<dyn CodeModeTurnHost>) -> CodeModeTurnWorker { CodeModeTurnWorker }
+}
+
+#[cfg(not(feature = "v8-runtime"))]
+pub struct CodeModeTurnWorker;
+
pub const PUBLIC_TOOL_NAME: &str = "exec";
pub const WAIT_TOOL_NAME: &str = "wait";

View File

@@ -0,0 +1,20 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Remove [patch.crates-io] section.
This section points to git repositories which are unavailable in an
offline build. The vendored tokio-tungstenite and tungstenite forks
are provided as cargo-inputs instead.
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -52,7 +52,3 @@
let-underscore = "warn"
rust-2018-idioms = "warn"
unused = "warn"
-
-[patch.crates-io]
-tokio-tungstenite = { git = "https://github.com/openai-oss-forks/tokio-tungstenite", rev = "132f5b39c862e3a970f731d709608b3e6276d5f6" }
-tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }

View File

@@ -1,21 +0,0 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Remove [patch.crates-io] and [patch.'ssh://...'] sections.
These sections point to git repositories which are unavailable in an
offline build. The vendored tokio-tungstenite and tungstenite forks
are provided as cargo-inputs instead.
diff -u a/Cargo.toml b/Cargo.toml
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -47,8 +47,2 @@
unused = "warn"
-
-[patch.crates-io]
-tokio-tungstenite = { git = "https://github.com/JakkuSakura/tokio-tungstenite", branch = "proxy-support" }
-
-[patch.'ssh://git@github.com/JakkuSakura/tungstenite-rs.git']
-tungstenite = { git = "https://github.com/JakkuSakura/tungstenite-rs", branch = "proxy-support" }

View File

@@ -1,52 +0,0 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Replace Result::flatten() with and_then(|x| x).
Result::flatten() was stabilized in Rust 1.89.0 but the build
toolchain only provides Rust 1.88.0. Use the equivalent
.and_then(|x| x) form which works on all stable Rust versions.
diff -u a/src/local_spawner.rs b/src/local_spawner.rs
--- a/src/local_spawner.rs
+++ b/src/local_spawner.rs
@@ -156,7 +156,7 @@
});
rx.recv()
.map_err(|e| std::io::Error::other(e.to_string()))
- .flatten()
+ .and_then(|x| x)
}
fn write(&self, path: &std::path::Path, contents: &[u8]) -> std::io::Result<()> {
@@ -174,7 +174,7 @@
});
rx.recv()
.map_err(|e| std::io::Error::other(e.to_string()))
- .flatten()
+ .and_then(|x| x)
}
}
@@ -207,7 +207,7 @@
let file = rx
.await
.map_err(|e| std::io::Error::other(e.to_string()))
- .flatten()?;
+ .and_then(|x| x)?;
Ok(Box::new(tokio::io::BufReader::new(Cursor::new(file.into_bytes()))) as _)
})
diff -u a/src/thread.rs b/src/thread.rs
--- a/src/thread.rs
+++ b/src/thread.rs
@@ -1817,7 +1817,7 @@
let mut new_custom_prompts = load_custom_prompts
.await
.map_err(|_| Error::internal_error())
- .flatten()
+ .and_then(|x| x)
.inspect_err(|e| error!("Failed to load custom prompts {e:?}"))
.unwrap_or_default();

View File

@@ -1,16 +0,0 @@
On GNU/Hurd, 'PATH_MAX' is undefined. Provide a reasonable default value.
Adapted from <https://github.com/libgit2/libgit2/pull/7100>.
diff --git a/tests/clar/clar.h b/tests/clar/clar.h
index ca72292ae91..98e2b14e880 100644
--- a/t/unit-tests/clar/clar.h
+++ b/t/unit-tests/clar/clar.h
@@ -14,6 +14,8 @@
# define CLAR_MAX_PATH 4096
#elif defined(_WIN32)
# define CLAR_MAX_PATH MAX_PATH
+#elif !defined(PATH_MAX) /* GNU/Hurd */
+# define CLAR_MAX_PATH 4096
#else
# define CLAR_MAX_PATH PATH_MAX
#endif

View File

@@ -1,54 +0,0 @@
From 093316a897a2eb4972a7a3a5888f40975d03f6bf Mon Sep 17 00:00:00 2001
From: Brice Goglin <Brice.Goglin@inria.fr>
Date: Tue, 5 Apr 2022 17:39:50 +0200
Subject: [PATCH] linux: (partial) fix the discovery of hugepages on btrfs
fsroot
btrfs always returns 1 in directory stat.st_nlink.
It breaks make check in tests/linux/ because the hugepages discovery
uses st_nlink to allocate the memory page_types array.
Always allocate at least 3 page_types slots
(enough for all known cases, 1 for normal, 2 for huge pages)
(partially cherry-picked from commit 7f351cec9bfe54a031f35ad16c9cfb99784d76dc)
We don't reallocate later if needed as in 2.x commit 7f351cec9bfe54a031f35ad16c9cfb99784d76dc
because v1.11 doesn't deserve a complete fix. Just commit the minimal change
so that tests/linux/2i386-2t-hugepagesizecount with HWLOC_PAGESIZE_DEBUG=4096
doesn't crash in btrfs anymore (test-topology.sh fails during make check if /tmp is in btrfs).
Thanks to Philippe Swartvagher for the report.
Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
---
src/topology-linux.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/topology-linux.c b/src/topology-linux.c
index 58c275fea..269eca7f5 100644
--- a/src/topology-linux.c
+++ b/src/topology-linux.c
@@ -1,6 +1,6 @@
/*
* Copyright © 2009 CNRS
- * Copyright © 2009-2019 Inria. All rights reserved.
+ * Copyright © 2009-2022 Inria. All rights reserved.
* Copyright © 2009-2013, 2015 Université Bordeaux
* Copyright © 2009-2014 Cisco Systems, Inc. All rights reserved.
* Copyright © 2015 Intel, Inc. All rights reserved.
@@ -2329,7 +2329,14 @@ hwloc_get_procfs_meminfo_info(struct hwloc_topology *topology,
err = hwloc_stat("/sys/kernel/mm/hugepages", &st, data->root_fd);
if (!err) {
- types = 1 + st.st_nlink-2;
+ types = 1 /* normal non-huge size */ + st.st_nlink - 2 /* ignore . and .. */;
+ if (types < 3)
+ /* some buggy filesystems (e.g. btrfs when reading from fsroot)
+ * return wrong st_nlink for directories (always 1 for btrfs).
+ * use 3 as a sane default (default page + 2 huge sizes).
+ * hwloc_parse_hugepages_info() will extend it if needed.
+ */
+ types = 3;
has_sysfs_hugepages = 1;
}

View File

@@ -0,0 +1,26 @@
To be remove when updating inetutils.
See
https://cgit.git.savannah.gnu.org/cgit/inetutils.git/commit/?id=556621adc3dcb62dbb28c54905cef15837947115
https://codeberg.org/guix/guix/issues/7995
diff --git a/tests/libls.sh b/tests/libls.sh
index 827020f2..9fdef8be 100755
--- a/tests/libls.sh
+++ b/tests/libls.sh
@@ -91,7 +91,6 @@ REPLY_a1=`$LS -a1 $LSDIR`
REPLY_A1=`$LS -A1 $LSDIR`
REPLY_C=`$LS -C $LSDIR`
-REPLY_Cf=`$LS -Cf $LSDIR`
REPLY_Cr=`$LS -Cr $LSDIR`
REPLY_Ct=`$LS -Ct $LSDIR`
REPLY_x=`$LS -x $LSDIR`
@@ -130,9 +129,6 @@ test `echo "$diff" | $GREP -c -v '^[.]\{1,2\}$'` -eq 0 ||
fi
}
-test x"$REPLY_C" != x"$REPLY_Cf" ||
- { errno=1; echo >&2 'Failed to disable sorting with "-f".'; }
-
test x"$REPLY_C" != x"$REPLY_Cr" ||
{ errno=1; echo >&2 'Failed to reverse sorting with "-r".'; }

View File

@@ -1,43 +0,0 @@
--- a/Makefile.in
+++ b/Makefile.in
@@ -265,15 +265,11 @@
amal.flags = -nc
amal.run = TOPDIR="$(DIR.top)" $(SHELL.bash) $(bin.make-amal) --quiet
libfossil.c: $(amal.deps)
$(amal.run) $(amal.flags)
-libfossil.h: libfossil.c
-all: libfossil.c
@if ENABLE_CXX
-libfossil.hpp: libfossil.c
-libfossil.c++: libfossil.c
amal.flags += -c++
@endif
.PHONY: amal
amal: libfossil.c
@@ -287,19 +283,16 @@
fossil uv sync
@endif
@endif
install: install-headers
-install-headers: libfossil.h $(install-dir.include)
- $(INSTALL.noexec) libfossil.h $(install-dir.include)
+install-headers: include/libfossil.h $(install-dir.include)
+ $(INSTALL.noexec) $< $(install-dir.include)
@if ENABLE_CXX
-libfossil++.hpp: libfossil.h
-libfossil++.cpp: libfossil++.hpp
-all: libfossil++.cpp
install-headers: install-headers++
-install-headers++: libfossil++.hpp $(install-dir.include)
- $(INSTALL.noexec) libfossil++.hpp $(install-dir.include)
+install-headers++: include/libfossil.hpp $(install-dir.include)
+ $(INSTALL.noexec) $< $(install-dir.include)
@endif # ENABLE_CXX
clean: clean-amalgamation
clean-amalgamation:
rm -f libfossil.c libfossil.h libfossil++.cpp libfossil++.hpp
rm -f libfossil-config.h libfossil-amalgamation.zip VERSION.h

View File

@@ -0,0 +1,260 @@
From d8702527f4f1f67f765330f5018bfcb182946c45 Mon Sep 17 00:00:00 2001
From: Henri Sivonen <hsivonen@hsivonen.fi>
Date: Tue, 21 Apr 2026 07:09:20 +0000
Subject: [PATCH] Bug 2033279 - Make --enable-rust-simd work with Rust 1.95.
r=firefox-build-system-reviewers,supply-chain-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D295287
---
.cargo/config.toml.in | 5 ++
Cargo.lock | 4 +-
Cargo.toml | 2 +
supply-chain/audits.toml | 6 ++
supply-chain/config.toml | 4 ++
.../rust/encoding_rs/.cargo-checksum.json | 2 +-
.../rust/encoding_rs/.cargo_vcs_info.json | 6 --
third_party/rust/encoding_rs/Cargo.toml | 60 ++++++++++---------
third_party/rust/encoding_rs/Cargo.toml.orig | 45 --------------
.../rust/encoding_rs/src/x_user_defined.rs | 2 +
10 files changed, 54 insertions(+), 82 deletions(-)
delete mode 100644 third_party/rust/encoding_rs/.cargo_vcs_info.json
delete mode 100644 third_party/rust/encoding_rs/Cargo.toml.orig
diff --git a/.cargo/config.toml.in b/.cargo/config.toml.in
index 8013ae5435dab..cabdee463415f 100644
--- a/.cargo/config.toml.in
+++ b/.cargo/config.toml.in
@@ -55,6 +55,11 @@ git = "https://github.com/hsivonen/any_all_workaround"
rev = "7fb1b7034c9f172aade21ee1c8554e8d8a48af80"
replace-with = "vendored-sources"
+[source."git+https://github.com/hsivonen/encoding_rs?rev=1236d1bc423e6ba35a06485f74a6304db2d703b5"]
+git = "https://github.com/hsivonen/encoding_rs"
+rev = "1236d1bc423e6ba35a06485f74a6304db2d703b5"
+replace-with = "vendored-sources"
+
[source."git+https://github.com/hsivonen/rust-harfbuzz?rev=9d58a23a98772a197291d04af93f7041b7093d95"]
git = "https://github.com/hsivonen/rust-harfbuzz"
rev = "9d58a23a98772a197291d04af93f7041b7093d95"
diff --git a/Cargo.lock b/Cargo.lock
index fea2f95fbb438..63b1f818d7971 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1914,11 +1914,11 @@ dependencies = [
[[package]]
name = "encoding_rs"
version = "0.8.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
+source = "git+https://github.com/hsivonen/encoding_rs?rev=1236d1bc423e6ba35a06485f74a6304db2d703b5#1236d1bc423e6ba35a06485f74a6304db2d703b5"
dependencies = [
"any_all_workaround",
"cfg-if",
+ "rustversion",
]
[[package]]
diff --git a/Cargo.toml b/Cargo.toml
index 49c695809f302..2648c32ae57e8 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -287,6 +287,8 @@ harfbuzz-sys = { git = "https://github.com/hsivonen/rust-harfbuzz", rev = "9d58a
harfbuzz = { git = "https://github.com/hsivonen/rust-harfbuzz", rev = "9d58a23a98772a197291d04af93f7041b7093d95" }
# Also vendor `harfbuzz-traits` to keep cargo-vendor happy.
harfbuzz-traits = { git = "https://github.com/hsivonen/rust-harfbuzz", rev = "9d58a23a98772a197291d04af93f7041b7093d95" }
+# Make --enable-rust-simd compatible with Rust 1.95
+encoding_rs = { git = "https://github.com/hsivonen/encoding_rs", rev = "1236d1bc423e6ba35a06485f74a6304db2d703b5" }
# objc 0.2.7 + fa7ca43b862861dd1cd000d7ad01e6e0266cda13
objc = { git = "https://github.com/glandium/rust-objc", rev = "4de89f5aa9851ceca4d40e7ac1e2759410c04324" }
diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml
index 85b4037e03bdb..f4567ea6b6f94 100644
--- a/supply-chain/audits.toml
+++ b/supply-chain/audits.toml
@@ -2385,6 +2385,12 @@ who = "Mike Hommey <mh+mozilla@glandium.org>"
criteria = "safe-to-deploy"
delta = "0.8.31 -> 0.8.32"
+[[audits.encoding_rs]]
+who = "Henri Sivonen <hsivonen@hsivonen.fi>"
+criteria = "safe-to-deploy"
+delta = "0.8.35 -> 0.8.35@git:1236d1bc423e6ba35a06485f74a6304db2d703b5"
+importable = false
+
[[audits.enum-map]]
who = "Kershaw Chang <kershaw@mozilla.com>"
criteria = "safe-to-deploy"
diff --git a/supply-chain/config.toml b/supply-chain/config.toml
index 4cfd83dc2d608..15deefbec0574 100644
--- a/supply-chain/config.toml
+++ b/supply-chain/config.toml
@@ -39,6 +39,10 @@ notes = "This is the upstream code not yet released"
audit-as-crates-io = true
notes = "This is upstream plus a warning fix from bug 1823866."
+[policy.encoding_rs]
+audit-as-crates-io = true
+notes = "This is upstream plus a build fix for bug 2033279."
+
[policy.firefox-on-glean]
audit-as-crates-io = false
notes = "The crates.io version of this is just a placeholder to allow public crates to depend on firefox-on-glean."
diff --git a/third_party/rust/encoding_rs/.cargo_vcs_info.json b/third_party/rust/encoding_rs/.cargo_vcs_info.json
deleted file mode 100644
index 6e5d699759e43..0000000000000
--- a/third_party/rust/encoding_rs/.cargo_vcs_info.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "git": {
- "sha1": "2fa58aecf537cc76ff52c0eb3d5e9f8fda466844"
- },
- "path_in_vcs": ""
-}
\ No newline at end of file
diff --git a/third_party/rust/encoding_rs/Cargo.toml b/third_party/rust/encoding_rs/Cargo.toml
index 2adac351c2edf..0239315bab180 100644
--- a/third_party/rust/encoding_rs/Cargo.toml
+++ b/third_party/rust/encoding_rs/Cargo.toml
@@ -16,6 +16,7 @@ name = "encoding_rs"
version = "0.8.35"
authors = ["Henri Sivonen <hsivonen@hsivonen.fi>"]
build = false
+autolib = false
autobins = false
autoexamples = false
autotests = false
@@ -39,33 +40,6 @@ categories = [
license = "(Apache-2.0 OR MIT) AND BSD-3-Clause"
repository = "https://github.com/hsivonen/encoding_rs"
-[profile.release]
-lto = true
-
-[lib]
-name = "encoding_rs"
-path = "src/lib.rs"
-
-[dependencies.any_all_workaround]
-version = "0.1.0"
-optional = true
-
-[dependencies.cfg-if]
-version = "1.0"
-
-[dependencies.serde]
-version = "1.0"
-optional = true
-
-[dev-dependencies.bincode]
-version = "1.0"
-
-[dev-dependencies.serde_derive]
-version = "1.0"
-
-[dev-dependencies.serde_json]
-version = "1.0"
-
[features]
alloc = []
default = ["alloc"]
@@ -84,4 +58,34 @@ fast-legacy-encode = [
less-slow-big5-hanzi-encode = []
less-slow-gb-hanzi-encode = []
less-slow-kanji-encode = []
-simd-accel = ["any_all_workaround"]
+simd-accel = [
+ "any_all_workaround",
+ "rustversion",
+]
+
+[lib]
+name = "encoding_rs"
+path = "src/lib.rs"
+
+[dependencies]
+cfg-if = "1.0"
+
+[dependencies.any_all_workaround]
+version = "0.1.0"
+optional = true
+
+[dependencies.rustversion]
+version = "1.0.19"
+optional = true
+
+[dependencies.serde]
+version = "1.0"
+optional = true
+
+[dev-dependencies]
+bincode = "1.0"
+serde_derive = "1.0"
+serde_json = "1.0"
+
+[profile.release]
+lto = true
diff --git a/third_party/rust/encoding_rs/Cargo.toml.orig b/third_party/rust/encoding_rs/Cargo.toml.orig
deleted file mode 100644
index 0f7639d5f879b..0000000000000
--- a/third_party/rust/encoding_rs/Cargo.toml.orig
+++ /dev/null
@@ -1,45 +0,0 @@
-[package]
-name = "encoding_rs"
-description = "A Gecko-oriented implementation of the Encoding Standard"
-version = "0.8.35"
-edition = '2018'
-authors = ["Henri Sivonen <hsivonen@hsivonen.fi>"]
-license = "(Apache-2.0 OR MIT) AND BSD-3-Clause"
-readme = "README.md"
-documentation = "https://docs.rs/encoding_rs/"
-homepage = "https://docs.rs/encoding_rs/"
-repository = "https://github.com/hsivonen/encoding_rs"
-keywords = ["encoding", "web", "unicode", "charset"]
-categories = ["text-processing", "encoding", "web-programming", "internationalization"]
-rust-version = "1.36"
-
-[features]
-default = ["alloc"]
-alloc = []
-simd-accel = ["any_all_workaround"]
-less-slow-kanji-encode = []
-less-slow-big5-hanzi-encode = []
-less-slow-gb-hanzi-encode = []
-fast-hangul-encode = []
-fast-hanja-encode = []
-fast-kanji-encode = []
-fast-gb-hanzi-encode = []
-fast-big5-hanzi-encode = []
-fast-legacy-encode = ["fast-hangul-encode",
- "fast-hanja-encode",
- "fast-kanji-encode",
- "fast-gb-hanzi-encode",
- "fast-big5-hanzi-encode"]
-
-[dependencies]
-cfg-if = "1.0"
-serde = { version = "1.0", optional = true }
-any_all_workaround = { version = "0.1.0" , optional = true }
-
-[dev-dependencies]
-serde_derive = "1.0"
-bincode = "1.0"
-serde_json = "1.0"
-
-[profile.release]
-lto = true
diff --git a/third_party/rust/encoding_rs/src/x_user_defined.rs b/third_party/rust/encoding_rs/src/x_user_defined.rs
index 7af7d5e3d69da..16f1a18d7f6ce 100644
--- a/third_party/rust/encoding_rs/src/x_user_defined.rs
+++ b/third_party/rust/encoding_rs/src/x_user_defined.rs
@@ -16,7 +16,8 @@ cfg_if! {
use simd_funcs::*;
use core::simd::u16x8;
use core::simd::cmp::SimdPartialOrd;
+ #[rustversion::since(1.95)]
use core::simd::Select;
#[inline(always)]
fn shift_upper(unpacked: u16x8) -> u16x8 {

View File

@@ -0,0 +1,513 @@
This patch shas been backported from the development version or Biostrings.
From 100602242840322b5f6c267faaf8198c1a5aa2af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
Date: Thu, 5 Mar 2026 22:36:30 -0800
Subject: [PATCH] Biostrings 2.79.5: Get rid of never-used SparseMIndex and
SparseList classes
This also eliminates the non-API calls to R.
---
DESCRIPTION | 3 +-
NAMESPACE | 2 -
R/MIndex-class.R | 79 -------------------------
R/SparseList-class.R | 80 -------------------------
man/Biostrings-internals.Rd | 9 ---
src/Biostrings.h | 41 -------------
src/MIndex_class.c | 67 ---------------------
src/R_init_Biostrings.c | 1 -
src/SparseList_utils.c | 113 ------------------------------------
9 files changed, 1 insertion(+), 394 deletions(-)
delete mode 100644 R/SparseList-class.R
delete mode 100644 src/SparseList_utils.c
diff --git a/DESCRIPTION b/DESCRIPTION
index a5d027cc..dbc323ea 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -76,3 +76,3 @@ Collate: utils.R IUPAC_CODE_MAP.R AMINO_ACID_CODE.R GENETIC_CODE.R
injectHardMask.R padAndClip.R strsplit-methods.R misc.R
- SparseList-class.R MIndex-class.R lowlevel-matching.R
+ MIndex-class.R lowlevel-matching.R
match-utils.R matchPattern.R maskMotif.R matchLRPatterns.R
diff --git a/NAMESPACE b/NAMESPACE
index ba1e3bfa..cf14db67 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -206,7 +206,6 @@ exportMethods(
### ==========================================================================
### STRING MATCHING
### --------------------------------------------------------------------------
-### SparseList-class.R
### MIndex-class.R
### lowlevel-matching.R
### match-utils.R
@@ -220,7 +219,6 @@ exportMethods(
### matchPDict.R
exportClasses(
- #SparseList,
MIndex, ByPos_MIndex,
PreprocessedTB, Twobit, ACtree2,
PDict3Parts,
diff --git a/R/MIndex-class.R b/R/MIndex-class.R
index 022f6746..f50f215e 100644
--- a/R/MIndex-class.R
+++ b/R/MIndex-class.R
@@ -218,82 +218,3 @@ ByPos_MIndex.combine <- function(mi_list)
new("ByPos_MIndex", width0=ans_width0, NAMES=ans_names, ends=ans_ends)
}
-
-### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-### The "SparseMIndex" class (DISABLED FOR NOW).
-###
-### Slot description:
-###
-### ends_envir: a key-value list (environment) where the values are integer
-### vectors containing the ending positions of the pattern whose
-### position in the original dictionary is given by the key (the keys are
-### strings representing positive integers).
-###
-
-if (FALSE) {
-
- setClass("SparseMIndex",
- contains="MIndex",
- representation(
- ends_envir="environment"
- )
- )
-
- setMethod("show", "SparseMIndex",
- function(object)
- {
- cat("Sparse MIndex object of length ", length(object), "\n", sep="")
- }
- )
-
- setMethod("[[", "SparseMIndex",
- function(x, i, j, ...)
- {
- i <- normalizeDoubleBracketSubscript(i, x)
- ans_end <- x@ends_envir[[formatC(i, width=10, format="d", flag="0")]]
- if (is.null(ans_end))
- ans_end <- integer(0)
- ans_width <- rep.int(x@width0[i], length(ans_end))
- ans_start <- ans_end - x@width0[i] + 1L
- new2("IRanges", start=ans_start, width=ans_width, check=FALSE)
- }
- )
-
- ### An example of a SparseMIndex object of length 5 where only the
- ### 2nd pattern has matches:
- ### > width0 <- c(9L, 10L, 8L, 4L, 10L)
- ### > ends_envir <- new.env(hash=TRUE, parent=emptyenv())
- ### > ends_envir[['0000000002']] <- c(199L, 402L)
- ### > mindex <- new("SparseMIndex", width0=width0, NAMES=letters[1:5], ends_envir=ends_envir)
- ### > mindex[[1]]
- ### > mindex[[2]]
- ### > mindex[[6]] # Error in mindex[[6]] : subscript out of bounds
- ### > names(mindex)
- ### > mindex[["a"]]
- ### > mindex[["b"]]
- ### > mindex[["aa"]] # Error in mindex[["aa"]] : pattern name aa not found
- ### > startIndex(mindex)
- ### > endIndex(mindex)
- ### > elementNROWS(mindex)
- ###
- setMethod("startIndex", "SparseMIndex",
- function(x)
- {
- all.names <- TRUE
- .Call2("SparseMIndex_endIndex",
- x@ends_envir, x@width0, x@NAMES, all.names,
- PACKAGE="Biostrings")
- }
- )
- setMethod("endIndex", "SparseMIndex",
- function(x)
- {
- all.names <- TRUE
- .Call2("SparseMIndex_endIndex",
- x@ends_envir, NULL, x@NAMES, all.names,
- PACKAGE="Biostrings")
- }
- )
-
-}
-
diff --git a/R/SparseList-class.R b/R/SparseList-class.R
deleted file mode 100644
index 8295fd0f..00000000
--- a/R/SparseList-class.R
+++ /dev/null
@@ -1,80 +0,0 @@
-### =========================================================================
-### SparseList objects
-### -------------------------------------------------------------------------
-###
-
-setClass("SparseList",
- representation(
- length="integer",
- env="environment"
- )
-)
-
-### Typical use:
-### env <- new.env(hash=TRUE, parent=emptyenv())
-### key <- formatC(98L, width=10, format="d", flag="0")
-### value <- 3:-2
-### assign(key, value, envir=env)
-### x <- new("SparseList", length=100L, env=env)
-### length(x)
-### ls(x)
-### ls(x, all.names=TRUE)
-### as.list(x)
-### as.list(x, all.names=TRUE)
-### x[[1]]
-### x[[98]
-### x[[101]]]
-###
-
-setMethod("length", "SparseList", function(x) x@length)
-
-### 'pos', 'envir' and 'pattern' args are ignored
-setMethod("ls", signature(name="SparseList"),
- function(name, pos, envir, all.names=FALSE, pattern)
- {
- if (!all.names)
- return(ls(name@env, all.names=TRUE))
- seq_len(length(name))
- }
-)
-
-setMethod("as.list", "SparseList",
- function(x, all.names=FALSE, ...)
- {
- if (!all.names)
- return(as.list(x@env, all.names=TRUE))
- ans <- vector(mode="list", length=length(x))
- symbols <- ls(x)
- for (symb in symbols)
- ans[[as.integer(symb)]] <- get(symb, envir=x@env)
- ans
- }
-)
-
-### Supported 'i' types: character or numeric vector of length 1.
-setMethod("[[", "SparseList",
- function(x, i, j, ...)
- {
- if (!missing(j) || length(list(...)) > 0)
- stop("invalid subsetting")
- if (missing(i))
- stop("subscript is missing")
- if (!is.character(i) && !is.numeric(i))
- stop("invalid subscript type")
- if (length(i) < 1L)
- stop("attempt to select less than one element")
- if (length(i) > 1L)
- stop("attempt to select more than one element")
- if (is.na(i))
- stop("subscript cannot be NA")
- if (is.character(i))
- return(get(i, envir=x@env))
- if (!is.integer(i))
- i <- as.integer(i)
- if (i < 1L || i > length(x))
- stop("subscript out of bounds")
- i <- formatC(i, width=10, format="d", flag="0")
- get(i, envir=x@env)
- }
-)
-
diff --git a/man/Biostrings-internals.Rd b/man/Biostrings-internals.Rd
index 791b0870..609b7694 100644
--- a/man/Biostrings-internals.Rd
+++ b/man/Biostrings-internals.Rd
@@ -26,15 +26,6 @@
\alias{make_XStringSet_from_strings}
\alias{make_XStringSet_from_strings,XStringSet-method}
-% SparseList class and methods:
-\alias{class:SparseList}
-\alias{SparseList-class}
-\alias{SparseList}
-
-\alias{length,SparseList-method}
-%\alias{ls,SparseList-method}
-\alias{as.list,SparseList-method}
-\alias{[[,SparseList-method}
\title{Biostrings internals}
diff --git a/src/Biostrings.h b/src/Biostrings.h
index 6e725bd5..e86d0ff2 100644
--- a/src/Biostrings.h
+++ b/src/Biostrings.h
@@ -446,40 +446,6 @@ SEXP XStringSetList_unstrsplit(
);
-/* SparseList_utils.c */
-
-SEXP _SparseList_int2symb(int symb_as_int);
-
-int _SparseList_symb2int(SEXP symbol);
-
-SEXP _get_val_from_env(
- SEXP symbol,
- SEXP env,
- int error_on_unbound_value
-);
-
-SEXP _get_val_from_SparseList(
- int symb_as_int,
- SEXP env,
- int error_on_unbound_value
-);
-
-int _get_int_from_SparseList(
- int symb_as_int,
- SEXP env
-);
-
-void _set_env_from_IntAE(
- SEXP env,
- const IntAE *int_ae
-);
-
-void _set_env_from_IntAEAE(
- SEXP env,
- const IntAEAE *int_aeae
-);
-
-
/* match_reporting.c */
int _get_match_storing_code(const char *ms_mode);
@@ -558,13 +524,6 @@ SEXP ByPos_MIndex_endIndex(
SEXP x_width0
);
-SEXP SparseMIndex_endIndex(
- SEXP x_ends_envir,
- SEXP x_width0,
- SEXP x_names,
- SEXP all_names
-);
-
SEXP ByPos_MIndex_combine(SEXP ends_listlist);
diff --git a/src/MIndex_class.c b/src/MIndex_class.c
index 00212fe9..dd6ad546 100644
--- a/src/MIndex_class.c
+++ b/src/MIndex_class.c
@@ -157,73 +157,6 @@ SEXP ByPos_MIndex_endIndex(SEXP x_high2low, SEXP x_ends, SEXP x_width0)
return ans;
}
-/*
- * --- .Call ENTRY POINT ---
- * All the keys in 'x_ends_envir' must be representing integers left-padded with 0s
- * so they have the same length. This works properly:
- library(Biostrings)
- ends_envir <- new.env(parent=emptyenv())
- ends_envir[['0000000010']] <- -2:1
- ends_envir[['0000000004']] <- 9:6
- .Call("SparseMIndex_endIndex",
- ends_envir, NULL, letters[1:10], TRUE,
- PACKAGE="Biostrings")
- .Call("SparseMIndex_endIndex",
- ends_envir, NULL, letters[1:10], FALSE,
- PACKAGE="Biostrings")
- * but this doesn't:
- ends_envir[['3']] <- 33L
- .Call("SparseMIndex_endIndex",
- ends_envir, NULL, letters[1:10], FALSE,
- PACKAGE="Biostrings")
- */
-SEXP SparseMIndex_endIndex(SEXP x_ends_envir, SEXP x_width0, SEXP x_names, SEXP all_names)
-{
- SEXP ans, ans_elt, ans_names, symbols, end;
- int nelt, i, j;
- IntAE *poffsets, *poffsets_order;
-
- PROTECT(symbols = R_lsInternal(x_ends_envir, 1));
- poffsets = new_IntAE_from_CHARACTER(symbols, -1);
- nelt = IntAE_get_nelt(poffsets);
- if (LOGICAL(all_names)[0]) {
- PROTECT(ans = NEW_LIST(LENGTH(x_names)));
- for (i = 0; i < nelt; i++) {
- j = poffsets->elts[i];
- end = _get_val_from_env(STRING_ELT(symbols, i), x_ends_envir, 1);
- PROTECT(ans_elt = duplicate(end));
- if (x_width0 != R_NilValue)
- add_val_to_INTEGER(ans_elt, 1 - INTEGER(x_width0)[j]);
- SET_ELEMENT(ans, j, ans_elt);
- UNPROTECT(1);
- }
- SET_NAMES(ans, duplicate(x_names));
- UNPROTECT(1);
- } else {
- //poffsets_order = new_IntAE(nelt, 0, 0);
- //get_order_of_int_array(poffsets->elts, nelt, 0, 0,
- // poffsets_order->elts, 0);
- //IntAE_set_nelt(poffsets_order) = nelt; /* = poffsets_order->_buflength */
- PROTECT(ans = NEW_LIST(nelt));
- PROTECT(ans_names = NEW_CHARACTER(nelt));
- for (i = 0; i < nelt; i++) {
- //j = poffsets_order->elts[i];
- j = i;
- end = _get_val_from_env(STRING_ELT(symbols, j), x_ends_envir, 1);
- PROTECT(ans_elt = duplicate(end));
- if (x_width0 != R_NilValue)
- add_val_to_INTEGER(ans_elt, 1 - INTEGER(x_width0)[i]);
- SET_ELEMENT(ans, i, ans_elt);
- UNPROTECT(1);
- SET_STRING_ELT(ans_names, i, duplicate(STRING_ELT(x_names, poffsets->elts[j])));
- }
- SET_NAMES(ans, ans_names);
- UNPROTECT(2);
- }
- UNPROTECT(1);
- return ans;
-}
-
/*
* --- .Call ENTRY POINT ---
*/
diff --git a/src/R_init_Biostrings.c b/src/R_init_Biostrings.c
index 4d2943f8..c1410dbd 100644
--- a/src/R_init_Biostrings.c
+++ b/src/R_init_Biostrings.c
@@ -88,7 +88,6 @@ static const R_CallMethodDef callMethods[] = {
/* MIndex_class.c */
CALLMETHOD_DEF(ByPos_MIndex_endIndex, 3),
- CALLMETHOD_DEF(SparseMIndex_endIndex, 4),
CALLMETHOD_DEF(ByPos_MIndex_combine, 1),
/* lowlevel_matching.c */
diff --git a/src/SparseList_utils.c b/src/SparseList_utils.c
deleted file mode 100644
index 18597b55..00000000
--- a/src/SparseList_utils.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
- * Fast SparseList utilities *
- * Author: H. Pag\`es *
- ****************************************************************************/
-#include "Biostrings.h"
-#include "S4Vectors_interface.h"
-
-
-SEXP _SparseList_int2symb(int symb_as_int)
-{
- char symbbuf[11];
-
- snprintf(symbbuf, sizeof(symbbuf), "%010d", symb_as_int);
- return mkChar(symbbuf); /* UNPROTECTED! */
-}
-
-int _SparseList_symb2int(SEXP symbol)
-{
- int symb_as_int;
-
- sscanf(CHAR(symbol), "%d", &symb_as_int);
- return symb_as_int;
-}
-
-/* 'symbol' must be a CHARSXP */
-SEXP _get_val_from_env(SEXP symbol, SEXP env, int error_on_unbound_value)
-{
- SEXP ans;
-
- /* The following code was inspired by R's do_get() code.
- * Note that do_get() doesn't use PROTECT at all and so do we...
- */
- ans = findVar(install(translateChar(symbol)), env);
- if (ans == R_UnboundValue) {
- if (error_on_unbound_value)
- error("Biostrings internal error in _get_val_from_env(): "
- "unbound value");
- return R_UnboundValue;
- }
- if (TYPEOF(ans) == PROMSXP)
- ans = eval(ans, env);
- if (ans != R_NilValue && NAMED(ans) == 0)
- SET_NAMED(ans, 1);
- return ans;
-}
-
-SEXP _get_val_from_SparseList(int symb_as_int, SEXP env, int error_on_unbound_value)
-{
- SEXP symbol, ans;
-
- PROTECT(symbol = _SparseList_int2symb(symb_as_int));
- ans = _get_val_from_env(symbol, env, error_on_unbound_value);
- UNPROTECT(1);
- return ans;
-}
-
-int _get_int_from_SparseList(int symb_as_int, SEXP env)
-{
- SEXP value;
- int val;
-
- value = _get_val_from_SparseList(symb_as_int, env, 0);
- if (value == R_UnboundValue)
- return NA_INTEGER;
- if (LENGTH(value) != 1)
- error("Biostrings internal error in _get_int_from_SparseList(): "
- "value is not a single integer");
- val = INTEGER(value)[0];
- if (val == NA_INTEGER)
- error("Biostrings internal error in _get_int_from_SparseList(): "
- "value is NA");
- return val;
-}
-
-void _set_env_from_IntAE(SEXP env, const IntAE *int_ae)
-{
- int nelt, symb_as_int, elt;
- SEXP symbol, value;
-
- nelt = IntAE_get_nelt(int_ae);
- for (symb_as_int = 1; symb_as_int <= nelt; symb_as_int++)
- {
- elt = int_ae->elts[symb_as_int - 1];
- if (elt == NA_INTEGER)
- continue;
- PROTECT(symbol = _SparseList_int2symb(symb_as_int));
- PROTECT(value = ScalarInteger(elt));
- defineVar(install(translateChar(symbol)), value, env);
- UNPROTECT(2);
- }
- return;
-}
-
-void _set_env_from_IntAEAE(SEXP env, const IntAEAE *int_aeae)
-{
- int nelt, symb_as_int;
- IntAE *ae;
- SEXP symbol, value;
-
- nelt = IntAEAE_get_nelt(int_aeae);
- for (symb_as_int = 1; symb_as_int <= nelt; symb_as_int++)
- {
- ae = int_aeae->elts[symb_as_int - 1];
- if (IntAE_get_nelt(ae) == 0)
- continue;
- PROTECT(symbol = _SparseList_int2symb(symb_as_int));
- PROTECT(value = new_INTEGER_from_IntAE(ae));
- defineVar(install(translateChar(symbol)), value, env);
- UNPROTECT(2);
- }
- return;
-}
-

View File

@@ -0,0 +1,142 @@
From 7fe34542bff0183c3a6a35a62df9035a71698eb2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
Date: Fri, 6 Mar 2026 15:54:23 -0800
Subject: [PATCH] h5mread 1.3.2: Get rid of non-API calls to R
---
DESCRIPTION | 2 +-
R/H5File-class.R | 27 ++++++++++++++++-----------
src/h5mread_index.c | 5 +++--
src/h5mread_startscounts.c | 3 ++-
4 files changed, 22 insertions(+), 15 deletions(-)
diff --git a/R/H5File-class.R b/R/H5File-class.R
index 2735166..6aeb80f 100644
--- a/R/H5File-class.R
+++ b/R/H5File-class.R
@@ -73,19 +73,23 @@
}
}
-.h5openfile <- function(filepath, s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
+.h5openfile <- function(filepath, readonly=TRUE,
+ s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
{
if (!isSingleString(filepath))
stop(wmsg("'filepath' must be a single string specifying ",
"the path or URL to an HDF5 file"))
+ if (!isTRUEorFALSE(readonly))
+ stop(wmsg("'readonly' must be TRUE or FALSE"))
if (!isTRUEorFALSE(s3))
stop(wmsg("'s3' must be TRUE or FALSE"))
-
+ if (s3 && !readonly)
+ stop(wmsg("'readonly' must be set to TRUE when 's3' is TRUE"))
if (s3) {
ID <- .h5openS3file(filepath, s3credentials=s3credentials,
use.rhdf5=use.rhdf5)
} else {
- ID <- .h5openlocalfile(filepath, readonly=TRUE, use.rhdf5=use.rhdf5)
+ ID <- .h5openlocalfile(filepath, readonly=readonly, use.rhdf5=use.rhdf5)
}
ID
}
@@ -136,16 +140,16 @@
.ID_is_closed <- function(ID) { is.null(ID) || is.na(ID) }
-.open_H5FileID_xp <- function(xp, filepath, s3=FALSE, s3credentials=NULL,
- use.rhdf5=FALSE)
+.open_H5FileID_xp <- function(xp, filepath, readonly=TRUE,
+ s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
{
ID <- .get_H5FileID_xp_ID(xp)
if (!.ID_is_closed(ID)) {
## H5FileID object is already open.
return(FALSE)
}
- ID <- .h5openfile(filepath, s3=s3, s3credentials=s3credentials,
- use.rhdf5=use.rhdf5)
+ ID <- .h5openfile(filepath, readonly=readonly,
+ s3=s3, s3credentials=s3credentials, use.rhdf5=use.rhdf5)
.set_H5FileID_xp_ID(xp, ID)
TRUE
}
@@ -183,10 +187,11 @@ close.H5FileID <- function(con, ...)
.close_H5FileID_xp(con@xp, ..., use.rhdf5=con@from_rhdf5)
}
-H5FileID <- function(filepath, s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
+H5FileID <- function(filepath, readonly=TRUE,
+ s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
{
- ID <- .h5openfile(filepath, s3=s3, s3credentials=s3credentials,
- use.rhdf5=use.rhdf5)
+ ID <- .h5openfile(filepath, readonly=readonly,
+ s3=s3, s3credentials=s3credentials, use.rhdf5=use.rhdf5)
xp <- .new_H5FileID_xp(ID)
reg.finalizer(xp,
function(e) .close_H5FileID_xp(e, use.rhdf5=use.rhdf5),
@@ -272,7 +277,7 @@ H5File <- function(filepath, s3=FALSE, s3credentials=NULL, .no_rhdf5_h5id=FALSE)
rhdf5_h5id <- new("H5FileID")
} else {
rhdf5_h5id <- H5FileID(filepath, s3=s3, s3credentials=s3credentials,
- use.rhdf5=TRUE)
+ use.rhdf5=TRUE)
}
if (!s3)
filepath <- file_path_as_absolute(filepath)
diff --git a/src/h5mread_index.c b/src/h5mread_index.c
index 7284815..ec93c25 100644
--- a/src/h5mread_index.c
+++ b/src/h5mread_index.c
@@ -9,6 +9,7 @@
#include "h5mread_helpers.h"
#include "TouchedChunks.h"
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
#include <stdlib.h> /* for malloc, free */
#include <string.h> /* for memcmp */
//#include <time.h>
@@ -444,7 +445,7 @@ static int read_chunk_data_4_5(const H5DSetDescriptor *h5dset,
const size_t *Rarray_dim, SEXP Rarray,
int method, int use_H5Dread_chunk)
{
- void *out = DATAPTR(Rarray);
+ void *out = DATAPTR_RW(Rarray);
if (out == NULL)
return -1;
@@ -874,7 +875,7 @@ static int read_data_6(const AllTChunks *all_tchunks,
size_t *inner_nchip_buf = R_alloc0_size_t_array(ndim);
LLongAEAE *inner_breakpoint_bufs = new_LLongAEAE(ndim, ndim);
- void *out = DATAPTR(Rarray);
+ void *out = DATAPTR_RW(Rarray);
if (out == NULL) {
_destroy_TChunkIterator(&tchunk_iter);
return -1;
diff --git a/src/h5mread_startscounts.c b/src/h5mread_startscounts.c
index de57fd5..959014f 100644
--- a/src/h5mread_startscounts.c
+++ b/src/h5mread_startscounts.c
@@ -8,6 +8,7 @@
#include "uaselection.h"
#include "h5mread_helpers.h"
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
#include <stdlib.h> /* for malloc, free */
//#include <time.h>
@@ -402,7 +403,7 @@ SEXP _h5mread_startscounts(const H5DSetDescriptor *h5dset,
SEXP ans = PROTECT(allocVector(h5dset->h5type->Rtype, ans_len));
if (ans_len != 0) {
- void *mem = DATAPTR(ans);
+ void *mem = DATAPTR_RW(ans);
if (mem == NULL)
goto on_error;
--
2.52.0

View File

@@ -0,0 +1,67 @@
From a827c9fdeb77edefe6cca81bdb9e0344bc8d3742 Mon Sep 17 00:00:00 2001
From: Sebastian Gibb <mail@sebastiangibb.de>
Date: Sat, 13 Dec 2025 23:06:12 +0100
Subject: [PATCH] fix: non-API call to R: SETLENGTH by using lengthgets
---
DESCRIPTION | 2 +-
NEWS.md | 6 ++++++
src/join.c | 12 ++++--------
src/reduce.c | 6 ++----
4 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/join.c b/src/join.c
index f13a703..3849fdf 100644
--- a/src/join.c
+++ b/src/join.c
@@ -111,12 +111,10 @@ SEXP C_join_inner(SEXP x, SEXP y, SEXP tolerance, SEXP nomatch) {
++j;
}
}
- SETLENGTH(rx, j);
- SETLENGTH(ry, j);
SEXP out = PROTECT(allocVector(VECSXP, 2));
SEXP nms = PROTECT(allocVector(STRSXP, 2));
- SET_VECTOR_ELT(out, 0, rx);
- SET_VECTOR_ELT(out, 1, ry);
+ SET_VECTOR_ELT(out, 0, lengthgets(rx, j));
+ SET_VECTOR_ELT(out, 1, lengthgets(ry, j));
SET_STRING_ELT(nms, 0, mkChar("x"));
SET_STRING_ELT(nms, 1, mkChar("y"));
setAttrib(out, R_NamesSymbol, nms);
@@ -201,12 +199,10 @@ SEXP C_join_outer(SEXP x, SEXP y, SEXP tolerance, SEXP nomatch) {
++i;
}
- SETLENGTH(rx, i);
- SETLENGTH(ry, i);
SEXP out = PROTECT(allocVector(VECSXP, 2));
SEXP nms = PROTECT(allocVector(STRSXP, 2));
- SET_VECTOR_ELT(out, 0, rx);
- SET_VECTOR_ELT(out, 1, ry);
+ SET_VECTOR_ELT(out, 0, lengthgets(rx, i));
+ SET_VECTOR_ELT(out, 1, lengthgets(ry, i));
SET_STRING_ELT(nms, 0, mkChar("x"));
SET_STRING_ELT(nms, 1, mkChar("y"));
setAttrib(out, R_NamesSymbol, nms);
diff --git a/src/reduce.c b/src/reduce.c
index 5f87966..8e48058 100644
--- a/src/reduce.c
+++ b/src/reduce.c
@@ -66,11 +66,9 @@ SEXP C_reduce(SEXP start, SEXP end, SEXP check) {
}
}
- SETLENGTH(rs, pos + 1);
- SETLENGTH(re, pos + 1);
SEXP out = PROTECT(allocVector(VECSXP, 2));
- SET_VECTOR_ELT(out, 0, rs);
- SET_VECTOR_ELT(out, 1, re);
+ SET_VECTOR_ELT(out, 0, lengthgets(rs, pos + 1));
+ SET_VECTOR_ELT(out, 1, lengthgets(re, pos + 1));
UNPROTECT(4);
--
2.52.0

View File

@@ -0,0 +1,114 @@
From 57dc6579d8b53af9e633016705fa9a1cbe58c8c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
Date: Fri, 6 Mar 2026 16:48:20 -0800
Subject: [PATCH] Rsamtools 2.27.1: Get rid of non-API calls to R
---
DESCRIPTION | 2 +-
src/utilities.h | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/utilities.h b/src/utilities.h
index bffb98f7..f9d5e09f 100644
--- a/src/utilities.h
+++ b/src/utilities.h
@@ -51,8 +51,7 @@ SEXP find_mate_within_groups(SEXP group_sizes,
/* call-building macros */
#define NEW_CALL(S, T, NAME, ENV, N) \
- PROTECT(S = T = allocList(N)); \
- SET_TYPEOF(T, LANGSXP); \
+ PROTECT(S = T = LCONS(R_NilValue, allocList(N-1))); \
SETCAR(T, findFun(install(NAME), ENV)); \
T = CDR(T)
#define CSET_CDR(T, NAME, VALUE) \
From 8cdec143023e8348a4f8bdc310acd609d14fe493 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
Date: Fri, 6 Mar 2026 16:59:42 -0800
Subject: [PATCH] oops, forgot to also get rid of non-API call to FORMALS()
---
src/pileupbam.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/pileupbam.c b/src/pileupbam.c
index f3256ba..7725628 100644
--- a/src/pileupbam.c
+++ b/src/pileupbam.c
@@ -655,7 +655,7 @@ SEXP apply_pileups(SEXP files, SEXP names, SEXP regions, SEXP param,
if (R_NilValue == regions)
Rf_error("'NULL' regions not (yet) supported");
_checkparams(regions, R_NilValue, R_NilValue);
- if (!Rf_isFunction(callback) || 1L != Rf_length(FORMALS(callback)))
+ if (!Rf_isFunction(callback) || 1L != Rf_length(R_ClosureFormals(callback)))
Rf_error("'callback' must be a function of 1 argument");
call = PROTECT(Rf_lang2(callback, R_NilValue));
From ee01a1f13f3b012b0717247d1f21580225b6f3a0 Mon Sep 17 00:00:00 2001
From: vjcitn <stvjc@channing.harvard.edu>
Date: Wed, 8 Apr 2026 14:04:26 -0400
Subject: [PATCH] API solutions
---
DESCRIPTION | 2 +-
src/tabixfile.c | 4 ++++
src/utilities.c | 13 ++++++++++---
3 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/src/tabixfile.c b/src/tabixfile.c
index 230a381..6f96568 100644
--- a/src/tabixfile.c
+++ b/src/tabixfile.c
@@ -187,8 +187,12 @@ SEXP index_tabix(SEXP filename, SEXP format, SEXP seq, SEXP begin, SEXP end,
LOGICAL(zeroBased)[0] == TRUE)
conf.preset |= TBX_UCSC;
+/* following is deprecated in HTSLIB with no precise replacement proposed */
+/* seems unimportant */
+/*
if (bgzf_is_bgzf(fn) != 1)
Rf_error("file does not appear to be bgzip'd");
+*/
if (tbx_index_build(fn, 0, &conf) == -1)
Rf_error("index build failed");
diff --git a/src/utilities.c b/src/utilities.c
index e224f91..d15c1d1 100644
--- a/src/utilities.c
+++ b/src/utilities.c
@@ -5,6 +5,13 @@
#include "XVector_interface.h"
#include <htslib/khash.h>
+#include <Rversion.h>
+
+#if R_VERSION < R_Version(4, 6, 0)
+# define R_getVar(x,y,z) findVar(x,y)
+#endif
+
+
void *_Rs_Realloc_impl(void *p, size_t n, size_t t)
{
/* R_Realloc(p, 0, *) fails inappropriately */
@@ -30,7 +37,7 @@ SEXP _get_namespace(const char *pkg)
void _as_strand(SEXP vec)
{
SEXP nmspc = PROTECT(_get_namespace("Rsamtools"));
- SEXP lvls = PROTECT(eval(findVar(install(".STRAND_LEVELS"), nmspc), nmspc));
+ SEXP lvls = PROTECT(eval(R_getVar(install(".STRAND_LEVELS"), nmspc, TRUE), nmspc));
_as_factor_SEXP(vec, lvls);
UNPROTECT(2);
}
@@ -38,8 +45,8 @@ void _as_strand(SEXP vec)
void _as_nucleotide(SEXP vec)
{
SEXP nmspc = PROTECT(_get_namespace("Rsamtools"));
- SEXP lvls = PROTECT(eval(findVar(install(".PILEUP_NUCLEOTIDE_LEVELS"),
- nmspc), nmspc));
+ SEXP lvls = PROTECT(eval(R_getVar(install(".PILEUP_NUCLEOTIDE_LEVELS"),
+ nmspc, TRUE), nmspc));
_as_factor_SEXP(vec, lvls);
UNPROTECT(2);
}

View File

@@ -0,0 +1,103 @@
From e39852a54312bbc6ba435848890cc2a7f612357c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
Date: Fri, 6 Mar 2026 17:04:19 -0800
Subject: [PATCH] ShortRead 1.69.3: Get rid of non-API calls to R
---
DESCRIPTION | 2 +-
src/call.h | 3 +--
src/io.c | 10 +++++-----
3 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/src/call.h b/src/call.h
index e15bb5e..e72bbd6 100644
--- a/src/call.h
+++ b/src/call.h
@@ -6,8 +6,7 @@ extern "C" {
#endif
#define NEW_CALL(S, T, NAME, ENV, N) \
- PROTECT((S) = (T) = allocList((N))); \
- SET_TYPEOF((T), LANGSXP); \
+ PROTECT((S) = (T) = LCONS(R_NilValue, allocList((N)-1))); \
SETCAR((T), findFun(install((NAME)), (ENV))); \
(T) = CDR((T))
#define CSET_CDR(T, NAME, VALUE) \
diff --git a/src/io.c b/src/io.c
index 25a0111..9cf4bf8 100644
--- a/src/io.c
+++ b/src/io.c
@@ -46,9 +46,9 @@ SEXP write_fastq(SEXP id, SEXP sread, SEXP quality,
SEXP fname, SEXP fmode, SEXP full, SEXP compress,
SEXP max_width)
{
- if (!(IS_S4_OBJECT(id) && strcmp(get_classname(id), "BStringSet") == 0))
+ if (!(Rf_isS4(id) && strcmp(get_classname(id), "BStringSet") == 0))
Rf_error("'%s' must be '%s'", "id", "BStringSet");
- if (!(IS_S4_OBJECT(sread) &&
+ if (!(Rf_isS4(sread) &&
strcmp(get_classname(sread), "DNAStringSet") == 0))
Rf_error("'%s' must be '%s'", "sread", "DNAStringSet");
/* check in R -- C-level R_check_super... is not adequate */
@@ -693,14 +693,14 @@ int _solexa_export_make_id(SEXP result)
*x = INTEGER(VECTOR_ELT(result, SLX_X)),
*y = INTEGER(VECTOR_ELT(result, SLX_Y)), *pairedReadNumber = NULL;
const SEXP
- * run = STRING_PTR(VECTOR_ELT(result, SLX_RUN)),
+ * run = STRING_PTR_RO(VECTOR_ELT(result, SLX_RUN)),
*multiplexIndex = NULL,
- *machine = STRING_PTR(VECTOR_ELT(result, SLX_MACHINE));
+ *machine = STRING_PTR_RO(VECTOR_ELT(result, SLX_MACHINE));
const Rboolean
withMultiplexIndex = R_NilValue != VECTOR_ELT(result, SLX_MULTIPLEX),
withPairedReadNumber = R_NilValue != VECTOR_ELT(result, SLX_PAIRID);
if (withMultiplexIndex)
- multiplexIndex = STRING_PTR(VECTOR_ELT(result, SLX_MULTIPLEX));
+ multiplexIndex = STRING_PTR_RO(VECTOR_ELT(result, SLX_MULTIPLEX));
if (withPairedReadNumber)
pairedReadNumber = INTEGER(VECTOR_ELT(result, SLX_PAIRID));
--
2.52.0
From 2e3368a35e3955a0a92b7f3e2c8dface6709d135 Mon Sep 17 00:00:00 2001
From: vjcitn <stvjc@channing.harvard.edu>
Date: Thu, 16 Apr 2026 16:54:15 +0000
Subject: [PATCH] fixapi
---
src/util.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/util.c b/src/util.c
index 4a10a90..59c089b 100644
--- a/src/util.c
+++ b/src/util.c
@@ -6,6 +6,14 @@ unsigned char _bDecode(char);
unsigned char _dnaDecode(char);
unsigned char _rnaDecode(char);
+
+#include <Rversion.h>
+
+#if R_VERSION < R_Version(4, 6, 0)
+# define R_getVar(x,y,z) findVar(x,y)
+#endif
+
+
/*
* Encode / decode XString wrappers
*/
@@ -80,7 +88,7 @@ SEXP _get_namespace(const char *pkg)
SEXP _get_strand_levels()
{
SEXP nmspc = PROTECT(_get_namespace("ShortRead"));
- SEXP ans = eval(findVar(install(".STRAND_LEVELS"), nmspc), nmspc);
+ SEXP ans = eval(R_getVar(install(".STRAND_LEVELS"), nmspc, TRUE), nmspc);
UNPROTECT(1);
return ans;
}
--
2.52.0

View File

@@ -0,0 +1,412 @@
From 803cda41994a22890e0a6e379e6588084d4bc91b Mon Sep 17 00:00:00 2001
From: vjcitn <stvjc@channing.harvard.edu>
Date: Fri, 13 Mar 2026 04:04:59 -0400
Subject: [PATCH 1/2] fixed non-API except for IS_S4_OBJECT
---
src/bind.c | 8 ++++----
src/glm_test_R.c | 20 ++++++++++----------
src/imputation.c | 8 ++++----
src/input.c | 2 +-
src/plink.c | 2 +-
src/read_uncertain.c | 4 ++--
src/readped.c | 2 +-
src/single_snp_tests.c | 8 ++++----
src/snp_summary.c | 8 ++++----
src/snpmpy.c | 8 ++++----
src/structure.c | 4 ++--
src/subset.c | 2 +-
src/switch.c | 2 +-
src/tdt.c | 8 ++++----
src/testBig.c | 2 +-
15 files changed, 44 insertions(+), 44 deletions(-)
diff --git a/src/bind.c b/src/bind.c
index 44b1536..fa87e7c 100644
--- a/src/bind.c
+++ b/src/bind.c
@@ -19,7 +19,7 @@ SEXP snp_rbind(SEXP args) {
const SEXP This = CAR(args);
Class = getAttrib(This, R_ClassSymbol);
if (TYPEOF(Class) != STRSXP) {
- Class = R_data_class(This, FALSE);
+ Class = R_class(This);
}
const char *cli = CHAR(STRING_ELT(Class, 0));
if(!IS_S4_OBJECT(This)) {
@@ -66,7 +66,7 @@ SEXP snp_rbind(SEXP args) {
SEXP Result, Rnames, Dnames, Diploid = R_NilValue;
PROTECT(Result = allocMatrix(RAWSXP, nr, nc));
classgets(Result, duplicate(Class));
- SET_S4_OBJECT(Result);
+ Rf_asS4(Result, TRUE, 0);
PROTECT(Rnames = allocVector(STRSXP, nr));
PROTECT(Dnames = allocVector(VECSXP, 2));
SET_VECTOR_ELT(Dnames, 0, Rnames);
@@ -148,7 +148,7 @@ SEXP snp_cbind(SEXP args) {
SEXP This = CAR(args);
Class = getAttrib(This, R_ClassSymbol);
if (TYPEOF(Class) != STRSXP) {
- Class = R_data_class(This, FALSE);
+ Class = R_class(This);
}
const char *cli = CHAR(STRING_ELT(Class, 0));
if(!IS_S4_OBJECT(This)) {
@@ -205,7 +205,7 @@ SEXP snp_cbind(SEXP args) {
SEXP Result, Cnames, Dnames;
PROTECT(Result = allocMatrix(RAWSXP, nr, nc));
classgets(Result, duplicate(Class));
- SET_S4_OBJECT(Result);
+ Rf_asS4(Result, TRUE, 0);
PROTECT(Dnames = allocVector(VECSXP, 2));
setAttrib(Result, R_DimNamesSymbol, Dnames);
PROTECT(Cnames = allocVector(STRSXP, nc));
diff --git a/src/glm_test_R.c b/src/glm_test_R.c
index d865182..dc8ebef 100644
--- a/src/glm_test_R.c
+++ b/src/glm_test_R.c
@@ -19,8 +19,8 @@ SEXP snp_lhs_score(const SEXP Y, const SEXP X, const SEXP Stratum,
/* Y should be a SnpMatrix or an XSnpMatrix */
const char *classY = NULL;
- if (TYPEOF(R_data_class(Y, FALSE)) == STRSXP) {
- classY = CHAR(STRING_ELT(R_data_class(Y, FALSE), 0));
+ if (TYPEOF(R_class(Y)) == STRSXP) {
+ classY = CHAR(STRING_ELT(R_class(Y), 0));
} else {
classY = CHAR(STRING_ELT(getAttrib(Y, R_ClassSymbol), 0));
}
@@ -431,8 +431,8 @@ SEXP snp_rhs_score(SEXP Y, SEXP family, SEXP link,
/* Z should be a SnpMatrix or an XSnpMatrix */
const char *classZ = NULL;
- if (TYPEOF(R_data_class(Z, FALSE)) == STRSXP) {
- classZ = CHAR(STRING_ELT(R_data_class(Z, FALSE), 0));
+ if (TYPEOF(R_class(Z)) == STRSXP) {
+ classZ = CHAR(STRING_ELT(R_class(Z), 0));
} else {
classZ = CHAR(STRING_ELT(getAttrib(Z, R_ClassSymbol), 0));
}
@@ -1003,8 +1003,8 @@ SEXP snp_lhs_estimate(const SEXP Y, const SEXP X, const SEXP Stratum,
/* Y should be a SnpMatrix or an XSnpMatrix */
const char *classY = NULL;
- if (TYPEOF(R_data_class(Y, FALSE)) == STRSXP) {
- classY = CHAR(STRING_ELT(R_data_class(Y, FALSE), 0));
+ if (TYPEOF(R_class(Y)) == STRSXP) {
+ classY = CHAR(STRING_ELT(R_class(Y), 0));
} else {
classY = CHAR(STRING_ELT(getAttrib(Y, R_ClassSymbol), 0));
}
@@ -1286,7 +1286,7 @@ SEXP snp_lhs_estimate(const SEXP Y, const SEXP X, const SEXP Stratum,
LOGICAL(Lhs)[0] = 1;
setAttrib(Estimates, install("snpLHS"), Lhs);
UNPROTECT(6);
- SET_S4_OBJECT(Estimates);
+ Rf_asS4(Estimates, TRUE, 0);
return(Estimates);
}
@@ -1360,8 +1360,8 @@ SEXP snp_rhs_estimate(SEXP Y, SEXP family, SEXP link,
/* Z should be a SnpMatrix or an XSnpMatrix */
const char *classZ = NULL;
- if (TYPEOF(R_data_class(Z, FALSE)) == STRSXP) {
- classZ = CHAR(STRING_ELT(R_data_class(Z, FALSE), 0));
+ if (TYPEOF(R_class(Z)) == STRSXP) {
+ classZ = CHAR(STRING_ELT(R_class(Z), 0));
} else {
classZ = CHAR(STRING_ELT(getAttrib(Z, R_ClassSymbol), 0));
}
@@ -1724,7 +1724,7 @@ SEXP snp_rhs_estimate(SEXP Y, SEXP family, SEXP link,
UNPROTECT(gen_names? 7: 6);
- SET_S4_OBJECT(Estimates);
+ Rf_asS4(Estimates, TRUE, 0);
return(Estimates);
}
diff --git a/src/imputation.c b/src/imputation.c
index ff9403b..d796c1b 100644
--- a/src/imputation.c
+++ b/src/imputation.c
@@ -77,7 +77,7 @@ SEXP snp_impute(const SEXP X, const SEXP Y, const SEXP Xord, const SEXP Yord,
int *diploid = NULL;
SEXP cl = GET_CLASS(X);
if (TYPEOF(cl) != STRSXP) {
- cl = R_data_class(X, FALSE); /* S4 way of getting class attribute */
+ cl = R_class(X); /* S4 way of getting class attribute */
}
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
SEXP Diploid = R_do_slot(X, mkString("diploid"));
@@ -395,7 +395,7 @@ SEXP snp_impute(const SEXP X, const SEXP Y, const SEXP Xord, const SEXP Yord,
PROTECT(Maxpred = allocVector(INTSXP, 1));
INTEGER(Maxpred)[0] = maxpred;
setAttrib(Result, install("Max.predictors"), Maxpred);
- SET_S4_OBJECT(Result);
+ Rf_asS4(Result, TRUE, 0);
/* Tidy up */
@@ -701,7 +701,7 @@ SEXP impute_snps(const SEXP Rules, const SEXP Snps, const SEXP Subset,
int *diploid_in=NULL, *diploid=NULL;
SEXP cl = GET_CLASS(Snps);
if (TYPEOF(cl) != STRSXP) {
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
+ cl = R_class(Snps); /* S4 way of getting class attribute */
}
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
SEXP Diploid = R_do_slot(Snps, mkString("diploid"));
@@ -753,7 +753,7 @@ SEXP impute_snps(const SEXP Rules, const SEXP Snps, const SEXP Subset,
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
setAttrib(Class, install("package"), Package);
classgets(Result, Class);
- SET_S4_OBJECT(Result);
+ Rf_asS4(Result, TRUE, 0);
}
PROTECT(Dimnames = allocVector(VECSXP, 2));
SET_VECTOR_ELT(Dimnames, 0, VECTOR_ELT(names, 0));
diff --git a/src/input.c b/src/input.c
index 1d2a95b..60cdad8 100644
--- a/src/input.c
+++ b/src/input.c
@@ -330,7 +330,7 @@ SEXP insnp_new(const SEXP Filenames, const SEXP Sample_id, const SEXP Snp_id,
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
setAttrib(Class, install("package"), Package);
classgets(Result, Class);
- SET_S4_OBJECT(Result);
+ Rf_asS4(Result, TRUE, 0);
unsigned char *result = RAW(Result);
memset(result, 0x00, Nsample*Nsnp);
diff --git a/src/plink.c b/src/plink.c
index a413440..9095c2d 100644
--- a/src/plink.c
+++ b/src/plink.c
@@ -59,7 +59,7 @@ SEXP readbed(SEXP Bed, SEXP Id, SEXP Snps, SEXP Rsel, SEXP Csel) {
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
setAttrib(Class, install("package"), Package);
classgets(Result, Class);
- SET_S4_OBJECT(Result);
+ Rf_asS4(Result, TRUE, 0);
unsigned char *result = RAW(Result);
R_xlen_t ncell = (R_xlen_t)nrow*(R_xlen_t)ncol;
diff --git a/src/read_uncertain.c b/src/read_uncertain.c
index 2e3b901..fd82617 100644
--- a/src/read_uncertain.c
+++ b/src/read_uncertain.c
@@ -137,7 +137,7 @@ SEXP read_mach(const SEXP Filename, const SEXP Colnames, const SEXP Nsubject) {
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
setAttrib(Class, install("package"), Package);
classgets(Result, Class);
- SET_S4_OBJECT(Result);
+ Rf_asS4(Result, TRUE, 0);
UNPROTECT(2);
/* Read in data */
@@ -278,7 +278,7 @@ SEXP read_impute(const SEXP Filename, const SEXP Rownames, const SEXP Nsnp,
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
setAttrib(Class, install("package"), Package);
classgets(Result, Class);
- SET_S4_OBJECT(Result);
+ Rf_asS4(Result, TRUE, 0);
UNPROTECT(2);
char buffer[BUFFERSIZE];
diff --git a/src/readped.c b/src/readped.c
index 4e8563e..020d05f 100644
--- a/src/readped.c
+++ b/src/readped.c
@@ -327,7 +327,7 @@ SEXP readped(SEXP filename, SEXP snp_names, SEXP missing, SEXP X, SEXP sep) {
else
SET_STRING_ELT(SMClass, 0, mkChar("SnpMatrix"));
classgets(Smat, SMClass);
- SET_S4_OBJECT(Smat);
+ Rf_asS4(Smat, TRUE, 0);
PROTECT(DimNames = allocVector(VECSXP, 2));
SET_VECTOR_ELT(DimNames, 0, duplicate(Rnames));
protected += 2;
diff --git a/src/single_snp_tests.c b/src/single_snp_tests.c
index a242e17..08bd098 100644
--- a/src/single_snp_tests.c
+++ b/src/single_snp_tests.c
@@ -53,8 +53,8 @@ SEXP score_single(const SEXP Phenotype, const SEXP Stratum, const SEXP Snps,
/* SNPs ---- should be a SnpMatrix or an XSnpMatrix */
const char *classS = NULL;
- if (TYPEOF(R_data_class(Snps, FALSE)) == STRSXP) {
- classS = CHAR(STRING_ELT(R_data_class(Snps, FALSE), 0));
+ if (TYPEOF(R_class(Snps)) == STRSXP) {
+ classS = CHAR(STRING_ELT(R_class(Snps), 0));
} else {
classS = CHAR(STRING_ELT(getAttrib(Snps, R_ClassSymbol), 0));
}
@@ -108,8 +108,8 @@ SEXP score_single(const SEXP Phenotype, const SEXP Stratum, const SEXP Snps,
index_db name_index;
if (!isNull(Rules)) {
const char *classR = NULL;
- if (TYPEOF(R_data_class(Rules, FALSE)) == STRSXP) {
- classR = CHAR(STRING_ELT(R_data_class(Rules, FALSE), 0));
+ if (TYPEOF(R_class(Rules)) == STRSXP) {
+ classR = CHAR(STRING_ELT(R_class(Rules), 0));
} else {
classR = CHAR(STRING_ELT(getAttrib(Rules, R_ClassSymbol), 0));
}
diff --git a/src/snp_summary.c b/src/snp_summary.c
index 9b53693..6f181c9 100644
--- a/src/snp_summary.c
+++ b/src/snp_summary.c
@@ -47,8 +47,8 @@ SEXP X_snp_summary(const SEXP Snps, const SEXP Rules, const SEXP Uncertain) {
SEXP ruleNames = R_NilValue;
if (!isNull(Rules)) {
const char *classR = NULL;
- if (TYPEOF(R_data_class(Rules, FALSE)) == STRSXP) {
- classR = CHAR(STRING_ELT(R_data_class(Rules, FALSE), 0));
+ if (TYPEOF(R_class(Rules)) == STRSXP) {
+ classR = CHAR(STRING_ELT(R_class(Rules), 0));
} else {
classR = CHAR(STRING_ELT(getAttrib(Rules, R_ClassSymbol), 0));
}
@@ -321,8 +321,8 @@ SEXP snp_summary(const SEXP Snps, const SEXP Rules, const SEXP Uncertain) {
SEXP ruleNames = R_NilValue;
if (!isNull(Rules)) {
const char *classR = NULL;
- if (TYPEOF(R_data_class(Rules, FALSE)) == STRSXP) {
- classR = CHAR(STRING_ELT(R_data_class(Rules, FALSE), 0));
+ if (TYPEOF(R_class(Rules)) == STRSXP) {
+ classR = CHAR(STRING_ELT(R_class(Rules), 0));
} else {
classR = CHAR(STRING_ELT(getAttrib(Rules, R_ClassSymbol), 0));
}
diff --git a/src/snpmpy.c b/src/snpmpy.c
index 2447048..56b84d9 100644
--- a/src/snpmpy.c
+++ b/src/snpmpy.c
@@ -34,7 +34,7 @@ SEXP snp_pre(const SEXP Snps, const SEXP Mat, const SEXP Frequency,
int *ifdiploid = NULL;
SEXP cl = GET_CLASS(Snps);
if (TYPEOF(cl) != STRSXP) {
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
+ cl = R_class(Snps); /* S4 way of getting class attribute */
}
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
SEXP diploid = R_do_slot(Snps, mkString("diploid"));
@@ -55,7 +55,7 @@ SEXP snp_pre(const SEXP Snps, const SEXP Mat, const SEXP Frequency,
cl = GET_CLASS(Mat);
if (TYPEOF(cl) != STRSXP) {
- cl = R_data_class(Mat, FALSE); /* S4 way of getting class attribute */
+ cl = R_class(Mat); /* S4 way of getting class attribute */
}
if (strcmp(CHAR(STRING_ELT(cl, 0)), "matrix"))
error("Argument error - Mat wrong type");
@@ -161,7 +161,7 @@ SEXP snp_post(const SEXP Snps, const SEXP Mat, const SEXP Frequency,
int *ifdiploid = NULL;
SEXP cl = GET_CLASS(Snps);
if (TYPEOF(cl) != STRSXP) {
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
+ cl = R_class(Snps); /* S4 way of getting class attribute */
}
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
SEXP diploid = R_do_slot(Snps, mkString("diploid"));
@@ -182,7 +182,7 @@ SEXP snp_post(const SEXP Snps, const SEXP Mat, const SEXP Frequency,
cl = GET_CLASS(Mat);
if (TYPEOF(cl) != STRSXP) {
- cl = R_data_class(Mat, FALSE); /* S4 way of getting class attribute */
+ cl = R_class(Mat); /* S4 way of getting class attribute */
}
if (strcmp(CHAR(STRING_ELT(cl, 0)), "matrix"))
error("Argument error - Mat wrong type");
diff --git a/src/structure.c b/src/structure.c
index 2a05635..1f9b62e 100644
--- a/src/structure.c
+++ b/src/structure.c
@@ -66,7 +66,7 @@ SEXP xxt(const SEXP Snps, const SEXP Strata, const SEXP Correct_for_missing,
int *ifDiploid = NULL;
SEXP cl = GET_CLASS(Snps);
if (TYPEOF(cl) != STRSXP) {
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
+ cl = R_class(Snps); /* S4 way of getting class attribute */
}
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
SEXP Diploid = R_do_slot(Snps, mkString("diploid"));
@@ -409,7 +409,7 @@ SEXP ibs_count(const SEXP Snps, const SEXP Uncertain) {
int *ifDiploid = NULL;
SEXP cl = GET_CLASS(Snps);
if (TYPEOF(cl) != STRSXP) {
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
+ cl = R_class(Snps); /* S4 way of getting class attribute */
}
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
SEXP Diploid = R_do_slot(Snps, mkString("diploid"));
diff --git a/src/subset.c b/src/subset.c
index cc7992d..4c2e2c4 100644
--- a/src/subset.c
+++ b/src/subset.c
@@ -55,7 +55,7 @@ SEXP subset(SEXP X, SEXP Rows, SEXP Cols) {
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
setAttrib(Rclass, install("package"), Package);
setAttrib(Result, R_ClassSymbol, Rclass);
- SET_S4_OBJECT(Result);
+ Rf_asS4(Result, TRUE, 0);
PROTECT(Rdim = allocVector(INTSXP, 2));
int *rdim = INTEGER(Rdim);
rdim[0] = nrows;
diff --git a/src/switch.c b/src/switch.c
index 60f7e6c..e2a3287 100644
--- a/src/switch.c
+++ b/src/switch.c
@@ -16,7 +16,7 @@ SEXP test_switch(const SEXP Snps, const SEXP Snps2, const SEXP Split,
int *female = NULL;
SEXP cl = GET_CLASS(Snps);
if (TYPEOF(cl) != STRSXP) {
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
+ cl = R_class(Snps); /* S4 way of getting class attribute */
}
SEXP diploid = NULL;
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
diff --git a/src/tdt.c b/src/tdt.c
index cece0d9..000d1c7 100644
--- a/src/tdt.c
+++ b/src/tdt.c
@@ -43,8 +43,8 @@ SEXP score_tdt(const SEXP Proband, const SEXP Father, const SEXP Mother,
/* SNPs ---- should be a SnpMatrix or an XSnpMatrix */
const char *classS = NULL;
- if (TYPEOF(R_data_class(Snps, FALSE)) == STRSXP) {
- classS = CHAR(STRING_ELT(R_data_class(Snps, FALSE), 0));
+ if (TYPEOF(R_class(Snps)) == STRSXP) {
+ classS = CHAR(STRING_ELT(R_class(Snps), 0));
} else {
classS = CHAR(STRING_ELT(getAttrib(Snps, R_ClassSymbol), 0));
}
@@ -84,8 +84,8 @@ SEXP score_tdt(const SEXP Proband, const SEXP Father, const SEXP Mother,
GTYPE **gt2ht = NULL;
if (!isNull(Rules)) {
const char *classR = NULL;
- if (TYPEOF(R_data_class(Rules, FALSE)) == STRSXP) {
- classR = CHAR(STRING_ELT(R_data_class(Rules, FALSE), 0));
+ if (TYPEOF(R_class(Rules)) == STRSXP) {
+ classR = CHAR(STRING_ELT(R_class(Rules), 0));
} else {
classR = CHAR(STRING_ELT(getAttrib(Rules, R_ClassSymbol), 0));
}
diff --git a/src/testBig.c b/src/testBig.c
index a6eb76f..3dca1da 100644
--- a/src/testBig.c
+++ b/src/testBig.c
@@ -18,7 +18,7 @@ SEXP snp_big(SEXP nrow, SEXP ncol) {
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
setAttrib(Class, install("package"), Package);
classgets(Result, Class);
- SET_S4_OBJECT(Result);
+ Rf_asS4(Result, TRUE, 0);
PROTECT(Dnames = allocVector(VECSXP, 2));
setAttrib(Result, R_DimNamesSymbol, Dnames);
--
2.52.0

View File

@@ -0,0 +1,149 @@
From a505297e347aa72510ecfc83e7009668693e1260 Mon Sep 17 00:00:00 2001
From: vjcitn <stvjc@channing.harvard.edu>
Date: Fri, 13 Mar 2026 04:06:37 -0400
Subject: [PATCH 2/2] fixed IS_S4_OBJECT
---
src/bind.c | 4 ++--
src/fst.c | 2 +-
src/glm_test_R.c | 8 ++++----
src/single_snp_tests.c | 2 +-
src/snp_summary.c | 6 +++---
src/tdt.c | 2 +-
6 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/src/bind.c b/src/bind.c
index fa87e7c..b3ef928 100644
--- a/src/bind.c
+++ b/src/bind.c
@@ -22,7 +22,7 @@ SEXP snp_rbind(SEXP args) {
Class = R_class(This);
}
const char *cli = CHAR(STRING_ELT(Class, 0));
- if(!IS_S4_OBJECT(This)) {
+ if(!Rf_isS4(This)) {
warning("rbinding SnpMatrix object without S4 object bit");
}
int nci = ncols(This);
@@ -151,7 +151,7 @@ SEXP snp_cbind(SEXP args) {
Class = R_class(This);
}
const char *cli = CHAR(STRING_ELT(Class, 0));
- if(!IS_S4_OBJECT(This)) {
+ if(!Rf_isS4(This)) {
warning("cbinding SnpMatrix object without S4 object bit");
}
SEXP Di = R_NilValue;
diff --git a/src/fst.c b/src/fst.c
index bbc39c0..5451a51 100644
--- a/src/fst.c
+++ b/src/fst.c
@@ -23,7 +23,7 @@ SEXP Fst(SEXP Snps, SEXP Group, SEXP HapMap) {
ifX = 0; /* to avoid warning message */
error("Argument error - class(Snps)");
}
- if(!IS_S4_OBJECT(Snps)) {
+ if(!Rf_isS4(Snps)) {
error("Argument error - Snps is not S4 object");
}
diff --git a/src/glm_test_R.c b/src/glm_test_R.c
index dc8ebef..fe9d9c8 100644
--- a/src/glm_test_R.c
+++ b/src/glm_test_R.c
@@ -24,7 +24,7 @@ SEXP snp_lhs_score(const SEXP Y, const SEXP X, const SEXP Stratum,
} else {
classY = CHAR(STRING_ELT(getAttrib(Y, R_ClassSymbol), 0));
}
- if(!IS_S4_OBJECT(Y)) {
+ if(!Rf_isS4(Y)) {
error("Y in snp_lhs_score is missing S4 Object bit");
}
int ifX = 0;
@@ -443,7 +443,7 @@ SEXP snp_rhs_score(SEXP Y, SEXP family, SEXP link,
ifX = 1;
else
error("Argument error - class(Z)");
- if (!IS_S4_OBJECT(Z)) {
+ if (!Rf_isS4(Z)) {
error("Z in snp_rhs_score is missing S4 Object bit");
}
@@ -1008,7 +1008,7 @@ SEXP snp_lhs_estimate(const SEXP Y, const SEXP X, const SEXP Stratum,
} else {
classY = CHAR(STRING_ELT(getAttrib(Y, R_ClassSymbol), 0));
}
- if(!IS_S4_OBJECT(Y)) {
+ if(!Rf_isS4(Y)) {
error("Y in snp_lhs_score is missing S4 Object bit");
}
int ifX = 0;
@@ -1365,7 +1365,7 @@ SEXP snp_rhs_estimate(SEXP Y, SEXP family, SEXP link,
} else {
classZ = CHAR(STRING_ELT(getAttrib(Z, R_ClassSymbol), 0));
}
- if(!IS_S4_OBJECT(Z)) {
+ if(!Rf_isS4(Z)) {
error("Z in snp_rhs_score is missing S4 Object bit");
}
int ifX = 0;
diff --git a/src/single_snp_tests.c b/src/single_snp_tests.c
index 08bd098..b577300 100644
--- a/src/single_snp_tests.c
+++ b/src/single_snp_tests.c
@@ -67,7 +67,7 @@ SEXP score_single(const SEXP Phenotype, const SEXP Stratum, const SEXP Snps,
ifX = 0; /* to avoid warning message */
error("Argument error - class(Snps)");
}
- if(!IS_S4_OBJECT(Snps)) {
+ if(!Rf_isS4(Snps)) {
error("Argument error - Snps is not S4 object");
}
diff --git a/src/snp_summary.c b/src/snp_summary.c
index 6f181c9..c2f1c73 100644
--- a/src/snp_summary.c
+++ b/src/snp_summary.c
@@ -24,7 +24,7 @@ SEXP X_snp_summary(const SEXP Snps, const SEXP Rules, const SEXP Uncertain) {
if (Snps == R_NilValue) {
error("Argument error - Snps = NULL");
}
- if(!IS_S4_OBJECT(Snps)) {
+ if(!Rf_isS4(Snps)) {
error("Argument error - Snps is not S4 object");
}
const unsigned char *snps = RAW(Snps);
@@ -298,7 +298,7 @@ SEXP snp_summary(const SEXP Snps, const SEXP Rules, const SEXP Uncertain) {
if (Snps == R_NilValue) {
error("Argument error - Snps = NULL");
}
- if(!IS_S4_OBJECT(Snps)) {
+ if(!Rf_isS4(Snps)) {
error("Argument error - Snps is not S4 object");
}
const unsigned char *snps = RAW(Snps);
@@ -538,7 +538,7 @@ SEXP row_summary(const SEXP Snps) {
if (Snps == R_NilValue) {
error("Argument error - Snps = NULL");
}
- if(!IS_S4_OBJECT(Snps)) {
+ if(!Rf_isS4(Snps)) {
error("Argument error - Snps is not S4 object");
}
const unsigned char *snps = RAW(Snps);
diff --git a/src/tdt.c b/src/tdt.c
index 000d1c7..634e1b3 100644
--- a/src/tdt.c
+++ b/src/tdt.c
@@ -57,7 +57,7 @@ SEXP score_tdt(const SEXP Proband, const SEXP Father, const SEXP Mother,
ifX = 0; /* to avoid warning message */
error("Argument error - class(Snps)");
}
- if(!IS_S4_OBJECT(Snps)) {
+ if(!Rf_isS4(Snps)) {
error("Argument error - Snps is not S4 object");
}
--
2.52.0

View File

@@ -0,0 +1,259 @@
From 633aa6e3f671e9b58b3508b3944ff0dd45f34f8a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
Date: Thu, 5 Mar 2026 14:58:23 -0800
Subject: [PATCH] SparseArray 1.11.11: Get rid of non-API calls to R
From 65383c02f986832b1416c6ad39da800d8ced05df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
Date: Tue, 31 Mar 2026 11:38:20 -0700
Subject: [PATCH] SparseArray 1.11.13: Use R_getVar() instead of findVar() when
R >= 4.6.0
---
DESCRIPTION | 2 +-
src/Makevars | 1 +
src/Rvector_utils.c | 15 ++++++++-------
src/SparseArray_aperm.c | 2 +-
src/SparseArray_matrixStats.c | 5 +++--
src/SparseArray_subassignment.c | 6 +++---
src/SparseVec.h | 3 ++-
src/leaf_utils.c | 5 +++--
src/test.c | 3 +++
9 files changed, 25 insertions(+), 17 deletions(-)
diff --git a/src/Makevars b/src/Makevars
index 0ee3615..1c5b86e 100644
--- a/src/Makevars
+++ b/src/Makevars
@@ -1,2 +1,3 @@
+## See https://cran.r-project.org/doc/manuals/r-release/R-exts.html#OpenMP-support
PKG_CFLAGS = $(SHLIB_OPENMP_CFLAGS)
PKG_LIBS = $(SHLIB_OPENMP_CFLAGS)
diff --git a/src/Rvector_utils.c b/src/Rvector_utils.c
index ad80168..7e61ac1 100644
--- a/src/Rvector_utils.c
+++ b/src/Rvector_utils.c
@@ -4,6 +4,7 @@
****************************************************************************/
#include "Rvector_utils.h"
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
#include <string.h> /* for memset() and memcpy() */
@@ -242,7 +243,7 @@ void _fill_Rvector_block_with_val(SEXP Rvector,
(const SEXP) val);
return;
}
- _set_elts_to_val(TYPEOF(Rvector), DATAPTR(Rvector),
+ _set_elts_to_val(TYPEOF(Rvector), DATAPTR_RW(Rvector),
block_offset, block_len, val);
}
@@ -260,7 +261,7 @@ void _fill_Rvector_block_with_zeros(SEXP Rvector,
R_NilValue);
return;
}
- _set_elts_to_zero(Rtype, DATAPTR(Rvector), block_offset, block_len);
+ _set_elts_to_zero(Rtype, DATAPTR_RW(Rvector), block_offset, block_len);
return;
}
@@ -268,7 +269,7 @@ void _fill_Rvector_block_with_zeros(SEXP Rvector,
void _fill_Rvector_block_with_ones(SEXP Rvector,
R_xlen_t block_offset, R_xlen_t block_len)
{
- _set_elts_to_one(TYPEOF(Rvector), DATAPTR(Rvector),
+ _set_elts_to_one(TYPEOF(Rvector), DATAPTR_RW(Rvector),
block_offset, block_len);
return;
}
@@ -277,7 +278,7 @@ void _fill_Rvector_block_with_ones(SEXP Rvector,
void _fill_Rvector_block_with_minus_one(SEXP Rvector,
R_xlen_t block_offset, R_xlen_t block_len)
{
- _set_elts_to_minus_one(TYPEOF(Rvector), DATAPTR(Rvector),
+ _set_elts_to_minus_one(TYPEOF(Rvector), DATAPTR_RW(Rvector),
block_offset, block_len);
return;
}
@@ -293,7 +294,7 @@ void _fill_Rvector_block_with_NA(SEXP Rvector,
NA_STRING);
return;
}
- _set_elts_to_NA(Rtype, DATAPTR(Rvector), block_offset, block_len);
+ _set_elts_to_NA(Rtype, DATAPTR_RW(Rvector), block_offset, block_len);
return;
}
@@ -460,7 +461,7 @@ void _fill_Rvector_subset_with_zeros(SEXP Rvector,
R_NilValue);
return;
}
- _set_selected_elts_to_zero(Rtype, DATAPTR(Rvector),
+ _set_selected_elts_to_zero(Rtype, DATAPTR_RW(Rvector),
selection, selection_len, selection_offset);
return;
}
@@ -470,7 +471,7 @@ void _fill_Rvector_subset_with_ones(SEXP Rvector,
const int *selection, int selection_len,
R_xlen_t selection_offset)
{
- _set_selected_elts_to_one(TYPEOF(Rvector), DATAPTR(Rvector),
+ _set_selected_elts_to_one(TYPEOF(Rvector), DATAPTR_RW(Rvector),
selection, selection_len, selection_offset);
return;
}
diff --git a/src/SparseArray_aperm.c b/src/SparseArray_aperm.c
index 0bd092e..bbeaf2c 100644
--- a/src/SparseArray_aperm.c
+++ b/src/SparseArray_aperm.c
@@ -721,7 +721,7 @@ static SEXP REC_grow_output_tree(const int *dim, int ndim,
const type *nzvals_p = NULL; /* -Wmaybe-uninitialized */ \
type v; \
if (nzvals != R_NilValue) { /* standard leaf */ \
- nzvals_p = (const type *) DATAPTR(nzvals); \
+ nzvals_p = DATAPTR_RO(nzvals); \
} else { /* lacunar leaf */ \
v = type ## 1; \
} \
diff --git a/src/SparseArray_matrixStats.c b/src/SparseArray_matrixStats.c
index b626553..debacf6 100644
--- a/src/SparseArray_matrixStats.c
+++ b/src/SparseArray_matrixStats.c
@@ -16,6 +16,7 @@
#include "leaf_utils.h"
#include "SparseArray_summarization.h"
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
#include <string.h> /* for memcpy() and memset() */
@@ -272,7 +273,7 @@ SEXP C_colStats_SVT(SEXP x_dim, SEXP x_dimnames, SEXP x_type,
int warn = 0;
REC_colStats_SVT(x_SVT, x_bg_is_na, INTEGER(x_dim), LENGTH(x_dim),
&summarize_op,
- DATAPTR(ans), ans_Rtype,
+ DATAPTR_RW(ans), ans_Rtype,
out_incs, ans_ndim, pardim,
&warn);
if (warn)
@@ -1175,7 +1176,7 @@ SEXP C_rowStats_SVT(SEXP x_dim, SEXP x_dimnames, SEXP x_type,
SVT_rowMinsMaxs(x_SVT, x_Rtype, x_bg_is_na,
INTEGER(x_dim), LENGTH(x_dim),
opcode, narm,
- DATAPTR(ans), LENGTH(ans), ans_Rtype,
+ DATAPTR_RW(ans), LENGTH(ans), ans_Rtype,
out_incs, ans_ndim, nstrata);
break;
case SUM_OPCODE:
diff --git a/src/SparseArray_subassignment.c b/src/SparseArray_subassignment.c
index 4cf1c3d..c3b2d5e 100644
--- a/src/SparseArray_subassignment.c
+++ b/src/SparseArray_subassignment.c
@@ -966,13 +966,13 @@ static inline int next_coords0(NindexIterator *Nindex_iter)
midx_p++;
coords0_p++;
}
- printf("coords0: ");
+ //printf("coords0: ");
coords0_p = Nindex_iter->coords0_buf;
for (along = Nindex_iter->margin; along < Nindex_iter->ndim; along++) {
- printf(" %3d", *coords0_p);
+ //printf(" %3d", *coords0_p);
coords0_p++;
}
- printf("\n");
+ //printf("\n");
return 1;
}
diff --git a/src/SparseVec.h b/src/SparseVec.h
index 894709b..73cd841 100644
--- a/src/SparseVec.h
+++ b/src/SparseVec.h
@@ -5,6 +5,7 @@
#include "Rvector_utils.h"
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
#include <limits.h> /* for INT_MAX */
@@ -122,7 +123,7 @@ static inline SparseVec toSparseVec(SEXP nzvals, SEXP nzoffs,
if (IS_STRSXP_OR_VECSXP(Rtype)) {
sv.nzvals = nzvals;
} else {
- sv.nzvals = DATAPTR(nzvals);
+ sv.nzvals = DATAPTR_RW(nzvals);
}
}
sv.nzoffs = INTEGER(nzoffs);
diff --git a/src/leaf_utils.c b/src/leaf_utils.c
index e8066c3..c5ff3aa 100644
--- a/src/leaf_utils.c
+++ b/src/leaf_utils.c
@@ -10,6 +10,7 @@
#include "SparseVec_subsetting.h"
#include "SparseVec_subassignment.h"
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
#include <string.h> /* for memcpy() */
@@ -129,7 +130,7 @@ SEXP _make_leaf_from_two_arrays(SEXPTYPE Rtype,
return ans;
}
ans_nzvals = PROTECT(allocVector(Rtype, nzcount));
- memcpy(DATAPTR(ans_nzvals), nzvals_p, Rtype_size * nzcount);
+ memcpy(DATAPTR_RW(ans_nzvals), nzvals_p, Rtype_size * nzcount);
}
SEXP ans = zip_leaf(ans_nzvals, ans_nzoffs, 0);
UNPROTECT(2);
@@ -156,7 +157,7 @@ static SEXP make_leaf_from_Rvector_subset(SEXP Rvector,
if (avoid_copy_if_all_selected &&
selection_offset == 0 && selection_len == XLENGTH(Rvector) &&
- ATTRIB(Rvector) == R_NilValue)
+ !ANY_ATTRIB(Rvector))
{
/* The full 'Rvector' is selected so can be reused as-is
with no need to copy the selected elements to a new SEXP. */
diff --git a/src/test.c b/src/test.c
index 493538f..2205fa2 100644
--- a/src/test.c
+++ b/src/test.c
@@ -111,6 +111,9 @@ SEXP C_simple_omp_parallel_for_loop(SEXP nloop)
for (int i = 0; i < INTEGER(nloop)[0]; i++) {
#ifdef _OPENMP
int thread_num = omp_get_thread_num();
+ /* Can't use Rprintf() here because it's not thread-safe (it
+ can trigger R's garbage collector which itself is not
+ thread-safe). */
printf("thread_num = %d\n", thread_num);
#endif
}
diff --git a/src/readSparseCSV.c b/src/readSparseCSV.c
index a3d8da0..de1cb95 100644
--- a/src/readSparseCSV.c
+++ b/src/readSparseCSV.c
@@ -11,6 +11,7 @@
#include "ExtendableJaggedArray.h"
#include <R_ext/Connections.h>
+#include <Rversion.h>
#include <string.h> /* for memcpy() */
@@ -111,7 +112,11 @@ static SEXP dump_env_as_list_or_R_NilValue(SEXP env, int ans_len)
is_empty = 1;
for (i = 0; i < ans_len; i++) {
key = PROTECT(idx0_to_key(i));
+#if R_VERSION < R_Version(4, 6, 0)
ans_elt = findVar(install(translateChar(key)), env);
+#else
+ ans_elt = R_getVar(install(translateChar(key)), env, FALSE);
+#endif
UNPROTECT(1);
if (ans_elt == R_UnboundValue)
continue;

View File

@@ -0,0 +1,20 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Subject: Remove codex-core circular dev-dependencies.
codex-core has a dev-dependency on codex-arg0 which in turn depends on
codex-core. This causes cargo package to fail when resolving from the
vendor directory because codex-arg0 is not yet available at the time
codex-core is packaged.
--- a/codex-rs/core/Cargo.toml
+++ b/codex-rs/core/Cargo.toml
@@ -144,7 +144,6 @@
[dev-dependencies]
assert_cmd = { workspace = true }
assert_matches = { workspace = true }
-codex-arg0 = { workspace = true }
codex-otel = { workspace = true, features = [
"disable-default-metrics-exporter",
] }

View File

@@ -0,0 +1,30 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Subject: Remove [patch.crates-io] and [patch.'ssh://...'] sections.
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.
--- a/codex-rs/Cargo.toml
+++ b/codex-rs/Cargo.toml
@@ -423,17 +423,3 @@
debug = 1 # Reduce debug symbol size
inherits = "test"
opt-level = 0
-
-[patch.crates-io]
-# Uncomment to debug local changes.
-# ratatui = { path = "../../ratatui" }
-crossterm = { git = "https://github.com/nornagon/crossterm", branch = "nornagon/color-query" }
-ratatui = { git = "https://github.com/nornagon/ratatui", branch = "nornagon-v0.29.0-patch" }
-tokio-tungstenite = { git = "https://github.com/openai-oss-forks/tokio-tungstenite", rev = "132f5b39c862e3a970f731d709608b3e6276d5f6" }
-tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }
-
-# Uncomment to debug local changes.
-# rmcp = { path = "../../rust-sdk/crates/rmcp" }
-
-[patch."ssh://git@github.com/openai-oss-forks/tungstenite-rs.git"]
-tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }

View File

@@ -0,0 +1,26 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-04-14
License: ASL2.0
Subject: Fix race condition in codex-connectors cache test.
ALL_CONNECTORS_CACHE is a single global Option, not a map. When Rust's
test runner executes tests in parallel, the
list_all_connectors_merges_and_normalizes_directory_apps test can
overwrite the cache entry between the two calls in
list_all_connectors_uses_shared_cache, causing a key mismatch and a
spurious "cache should have been used" failure.
Fix by clearing the cache at the start of the cache test so it does not
depend on execution order relative to other tests.
--- a/codex-rs/connectors/src/lib.rs
+++ b/codex-rs/connectors/src/lib.rs
@@ -441,6 +441,9 @@
#[tokio::test]
async fn list_all_connectors_uses_shared_cache() -> anyhow::Result<()> {
+ // Clear any stale cache entry left by a concurrently running test.
+ *ALL_CONNECTORS_CACHE.lock().unwrap() = None;
+
let calls = Arc::new(AtomicUsize::new(0));
let call_counter = Arc::clone(&calls);
let key = cache_key("shared");

View File

@@ -0,0 +1,20 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Subject: Remove codex-core circular dev-dependencies.
codex-core has a dev-dependency on codex-arg0 which in turn depends on
codex-core. This causes cargo package to fail when resolving from the
vendor directory because codex-arg0 is not yet available at the time
codex-core is packaged.
--- a/codex-rs/core/Cargo.toml
+++ b/codex-rs/core/Cargo.toml
@@ -134,7 +134,6 @@
[dev-dependencies]
assert_cmd = { workspace = true }
assert_matches = { workspace = true }
-codex-arg0 = { workspace = true }
codex-otel = { workspace = true }
codex-utils-cargo-bin = { workspace = true }
core_test_support = { workspace = true }

View File

@@ -0,0 +1,16 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-04-14
License: ASL2.0
Subject: Remove macOS-only libwebrtc git dependency.
--- a/codex-rs/realtime-webrtc/Cargo.toml
+++ b/codex-rs/realtime-webrtc/Cargo.toml
@@ -12,8 +12,5 @@
thiserror = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread"] }
-[target.'cfg(target_os = "macos")'.dependencies]
-libwebrtc = { version = "0.3.26", git = "https://github.com/juberti-oai/rust-sdks.git", rev = "e2d1d1d230c6fc9df171ccb181423f957bb3c1f0" }
-
[lints]
workspace = true

View File

@@ -0,0 +1,20 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-03-05
License: ASL2.0
Subject: Increase per-event test timeout from 10 to 30 seconds.
In resource-constrained build environments, image processing (resize,
base64-encode, JSON serialization) can exceed 10 seconds under CPU
contention, causing intermittent test failures.
--- a/codex-rs/core/tests/common/lib.rs
+++ b/codex-rs/core/tests/common/lib.rs
@@ -283,7 +283,7 @@
use tokio::time::timeout;
loop {
// Allow a bit more time to accommodate async startup work (e.g. config IO, tool discovery)
- let ev = timeout(wait_time.max(Duration::from_secs(10)), codex.next_event())
+ let ev = timeout(wait_time.max(Duration::from_secs(30)), codex.next_event())
.await
.expect("timeout waiting for event")
.expect("stream ended unexpectedly");

View File

@@ -0,0 +1,25 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-04-26
License: ASL2.0
Subject: Stub CodeModeTurnHost::invoke_tool signature uses ToolName.
In codex 0.117 the upstream trait took `tool_name: String`, so the
disable-code-mode patch's `cfg(not(feature = "v8-runtime"))` stub used
String to match. In codex 0.124 the upstream trait takes
`codex_protocol::ToolName`, and core/src/tools/code_mode/mod.rs's impl
of CodeModeTurnHost passes `ToolName`, so the stub must match the new
signature here too. This patch is applied only to codex 0.124+ on top
of the shared disable-code-mode patch; codex-acp (which still pins
rust-v0.117.0 where code-mode has no codex-protocol dep) keeps the
String-based stub.
--- a/codex-rs/code-mode/src/lib.rs
+++ b/codex-rs/code-mode/src/lib.rs
@@ -77,7 +77,7 @@
#[cfg(not(feature = "v8-runtime"))]
#[async_trait::async_trait]
pub trait CodeModeTurnHost: Send + Sync {
- async fn invoke_tool(&self, tool_name: String, input: Option<serde_json::Value>, cancellation_token: tokio_util::sync::CancellationToken) -> Result<serde_json::Value, String>;
+ async fn invoke_tool(&self, tool_name: codex_protocol::ToolName, input: Option<serde_json::Value>, cancellation_token: tokio_util::sync::CancellationToken) -> Result<serde_json::Value, String>;
async fn notify(&self, call_id: String, cell_id: String, text: String) -> Result<(), String>;
}

View File

@@ -0,0 +1,29 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-04-23
License: ASL2.0
Subject: Remove [patch.crates-io] and [patch.'ssh://...'] sections.
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.
--- a/codex-rs/Cargo.toml 2026-04-23 22:49:56.599115735 +0000
+++ b/codex-rs/Cargo.toml 2026-04-23 22:49:56.601899894 +0000
@@ -470,16 +470,3 @@
inherits = "test"
opt-level = 0
-[patch.crates-io]
-# Uncomment to debug local changes.
-# ratatui = { path = "../../ratatui" }
-crossterm = { git = "https://github.com/nornagon/crossterm", rev = "87db8bfa6dc99427fd3b071681b07fc31c6ce995" }
-ratatui = { git = "https://github.com/nornagon/ratatui", rev = "9b2ad1298408c45918ee9f8241a6f95498cdbed2" }
-tokio-tungstenite = { git = "https://github.com/openai-oss-forks/tokio-tungstenite", rev = "132f5b39c862e3a970f731d709608b3e6276d5f6" }
-tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }
-
-# Uncomment to debug local changes.
-# rmcp = { path = "../../rust-sdk/crates/rmcp" }
-
-[patch."ssh://git@github.com/openai-oss-forks/tungstenite-rs.git"]
-tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }

View File

@@ -359,7 +359,7 @@ MTP, and much more.")
(define-public perl-image-exiftool
(package
(name "perl-image-exiftool")
(version "12.70")
(version "13.55")
(source
(origin
(method url-fetch)
@@ -371,7 +371,7 @@ MTP, and much more.")
"Image-ExifTool-" version ".tar.gz")))
(sha256
(base32
"1zmg5jsdqmr9mnmxg614brdgr9ddmspcc11rs4xkygnc8lj55cjc"))))
"0rv6hiqd44npnjzcn5ig5d0rnpgbzkdp5bbi526561nl9b9q2k2z"))))
(build-system perl-build-system)
(arguments
(list #:phases

View File

@@ -143,8 +143,8 @@ reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
(define-public plan9port
;; no releases
(let ((commit "f8681acb374fa0d5ed1568dbedb00a4abe1ca6f1")
(revision "1"))
(let ((commit "b379c7cc9dd9a810a9873d444e9742fcad3f5997")
(revision "2"))
(package
(name "plan9port")
(version (git-version "0.1.0" revision commit))
@@ -156,7 +156,7 @@ reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
(file-name (git-file-name name version))
(sha256
(base32
"01343jvn8kr63i78h8xlgscn6wihdsr44xzh1cylvhigjbqw8n2x"))
"0mvchnbk9kywm9fsw0cb621g435kav4sd1facb71v0jy7xwzw1fz"))
(modules '((guix build utils)))
(snippet #~(for-each delete-file-recursively
'("font/luc" ;nonfree
@@ -171,8 +171,8 @@ reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
(lambda _
(let ((dest (string-append #$output "/plan9")))
(substitute* "INSTALL"
;; Install fontsrv, which is enabled in LOCAL.config.
(("rm -f bin/fontsrv") ""))
;; Pass the check for freetype to install fontsrv.
(("\\[ -f a\\.out ]") "true"))
(delete-file "src/cmd/mk/mk.pdf")
;; TODO: substitute font in src/cmd/venti/srv/graph.c
(substitute* "src/cmd/acme/acme.c"
@@ -201,8 +201,8 @@ reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
(("luc/unicode.6.font")
"fixed/unicode.6x9.font"))
(substitute* "bin/9c"
(("which")
(which "which")))
(("[$][(]which uniq[)]")
"uniq"))
(substitute* "src/cmd/fontsrv/freetyperules.sh"
(("'\\$i'/freetype2")
(string-append "-I"
@@ -210,8 +210,7 @@ reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
"/include/freetype2")))
(with-output-to-file "LOCAL.config"
(lambda _
(format #t "CC9=~a~%" #$(cc-for-target))
(format #t "FONTSRV=fontsrv~%")))
(format #t "CC9=~a~%" #$(cc-for-target))))
(setenv "X11" #$libx11)
(setenv "PLAN9" (getcwd))
(setenv "PLAN9_TARGET" dest))))
@@ -241,6 +240,7 @@ reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
"troff"
"postscript"))
(install-file "rcmain" dest)
(install-file "config" dest)
(mkdir-p (string-append #$output "/bin"))
(symlink (string-append dest "/bin/9")
(string-append #$output "/bin/9")))))

View File

@@ -237,7 +237,7 @@ it.")
(define-public trealla
(package
(name "trealla")
(version "2.92.38")
(version "2.94.4")
(source
(origin
(method git-fetch)
@@ -246,7 +246,7 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
(base32 "12nv54j7rgh784lszgynw50k9h3la8b0d2si2bskfvydmpyk45pm"))
(base32 "050x9m79j1bi17mj7zzbhlnn7ia26k51qrhp5z43wsx0rpp0hfqb"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
@@ -302,13 +302,13 @@ interpreter with ISO Prolog aspirations.")
(define-public logtalk
(package
(name "logtalk")
(version "3.80.0")
(version "3.99.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://logtalk.org/files/logtalk-"
version ".tar.bz2"))
(sha256 (base32 "0g4cc0qv921234548k3rkv1sdayicaa6zzh15vgn82ri9apwm3nh"))))
(sha256 (base32 "04namz3lj2j1j741bb41qy5c172b9zawp1li148i7pd2s0jiwjjr"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no tests

View File

@@ -13,7 +13,7 @@
;;; Copyright © 2020, 2022 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020 Matthew James Kraai <kraai@ftbfs.org>
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
;;; Copyright © 2020, 2021, 2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021, 2025, 2026 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr>
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
@@ -1663,6 +1663,49 @@ cProfile or profile modules, depending on what is available. It's a
successor of @url{https://github.com/rkern/line_profiler}.")
(license license:bsd-3)))
(define-public python-lsp-ruff
(package
(name "python-lsp-ruff")
(version "2.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/python-lsp/python-lsp-ruff")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xjvqyn3qn54cq63ay9n1rr1wkzx04bf99cki68n46gm8nwjvn6m"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags #~(list (string-append
;; Tests below do a diff check on the ruff store
;; path against the python store path.
"-k" "not test_ruff_settings"
" and not test_ruff_config_param"))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'use-system-ruff
;; This package requests Ruff from PyPI. Make it use
;; the guix package instead.
(lambda _
(substitute* "pyproject.toml"
(("\"ruff.*\",") "")))))))
(propagated-inputs (list python-cattrs
python-lsprotocol
python-lsp-server
python-tomli
;; Ruff is detected by shutil.which.
ruff))
(native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/python-lsp/python-lsp-ruff")
(synopsis "Ruff linting plugin for @code{pylsp}")
(description
"@code{python-lsp-ruff} is a plugin for @code{python-lsp-server} that
adds linting, code actions and formatting capabilities that are provided by
Ruff.")
(license license:expat)))
(define-public python-mamba
(package
(name "python-mamba")
@@ -2246,6 +2289,32 @@ wrapper above tools such as Pyflakes, pydocstyle, pycodestyle and McCabe,
among others.")
(license license:lgpl3+)))
(define-public python-pylint-venv
(package
(name "python-pylint-venv")
(version "3.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jgosmann/pylint-venv/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06va7vy3bg331aab589wcr3nmafxlya0ac1as39qqyvkbdz9b5bl"))))
(build-system pyproject-build-system)
(arguments
;; Test is a simple shell script that activates a virtual environment
;; and runs pylint inside of it. There are no checks.
(list #:tests? #f))
(native-inputs (list python-poetry-core))
(home-page "https://github.com/jgosmann/pylint-venv/")
(synopsis
"Pylint init-hook to share a Pylint installation across virtualenvs")
(description "@code{pylint-venv} provides a Pylint init-hook to use the
same Pylint installation with different virtual environments.")
(license license:expat)))
(define-public python-pynose
(package
(name "python-pynose")

View File

@@ -1142,20 +1142,23 @@ provides drop-in compatibility with PyCrypto.")))
(define-public python-m2crypto
(package
(name "python-m2crypto")
(version "0.38.0")
(version "0.47.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "M2Crypto" version))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/m2crypto/m2crypto")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1jyynaybncgjp8rndrwjpj5gnbrislngimf6ind9874h6052dwlr"))))
(base32 "090dvgnjmqidh0c318kipysiy24cn1rwbmxl4vybnqd57n65xsn8"))))
(build-system pyproject-build-system)
(arguments
`(;; FIXME: Tests start failing with time due to date checks in TLS
;; certificates.
#:tests? #f))
(inputs (list openssl))
(native-inputs (list swig-4.0 python-setuptools python-wheel))
(native-inputs (list swig python-setuptools))
(home-page "https://gitlab.com/m2crypto/m2crypto")
(synopsis "Python crypto and TLS toolkit")
(description "@code{M2Crypto} is a complete Python wrapper for OpenSSL

View File

@@ -809,7 +809,7 @@ wrappers for common SDL2 functionality.")
(define-public python-qtawesome
(package
(name "python-qtawesome")
(version "1.4.0")
(version "1.4.2")
(source
(origin
(method git-fetch)
@@ -818,7 +818,7 @@ wrappers for common SDL2 functionality.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "109anjlnin5cafx579clj1x21ggig3qkcm2g1wlx0lshxqzjadan"))))
(base32 "16vjnngg5hjmmbp0c2ikgc88g8q0l44n1w3wa04ga5zfhd1yhyn2"))))
(build-system pyproject-build-system)
(arguments
(list

Some files were not shown because too many files have changed in this diff Show More