Compare commits

...

256 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
18 changed files with 3573 additions and 961 deletions

View File

@@ -2349,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 \

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

File diff suppressed because it is too large Load Diff

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

@@ -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,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

@@ -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

@@ -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

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

@@ -384,15 +384,15 @@ comparison and diagnostics.")
(define r-with-tests
(package
(name "r-with-tests")
(version "4.5.3")
(version "4.6.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cran/src/base/R-"
(version-major version) "/R-"
version ".tar.gz"))
version ".tar.xz"))
(sha256
(base32
"1wmqnm813lb58c0vwhjymnkfih3a6mq4cr9xa6n72wiw57a1wp5a"))))
"09sszy5fykpl2lyzxw5rgiabb3f5l62bqamnm7g2q9d57xlv7wli"))))
(build-system gnu-build-system)
(arguments
(list