From afc7fe2719470a6becfb557d7581a2786b85bfee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20W=C3=B3jcik?= Date: Mon, 31 Aug 2026 17:40:57 +0300 Subject: [PATCH] r-biocmake, r-h5mread: add new packages; r-hdf5array, r-hdf5, r-hdf5filters, r-rhdf5lib, r-s4vectors: add versions, dependency constraints and conflicts --- .../builtin/packages/r_biocmake/package.py | 20 +++++ .../builtin/packages/r_h5mread/package.py | 47 ++++++++++++ .../builtin/packages/r_hdf5array/package.py | 75 ++++++++++++++----- .../builtin/packages/r_rhdf5/package.py | 54 ++++++++++--- .../packages/r_rhdf5filters/package.py | 16 +++- .../builtin/packages/r_rhdf5lib/package.py | 21 +++++- .../builtin/packages/r_s4vectors/package.py | 3 +- 7 files changed, 199 insertions(+), 37 deletions(-) create mode 100644 repos/spack_repo/builtin/packages/r_biocmake/package.py create mode 100644 repos/spack_repo/builtin/packages/r_h5mread/package.py diff --git a/repos/spack_repo/builtin/packages/r_biocmake/package.py b/repos/spack_repo/builtin/packages/r_biocmake/package.py new file mode 100644 index 00000000000..e89e410203e --- /dev/null +++ b/repos/spack_repo/builtin/packages/r_biocmake/package.py @@ -0,0 +1,20 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.r import RPackage + +from spack.package import * + + +class RBiocmake(RPackage): + """Manages the installation of CMake for building Bioconductor packages.""" + + bioc = "biocmake" + + with default_args(get_full_repo=True): + version("1.4.0", commit="6b43087b270a38c868735325540d49c45e9d7f85") # bioc 3.23 + + depends_on("r-dir-expiry", type=("build", "run")) + + depends_on("cmake@3.24:", type="run") diff --git a/repos/spack_repo/builtin/packages/r_h5mread/package.py b/repos/spack_repo/builtin/packages/r_h5mread/package.py new file mode 100644 index 00000000000..7d43d0b8ed9 --- /dev/null +++ b/repos/spack_repo/builtin/packages/r_h5mread/package.py @@ -0,0 +1,47 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.r import RPackage + +from spack.package import * + + +class RH5mread(RPackage): + """A fast HDF5 reader""" + + bioc = "h5mread" + + with default_args(get_full_repo=True): + version("1.4.1", commit="13dfc9b2293de730d6a6a79dc345bc59b4b05b04") # bioc 3.23 + version("1.2.1", commit="b3770761af5669f989d4a6f6ab365b8f69c3740b") # bioc 3.22 + version("1.0.1", commit="1719e5241bb5c9aa70b6f7fe020e8e10b14f8ee8") # bioc 3.21 + + depends_on("c", type="build") + + depends_on("r@4.5:", type="build") + + depends_on("r-biocgenerics", type=("build", "run")) + + depends_on("r-iranges", type=("build", "run")) + + depends_on("r-s4arrays", type=("build", "run")) + + depends_on("r-s4vectors@0.50.2:", type=("build", "run"), when="@1.4.1:") + depends_on("r-s4vectors", type=("build", "run")) + + depends_on("r-sparsearray", type=("build", "run")) + + depends_on("r-rhdf5", type=("build", "run")) + + depends_on("r-rhdf5filters", type=("build", "run")) + + depends_on("curl", type=("build", "link")) + + depends_on("gmake", type="build") + + # > h5mread.so: undefined symbol: H5Treclaim + conflicts("^r-rhdf5@2.28:2.54", when="@1.4") + + # > fatal error: hdf5_hl.h: No such file or directory + conflicts("^r-rhdf5@2.24:2.26") diff --git a/repos/spack_repo/builtin/packages/r_hdf5array/package.py b/repos/spack_repo/builtin/packages/r_hdf5array/package.py index 7046ffa71c5..e28c85d8e3e 100644 --- a/repos/spack_repo/builtin/packages/r_hdf5array/package.py +++ b/repos/spack_repo/builtin/packages/r_hdf5array/package.py @@ -22,11 +22,13 @@ class RHdf5array(RPackage): bioc = "HDF5Array" with default_args(get_full_repo=True): + version("1.40.0", commit="6539afc72b0a9275feb16b8ce62508f6dfc1ecaf") # bioc 3.23 + version("1.36.0", commit="1e32d9f9fc78bddffd1600aee8e46d76fa296b71") # bioc 3.21 version("1.28.0", commit="8c839417c4a37c35330bd6f02b79dda9f48e76ae") - version("1.26.0", commit="38b7bd603f7281245605048d8d57237e00b74d79") - version("1.24.2", commit="fb213ba36631b04dfe754705f701f3a015c4fc82") + version("1.26.0", commit="38b7bd603f7281245605048d8d57237e00b74d79") # bioc 3.16 + version("1.24.2", commit="fb213ba36631b04dfe754705f701f3a015c4fc82") # bioc 3.15 version("1.24.1", commit="d002fe70c84baaadb62058ce467d6c1ea032d8f5") - version("1.22.1", commit="b3f091fbc159609e8e0792d2bf9fbef52c6ceede") + version("1.22.1", commit="b3f091fbc159609e8e0792d2bf9fbef52c6ceede") # bioc 3.14 version("1.18.0", commit="d5bd55d170cb384fdebdf60751e1e28483782caa") version("1.12.3", commit="21c6077f3f789748a18f2e579110576c5522e975") version("1.10.1", commit="0b8ae1dfb56e4203dd8e14781850370df46a5e2c") @@ -34,27 +36,60 @@ class RHdf5array(RPackage): version("1.6.0", commit="95f2f8d3648143abe9dc77c76340c5edf4114c82") version("1.4.8", commit="79ab96d123c8da8f8ead81f678fe714c0958ff45") - depends_on("c", type="build") # generated + depends_on("c", type="build") depends_on("r@3.4:", type=("build", "run")) - depends_on("r-delayedarray@0.2.4:", type=("build", "run")) - depends_on("r-delayedarray@0.3.18:", type=("build", "run"), when="@1.6.0:") - depends_on("r-delayedarray@0.5.32:", type=("build", "run"), when="@1.8.1:") - depends_on("r-delayedarray@0.7.41:", type=("build", "run"), when="@1.10.1:") - depends_on("r-delayedarray@0.9.3:", type=("build", "run"), when="@1.12.3:") + + depends_on("r-biocgenerics@0.51.2:", type=("build", "run"), when="@1.33.7:") + depends_on("r-biocgenerics@0.31.5:", type=("build", "run"), when="@1.18.0:") + depends_on("r-biocgenerics@0.25.1:", type=("build", "run"), when="@1.8.1:") + depends_on("r-biocgenerics", type=("build", "run")) + + depends_on("r-delayedarray@0.33.5:", type=("build", "run"), when="@1.35.12:") + depends_on("r-delayedarray@0.33.1:", type=("build", "run"), when="@1.35.1:") + depends_on("r-delayedarray@0.31.8:", type=("build", "run"), when="@1.33.4:") + depends_on("r-delayedarray@0.31.2:", type=("build", "run"), when="@1.33.3:") + depends_on("r-delayedarray@0.27.2:", type=("build", "run"), when="@1.29.2:") + depends_on("r-delayedarray@0.27.1:", type=("build", "run"), when="@1.29.1:") + depends_on("r-delayedarray@0.26.1:", type=("build", "run"), when="@1.28.1:") depends_on("r-delayedarray@0.15.16:", type=("build", "run"), when="@1.18.0:") - depends_on("r-rhdf5", type=("build", "run")) - depends_on("r-rhdf5@2.25.6:", type=("build", "run"), when="@1.10.1:") - depends_on("r-rhdf5@2.31.6:", type=("build", "run"), when="@1.18.0:") + depends_on("r-delayedarray@0.9.3:", type=("build", "run"), when="@1.12.3:") + depends_on("r-delayedarray@0.7.41:", type=("build", "run"), when="@1.10.1:") + depends_on("r-delayedarray@0.5.32:", type=("build", "run"), when="@1.8.1:") + depends_on("r-delayedarray@0.3.18:", type=("build", "run"), when="@1.6.0:") + depends_on("r-delayedarray@0.2.4:", type=("build", "run")) + + depends_on("r-h5mread@1.3.3:", type=("build", "run"), when="@1.39.1:") + depends_on("r-h5mread@0.99.4:", type=("build", "run"), when="@1.35.8:") + + depends_on("r-iranges", type=("build", "run")) + depends_on("r-matrix", type=("build", "run"), when="@1.18.0:") + + depends_on("r-rhdf5@2.31.6:", type=("build", "run"), when="@1.18.0:") + depends_on("r-rhdf5@2.25.6:", type=("build", "run"), when="@1.10.1:") + depends_on("r-rhdf5", type=("build", "run")) + depends_on("r-rhdf5filters", type=("build", "run"), when="@1.22.1:") - depends_on("r-biocgenerics", type=("build", "run")) - depends_on("r-biocgenerics@0.25.1:", type=("build", "run"), when="@1.8.1:") - depends_on("r-biocgenerics@0.31.5:", type=("build", "run"), when="@1.18.0:") - depends_on("r-s4vectors", type=("build", "run")) - depends_on("r-s4vectors@0.21.6:", type=("build", "run"), when="@1.12.3:") + + depends_on("r-s4arrays@1.1.1:", type=("build", "run"), when="@1.29.1:") + depends_on("r-s4arrays@1.0.1:", type=("build", "run"), when="@1.28.1:") + depends_on("r-s4vectors@0.27.13:", type=("build", "run"), when="@1.18.0:") - depends_on("r-iranges", type=("build", "run")) - depends_on("r-rhdf5lib", type=("build", "run"), when="@1.12.3:") - depends_on("gmake", type="build") + depends_on("r-s4vectors@0.21.6:", type=("build", "run"), when="@1.12.3:") + depends_on("r-s4vectors", type=("build", "run")) + + depends_on("r-sparsearray@1.7.5:", type=("build", "run"), when="@1.35.12:") + depends_on("r-sparsearray@1.5.42:", type=("build", "run"), when="@1.33.8:") + depends_on("r-sparsearray@1.5.22:", type=("build", "run"), when="@1.33.4:") + depends_on("r-sparsearray@1.5.8:", type=("build", "run"), when="@1.33.1:") + + depends_on("curl", type=("build", "link"), when="^r-rhdf5lib@1.33.1:") + depends_on("zlib-api") + + # Historical dependencies + + depends_on("r-rhdf5lib", type=("build", "run"), when="@1.12.3:1.35.7") + + depends_on("gmake", type="build", when="@:1.35.7") diff --git a/repos/spack_repo/builtin/packages/r_rhdf5/package.py b/repos/spack_repo/builtin/packages/r_rhdf5/package.py index c8b8b08e187..9427f58d01c 100644 --- a/repos/spack_repo/builtin/packages/r_rhdf5/package.py +++ b/repos/spack_repo/builtin/packages/r_rhdf5/package.py @@ -21,9 +21,11 @@ class RRhdf5(RPackage): bioc = "rhdf5" with default_args(get_full_repo=True): - version("2.44.0", commit="0f6e367ca9e97c37c683cd0f97c06732a67146f0") + version("2.56.0", commit="cef3c44c71c0f51dbd651d44f9d784581c0b7ba0") # bioc 3.23 + version("2.52.1", commit="f8211976d6f0438546c704565ae85bba914c3c61") # bioc 3.21 + version("2.44.0", commit="0f6e367ca9e97c37c683cd0f97c06732a67146f0") # bioc 3.17 version("2.42.0", commit="fa26027d57b5b6d1c297446d9bbed74d5710c5d2") - version("2.40.0", commit="fb6c15a3199f3ffd746fb9a381d574d17fef45a2") + version("2.40.0", commit="fb6c15a3199f3ffd746fb9a381d574d17fef45a2") # bioc 3.15 version("2.38.0", commit="f6fdfa807f5cd5a4d11d4aa6ebfaa81c118b4c3f") version("2.34.0", commit="ec861b81fc6962e844bf56b7549ba565a7e4c69c") version("2.28.1", commit="e230fa34d6f3e97dd4e6065115675baf5e8213bb") @@ -32,17 +34,51 @@ class RRhdf5(RPackage): version("2.22.0", commit="4431bdc0a2bcbb8086ee08a0f2300129b808d1be") version("2.20.0", commit="37b5165325062728bbec9167f89f5f4b794f30bc") - depends_on("c", type="build") # generated - depends_on("cxx", type="build") # generated + depends_on("c", type="build") + depends_on("cxx", type="build") - depends_on("r@3.5.0:", type=("build", "run"), when="@2.26.2:") depends_on("r@4.0.0:", type=("build", "run"), when="@2.38.0:") - depends_on("r-rhdf5lib", type=("build", "run"), when="@2.24.0:") - depends_on("r-rhdf5lib@1.3.2:", type=("build", "run"), when="@2.26.2:") - depends_on("r-rhdf5lib@1.11.0:", type=("build", "run"), when="@2.34.0:") - depends_on("r-rhdf5lib@1.13.4:", type=("build", "run"), when="@2.38.0:") + depends_on("r@3.5.0:", type=("build", "run"), when="@2.26.2:") + + depends_on("r-rhdf5filters@1.15.5:", type=("build", "run"), when="@2.47.7:") depends_on("r-rhdf5filters", type=("build", "run"), when="@2.34.0:") + + depends_on("r-rhdf5lib@1.33.3:", when="@2.56.0:") + depends_on("r-rhdf5lib@1.13.4:", when="@2.38.0:") + depends_on("r-rhdf5lib@1.11.0:", when="@2.34.0:") + depends_on("r-rhdf5lib@1.3.2:", when="@2.26.2:") + depends_on("r-rhdf5lib", when="@2.24.0:") + depends_on("gmake", type="build") + depends_on("zlib-api") + # Historical dependencies + + depends_on("r-s4vectors", type=("build", "run"), when="@2.45.1:2.47.0") depends_on("r-zlibbioc", type=("build", "run"), when="@:2.28.1") + + # > error: 'H5O_info2_t' has no member named 'addr' + conflicts("^r-rhdf5lib@2:", when="@:2.54") + + # > error: subscripted value is neither array nor pointer nor vector + conflicts("^r@4.6:", when="@2.24:2.50") + + # Linking fails due to incompatible format of Rhdf5lib::pkgconfig output + conflicts("^r-rhdf5lib@1.12:", when="@2.26") + + # > error: 'H5F_LIBVER_18' undeclared + conflicts("^r-rhdf5lib@1.4:", when="@2.24") + + # > error: passing argument 2 of 'H5Iget_name' from incompatible pointer type + conflicts("%gcc@14:", when="@2.20:2.22") + + def flag_handler(self, name, flags): + # > error: conflicting types for '_h5fileLock'; have 'struct SEXPREC *(struct SEXPREC *)' + # > note: previous declaration of '_h5fileLock' with type 'struct SEXPREC *(void)' + + if self.spec.satisfies("@:2.46 %gcc@13:"): + if name == "cflags": + flags.append("-std=gnu17") + + return (flags, None, None) diff --git a/repos/spack_repo/builtin/packages/r_rhdf5filters/package.py b/repos/spack_repo/builtin/packages/r_rhdf5filters/package.py index 717de569624..6f06cebe3b0 100644 --- a/repos/spack_repo/builtin/packages/r_rhdf5filters/package.py +++ b/repos/spack_repo/builtin/packages/r_rhdf5filters/package.py @@ -17,23 +17,33 @@ class RRhdf5filters(RPackage): license("BSD-2-Clause") with default_args(get_full_repo=True): + version("1.24.1", commit="997ad765fb2694e99a8c201359df7f00e41afb59") # bioc 3.23 + version("1.20.0", commit="3a5ed04b4966a7a5a250fa519d431c1ea8fb28fc") # bioc 3.21 version("1.12.0", commit="4deabdef71c0349c4eaf7e5604cb7f389809f006") version("1.10.0", commit="6131538e2c5896dca0af33882bc2da961d79e49a") version("1.8.0", commit="b0b588b71a5595b30f4e698a50b84310dc19745d") version("1.6.0", commit="5f7f3a5b7dabd6e7d0c50cda70290e2472ff4f53") version("1.2.0", commit="25af0180f926b4b3ea11b30ec9277d26ad3d56b3") - depends_on("c", type="build") # generated - depends_on("cxx", type="build") # generated + depends_on("c", type="build") + depends_on("cxx", type="build") - depends_on("r-rhdf5lib", type=("build", "run")) depends_on("gmake", type="build") + + depends_on("r-rhdf5lib", type=("build", "run")) + depends_on("zlib-api") + depends_on("zstd") + # error: 'bool' cannot be defined via 'typedef' + conflicts("%gcc@15:", when="@:1.16") + def configure_args(self): args = [] + if self.spec.target.family == "aarch64": args.append("ax_cv_gcc_check_x86_cpu_init=yes") args.append("ax_cv_gcc_x86_cpu_supports_sse2=no") + return args diff --git a/repos/spack_repo/builtin/packages/r_rhdf5lib/package.py b/repos/spack_repo/builtin/packages/r_rhdf5lib/package.py index bf045444e1b..f70e8413e0e 100644 --- a/repos/spack_repo/builtin/packages/r_rhdf5lib/package.py +++ b/repos/spack_repo/builtin/packages/r_rhdf5lib/package.py @@ -15,6 +15,8 @@ class RRhdf5lib(RPackage): bioc = "Rhdf5lib" with default_args(get_full_repo=True): + version("2.0.0", commit="21f3087035b375f46b89b27f67d11493aaef2171") # bioc 3.23 + version("1.30.0", commit="e60e82a78edd3ca6494c5b44ed80521766d4ae86") # bioc 3.21 version("1.22.0", commit="2bf06b364e8d478549b07a298eaf60177a050dc9") version("1.20.0", commit="760679995f17996a9de328cf7a8bcaa6c87286d4") version("1.18.2", commit="d104bbfdb91ac5ec7db3c453f23e4d1d6feb671f") @@ -25,10 +27,21 @@ class RRhdf5lib(RPackage): version("1.2.1", commit="dbf85dbedb736d5a696794d52875729c8514494e") version("1.0.0", commit="79608038c2016a518ba747fe6a2bf02ce53a75f9") - depends_on("c", type="build") # generated + depends_on("c", type="build") + depends_on("cxx", type="build") - depends_on("r@3.3.0:", type="build", when="@1.12.1:") + depends_on("r@4.2.0:", type=("build", "run"), when="@1.21.1:") depends_on("r@4.0.0:", type="build", when="@1.16.0:") - depends_on("r@4.2.0:", type=("build", "run"), when="@1.22.0:") - depends_on("gmake", type="build") + depends_on("r@3.3.0:", type="build", when="@1.12.1:") + + depends_on("r-biocmake", type="build", when="@1.33.1:") + + depends_on("curl", type=("build", "link"), when="@1.33.1:") + depends_on("zlib-api") + + # > error: assignment to 'H5A_t *' from 'int' makes pointer from integer without a cast + conflicts("%gcc@14:", when="@:1.12") + + # Historical dependencies + depends_on("gmake", type="build", when="@:1.33.0") diff --git a/repos/spack_repo/builtin/packages/r_s4vectors/package.py b/repos/spack_repo/builtin/packages/r_s4vectors/package.py index 88b0ade6cad..23ddd7e8982 100644 --- a/repos/spack_repo/builtin/packages/r_s4vectors/package.py +++ b/repos/spack_repo/builtin/packages/r_s4vectors/package.py @@ -22,7 +22,8 @@ class RS4vectors(RPackage): bioc = "S4Vectors" with default_args(get_full_repo=True): - version("0.50.1", commit="dfc837c68d33d9dfb2ba620c8cad386b8a730fa2") # bioc 3.23 + version("0.50.2", commit="9bd354f3a5b9fd19f549b472e24518328aa2abf3") # bioc 3.23 + version("0.50.1", commit="dfc837c68d33d9dfb2ba620c8cad386b8a730fa2") version("0.46.0", commit="f4a665d66e3d84099b551ae03840c727a374c178") # bioc 3.21 version("0.38.0", commit="e80c24e1481033741147a0677fb42ce455e7da74") version("0.36.0", commit="af58701957ffdd9209031dd6a8dee3acdc58e999")