diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 3f2ce53e58f..ac97a3f372f 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -28,4 +28,4 @@ jobs: run: flake8 - name: Run flake8 to verify PEP8-compliance of Easyconfigs - run: flake8 --select W605 --filename '*.eb' + run: flake8 --select F,W605 --filename '*.eb' diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 3a655a1b5b3..45d27a2e696 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -3,10 +3,199 @@ For more detailed information, please see the git log. These release notes can also be consulted at https://docs.easybuild.io/en/latest/Release_notes.html. -The latest version of easybuild-easyconfig provides 18,752 easyconfig files, for 3,369 different software packages, +The latest version of easybuild-easyconfig provides 19,487 easyconfig files, for 3,470 different software packages, incl. 40 different (compiler) toolchains. +v4.9.1 (5 April 2024) +--------------------- + +update/bugfix release + +- added example easyconfig files for 101 new software packages: + - AMICA (#19842), AreTomo2 (#19681), btllib (#19779), bwa-mem2 (#20217), CENSO (#19826), Circlator (#19847), Clarabel.rs (#20149), + code-cli (#19645), Concorde (#19768), contextily (#19807), CUTLASS (#19304), DeepLoc (#19514), Delft3D (#19869), DeltaLake (#19758), + denseweight (#20139), desktop-file-utils (#19701), devbio-napari (#19586), DjVuLibre (#19701), Elmer (#19448), + EnergyPlus (#19565), EpiSCORE (#18618), evince (#19701), ExpressBetaDiversity (#19938), ExtremeLy (#19870), f90nml (#19171), + FFAVES (#19822), fugue (#19694), gcsfs (#20042), GenomeComb (#19749), GI-DocGen (#19701), GKlib-METIS (#20096), GRASP-suite (#19665), + gspell (#19701), GUIDANCE (#20063), hdWGCNA (#20124), HF-Datasets (#20166), IDG (#18924), igvShiny (#19714), inflection (#20036), + InterOp (#19303), IonQuant (#19812), Lab-Streaming-Layer (#19945), Levenshtein (#19771), libfyaml (#19856), libgxps (#19701), + libhandy (#19701), libspectre (#19701), lit (#20252), lmoments3 (#19870), Markdown (#20239), MetaDecoder (#20123), mfqe (#19781), + Miniforge3 (#20227), MLflow (#19893), MODFLOW (#20142), morphosamplers (#20000), MotionCor3 (#19681), MSFragger (#19811), + multiprocess (#19986), nf-core (#19107), noise (#20048), OpenMEEG (#19853), OpenSlide-Java (#19962), PAGAN2 (#19618), PASA (#19570), + pblat (#19570), PBZIP2 (#19677), PDM (#20012), Philosopher (#19383), phyluce (#19779), poppunk (#17402), PSASS (#20160), psycopg (#19107), + PyInstaller (#19519), PyQt-builder (#16703), pytest-workflow (#19107), python-casacore (#20089), pytorch-3dunet (#19290), pyXDF (#19916), + q2-krona (#19633), QuPath (#19962), radian (#19484), remake (#19581), rethinking (#19755), RHEIA (#19496), s3fs (#19576), + safestringlib (#20217), scikit-extremes (#19870), SemiBin (#19767), semla (#19747), Sentence-Transformers (#19509), sinto (#13846), + sktime (#19692), SQLAlchemy (#20242), tiny-cuda-nn (#19304), tox (#16178), Vamb (#17457), xpdf (#20024), yt (#20263), Zeo++ (#19555), + zUMIs (#19949) +- added additional easyconfigs for various supported software packages, including: + - Abseil 20240116.1, ABySS 2.3.7, AMS 2023.104, Anaconda3 2024.02, anndata 0.10.5.post1, anvio 8, ArchR 1.0.2, + archspec 0.2.2, Armadillo 12.8.0, arpack-ng 3.9.1, arrow-R 14.0.0.2, ASAP3 3.13.3, assimp 5.3.1, autopep8 2.0.4, + basemap 1.3.9, BerkeleyGW 3.1.0 + 4.0, BiG-SCAPE 1.1.5, Biopython 1.83, Blosc 1.21.5, Blosc2 2.13.2, Boost.MPI 1.82.0, + Boost.Python 1.83.0, Braindecode 0.8.1, Brotli-python 1.1.0, build 1.0.3, buildenv-default foss-2023b + intel-2023b, + bx-python 0.10.0, CapnProto 1.0.1.1, c-ares 1.27.0, Cartopy 0.22.0, casacore 3.5.0, Cbc 2.10.11, ccache 4.9, cclib 1.8, + CellBender 0.3.1, CellTypist 1.6.2, CFITSIO 4.3.1, Cgl 0.60.8, Clang-Python-bindings 16.0.6, Clp 1.17.9, CmdStanR 0.7.1, + COBRApy 0.29.0, code-server 4.22.1, CoinUtils 2.11.10, CoordgenLibs 3.0.2, CREST 2.12, cryoCARE 0.3.0, CSBLAST 2.2.4, + CUDA 12.3.2 + 12.4.0, cuDNN 8.9.7.29, CuPy 13.0.0, cuSPARSELt 0.6.0.6, cuTENSOR 2.0.1.2, CVXPY 1.4.2, Cython 3.0.8, + dask 2023.12.1, datalad 0.19.5, DB_File 1.859, deepdiff 6.7.1, DeepLabCut 2.3.6, DendroPy 4.6.1, Deprecated 1.2.14, + DFT-D4 3.6.0, DIAMOND 2.1.9, Dice 20240101, dlb 3.4, DLPack 0.8, dorado 0.5.1, EggLib 3.3.0, einops 0.7.0, ELPA 2023.11.001, + enchant-2 2.6.5, ESMF 8.4.2, eSpeak-NG 1.51, ETE 3.1.3, expecttest 0.2.1, fastjet 3.4.2, fastjet-contrib 1.053, FDS 6.8.0, + fineRADstructure 20210514, fio 3.36, Fiona 1.9.5, Flask 3.0.0, FLINT 3.1.1, Flye 2.9.3, fmt 10.2.0, freebayes 1.3.7, + GATK 4.5.0.0, gawk 5.3.0, geocube 0.4.3, geopandas 0.14.2, geopy 2.4.1, GHC 9.4.6, Ghostscript 10.02.1, GIMIC 2.2.1, + git-lfs 3.5.1, GitPython 3.1.42, GLFW 3.4, Go 1.22.1, GPAW 24.1.0, GPAW-setups 24.1.0, gperftools 2.14, Gradle 8.6, + graph-tool 2.55, Greenlet 3.0.3, GROMACS 2024.1, gRPC 1.62.1, GTK3 3.24.39, Gurobi 11.0.0, HDF5 1.14.3, HeFFTe 2.4.0, + HepMC3 3.2.6, hunspell 1.7.2, igraph 0.10.10, infercnvpy 0.4.3, iperf 3.16, IQ-TREE 2.2.2.7, ISA-L 2.31.0, Java/19 (19.0.2), + Java/21 (21.0.2), json-c 0.17, Julia 1.10.0, KaHIP 3.16, LAMMPS 2Aug2023_update2, LASTZ 1.04.22, LDC 1.36.0, leidenalg 0.10.2, + libcint 5.5.0, libgit2 1.7.2, librosa 0.10.1, librsvg 2.58.0, libSBML 5.19.7, libsigsegv 2.14, libtirpc 1.3.4, + libxml2-python 2.11.4, likwid 5.3.0, LLVM 14.0.6, MACS3 3.0.1, maeparser 1.3.1, Mamba 23.11.0-0, MATIO 1.5.26, + matplotlib 3.8.2, maturin 1.5.0, MCR R2023a, MDAnalysis 2.7.0, MDI 1.4.26, medaka 1.11.3, Meson 1.3.1, MiXCR 4.6.0, + MNE-Python-1.6., MOABB 1.0.0, molmod 1.4.8, MONAI 1.3.0, mpi4py 3.1.5, mrcfile 1.5.0, NCCL 2.20.5, NCO 5.1.9, NECI 20230620, + netcdf4-python-1.6.5, networkx 3.2.1, NGSpeciesID 0.3.0, NiBabel 5.2.0, nichenetr 2.0.4, Nilearn 0.10.3, + nlohmann_json 3.11.3, NLTK 3.8.1, ntCard 1.2.2, numba 0.58.1, NVHPC 24.1, OBITools3 3.0.1b26, OCaml 4.14.0, occt 7.8.0, + onedrive 2.4.25, ONNX 1.15.0, ONNX-Runtime 1.16.3, ont-fast5-api 4.1.2, OPARI2 2.0.8, OpenFOAM v2306 + v2312, OpenSSL/3, + Optuna 3.5.0, Osi 0.108.9, PAPI 7.1.0, Parallel-Hashmap 1.3.12, ParaView 5.12.0, PDT 3.25.2, PETSc 3.20.3, PGPLOT 5.2.2, + phonemizer 3.2.1, phono3py 2.7.0, Pillow 10.2.0, Pint 0.23, plotly.py 5.18.0, poetry 1.7.1, presto-1.0.0 20230501, + PROJ 9.3.1, prompt-toolkit 3.0.36, protobuf 25.3, protobuf-python 4.25.3, psmc 0.6.5_20221121, pstoedit 3.78, + psycopg2 2.9.9, PuLP 2.8.0, PyCheMPS2 1.8.12, pycodestyle 2.11.1, pydantic 1.10.13 + 2.5.3 2.6.4, pydicom 2.4.4, pydot 2.0.0, + pyfaidx 0.8.1.1, PyFrag 2023-dev.20240220, pymatgen 2023.12.18, PyOpenCL 2023.1.4, PyOpenGL 3.1.7, pyparsing 3.1.1, + PyQt5 5.15.10, Pysam 0.22.0, PySCF 2.4.0, pyspoa 0.2.1, PyTables 3.9.2, pytest-rerunfailures 14.0, python-igraph 0.11.4, + python-irodsclient 2.0.0, python-isal 1.6.1, python-libsbml 5.20.2, python-xxhash 3.4.1, PyTorch-Ignite 0.4.13, + PyTorch-Lightning 2.2.1, PyZMQ 25.1.2, QIIME2 2023.7.0, Qt5 5.15.13, Qt6 6.6.3, Qtconsole 5.5.1, QtPy 2.4.1, + QuantumESPRESSO 7.3, R 4.3.3, rasterio 1.3.9, R-bundle-Bioconductor 3.18, rclone 1.66.0, RE2 2024-03-01, Redis 7.2.4, + redis-py 5.0.1, rioxarray 0.15.0, Rivet 3.1.9, rMATS-turbo 4.2.0, RNA-Bloom 2.0.1, rocm-smi 5.6.0, rpy2 3.5.15, + ruamel.yaml 0.18.6, Ruby 3.3.0, Rust 1.75.0 + 1.76.0, Salmon 1.10.1, Sambamba 1.0.1, Saxon-HE 12.4, SBCL 2.4.1, + ScaFaCoS 1.0.4, Scalene 1.5.35, scanpy 1.9.8, scib 1.1.4, scikit-bio 0.5.9, scikit-learn 1.4.0, scikit-lego 0.7.4, + scikit-misc 0.3.1, SCons 4.6.0, Score-P 8.4, scVelo 0.3.1, Seaborn 0.13.2, SentencePiece 0.1.99, Seqmagick 0.8.6, + Seurat 5.0.1, SIP 6.8.1, siscone 3.0.6, skorch 0.15.0, SLEPc 3.20.1, snakemake 8.4.2, SNAPE-pooled 20150707, + SOAPdenovo-Trans 1.0.5, Spark 3.5.1, spdlog 1.12.0, spoa 4.1.0, SRA-Toolkit 3.0.10, Stack 2.13.1, STAR 2.7.11b, + statsmodels 0.14.1, tensorboard 2.15.1, tensorboardX 2.6.2.2, tensorflow-probability 0.20.0, texinfo 7.1, timm 0.9.7, + torchvision 0.16.0, tqdm 4.66.2, TRIQS 3.2.0, TRIQS-cthyb 3.2.1, TRIQS-dft_tools 3.2.0, TRIQS-tprf 3.2.1, + typing-extensions 4.9.0, UCX 1.16.0, UDUNITS 2.2.28, umap-learn 0.5.5, UMI-tools 1.1.4, Vala 0.56.14, VEP 111, + Vim 9.1.0004, vsc-mympirun 5.4.0, WFA2 2.3.4, wget 1.21.4, WhatsHap 2.2, WIEN2k 23.2, wrf-python 1.3.4.1, + Xerces-C++ 3.2.5, XlsxWriter 3.1.9, XML-LibXML v2.0209, xxHash 0.8.2, yaff 1.6.0, YAXT 0.10.0, Yices 2.6.4, YODA 1.9.9 +- minor enhancements, including: + - add build info message to easyconfig for NLTK 3.7 (#18550) + - enable KLU and CUDA solvers in SUNDIALS v6.6.0 (#19490) + - add extensions to R-bundle-CRAN v2023.12: tidybayes (#19712), spdep (#19729), fixest (#20055) + - add plyranges extension to R-bundle-Bioconductor (for zUMIs) (#19949) + - add PyOpenGL-accelerate extension to PyOpenGL v3.1.7 (#20007) + - use system architecture template in DB_File (#20014), GD (#20015), and GDGraph (#20016) + - add support for Vulkan software rendering in Mesa v23.1.9 by adding Wayland dependency (#20069) + - add MODIStsp extension (+ required dependencies) to R 4.2.2 (#20113) + - enable LittleCMS2 and WebP support in recent Pillow (#20195) + - improve test for validity of easyconfig files (#20205) + - add easyconfig test that checks if backdoored XZ versions are introduced (#20267) +- various bug fixes, including: + - add patch for Bison 3.7.1 to fix build error on old OS versions (#12291) + - add missing pkg-config build dependency for recent p11-kit easyconfigs (#16318) + - fix dependencies and configure flags of GnuTLS 3.7.x (#19070) + - remove numa configure option from hwloc 2.5+ (#19085) + - add patches for OpenBLAS v0.3.21 to disable -ftree-vectorize for netlib LAPACK (#19280) + - add patch to fix flaky scipy build in SciPy-bundle v2023.11 (#19481) + - add missing SciPy-bundle dependency to TensorRT easyconfig (#19486) + - fix lapack test failures in OpenBLAS 0.3.23/24 (#19495) + - add patch for Arrow v8.0.0 - v11.0.0 to add missing `__arrow_ext_class__` method to `BaseExtensionType` class (#19532) + - change homepage for argtable (#19551) + - add patches for PyTorch v2.1.2 with `foss/2022a` (#19571), `foss/2022b` (#19572), and `foss/2023a` (#19573) to fix test failures on non-x86 platforms + - use pocl with CUDA support as dependency for PyOpenCL v2023.1.4 (#19584) + - remove `osdependencies` from ccache easyconfigs using GCCcore toolchain (#19600) + - use https source URL for alsa-lib (#19628) + - add missing dm-tree dependency for dm-reverb 0.2.0 (#19653) + - add libyaml import check to PyYAML and fix builds since split to minimal Python (#19662) + - demote meson-python to a build dependency in recent matplotlib easyconfigs (#19670) + - add patch to fix upb CopyFrom error in protobuf-python 4.24.0 (#19671) + - demote poetry to build dep in expecttest (#19675) + - add zlib dependency to YODA and Rivet (#19679) + - fix missing spaces in Graphviz configure options (#19687) + - strip iconv from pkgconfig file for libarchive v3.6.2 (#19698) + - use separate bcrypt easyconfig (using CargoPythonPackage) as dependency for JupyterHub v4.0.2 (#19703) + - use maturin easyconfig using CargoPythonPackage as a dependency for fastparquet v2023.4.0 (#19704) + - add patches for Perl-bundle-CPAN v5.36.1 to fix installation of `Sys::Info::Driver::Linux*` extensions on Debian Bookworm (#19727) + - explicitly specify Fortran compiler for recent CDO versions to fix issues on non-x86_64 architectures (#19735) + - add patch for `jupyter_core` extension in `jupyter-server` to set jupyter path by `$EB_ENV_JUPYTER_ROOT` (#19737) + - add Python build dependency to 1.9.x Doxygen (#19743) + - fix Arrow v14.0.1 to install pyarrow as an extension (#19758) + - fix homepage + source URL for Gblocks 0.91b (#19797) + - make sure that Brunsli libraries are installed into `lib` (#19805) + - fix dependency with `libidn.so.11` in tbl2asn v20220427 and v20230713 easyconfigs (#19821) + - add missing dependencies for fslpy in easyconfig for FSL v6.0.5.1 (#19829) + - remove numa configure option from hwloc 2+ (#19833) + - avoid spurious test failure when enabling RPATH for Perl (#19835) + - add missing Python deps and packages in PSI4 1.7 (#19836) + - add patch to fix `MS_RDONLY` error in OpenMPI 3.1.x and 4.0.0 (#20140), 4.0.3 (#19944), and 4.0.5 (#19837) + - demote meson-python to build dependency for matplotlib v3.7.2 w/ `iimkl/2023a` (#19892) + - demote hatchling to build dependency in easyconfig for einops 0.7.0 (#19915) + - add patch for adding a write memory barrier to all OpenMPI 4.1.x easyconfigs (#19940) + - stop using non-existent `--disable-libdeflate` option for LibTIFF 4.1.0 (#19951) + - add patch to remove git version check and fix test command for molmod 1.4.8 (#19952) + - replace SYSTEM-level GCC dependency in git-annex with binutils (#19956) + - stop using non-existing `--with-doc` configure option for groff 1.23 (#19969) + - fix test failures of Perl-bundle-CPAN-5.38 in non-English locales (#19971) + - add patch to fix tree-optimization bug in GCC 12.3.0 + 13.1.0 + 13.2.0 for ARM architectures with SVE support (#19974, #20218) + - drop checksum from easyconfig for VSCode 1.85.0 since tarball are not stable (#19995) + - respect `sysroot` in recent Pillow-SIMD easyconfigs, when in use (#19996) + - remove `--disable-docs` configure option from FriBidi 1.0.5+ (#19998) + - fix geotiff configure option in GDAL (#19999) + - unpack SCG database to 'db' subdirectory for DAS_Tool (#20008) + - remove Jasper dependency and configure option from GDAL 3.5+ (#20009) + - update homepage and source URLs for SPAdes (#20018) + - fix GDAL 3.5.0 install on high-core-count machines (#20027) + - remove disable-visibility configure flag from GTK3 (#20028) + - remove mpi configure option from libfdf 0.2.2 (#20034) + - add patch to fix multiarch support for RISC-V to all GCCcore 12.x and 13.x easyconfigs (#20035) + - fix invocation typo and unneeded folder change on invocation in fgbio 1.3.0 easyconfig (#20039) + - remove hdf5 configure option from MDSplus 7.96.12 (#20041) + - fix python configure option of MEME (#20043) + - fix configure options of FFLAS-FFPACK (#20052) + - find the correct Python in xtensor (#20056) + - fix geotiff configure option in GDAL 2.2.3 (#20057) + - fix configure option and remove gperftools dependency for MIRA 5.0 (#20061) + - fix confgure options in GRASS (#20062) + - fix configure of LinBox 1.7.0 (#20064) + - remove unknown configure option from GnuTLS 3.7.2 (#20065) + - use 32-bit indexing for SUNDIALS 6.6.0 (with foss/2023a) to enable sunmatrix-cusparse (#20075) + - find correct Python for MDI (#20083) + - add `pixman` and `FriBidi` dependencies to recent ImageMagick easyconfigs (#20086) + - add patch to fix failing tests with OpenSSL 3.x for Net-SSLeay v1.92 extension in Perl-bundle-CPAN v5.36.1 (#20090) and v5.38.0 (#20118) + - add patches for minimus2 in AMOS-3.1.0 (#20114) + - fix download url for cuSPARSELt 0.3.0.3 (#20129) + - add patches to fix test issues for PyTorch 2.1.2 with `foss/2023a` + CUDA 12.1.1 (#20156) + - remove easyconfig for UCX-CUDA 1.15.0 using incompatible combo of CUDA 12.3.0 + GCC 13.2.0 (#20158) + - remove flake8 suppressions for invalid escape sequences (#20161) + - fix post-install command for SuperLU_DIST in case library prefix is `lib` instead of `lib64` (#20162) + - switch to gitlab source URL for libxc + add alternative checksum (#20163) + - enable `download_dep_fail` in Pythonpackage easyconfigs where it was wrongly disabled (#20174) + - add patch to fix PyTorch 1.12.x and 1.13.x for Linux 6+ (#20176, #20177, #20178, #20179, #20180, #20181, #20182) + - disable tests for `Time::HiRes` extension in Perl-bundle-CPAN v5.36.1 (#20187) + - fix several typos in GlobalArrays 5.8 configure step (#20188) + - fix broken homepage from older SCOTCH easyconfigs (#20192) + - remove dead URL for ISL from `source_urls` in easyconfigs for GCCcore 10.3.0, 11.1.0, 11.2.0 (#20193) + - fix package installation in easyconfigs for Python 2.7.15 and 3.7.2 (using `GCCcore/8.2.0`) (#20194) + - add missing zlib + OpenSSL deps to Ruby easyconfigs + promote binutils to runtime dependency (#20214) + - fix cuSPARSELt easyconfigs for aarch64 (#20216) + - fix python shebang in napari easyconfigs (#20219) + - add patch to fix scipy test failure for SciPy-bundle 2023.02 with `gfbf/2022b` (#20235) + - fix `incompatible types` errors when building the R extension `dbarts` on Arm (#20238) + - add patch to fix for libarchive to fix error reporting in tar (#20254) + - add patch for GCCcore 13.2.0 to fix unguarded use of is_convertible builtin (#20260) + - fix download for python-parasail 1.3.4 by adding missing source URL (#20263) +- other changes: + - update DualSPHysics easyconfig to use custom easyblock (#19400) + - fix name for DETONATE in existing easyconfig (was `detonate`) (#19569) + - rename `VSCode` to `code-cli` (to match with existing `code-server`) (#19585, #19645) + - remove urllib3 extension from wandb easyconfig, not neeed since Python-bundle-PyPI dependency already provides it (#19725) + - stop using custom easyblock for Doxygen (#19742) + - move `setuptools_scm` extension from hatchling to Python easyconfig (#19777, #20200) + - move xtb v6.6.1 to gfbf/2023a (#19826) + - unify Z3 4.12.2 easyconfigs into a single one with Python bindings (and fix Z3 dependency for PyTorch 2.1.2 accordingly) (#20050) + - use GPAW-setups v24.1.0 in existing GPAW easyconfigs (#20117) + - fix duplicate dict entries and enable fatal error checking for easyconfigs via `flake8` (#20173) + - move Greenlet 2.0.2 to GCCcore toolchain (#20241) + - update Java/8 wrapper to Java 8.402 (#20261) + - update copyright lines to 2024 (#20276) + + v4.9.0 (30 December 2023) ------------------------- diff --git a/easybuild/easyconfigs/__archive__/f/f90nml/f90nml-1.4.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/__archive__/f/f90nml/f90nml-1.4.4-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..5aff63728f9 --- /dev/null +++ b/easybuild/easyconfigs/__archive__/f/f90nml/f90nml-1.4.4-GCCcore-10.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'f90nml' +version = '1.4.4' + +homepage = 'https://github.com/marshallward/f90nml' +description = """A Python module and command line tool for parsing + Fortran namelist files""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['65e8e135779895245238cbf6be5b1b80d6c2b8c9350c9cdce6183a31bdfd7622'] + +builddependencies = [ + ('binutils', '2.35'), +] +dependencies = [ + ('Python', '3.8.6'), + ('PyYAML', '5.3.1') +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/__archive__/l/libunwind/libunwind-1.1-foss-2015a.eb b/easybuild/easyconfigs/__archive__/l/libunwind/libunwind-1.1-foss-2015a.eb index 19a10c83627..aba9b147133 100644 --- a/easybuild/easyconfigs/__archive__/l/libunwind/libunwind-1.1-foss-2015a.eb +++ b/easybuild/easyconfigs/__archive__/l/libunwind/libunwind-1.1-foss-2015a.eb @@ -15,7 +15,7 @@ toolchain = {'version': '2015a', 'name': 'foss'} sources = [SOURCE_TAR_GZ] source_urls = [GNU_SAVANNAH_SOURCE] -checksums = ['fb4ea2f6fbbe45bf032cd36e586883ce'] +checksums = ['9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a'] dependencies = [ ('XZ', '5.2.2'), diff --git a/easybuild/easyconfigs/__archive__/l/libunwind/libunwind-1.1-goolf-1.4.10.eb b/easybuild/easyconfigs/__archive__/l/libunwind/libunwind-1.1-goolf-1.4.10.eb index 97bdf439062..636165fe4bb 100644 --- a/easybuild/easyconfigs/__archive__/l/libunwind/libunwind-1.1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/__archive__/l/libunwind/libunwind-1.1-goolf-1.4.10.eb @@ -15,7 +15,7 @@ toolchain = {'version': '1.4.10', 'name': 'goolf'} sources = [SOURCE_TAR_GZ] source_urls = [GNU_SAVANNAH_SOURCE] -checksums = ['fb4ea2f6fbbe45bf032cd36e586883ce'] +checksums = ['9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a'] dependencies = [ ('XZ', '5.2.2'), @@ -24,7 +24,6 @@ dependencies = [ preconfigopts = 'export LIBS="$LIBS -llzma" && ' sanity_check_paths = { - 'files': ["include/libunwind.h", "lib/libunwind.%s" % SHLIB_EXT], 'files': ['include/libunwind.h', ('lib/libunwind.%s' % SHLIB_EXT, 'lib64/libunwind.%s' % SHLIB_EXT)], 'dirs': [] } diff --git a/easybuild/easyconfigs/__archive__/l/libunwind/libunwind-1.1-ictce-5.3.0.eb b/easybuild/easyconfigs/__archive__/l/libunwind/libunwind-1.1-ictce-5.3.0.eb index 5b2faed5579..8f3780386e6 100644 --- a/easybuild/easyconfigs/__archive__/l/libunwind/libunwind-1.1-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/__archive__/l/libunwind/libunwind-1.1-ictce-5.3.0.eb @@ -15,7 +15,7 @@ toolchain = {'name': 'ictce', 'version': '5.3.0'} sources = [SOURCE_TAR_GZ] source_urls = [GNU_SAVANNAH_SOURCE] -checksums = ['fb4ea2f6fbbe45bf032cd36e586883ce'] +checksums = ['9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a'] dependencies = [ ('XZ', '5.2.2'), @@ -24,7 +24,6 @@ dependencies = [ preconfigopts = 'export LIBS="$LIBS -llzma" && ' sanity_check_paths = { - 'files': ["include/libunwind.h", "lib/libunwind.%s" % SHLIB_EXT], 'files': ['include/libunwind.h', ('lib/libunwind.%s' % SHLIB_EXT, 'lib64/libunwind.%s' % SHLIB_EXT)], 'dirs': [] } diff --git a/easybuild/easyconfigs/a/ABySS/ABySS-2.3.7-foss-2023a.eb b/easybuild/easyconfigs/a/ABySS/ABySS-2.3.7-foss-2023a.eb new file mode 100644 index 00000000000..b7ed9556e62 --- /dev/null +++ b/easybuild/easyconfigs/a/ABySS/ABySS-2.3.7-foss-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'ABySS' +version = '2.3.7' + +homepage = 'https://www.bcgsc.ca/platform/bioinfo/software/abyss' +description = """Assembly By Short Sequences - a de novo, parallel, paired-end sequence assembler""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True, 'cstd': 'c++17'} + +source_urls = ['http://github.com/bcgsc/abyss/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ba37780e79ec3aa359b6003e383caef13479a87f4d0022af01b86398f9ffca1f'] + +dependencies = [ + ('Autoconf', '2.71'), + ('Automake', '1.16.5'), + ('Boost', '1.82.0'), + ('sparsehash', '2.0.4'), + ('btllib', '1.7.0'), +] + +preconfigopts = "./autogen.sh && " +configopts = 'CXXFLAGS="$CXXFLAGS -Wno-error"' + +sanity_check_paths = { + 'files': ["bin/ABYSS", "bin/ABYSS-P"], + 'dirs': [] +} + +sanity_check_commands = ['ABYSS --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AMICA/AMICA-2024.1.19-intel-2023a.eb b/easybuild/easyconfigs/a/AMICA/AMICA-2024.1.19-intel-2023a.eb new file mode 100644 index 00000000000..22c95a70721 --- /dev/null +++ b/easybuild/easyconfigs/a/AMICA/AMICA-2024.1.19-intel-2023a.eb @@ -0,0 +1,30 @@ +easyblock = 'CmdCp' + +name = 'AMICA' +version = '2024.1.19' +local_commit = 'e0db55f07c8c410641cd5b0df5498a5a53129ce6' + +homepage = 'https://github.com/sccn/amica' +description = """Code for AMICA: Adaptive Mixture ICA with shared components""" + +toolchain = {'name': 'intel', 'version': '2023a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/sccn/amica/archive/'] +sources = [{'download_filename': '%s.zip' % local_commit, 'filename': '%(name)s-%(version)s.zip'}] +checksums = ['d856ef1bf4bd09b2aacf5da6832b9af5d7fb70976786f43585c72acd1a52443b'] + +# original command: +# $ mpif90 -static-intel -fpp -O3 -march=core-avx2 -heap-arrays -qopenmp -mkl -DMKL -o amica17 funmod2.f90 amica17.f90 +cmds_map = [('.*', "$MPIF90 $F90FLAGS -static-intel -fpp -heap-arrays -mkl -DMKL -o amica17 funmod2.f90 amica17.f90")] + +test_cmd = "./amica17 ./amicadefs.param" + +files_to_copy = [(['amica17', 'amicadefs.param'], 'bin')] + +sanity_check_paths = { + 'files': ["bin/amica17", "bin/amicadefs.param"], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/AMOS/AMOS-3.1.0-foss-2023a.eb b/easybuild/easyconfigs/a/AMOS/AMOS-3.1.0-foss-2023a.eb new file mode 100644 index 00000000000..1f2620e9f2c --- /dev/null +++ b/easybuild/easyconfigs/a/AMOS/AMOS-3.1.0-foss-2023a.eb @@ -0,0 +1,52 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Cedric Laczny , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'ConfigureMake' + +name = 'AMOS' +version = '3.1.0' + +homepage = 'http://amos.sourceforge.net' +description = """The AMOS consortium is committed to the development of open-source whole genome assembly software""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'cstd': 'c++98'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'AMOS-%(version)s_GCC-4.7.patch', + 'AMOS-3.1.0_fix_deprecated_maxmatch-flag.patch', + 'AMOS-3.1.0_link_correctly_to_DELTAFILER_SHOWCOORDS.patch', +] +checksums = [ + {'amos-3.1.0.tar.gz': '2d9f50e39186ad3dde3d3b28cc265e8d632430657f40fc3978ce34ab1b3db43b'}, + {'AMOS-3.1.0_GCC-4.7.patch': '8633ff196568e208cc12932f25f46fa35f7e9a9e80e0bbf4288ae070dd7b8844'}, + {'AMOS-3.1.0_fix_deprecated_maxmatch-flag.patch': + '80379cee8e8c8228590af89d37ea3fdb734c7e0ebe5bb357eaf2af71d1399fc6'}, + {'AMOS-3.1.0_link_correctly_to_DELTAFILER_SHOWCOORDS.patch': + 'e291d87b8cd27752474ee0e1f3acb44f9657cac50d5d6dcceca0efc6436f1fe1'}, +] + +dependencies = [ + ('expat', '2.5.0'), + ('MUMmer', '4.0.0rc1'), +] + +sanity_check_paths = { + 'files': ['bin/AMOScmp', 'bin/AMOScmp-shortReads', 'bin/AMOScmp-shortReads-alignmentTrimmed'], + 'dirs': [] +} + +parallel = 1 # make crashes otherwise + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AMOS/AMOS-3.1.0_fix_deprecated_maxmatch-flag.patch b/easybuild/easyconfigs/a/AMOS/AMOS-3.1.0_fix_deprecated_maxmatch-flag.patch new file mode 100644 index 00000000000..1c31a0a98a0 --- /dev/null +++ b/easybuild/easyconfigs/a/AMOS/AMOS-3.1.0_fix_deprecated_maxmatch-flag.patch @@ -0,0 +1,14 @@ +Replace deprecate NUCMER flag -maxmatch with --maxmatch (from MUMmer 4.0.0rc) +see https://github.com/sanger-pathogens/circlator/issues/121 and https://github.com/mummer4/mummer/issues/49 +diff -ru amos-3.1.0.orig/src/Pipeline/minimus2.acf amos-3.1.0/src/Pipeline/minimus2.acf +--- amos-3.1.0.orig/src/Pipeline/minimus2.acf 2011-07-25 01:27:26.000000000 +0200 ++++ amos-3.1.0/src/Pipeline/minimus2.acf 2024-03-13 17:03:35.981707768 +0100 +@@ -54,7 +54,7 @@ + 13: $(BINDIR)/dumpreads $(BANK) -m $(REFCOUNT) > $(QRYSEQ) + + ## Getting overlaps +-20: $(NUCMER) -maxmatch -c $(OVERLAP) $(REFSEQ) $(QRYSEQ) -p $(PREFIX) ++20: $(NUCMER) --maxmatch -c $(OVERLAP) $(REFSEQ) $(QRYSEQ) -p $(PREFIX) + 21: $(SHOWCOORDS) -H -c -l -o -r -I $(MINID) $(ALIGN) | $(BINDIR)/nucmerAnnotate | egrep 'BEGIN|END|CONTAIN|IDENTITY' > $(COORDS) + 22: $(BINDIR)/nucmer2ovl -ignore $(MAXTRIM) -tab $(COORDS) | $(BINDIR)/sort2 > $(OVLTAB) + diff --git a/easybuild/easyconfigs/a/AMOS/AMOS-3.1.0_link_correctly_to_DELTAFILER_SHOWCOORDS.patch b/easybuild/easyconfigs/a/AMOS/AMOS-3.1.0_link_correctly_to_DELTAFILER_SHOWCOORDS.patch new file mode 100644 index 00000000000..82238b9a089 --- /dev/null +++ b/easybuild/easyconfigs/a/AMOS/AMOS-3.1.0_link_correctly_to_DELTAFILER_SHOWCOORDS.patch @@ -0,0 +1,15 @@ +minimus2 needs delta-filter and show-coords but these were not set correctly like NUCMER +author: Lara Peeters (HPC-UGent) +diff -ru amos-3.1.0.orig/src/Pipeline/Makefile.in amos-3.1.0/src/Pipeline/Makefile.in +--- amos-3.1.0.orig/src/Pipeline/Makefile.in 2011-08-05 05:08:07.000000000 +0200 ++++ amos-3.1.0/src/Pipeline/Makefile.in 2024-03-14 12:31:16.218067000 +0100 +@@ -477,7 +477,8 @@ + echo '#!$(bindir)/runAmos -C' > "$(DESTDIR)$(bindir)/$$b"; \ + sed -e 's|^BINDIR[ ]*=.*$$|BINDIR=$(bindir)|' \ + -e 's|^NUCMER[ ]*=.*$$|NUCMER=$(NUCMER)|' \ +- -e 's|^DELTAFILTER[ ]*=.*$$|DELTAFILTER=$(DELTAFILTER)|' \ ++ -e 's|^DELTAFILTER[ ]*=.*$$|DELTAFILTER=$(DELTAFILTER)|' \ ++ -e 's|^SHOWCOORDS[ ]*=.*$$|SHOWCOORDS=$(SHOWCOORDS)|' \ + "$(DESTDIR)$(bindir)/$$f" >> "$(DESTDIR)$(bindir)/$$b" \ + || exit 1; \ + ;; \ diff --git a/easybuild/easyconfigs/a/AMS/AMS-2023.104-iimpi-2022b-intelmpi.eb b/easybuild/easyconfigs/a/AMS/AMS-2023.104-iimpi-2022b-intelmpi.eb new file mode 100644 index 00000000000..95e08257026 --- /dev/null +++ b/easybuild/easyconfigs/a/AMS/AMS-2023.104-iimpi-2022b-intelmpi.eb @@ -0,0 +1,47 @@ +easyblock = 'Tarball' + +name = 'AMS' +version = '2023.104' +versionsuffix = '-intelmpi' + +homepage = 'https://www.scm.com/amsterdam-modeling-suite/' +description = """ +The Amsterdam Modeling Suite (AMS) provides a comprehensive set of modules for +computational chemistry and materials science, from quantum mechanics to fluid +thermodynamics. +""" + +toolchain = {'name': 'iimpi', 'version': '2022b'} + +sources = ['ams%(version)s.pc64_linux.intelmpi.bin.tgz'] +checksums = ['c977014f14291f7f210be7e48bc28f71ab0a076a5af257e92f2c873f54d208af'] + +dependencies = [('libGLU', '9.0.2')] + +keepsymlinks = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['atomicdata', 'bin', 'examples'], +} + +# check if license file is installed +# sanity_check_commands = ['dirac check'] + +modextrapaths = { + 'AMSHOME': '', + 'AMSBIN': 'bin', + 'AMSRESOURCES': 'atomicdata', +} + +modextravars = { + # use Intel MPI from EasyBuild + 'SCM_USE_LOCAL_IMPI': '1', +} + +modloadmsg = """These environment variables need to be defined before using AMS: + * $SCMLICENSE: path to AMS license file + * $SCM_TMPDIR: path to user scratch directory +""" + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/AOFlagger/AOFlagger-3.4.0-foss-2023b.eb b/easybuild/easyconfigs/a/AOFlagger/AOFlagger-3.4.0-foss-2023b.eb new file mode 100644 index 00000000000..d1fe2a3f7dd --- /dev/null +++ b/easybuild/easyconfigs/a/AOFlagger/AOFlagger-3.4.0-foss-2023b.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'AOFlagger' +version = '3.4.0' + +homepage = 'https://aoflagger.readthedocs.io/' +description = """The AOFlagger is a tool that can find and remove radio-frequency interference (RFI) +in radio astronomical observations. It can make use of Lua scripts to make flagging strategies flexible, +and the tools are applicable to a wide set of telescopes.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +sources = [ + { + 'source_urls': [ + 'https://gitlab.com/aroffringa/%(namelower)s/-/package_files/96704214/' + ], + 'filename': '%(namelower)s-v%(version)s.tar.bz2', + 'download_filename': 'download' + }, +] +checksums = ['9560b7381b68f37d842599f222a8aa2a5d3d3d501d1277471e1a0ba3d7b2aeba'] + +builddependencies = [ + ('CMake', '3.27.6'), +] +dependencies = [ + ('casacore', '3.5.0'), + ('Boost', '1.83.0'), + ('CFITSIO', '4.3.1'), + ('GSL', '2.7'), + ('HDF5', '1.14.3'), + ('Python', '3.11.5'), + ('Lua', '5.4.6'), + ('libpng', '1.6.40'), + ('libxml2', '2.11.5'), +] + +sanity_check_paths = { + 'files': ['include/%(namelower)s.h', 'bin/%(namelower)s'], + 'dirs': ['bin'], +} + +sanity_check_commands = [('%(namelower)s', '-v')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.3-foss-2023a.eb b/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.3-foss-2023a.eb new file mode 100644 index 00000000000..4315122d3cb --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.3-foss-2023a.eb @@ -0,0 +1,36 @@ +easyblock = "PythonPackage" + +name = 'ASAP3' +version = '3.13.3' + +homepage = 'https://wiki.fysik.dtu.dk/asap/' +description = """ASAP is a calculator for doing large-scale classical molecular +dynamics within the Campos Atomic Simulation Environment (ASE).""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': False} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['78aa4c9ee11315b6e7f8cd9b1fda6ab9a240cc4f4ff418972ea079612e26d369'] + +builddependencies = [ + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('ASE', '3.22.1'), + ('kim-api', '2.3.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.3-intel-2023a.eb b/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.3-intel-2023a.eb new file mode 100644 index 00000000000..0fc1bd1708f --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.3-intel-2023a.eb @@ -0,0 +1,42 @@ +easyblock = "PythonPackage" + +name = 'ASAP3' +version = '3.13.3' + +homepage = 'https://wiki.fysik.dtu.dk/asap/' +description = """ASAP is a calculator for doing large-scale classical molecular +dynamics within the Campos Atomic Simulation Environment (ASE).""" + +toolchain = {'name': 'intel', 'version': '2023a'} +toolchainopts = { + 'pic': True, + 'usempi': True, + 'openmp': False, + 'extra_cflags': '-fp-speculation=fast -fp-model fast' +} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['78aa4c9ee11315b6e7f8cd9b1fda6ab9a240cc4f4ff418972ea079612e26d369'] + +builddependencies = [ + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('ASE', '3.22.1'), + ('kim-api', '2.3.0'), +] + +installopts = '--verbose' +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.22.1-iimkl-2023a.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-iimkl-2023a.eb new file mode 100644 index 00000000000..e5ade107d5c --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-iimkl-2023a.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'ASE' +version = '3.22.1' + +homepage = 'https://wiki.fysik.dtu.dk/ase' +description = """ASE is a python package providing an open source Atomic Simulation Environment + in the Python scripting language. + +From version 3.20.1 we also include the ase-ext package, it contains optional reimplementations +in C of functions in ASE. ASE uses it automatically when installed.""" + +toolchain = {'name': 'iimkl', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('Flask', '2.3.3'), + ('matplotlib', '3.7.2'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '2.1.0'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.11.1', { + 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], + }), + ('ase', version, { + 'patches': [ + 'ASE-3.22.1-Compatibility-with-pytest-from-Python-3-10.patch', + 'ASE-3.22.1-Compatibility-with-pytest-part-2.patch', + 'ASE-3.22.1-Compatibility-with-Scipy-2022-05.patch', + 'ASE-3.22.1-Compatibility-with-Flask-2-2-2.patch', + ], + 'checksums': [ + {'ase-3.22.1.tar.gz': '004df6b0ea04b1114c790fadfe45d4125eb0e53125c66a93425af853d82ab432'}, + {'ASE-3.22.1-Compatibility-with-pytest-from-Python-3-10.patch': + '8184765ecc9e14081b183fee5c4470da716d77caa67c25164018ac1fdd225eac'}, + {'ASE-3.22.1-Compatibility-with-pytest-part-2.patch': + '3a3473912f5f96ffc625119d87227781ba4ea581de15d4af6a58ba960cdf4601'}, + {'ASE-3.22.1-Compatibility-with-Scipy-2022-05.patch': + 'c1cb07160b063d432f098efd40dd4b3c9f015b7966572c838a908613a482e0c8'}, + {'ASE-3.22.1-Compatibility-with-Flask-2-2-2.patch': + '2a05f98291dc970cb759904988783d1ecc3512ba6a0da852af1d3205667b398d'}, + ], + }), + ('ase-ext', '20.9.0', { + 'checksums': ['a348b0e42cf9fdd11f04b3df002b0bf150002c8df2698ff08d3c8fc7a1223aed'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ase'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +# make sure Tkinter is available, otherwise 'ase gui' will not work +sanity_check_commands = ["python -c 'import tkinter' "] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/Abseil/Abseil-20240116.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/Abseil/Abseil-20240116.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..81a2f9766dc --- /dev/null +++ b/easybuild/easyconfigs/a/Abseil/Abseil-20240116.1-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'Abseil' +version = '20240116.1' + +homepage = 'https://abseil.io/' +description = """Abseil is an open-source collection of C++ library code designed to augment the +C++ standard library. The Abseil library code is collected from Google's own +C++ code base, has been extensively tested and used in production, and is the +same code we depend on in our daily coding lives.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s-cpp/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['3c743204df78366ad2eaf236d6631d83f6bc928d1705dd0000b872e53b73dc6a'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +configopts = "-DABSL_PROPAGATE_CXX_STD=ON " + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['lib/libabsl_base.' + SHLIB_EXT], + 'dirs': ['include/absl'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2024.02-1.eb b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2024.02-1.eb new file mode 100644 index 00000000000..ff866c9193d --- /dev/null +++ b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2024.02-1.eb @@ -0,0 +1,33 @@ +# author: Jillian Rowe +# config upgrade to v5.1.0 by Adam Huffman +# config upgrade to v5.0.1, v5.3.0, 2018.12, 2019.07, +# 2019.10, 2020.2, 2020.11, 2022.05, +# 2022.10, 2024.2-1 by J. Hein +# config upgrade to 2019.03 by Davide Vanzo +# config upgrade to 2023.09 by Sarah Walters + +# no support for power architecture in 2024.02-1 on https://repo.anaconda.com/archive/, as off 13 Feb 2024 +easyblock = 'EB_Anaconda' + +name = 'Anaconda3' +version = '2024.02-1' + +homepage = 'https://www.anaconda.com' +description = """Built to complement the rich, open source Python community, +the Anaconda platform provides an enterprise-ready data analytics platform +that empowers companies to adopt a modern open data science analytics architecture. +""" + +toolchain = SYSTEM + +source_urls = ['https://repo.anaconda.com/archive/'] +local_arch = {'arm64': 'aarch64'}.get(ARCH, ARCH) +sources = ['%%(name)s-%%(version)s-Linux-%s.sh' % local_arch] +checksums = [ + { + '%(name)s-%(version)s-Linux-x86_64.sh': 'c536ddb7b4ba738bddbd4e581b29308cb332fa12ae3fa2cd66814bd735dff231', + '%(name)s-%(version)s-Linux-aarch64.sh': '28c5bed6fba84f418516e41640c7937514aabd55e929a8f66937c737303c7bba', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/a/ArchR/ArchR-1.0.2-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/a/ArchR/ArchR-1.0.2-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..c28181e314a --- /dev/null +++ b/easybuild/easyconfigs/a/ArchR/ArchR-1.0.2-foss-2023a-R-4.3.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'ArchR' +version = '1.0.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://www.archrproject.com' +description = "ArchR is a full-featured R package for processing and analyzing single-cell ATAC-seq data." + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/GreenleafLab/ArchR/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['afe4d82975e9d75018e9ec9fda3d116f34f99ad1d45990cbc5a2be7dea8df352'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), + ('presto', '1.0.0-20230501', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Archive-Zip/Archive-Zip-1.68-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/Archive-Zip/Archive-Zip-1.68-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..088d0a56de6 --- /dev/null +++ b/easybuild/easyconfigs/a/Archive-Zip/Archive-Zip-1.68-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PerlModule' + +name = 'Archive-Zip' +version = '1.68' + +homepage = 'https://metacpan.org/pod/Archive::Zip' +description = "Provide an interface to ZIP archive files." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/P/PH/PHRED/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['984e185d785baf6129c6e75f8eb44411745ac00bf6122fb1c8e822a3861ec650'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Perl', '5.36.0'), + ('UnZip', '6.0'), + ('Zip', '3.0'), +] + +options = {'modulename': 'Archive::Zip'} + +sanity_check_paths = { + 'files': ['bin/crc32'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/Archive/Zip'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/AreTomo2/AreTomo2-1.0.0-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/a/AreTomo2/AreTomo2-1.0.0-GCCcore-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..4864dbcbee3 --- /dev/null +++ b/easybuild/easyconfigs/a/AreTomo2/AreTomo2-1.0.0-GCCcore-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,55 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/1 +easyblock = 'MakeCp' + +name = 'AreTomo2' +version = '1.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/czimaginginstitute/AreTomo2' + +description = """AreTomo2, a multi-GPU accelerated software package that fully automates motion- +corrected marker-free tomographic alignment and reconstruction, now includes +robust GPU-accelerated CTF (Contrast Transfer Function) estimation in a single +package. AreTomo2 is part of our endeavor to build a fully-automated high- +throughput processing pipeline that enables real-time reconstruction of +tomograms in parallel with tomographic data collection. It strives to be fast +and accurate, as well as provides for easy integration into subtomogram +processing workflows by generating IMod compatible files containing alignment +and CTF parameters needed to bootstrap subtomogram averaging. AreTomo2 can also +be used for on-the-fly reconstruction of tomograms and CTF estimation in +parallel with tilt series collection, enabling real-time assessment of sample +quality and adjustment of collection parameters""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_makefile.patch'] +checksums = [ + {'v1.0.0.tar.gz': '5518cd5d7bc13a6dbb6d9310b22c301e73a0c91dc059da403445d79ca0ff8892'}, + {'AreTomo2-1.0.0_makefile.patch': '8595b2fc55e0b5e1bf7c077c93c09503b4e8f95123c6aaf0a5fbe44dda871c73'}, +] + +github_account = 'czimaginginstitute' + +build_cmd = 'make exe -f makefile11 CUDAHOME=$CUDA_HOME CUDACC="%(cuda_cc_cmake)s"' + +builddependencies = [ + ('binutils', '2.40') +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), +] + +files_to_copy = [(['%(name)s'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['bin'], +} + +sanity_check_commands = ['%(name)s -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AreTomo2/AreTomo2-1.0.0_makefile.patch b/easybuild/easyconfigs/a/AreTomo2/AreTomo2-1.0.0_makefile.patch new file mode 100644 index 00000000000..ebef90dd5d2 --- /dev/null +++ b/easybuild/easyconfigs/a/AreTomo2/AreTomo2-1.0.0_makefile.patch @@ -0,0 +1,46 @@ +# Thomas Hoffmann, EBML Heidelberg, structures-it@embl.de, 2023/10 +# allow to inject cuda compute capabilities and cfalgs +diff -ru AreTomo2-1.0.0/makefile11 AreTomo2-1.0.0_makefile/makefile11 +--- AreTomo2-1.0.0/makefile11 2023-10-26 19:49:07.000000000 +0200 ++++ AreTomo2-1.0.0_makefile/makefile11 2023-10-30 19:00:07.212270395 +0100 +@@ -156,18 +156,21 @@ + $(CUCPPS) + OBJS = $(patsubst %.cpp, %.o, $(SRCS)) + #------------------------------------- +-CC = g++ -std=c++11 +-CFLAG = -c -g -pthread -m64 ++#CC = g++ -std=c++11 ++CFLAG = -c -g -pthread -m64 $(CFLAGS) + NVCC = $(CUDAHOME)/bin/nvcc -std=c++11 +-CUFLAG = -Xptxas -dlcm=ca -O2 \ +- -gencode arch=compute_80,code=sm_80 \ +- -gencode arch=compute_75,code=sm_75 \ +- -gencode arch=compute_70,code=sm_70 \ +- -gencode arch=compute_61,code=sm_61 \ +- -gencode arch=compute_60,code=sm_60 \ +- -gencode arch=compute_53,code=sm_53 \ +- -gencode arch=compute_52,code=sm_52 \ +- -gencode arch=compute_86,code=sm_86 ++SPACE= ' ' ++SEMI= ; ++GENCODES = $(foreach x,$(subst $(SEMI),$(SPACE),$(CUDACC)),-gencode arch=compute_$x,code=sm_$x) ++CUFLAG = -Xptxas -dlcm=ca -O2 $(GENCODES) ++# -gencode arch=compute_80,code=sm_80 \ ++# -gencode arch=compute_75,code=sm_75 \ ++# -gencode arch=compute_70,code=sm_70 \ ++# -gencode arch=compute_61,code=sm_61 \ ++# -gencode arch=compute_60,code=sm_60 \ ++# -gencode arch=compute_53,code=sm_53 \ ++# -gencode arch=compute_52,code=sm_52 \ ++# -gencode arch=compute_86,code=sm_86 + #------------------------------------------ + cuda: $(CUCPPS) + +@@ -183,6 +186,7 @@ + -lcufft -lcudart -lcuda -lc -lm -lpthread \ + -o AreTomo2 + @echo AreTomo2 has been generated. ++ @echo used cuda gencodes: $(GENCODES) + + %.o: %.cu + @$(NVCC) -c $(CUFLAG) -I$(PRJINC) -I$(CUPRJINC) $< -o $@ diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-12.8.0-foss-2023b.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-12.8.0-foss-2023b.eb new file mode 100644 index 00000000000..cde4b18960c --- /dev/null +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-12.8.0-foss-2023b.eb @@ -0,0 +1,24 @@ +name = 'Armadillo' +version = '12.8.0' + +homepage = 'https://arma.sourceforge.net/' +description = """Armadillo is an open-source C++ linear algebra library (matrix maths) aiming towards + a good balance between speed and ease of use. Integer, floating point and complex numbers are supported, + as well as a subset of trigonometric and statistics functions.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +source_urls = ['https://sourceforge.net/projects/arma/files'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['a89bb6fece5ce9fdd1d01a4bc145cf7cc0b939c5777cca46de69c2f5e3412cf0'] + +builddependencies = [ + ('CMake', '3.27.6'), +] +dependencies = [ + ('Boost', '1.83.0'), + ('arpack-ng', '3.9.0'), +] + + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-11.0.0-gfbf-2022b.eb b/easybuild/easyconfigs/a/Arrow/Arrow-11.0.0-gfbf-2022b.eb index 05a7cb4386e..ac85f87ad26 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-11.0.0-gfbf-2022b.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-11.0.0-gfbf-2022b.eb @@ -11,7 +11,12 @@ toolchain = {'name': 'gfbf', 'version': '2022b'} source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s'] sources = ['apache-arrow-%(version)s.tar.gz'] -checksums = ['2dd8f0ea0848a58785628ee3a57675548d509e17213a2f5d72b0d900b43f5430'] +patches = ['Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch'] +checksums = [ + {'apache-arrow-11.0.0.tar.gz': '2dd8f0ea0848a58785628ee3a57675548d509e17213a2f5d72b0d900b43f5430'}, + {'Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch': + '2db8a4c655e2a3f0ec7dac05e13bda6c2843203568873e736d2f1b8321b0dfc7'}, +] builddependencies = [ ('CMake', '3.24.3'), @@ -69,6 +74,7 @@ sanity_check_commands = [ "python -c 'import pyarrow'", "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", + "python -c 'from pyarrow.lib import BaseExtensionType; print(BaseExtensionType.__arrow_ext_class__)'", ] moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-14.0.1-gfbf-2023a.eb b/easybuild/easyconfigs/a/Arrow/Arrow-14.0.1-gfbf-2023a.eb index 40327535b8b..85715fef495 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-14.0.1-gfbf-2023a.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-14.0.1-gfbf-2023a.eb @@ -44,18 +44,30 @@ configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON " configopts += "-DARROW_WITH_ZLIB=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_ZSTD=ON -DARROW_WITH_LZ4=ON " configopts += "-DZSTD_ROOT=$EBROOTZSTD " -# also install Python bindings -local_install_pyarrow_cmds = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " -local_install_pyarrow_cmds += "export Arrow_DIR=%(installdir)s && export ArrowDataset_DIR=%(installdir)s && " -local_install_pyarrow_cmds += "export ArrowAcero_DIR=%(installdir)s && export Parquet_DIR=%(installdir)s && " -local_install_pyarrow_cmds += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " -local_install_pyarrow_cmds += "cd %(builddir)s/*arrow-%(version)s/python && export XDG_CACHE_HOME=$TMPDIR && " -local_install_pyarrow_cmds += "sed -i 's/numpy==[0-9.]*/numpy/g' pyproject.toml && " -local_install_pyarrow_cmds += "Python3_ROOT_DIR=$EBROOTPYTHON " -local_install_pyarrow_cmds += "PYARROW_CMAKE_OPTIONS='-DZSTD_LIB=$EBROOTZSTD/lib/libzstd.%s ' " % SHLIB_EXT -local_install_pyarrow_cmds += "PYARROW_WITH_DATASET=1 PYARROW_WITH_PARQUET=1 " -local_install_pyarrow_cmds += "python -m pip install --prefix %(installdir)s --no-build-isolation ." -postinstallcmds = [local_install_pyarrow_cmds] +# install Python bindings +_pyarrow_preinstall_opts = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " +_pyarrow_preinstall_opts += "export Arrow_DIR=%(installdir)s && export ArrowDataset_DIR=%(installdir)s && " +_pyarrow_preinstall_opts += "export ArrowAcero_DIR=%(installdir)s && export Parquet_DIR=%(installdir)s && " +_pyarrow_preinstall_opts += "export XDG_CACHE_HOME=$TMPDIR && " +_pyarrow_preinstall_opts += "sed -i 's/numpy==[0-9.]*/numpy/g' pyproject.toml && " +_pyarrow_preinstall_opts += "Python3_ROOT_DIR=$EBROOTPYTHON " +_pyarrow_preinstall_opts += "PYARROW_CMAKE_OPTIONS='-DZSTD_LIB=$EBROOTZSTD/lib/libzstd.%s ' " % SHLIB_EXT +_pyarrow_preinstall_opts += "PYARROW_WITH_DATASET=1 PYARROW_WITH_PARQUET=1 " + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} +exts_list = [ + ('pyarrow', version, { + 'sources': ['apache-arrow-%(version)s.tar.gz'], + 'checksums': ['5c70eafb1011f9d124bafb328afe54f62cc5b9280b7080e1e3d668f78c0e407e'], + 'start_dir': '%(builddir)s/apache-arrow-%(version)s/python', + 'preinstallopts': _pyarrow_preinstall_opts, + }), +] modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2021a.eb b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2021a.eb index 8c7316d60a9..1ee3bb582e9 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2021a.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2021a.eb @@ -11,7 +11,12 @@ toolchain = {'name': 'foss', 'version': '2021a'} source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s'] sources = ['apache-arrow-%(version)s.tar.gz'] -checksums = ['ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3'] +patches = ['Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch'] +checksums = [ + {'apache-arrow-8.0.0.tar.gz': 'ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3'}, + {'Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch': + '2db8a4c655e2a3f0ec7dac05e13bda6c2843203568873e736d2f1b8321b0dfc7'}, +] builddependencies = [ ('CMake', '3.20.1'), @@ -66,6 +71,7 @@ sanity_check_commands = [ "python -c 'import pyarrow'", "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", + "python -c 'from pyarrow.lib import BaseExtensionType; print(BaseExtensionType.__arrow_ext_class__)'", ] moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2021b.eb b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2021b.eb new file mode 100644 index 00000000000..043215854ce --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2021b.eb @@ -0,0 +1,77 @@ +easyblock = 'CMakeMake' + +name = 'Arrow' +version = '8.0.0' + +homepage = 'https://arrow.apache.org' +description = """Apache Arrow (incl. PyArrow Python bindings), a cross-language development platform + for in-memory data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s'] +sources = ['apache-arrow-%(version)s.tar.gz'] +patches = ['Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch'] +checksums = [ + {'apache-arrow-8.0.0.tar.gz': 'ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3'}, + {'Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch': + '2db8a4c655e2a3f0ec7dac05e13bda6c2843203568873e736d2f1b8321b0dfc7'}, +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Autotools', '20210726'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('pkgconf', '1.8.0'), +] + +# Arrow strongly prefers included jemalloc, so not including it as a dependency +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('Boost', '1.77.0'), + ('lz4', '1.9.3'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('zstd', '1.5.0'), + ('snappy', '1.1.9'), + ('RapidJSON', '1.1.0'), + ('RE2', '2022-02-01'), + ('utf8proc', '2.6.1'), +] + +start_dir = 'cpp' + +# see https://arrow.apache.org/docs/developers/python.html +configopts = "-DARROW_DATASET=on -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON " +configopts += "-DARROW_WITH_ZLIB=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_ZSTD=ON -DARROW_WITH_LZ4=ON " +configopts += "-DZSTD_ROOT=$EBROOTZSTD " + +# also install Python bindings +local_install_pyarrow_cmds = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " +local_install_pyarrow_cmds += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_install_pyarrow_cmds += "cd %(builddir)s/*arrow-%(version)s/python && export XDG_CACHE_HOME=$TMPDIR && " +local_install_pyarrow_cmds += "sed -i 's/numpy==[0-9.]*/numpy/g' pyproject.toml && " +local_install_pyarrow_cmds += "Python3_ROOT_DIR=$EBROOTPYTHON " +local_install_pyarrow_cmds += "PYARROW_WITH_DATASET=1 PYARROW_WITH_PARQUET=1 " +local_install_pyarrow_cmds += "python -m pip install --prefix %(installdir)s --no-build-isolation ." +postinstallcmds = [local_install_pyarrow_cmds] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libarrow.a', 'lib/libarrow.%s' % SHLIB_EXT, + 'lib/libarrow_python.a', 'lib/libarrow_python.%s' % SHLIB_EXT], + 'dirs': ['include/arrow', 'lib/cmake/arrow', 'lib/pkgconfig', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import pyarrow'", + "python -c 'import pyarrow.dataset'", + "python -c 'import pyarrow.parquet'", + "python -c 'from pyarrow.lib import BaseExtensionType; print(BaseExtensionType.__arrow_ext_class__)'", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022.05.eb b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022.05.eb index 63eb0955dd1..ab4fc5b05fe 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022.05.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022.05.eb @@ -11,7 +11,12 @@ toolchain = {'name': 'foss', 'version': '2022.05'} source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s'] sources = ['apache-arrow-%(version)s.tar.gz'] -checksums = ['ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3'] +patches = ['Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch'] +checksums = [ + {'apache-arrow-8.0.0.tar.gz': 'ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3'}, + {'Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch': + '2db8a4c655e2a3f0ec7dac05e13bda6c2843203568873e736d2f1b8321b0dfc7'}, +] builddependencies = [ ('CMake', '3.23.1'), @@ -66,6 +71,7 @@ sanity_check_commands = [ "python -c 'import pyarrow'", "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", + "python -c 'from pyarrow.lib import BaseExtensionType; print(BaseExtensionType.__arrow_ext_class__)'", ] moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022a.eb b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022a.eb index 63f8267f34f..6f2ede07dd6 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022a.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022a.eb @@ -11,7 +11,12 @@ toolchain = {'name': 'foss', 'version': '2022a'} source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s'] sources = ['apache-arrow-%(version)s.tar.gz'] -checksums = ['ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3'] +patches = ['Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch'] +checksums = [ + {'apache-arrow-8.0.0.tar.gz': 'ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3'}, + {'Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch': + '2db8a4c655e2a3f0ec7dac05e13bda6c2843203568873e736d2f1b8321b0dfc7'}, +] builddependencies = [ ('CMake', '3.23.1'), @@ -66,6 +71,7 @@ sanity_check_commands = [ "python -c 'import pyarrow'", "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", + "python -c 'from pyarrow.lib import BaseExtensionType; print(BaseExtensionType.__arrow_ext_class__)'", ] moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch new file mode 100644 index 00000000000..7c0dcc266f7 --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch @@ -0,0 +1,25 @@ +fix for: +AttributeError: 'pyarrow.lib.BaseExtensionType' object has no attribute '__arrow_ext_class__' +see https://github.com/apache/arrow/pull/33802 +diff -u python/pyarrow/types.pxi.orig python/pyarrow/types.pxi +--- python/pyarrow/types.pxi.orig 2022-05-03 18:59:12.000000000 +0200 ++++ python/pyarrow/types.pxi 2024-01-09 13:15:20.313755064 +0100 +@@ -760,6 +836,18 @@ + DataType.init(self, type) + self.ext_type = type.get() + ++ def __arrow_ext_class__(self): ++ """ ++ The associated array extension class ++ """ ++ return ExtensionArray ++ ++ def __arrow_ext_scalar_class__(self): ++ """ ++ The associated scalar class ++ """ ++ return ExtensionScalar ++ + @property + def extension_name(self): + """ diff --git a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.4-GCCcore-9.3.0.eb b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.4-GCCcore-9.3.0.eb index 8c428e9d3cb..af83ab6b0ff 100644 --- a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.4-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.4-GCCcore-9.3.0.eb @@ -9,7 +9,7 @@ description = """The Advanced Linux Sound Architecture (ALSA) provides audio and toolchain = {'name': 'GCCcore', 'version': '9.3.0'} -source_urls = ['ftp://ftp.alsa-project.org/pub/lib/'] +source_urls = ['https://www.alsa-project.org/files/pub/lib/'] sources = [SOURCE_TAR_BZ2] checksums = ['f7554be1a56cdff468b58fc1c29b95b64864c590038dd309c7a978c7116908f7'] diff --git a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-10.2.0.eb b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-10.2.0.eb index a96a6a054dd..e679e462988 100644 --- a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-10.2.0.eb @@ -9,7 +9,7 @@ description = """The Advanced Linux Sound Architecture (ALSA) provides audio and toolchain = {'name': 'GCCcore', 'version': '10.2.0'} -source_urls = ['ftp://ftp.alsa-project.org/pub/lib/'] +source_urls = ['https://www.alsa-project.org/files/pub/lib/'] sources = [SOURCE_TAR_BZ2] checksums = ['1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347'] diff --git a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.2.0.eb index ae379c9ac31..2e943babc7f 100644 --- a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.2.0.eb @@ -9,7 +9,7 @@ description = """The Advanced Linux Sound Architecture (ALSA) provides audio and toolchain = {'name': 'GCCcore', 'version': '11.2.0'} -source_urls = ['ftp://ftp.alsa-project.org/pub/lib/'] +source_urls = ['https://www.alsa-project.org/files/pub/lib/'] sources = [SOURCE_TAR_BZ2] checksums = ['1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347'] diff --git a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.3.0.eb index 1476c378366..0db6c912f2c 100644 --- a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.3.0.eb @@ -9,7 +9,7 @@ description = """The Advanced Linux Sound Architecture (ALSA) provides audio and toolchain = {'name': 'GCCcore', 'version': '11.3.0'} -source_urls = ['ftp://ftp.alsa-project.org/pub/lib/'] +source_urls = ['https://www.alsa-project.org/files/pub/lib/'] sources = [SOURCE_TAR_BZ2] checksums = ['1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347'] diff --git a/easybuild/easyconfigs/a/angsd/angsd-0.940-GCC-12.3.0.eb b/easybuild/easyconfigs/a/angsd/angsd-0.940-GCC-12.3.0.eb new file mode 100644 index 00000000000..fdb6426d1ca --- /dev/null +++ b/easybuild/easyconfigs/a/angsd/angsd-0.940-GCC-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'angsd' +version = '0.940' + +homepage = 'http://www.popgen.dk/angsd' +description = """Program for analysing NGS data.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'ANGSD' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['73b43eb553892721c7d5db5d6d883a17074ee4e07536a32871c3b1ac5f701ad7'] + +dependencies = [ + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.2'), + ('HTSlib', '1.18'), +] + +buildopts = "HTSSRC=systemwide" + +files_to_copy = [ + (['angsd', 'misc/supersim', 'misc/thetaStat', 'misc/realSFS', 'misc/msToGlf', + 'misc/smartCount', 'misc/printIcounts', 'misc/contamination', 'misc/splitgl', + 'misc/NGSadmix', 'misc/contamination2', 'misc/haploToPlink', 'misc/ngsPSMC', + 'misc/ibs'], 'bin'), + 'doc', +] + +sanity_check_paths = { + 'files': ['bin/angsd'], + 'dirs': ['doc'], +} + +sanity_check_commands = ["angsd --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/anndata/anndata-0.10.5.post1-foss-2023a.eb b/easybuild/easyconfigs/a/anndata/anndata-0.10.5.post1-foss-2023a.eb new file mode 100644 index 00000000000..b49190c6e5a --- /dev/null +++ b/easybuild/easyconfigs/a/anndata/anndata-0.10.5.post1-foss-2023a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'anndata' +version = '0.10.5.post1' + +homepage = 'https://github.com/scverse/anndata' +description = """anndata is a Python package for handling annotated data matrices in memory and on disk, + positioned between pandas and xarray""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0'), + ('hatchling', '1.18.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('array_api_compat', '1.4.1', { + 'checksums': ['053103b7c0ba73626bff7380abf27a29dc80de144394137bc7455b7eba23d8c0'], + }), + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + (name, version, { + 'checksums': ['9a17c6eda9fc40759b3f5f81742f5d18c1a0a1acdf02f13e1646700ec082c155'], + }), +] + +sanity_check_paths = { + 'files': ['bin/natsort'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["natsort --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ant/ant-1.10.14-Java-21.eb b/easybuild/easyconfigs/a/ant/ant-1.10.14-Java-21.eb new file mode 100644 index 00000000000..815383ca5c0 --- /dev/null +++ b/easybuild/easyconfigs/a/ant/ant-1.10.14-Java-21.eb @@ -0,0 +1,27 @@ +easyblock = 'PackedBinary' + +name = 'ant' +version = '1.10.14' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://ant.apache.org/' +description = """Apache Ant is a Java library and command-line tool whose mission is to drive processes described in + build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of + Java applications.""" + +toolchain = SYSTEM + +source_urls = ['https://archive.apache.org/dist/ant/binaries/'] +sources = ['apache-%(name)s-%(version)s-bin.tar.gz'] +checksums = ['e2852fddaaddc1ab76a099ca0d7b2ee47a907b8a91a64f70f6aa9e6a3d0dd504'] + +dependencies = [('Java', '21')] + +sanity_check_paths = { + 'files': ['bin/ant', 'lib/ant.jar'], + 'dirs': [], +} + +modextravars = {'ANT_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/anvio/anvio-8-foss-2022b.eb b/easybuild/easyconfigs/a/anvio/anvio-8-foss-2022b.eb new file mode 100644 index 00000000000..c13c2a6a213 --- /dev/null +++ b/easybuild/easyconfigs/a/anvio/anvio-8-foss-2022b.eb @@ -0,0 +1,111 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'anvio' +version = '8' + +homepage = 'https://merenlab.org/software/anvio/' +description = """An analysis and visualization platform for 'omics data.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +github_account = 'merenlab' + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Pysam', '0.21.0'), + ('matplotlib', '3.7.0'), + ('scikit-learn', '1.2.1'), + ('prodigal', '2.6.3'), + ('Biopython', '1.81'), + ('h5py', '3.8.0'), + ('HMMER', '3.3.2'), + ('networkx', '3.0'), + ('numba', '0.58.1'), + ('statsmodels', '0.14.0'), + ('snakemake', '7.32.3'), + ('ETE', '3.1.3'), + ('dill', '0.3.7'), + ('Seaborn', '0.12.2'), + ('Levenshtein', '0.24.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('bottle', '0.12.25', { + 'checksums': ['e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021'], + }), + ('colored', '2.2.4', { + 'checksums': ['595e1dd7f3b472ea5f12af21d2fec8a2ea2cf8f9d93e67180197330b26df9b61'], + }), + ('asgiref', '3.7.2', { + 'checksums': ['9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed'], + }), + ('sqlparse', '0.4.4', { + 'checksums': ['d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c'], + }), + ('Django', '5.0.1', { + 'checksums': ['8c8659665bc6e3a44fefe1ab0a291e5a3fb3979f9a8230be29de975e57e8f854'], + }), + ('illumina-utils', '2.13', { + 'checksums': ['e688ca221ea6178614073b72205fce7b4a54695237c7aa96713492ecd99bd56e'], + # python-Levenshtein was renamed to Levenshtein + 'preinstallopts': "sed -i 's/python-Levenshtein/Levenshtein/g' requirements.txt && ", + 'modulename': 'IlluminaUtils', + }), + ('mistune', '3.0.2', { + 'checksums': ['fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8'], + }), + ('multiprocess', '0.70.15', { + 'checksums': ['f20eed3036c0ef477b07a4177cf7c1ba520d9a2677870a4f47fe026f0cd6787e'], + }), + ('Paste', '3.7.1', { + 'checksums': ['6d07a8e1c7fa72b8cf403762a002f80d12c0384056956dd0a87cb9a3be64749a'], + }), + ('plotext', '5.2.8', { + 'checksums': ['319a287baabeb8576a711995f973a2eba631c887aa6b0f33ab016f12c50ffebe'], + }), + ('pyani', '0.2.12', { + 'checksums': ['4f56b217656f53416b333b69495a4ba8cde782e64e475e1481cb2213ce6b9388'], + }), + ('rich_argparse', '1.4.0', { + 'checksums': ['c275f34ea3afe36aec6342c2a2298893104b5650528941fb53c21067276dba19'], + }), + (name, version, { + 'source_urls': ['https://github.com/merenlab/anvio/releases/download/v%(version)s/'], + 'patches': ['anvio-8_fix-rU.patch'], + 'checksums': [ + {'anvio-8.tar.gz': '13da84d48d7266a8986815efb024772fa26ad1c8a951d42897c3a51e3d924feb'}, + {'anvio-8_fix-rU.patch': '5eafa5962f59b563cfc3913fb688963b5fe052714c7d7c66b013af065e7a2fea'}, + ], + # remove too strict requirements for Python packages anvio depends on + 'preinstallopts': "sed -i -e 's/==.*//g' -e 's/<=.*//g' requirements.txt && ", + }), +] + +local_binaries_list = [ + 'anvi-pan-genome', + 'anvi-script-reformat-fasta', + 'anvi-profile', + 'anvi-help', +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries_list], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "anvi-self-test --suite mini --no-interactive", + "anvi-pan-genome --help", + "anvi-script-reformat-fasta --help", + "anvi-profile --version", + "anvi-help --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/anvio/anvio-8_fix-rU.patch b/easybuild/easyconfigs/a/anvio/anvio-8_fix-rU.patch new file mode 100644 index 00000000000..e34f180be1f --- /dev/null +++ b/easybuild/easyconfigs/a/anvio/anvio-8_fix-rU.patch @@ -0,0 +1,484 @@ +fix for: ValueError: invalid mode: 'rU' +see also https://github.com/merenlab/anvio/commit/a974118fc6f1b53c846892fc6dee0a86e6658963 +and https://github.com/merenlab/anvio/commit/ac5908eac71809b31f3bd0ff92bbb573cc17f730 + +From a974118fc6f1b53c846892fc6dee0a86e6658963 Mon Sep 17 00:00:00 2001 +From: "A. Murat Eren" +Date: Wed, 25 Oct 2023 16:09:42 +0200 +Subject: [PATCH] rU -> r. + +we will see tonight if things explode and we will blame meren for that. +--- + anvio/cogs.py | 6 +++--- + anvio/dbops.py | 4 ++-- + anvio/drivers/emapper.py | 2 +- + anvio/fastalib.py | 2 +- + anvio/filesnpaths.py | 8 ++++---- + anvio/interactive.py | 2 +- + anvio/kegg.py | 14 +++++++------- + anvio/mcgclassifier.py | 4 ++-- + anvio/merger.py | 2 +- + anvio/panops.py | 2 +- + anvio/parsers/kaiju.py | 2 +- + anvio/profiler.py | 2 +- + anvio/programs.py | 2 +- + anvio/samplesops.py | 4 ++-- + anvio/structureops.py | 2 +- + anvio/variabilityops.py | 2 +- + anvio/workflows/__init__.py | 2 +- + bin/anvi-export-structures | 2 +- + bin/anvi-get-sequences-for-hmm-hits | 2 +- + 19 files changed, 33 insertions(+), 33 deletions(-) + +diff --git a/anvio/cogs.py b/anvio/cogs.py +index c14041a710..1700af254d 100644 +--- a/anvio/cogs.py ++++ b/anvio/cogs.py +@@ -702,7 +702,7 @@ def raise_error(line_num, line_content, fields, e): + p_id_without_cog_id = set([]) + + line_counter = 0 +- for line in open(input_file_path, 'rU').readlines(): ++ for line in open(input_file_path, 'r').readlines(): + line_counter += 1 + + if line_counter % 500 == 0: +@@ -823,7 +823,7 @@ def format_categories(self, input_file_path, output_file_path): + progress.update('...') + + output = open(output_file_path, 'w') +- for line in open(input_file_path, 'rU').readlines(): ++ for line in open(input_file_path, 'r').readlines(): + if line.startswith('#'): + continue + +@@ -951,7 +951,7 @@ def check_raw_data_hash_and_existence(self, input_file_path, output_file_path): + + # Get a dictionnary of checksums, the file is formatted as "checksum filename" per line + checksums = {} +- for line in open(input_file_path, 'rU').readlines(): ++ for line in open(input_file_path, 'r').readlines(): + stripped = line.strip('\n').split(' ') + file_name = stripped[-1].strip('*') + checksums[file_name] = stripped[0] +diff --git a/anvio/dbops.py b/anvio/dbops.py +index 34e3198a8a..ce700b784d 100644 +--- a/anvio/dbops.py ++++ b/anvio/dbops.py +@@ -4335,7 +4335,7 @@ def create(self, args): + + if description_file_path: + filesnpaths.is_file_plain_text(description_file_path) +- description = open(os.path.abspath(description_file_path), 'rU').read() ++ description = open(os.path.abspath(description_file_path), 'r').read() + else: + description = '' + +@@ -4957,7 +4957,7 @@ def get_description_in_db(anvio_db_path, run=run): + + def update_description_in_db_from_file(anvio_db_path, description_file_path, run=run): + filesnpaths.is_file_plain_text(description_file_path) +- description = open(os.path.abspath(description_file_path), 'rU').read() ++ description = open(os.path.abspath(description_file_path), 'r').read() + + update_description_in_db(anvio_db_path, description, run=run) + +diff --git a/anvio/drivers/emapper.py b/anvio/drivers/emapper.py +index 7ea2d8fa53..dd94e9baa8 100644 +--- a/anvio/drivers/emapper.py ++++ b/anvio/drivers/emapper.py +@@ -357,7 +357,7 @@ def populate_annotations_dict(self, annotations_file_path): + + num_entries_processed = 0 + self.progress.new('Parsing the annotations file') +- for line in open(annotations_file_path, 'rU').readlines(): ++ for line in open(annotations_file_path, 'r').readlines(): + if line.startswith('#') or line == '\n': + continue + +diff --git a/anvio/fastalib.py b/anvio/fastalib.py +index 2da45c16f0..0980098ae7 100644 +--- a/anvio/fastalib.py ++++ b/anvio/fastalib.py +@@ -97,7 +97,7 @@ def __init__(self, fasta_file_path, lazy_init=True, unique=False, allow_mixed_ca + if self.compressed: + self.file_pointer = gzip.open(self.fasta_file_path, mode="rt") + else: +- self.file_pointer = io.open(self.fasta_file_path, 'rU', newline='') ++ self.file_pointer = io.open(self.fasta_file_path, 'r', newline='') + + if not self.file_pointer.read(1) == '>': + self.file_pointer.close() +diff --git a/anvio/filesnpaths.py b/anvio/filesnpaths.py +index 93327207de..a9d7939cbc 100644 +--- a/anvio/filesnpaths.py ++++ b/anvio/filesnpaths.py +@@ -73,7 +73,7 @@ def is_proper_external_gene_calls_file(file_path): + headers_proper = ['gene_callers_id', 'contig', 'start', 'stop', 'direction', 'partial', 'call_type', 'source', 'version', 'aa_sequence'] + call_types_allowed = set(list(constants.gene_call_types.values())) + +- with open(file_path, 'rU') as input_file: ++ with open(file_path, 'r') as input_file: + headers = input_file.readline().strip().split('\t') + + if len(headers) == 10: +@@ -196,7 +196,7 @@ def is_file_empty(file_path): + + def is_file_tab_delimited(file_path, separator='\t', expected_number_of_fields=None, dont_raise=False): + is_file_exists(file_path) +- f = open(file_path, 'rU') ++ f = open(file_path, 'r') + + try: + while True: +@@ -246,7 +246,7 @@ def is_file_json_formatted(file_path): + is_file_exists(file_path) + + try: +- json.load(open(file_path, 'rU')) ++ json.load(open(file_path, 'r')) + except ValueError as e: + raise FilesNPathsError("File '%s' does not seem to be a properly formatted JSON " + "file ('%s', cries the library)." % (file_path, e)) +@@ -272,7 +272,7 @@ def is_file_plain_text(file_path, dont_raise=False): + is_file_exists(file_path) + + try: +- open(os.path.abspath(file_path), 'rU').read(512) ++ open(os.path.abspath(file_path), 'r').read(512) + except IsADirectoryError: + if dont_raise: + return False +diff --git a/anvio/interactive.py b/anvio/interactive.py +index f397c0e56d..1564353064 100644 +--- a/anvio/interactive.py ++++ b/anvio/interactive.py +@@ -546,7 +546,7 @@ def process_external_item_order(self): + + filesnpaths.is_file_exists(self.item_order_path) + +- item_order = [l.strip() for l in open(self.item_order_path, 'rU').readlines()] ++ item_order = [l.strip() for l in open(self.item_order_path, 'r').readlines()] + self.run.info('Items order', 'An items order with %d items is found at %s.' % (len(item_order), self.item_order_path), mc='cyan') + + self.progress.new('External items order') +diff --git a/anvio/kegg.py b/anvio/kegg.py +index 13fbaf57b1..4f25761453 100644 +--- a/anvio/kegg.py ++++ b/anvio/kegg.py +@@ -924,7 +924,7 @@ def process_pathway_file(self): + filesnpaths.is_file_exists(self.kegg_pathway_file) + filesnpaths.is_file_plain_text(self.kegg_pathway_file) + +- f = open(self.kegg_pathway_file, 'rU') ++ f = open(self.kegg_pathway_file, 'r') + self.progress.new("Parsing KEGG Pathway file") + + current_category = None +@@ -998,7 +998,7 @@ def get_accessions_from_htext_file(self, htext_file): + filesnpaths.is_file_exists(htext_file) + filesnpaths.is_file_plain_text(htext_file) + +- f = open(htext_file, 'rU') ++ f = open(htext_file, 'r') + self.progress.new(f"Parsing KEGG htext file: {htext_file}") + + target_level = None +@@ -1077,7 +1077,7 @@ def download_generic_flat_file(self, accession, download_dir="./"): + utils.download_file(self.kegg_rest_api_get + '/' + accession, + file_path, progress=self.progress, run=self.run) + # verify entire file has been downloaded +- f = open(file_path, 'rU') ++ f = open(file_path, 'r') + f.seek(0, os.SEEK_END) + f.seek(f.tell() - 4, os.SEEK_SET) + last_line = f.readline().strip('\n') +@@ -1146,7 +1146,7 @@ def download_pathways(self): + utils.download_file(self.kegg_rest_api_get + '/' + konum, + file_path, progress=self.progress, run=self.run) + # verify entire file has been downloaded +- f = open(file_path, 'rU') ++ f = open(file_path, 'r') + f.seek(0, os.SEEK_END) + f.seek(f.tell() - 4, os.SEEK_SET) + last_line = f.readline().strip('\n') +@@ -1528,7 +1528,7 @@ def process_module_file(self): + filesnpaths.is_file_exists(self.kegg_module_file) + filesnpaths.is_file_plain_text(self.kegg_module_file) + +- f = open(self.kegg_module_file, 'rU') ++ f = open(self.kegg_module_file, 'r') + self.progress.new("Parsing KEGG Module file") + + current_module_type = None +@@ -1641,7 +1641,7 @@ def confirm_downloaded_modules(self): + f"on your computer. Very sorry to tell you this, but you need to re-download the KEGG " + f"data. We recommend the --reset flag.") + # verify entire file has been downloaded +- f = open(file_path, 'rU') ++ f = open(file_path, 'r') + f.seek(0, os.SEEK_END) + f.seek(f.tell() - 4, os.SEEK_SET) + last_line = f.readline().strip('\n') +@@ -6677,7 +6677,7 @@ def create(self): + for mnum in self.module_dict.keys(): + self.progress.update("Parsing Module %s" % mnum) + mod_file_path = os.path.join(self.module_data_directory, mnum) +- f = open(mod_file_path, 'rU') ++ f = open(mod_file_path, 'r') + + prev_data_name_field = None + module_has_annotation_source = False +diff --git a/anvio/mcgclassifier.py b/anvio/mcgclassifier.py +index 2d9f0b0bb3..bd38770778 100644 +--- a/anvio/mcgclassifier.py ++++ b/anvio/mcgclassifier.py +@@ -92,7 +92,7 @@ def __init__(self, args, run=run, progress=progress): + if self.exclude_samples: + # check that there is a file like this + filesnpaths.is_file_exists(self.exclude_samples) +- self.samples_to_exclude = set([l.split('\t')[0].strip() for l in open(self.exclude_samples, 'rU').readlines()]) ++ self.samples_to_exclude = set([l.split('\t')[0].strip() for l in open(self.exclude_samples, 'r').readlines()]) + + if not self.samples_to_exclude: + raise ConfigError("You asked to exclude samples, but provided an empty list.") +@@ -102,7 +102,7 @@ def __init__(self, args, run=run, progress=progress): + if self.include_samples: + # check that there is a file like this + filesnpaths.is_file_exists(self.include_samples) +- self.samples_to_include = set([l.split('\t')[0].strip() for l in open(self.include_samples, 'rU').readlines()]) ++ self.samples_to_include = set([l.split('\t')[0].strip() for l in open(self.include_samples, 'r').readlines()]) + + if not self.samples_to_include: + raise ConfigError("You provided an empty list of samples to include.") +diff --git a/anvio/merger.py b/anvio/merger.py +index 0e2aa44480..440f07a592 100644 +--- a/anvio/merger.py ++++ b/anvio/merger.py +@@ -334,7 +334,7 @@ def sanity_check(self): + # do we have a description file? + if self.description_file_path: + filesnpaths.is_file_plain_text(self.description_file_path) +- self.description = open(os.path.abspath(self.description_file_path), 'rU').read() ++ self.description = open(os.path.abspath(self.description_file_path), 'r').read() + + + def set_sample_id(self): +diff --git a/anvio/panops.py b/anvio/panops.py +index 5cf700d29a..824c2d5ac8 100644 +--- a/anvio/panops.py ++++ b/anvio/panops.py +@@ -234,7 +234,7 @@ def check_params(self): + + if self.description_file_path: + filesnpaths.is_file_plain_text(self.description_file_path) +- self.description = open(os.path.abspath(self.description_file_path), 'rU').read() ++ self.description = open(os.path.abspath(self.description_file_path), 'r').read() + + self.pan_db_path = self.get_output_file_path(self.project_name + '-PAN.db') + +diff --git a/anvio/parsers/kaiju.py b/anvio/parsers/kaiju.py +index 4d8f60e60b..057320a42a 100644 +--- a/anvio/parsers/kaiju.py ++++ b/anvio/parsers/kaiju.py +@@ -62,7 +62,7 @@ def fix_input_file(self, input_file_path): + + corrected_temp_file_path = filesnpaths.get_temp_file_path() + corrected_temp_file = open(corrected_temp_file_path, 'w') +- input_file = open(input_file_path, 'rU') ++ input_file = open(input_file_path, 'r') + + num_correct_lines = 0 + for line in input_file.readlines(): +diff --git a/anvio/profiler.py b/anvio/profiler.py +index 2a25ec3592..d2facf2a25 100644 +--- a/anvio/profiler.py ++++ b/anvio/profiler.py +@@ -450,7 +450,7 @@ def init_dirs_and_dbs(self): + + if self.description_file_path: + filesnpaths.is_file_plain_text(self.description_file_path) +- self.description = open(os.path.abspath(self.description_file_path), 'rU').read() ++ self.description = open(os.path.abspath(self.description_file_path), 'r').read() + + if self.output_directory: + self.output_directory = filesnpaths.check_output_directory(self.output_directory, ok_if_exists=self.overwrite_output_destinations) +diff --git a/anvio/programs.py b/anvio/programs.py +index b404d470a9..230f4c248d 100644 +--- a/anvio/programs.py ++++ b/anvio/programs.py +@@ -55,7 +55,7 @@ def get_until_blank(output): + + + def get_meta_information_from_file(file_path, meta_tag): +- all_lines = [l.strip() for l in open(file_path, 'rU').readlines()] ++ all_lines = [l.strip() for l in open(file_path, 'r').readlines()] + + meta_tag_content = '' + +diff --git a/anvio/samplesops.py b/anvio/samplesops.py +index f603df9779..814b0d96f4 100644 +--- a/anvio/samplesops.py ++++ b/anvio/samplesops.py +@@ -50,7 +50,7 @@ def process_samples_information_file(self, samples_information_path): + self.sample_names_in_samples_information_file = filesnpaths.is_proper_samples_information_file(samples_information_path) + + self.samples_information_dict, self.aliases_to_attributes_dict = self.convert_samples_information_dict(utils.get_TAB_delimited_file_as_dictionary(samples_information_path)) +- self.samples_information_default_layer_order = open(samples_information_path, 'rU').readline().strip().split('\t')[1:] ++ self.samples_information_default_layer_order = open(samples_information_path, 'r').readline().strip().split('\t')[1:] + + self.run.info('Samples information', 'Loaded for %d samples' % len(self.samples_information_dict), quiet=self.quiet) + +@@ -122,7 +122,7 @@ def process_single_order_data(self, single_order_path, single_order_name): + + filesnpaths.is_file_plain_text(single_order_path) + +- single_order_file_content = [l.strip('\n') for l in open(single_order_path, 'rU').readlines()] ++ single_order_file_content = [l.strip('\n') for l in open(single_order_path, 'r').readlines()] + + if len(single_order_file_content) != 1: + raise SamplesError("The single order file should contain a single line of information. It can't have nothing,\ +diff --git a/anvio/structureops.py b/anvio/structureops.py +index aa47125fe2..d9a41fcaca 100755 +--- a/anvio/structureops.py ++++ b/anvio/structureops.py +@@ -1968,7 +1968,7 @@ def get_path(self, gene_callers_id): + + def is_header_ok(self): + headers_proper = ['gene_callers_id', 'path'] +- with open(self.path, 'rU') as input_file: ++ with open(self.path, 'r') as input_file: + headers = input_file.readline().strip().split('\t') + missing_headers = [h for h in headers_proper if h not in headers] + +diff --git a/anvio/variabilityops.py b/anvio/variabilityops.py +index c116469a15..deb19b14e3 100644 +--- a/anvio/variabilityops.py ++++ b/anvio/variabilityops.py +@@ -764,7 +764,7 @@ def sanity_check(self): + filesnpaths.is_file_tab_delimited(self.genes_of_interest_path, expected_number_of_fields=1) + + try: +- self.gene_caller_ids = [int(g.strip()) for g in open(self.genes_of_interest_path, 'rU').readlines()] ++ self.gene_caller_ids = [int(g.strip()) for g in open(self.genes_of_interest_path, 'r').readlines()] + except: + raise ConfigError("The gene caller ids anvi'o found in that file does not seem like gene caller " + "ids anvi'o would use. There is something wrong here :(") +diff --git a/anvio/workflows/__init__.py b/anvio/workflows/__init__.py +index ffae6b78dd..828dab9af0 100644 +--- a/anvio/workflows/__init__.py ++++ b/anvio/workflows/__init__.py +@@ -333,7 +333,7 @@ def dry_run(self, workflow_graph_output_file_path_prefix='workflow'): + # we are (it still may be better to do it elsewhere more appropriate .. so + # we can look more decent or whatever): + if self.save_workflow_graph: +- lines = open(log_file_path, 'rU').readlines() ++ lines = open(log_file_path, 'r').readlines() + + try: + line_of_interest = [line_no for line_no in range(0, len(lines)) if lines[line_no].startswith('digraph')][0] +diff --git a/bin/anvi-export-structures b/bin/anvi-export-structures +index 147f82c346..0f059b74ed 100755 +--- a/bin/anvi-export-structures ++++ b/bin/anvi-export-structures +@@ -38,7 +38,7 @@ def main(args): + raise ConfigError("Pick one of --gene-caller-ids and --genes-of-interest") + elif genes_of_interest_path: + filesnpaths.is_file_exists(args.genes_of_interest) +- genes_of_interest = set(int(g.strip()) for g in open(args.genes_of_interest, 'rU').readlines()) ++ genes_of_interest = set(int(g.strip()) for g in open(args.genes_of_interest, 'r').readlines()) + elif gene_caller_ids: + genes_of_interest = set(int(g) for g in gene_caller_ids.split(',')) + else: +diff --git a/bin/anvi-get-sequences-for-hmm-hits b/bin/anvi-get-sequences-for-hmm-hits +index b18183737d..f2fec99652 100755 +--- a/bin/anvi-get-sequences-for-hmm-hits ++++ b/bin/anvi-get-sequences-for-hmm-hits +@@ -166,7 +166,7 @@ def main(args): + + # figure out gene names.. if the user provided a file, use that, otherwhise parse gene names out of the comma-separated text + if args.gene_names and filesnpaths.is_file_exists(args.gene_names, dont_raise=True): +- gene_names = [g.strip() for g in open(args.gene_names, 'rU').readlines()] if args.gene_names else [] ++ gene_names = [g.strip() for g in open(args.gene_names, 'r').readlines()] if args.gene_names else [] + else: + gene_names = [g.strip() for g in args.gene_names.split(',')] if args.gene_names else [] + +From ac5908eac71809b31f3bd0ff92bbb573cc17f730 Mon Sep 17 00:00:00 2001 +From: "A. Murat Eren" +Date: Wed, 25 Oct 2023 16:06:15 +0200 +Subject: [PATCH] rU is deprecated for a long time + +--- + anvio/utils.py | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/anvio/utils.py b/anvio/utils.py +index 4e599aaa3..c52888934 100644 +--- a/anvio/utils.py ++++ b/anvio/utils.py +@@ -850,7 +850,7 @@ def transpose_tab_delimited_file(input_file_path, output_file_path, remove_after + filesnpaths.is_file_tab_delimited(input_file_path) + filesnpaths.is_output_file_writable(output_file_path) + +- file_content = [line.strip('\n').split('\t') for line in open(input_file_path, 'rU').readlines()] ++ file_content = [line.strip('\n').split('\t') for line in open(input_file_path, 'r').readlines()] + + output_file = open(output_file_path, 'w') + for entry in zip(*file_content): +@@ -1048,7 +1048,7 @@ def get_column_data_from_TAB_delim_file(input_file_path, column_indices=[], expe + for index in column_indices: + d[index] = [] + +- with open(input_file_path, "rU") as input_file: ++ with open(input_file_path, "r") as input_file: + for line in input_file.readlines(): + fields = line.strip('\n').split(separator) + +@@ -1066,9 +1066,9 @@ def get_columns_of_TAB_delim_file(file_path, include_first_column=False): + filesnpaths.is_file_exists(file_path) + + if include_first_column: +- return open(file_path, 'rU').readline().strip('\n').split('\t') ++ return open(file_path, 'r').readline().strip('\n').split('\t') + else: +- return open(file_path, 'rU').readline().strip('\n').split('\t')[1:] ++ return open(file_path, 'r').readline().strip('\n').split('\t')[1:] + + + def get_names_order_from_newick_tree(newick_tree, newick_format=1, reverse=False, names_with_only_digits_ok=False): +@@ -1095,7 +1095,7 @@ def get_vectors_from_TAB_delim_matrix(file_path, cols_to_return=None, rows_to_re + id_to_sample_dict = {} + sample_to_id_dict = {} + +- input_matrix = open(file_path, 'rU') ++ input_matrix = open(file_path, 'r') + columns = input_matrix.readline().strip('\n').split('\t')[1:] + + fields_of_interest = [] +@@ -1489,7 +1489,7 @@ def get_gene_caller_ids_from_args(gene_caller_ids, delimiter=','): + gene_caller_ids_set = set([]) + if gene_caller_ids: + if os.path.exists(gene_caller_ids): +- gene_caller_ids_set = set([g.strip() for g in open(gene_caller_ids, 'rU').readlines()]) ++ gene_caller_ids_set = set([g.strip() for g in open(gene_caller_ids, 'r').readlines()]) + else: + gene_caller_ids_set = set([g.strip() for g in gene_caller_ids.split(delimiter)]) + +@@ -1764,7 +1764,7 @@ def concatenate_files(dest_file, file_list, remove_concatenated_files=False): + + dest_file_obj = open(dest_file, 'w') + for chunk_path in file_list: +- for line in open(chunk_path, 'rU'): ++ for line in open(chunk_path, 'r'): + dest_file_obj.write(line) + + dest_file_obj.close() +@@ -3547,7 +3547,7 @@ def get_TAB_delimited_file_as_dictionary(file_path, expected_fields=None, dict_t + failed_lines = [] + column_mapping_for_line_failed = None + +- f = open(file_path, 'rU') ++ f = open(file_path, 'r') + + # learn the number of fields and reset the file: + num_fields = len(f.readline().strip('\n').split(separator)) diff --git a/easybuild/easyconfigs/a/archspec/archspec-0.2.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.2.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5af93d472ee --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.2.2-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'archspec' +version = '0.2.2' + +homepage = 'https://github.com/archspec/archspec' +description = "A library for detecting, labeling, and reasoning about microarchitectures" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d922c9fd80a5234d8cef883fbe0e146b381c449062c0405f91714ebad1edc035'] + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.6.1'), +] + +dependencies = [('Python', '3.11.5')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from archspec.cpu import host; print(host())'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.2.0.eb b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.2.0.eb index 896c6221885..bf680a03bd2 100644 --- a/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.2.0.eb @@ -10,7 +10,7 @@ easyblock = 'ConfigureMake' name = 'argtable' version = '2.13' -homepage = 'http://argtable.sourceforge.net/' +homepage = 'https://argtable.sourceforge.io/' description = """ Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss. """ diff --git a/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.3.0.eb b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.3.0.eb index 3192e22d110..916da386d28 100644 --- a/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.3.0.eb @@ -10,7 +10,7 @@ easyblock = 'ConfigureMake' name = 'argtable' version = '2.13' -homepage = 'http://argtable.sourceforge.net/' +homepage = 'https://argtable.sourceforge.io/' description = """ Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss. """ diff --git a/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0eb9df1a37a --- /dev/null +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by: Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'argtable' +version = '2.13' + +homepage = 'https://argtable.sourceforge.io/' +description = """ Argtable is an ANSI C library for parsing GNU style + command line options with a minimum of fuss. """ + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%s%s.tar.gz' % (name, version.replace('.', '-'))] +checksums = ['8f77e8a7ced5301af6e22f47302fdbc3b1ff41f2b83c43c77ae5ca041771ddbf'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['include/argtable2.h', 'lib/libargtable2.%s' % SHLIB_EXT, 'lib/libargtable2.a'], + 'dirs': ['share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-8.2.0.eb b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-8.2.0.eb index 61a92219cfb..6707d037e6d 100644 --- a/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-8.2.0.eb @@ -10,7 +10,7 @@ easyblock = 'ConfigureMake' name = 'argtable' version = '2.13' -homepage = 'http://argtable.sourceforge.net/' +homepage = 'https://argtable.sourceforge.io/' description = """ Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss. """ diff --git a/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-8.3.0.eb b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-8.3.0.eb index fd585b367bd..06fed40eb7b 100644 --- a/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-8.3.0.eb @@ -10,7 +10,7 @@ easyblock = 'ConfigureMake' name = 'argtable' version = '2.13' -homepage = 'http://argtable.sourceforge.net/' +homepage = 'https://argtable.sourceforge.io/' description = """ Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss. """ diff --git a/easybuild/easyconfigs/a/argtable/argtable-2.13-foss-2016b.eb b/easybuild/easyconfigs/a/argtable/argtable-2.13-foss-2016b.eb index 2eb391926ff..389cfaf110a 100644 --- a/easybuild/easyconfigs/a/argtable/argtable-2.13-foss-2016b.eb +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-foss-2016b.eb @@ -10,7 +10,7 @@ easyblock = 'ConfigureMake' name = 'argtable' version = '2.13' -homepage = 'http://argtable.sourceforge.net/' +homepage = 'https://argtable.sourceforge.io/' description = """ Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss. """ @@ -18,6 +18,7 @@ toolchain = {'name': 'foss', 'version': '2016b'} source_urls = [SOURCEFORGE_SOURCE] sources = ['%s%s.tar.gz' % (name, version.replace('.', '-'))] +checksums = ['8f77e8a7ced5301af6e22f47302fdbc3b1ff41f2b83c43c77ae5ca041771ddbf'] sanity_check_paths = { 'files': ['lib/libargtable2.so', 'lib/libargtable2.la'], diff --git a/easybuild/easyconfigs/a/argtable/argtable-2.13-foss-2018b.eb b/easybuild/easyconfigs/a/argtable/argtable-2.13-foss-2018b.eb index 8243740e61e..dd5c88dcd04 100644 --- a/easybuild/easyconfigs/a/argtable/argtable-2.13-foss-2018b.eb +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-foss-2018b.eb @@ -10,7 +10,7 @@ easyblock = 'ConfigureMake' name = 'argtable' version = '2.13' -homepage = 'http://argtable.sourceforge.net/' +homepage = 'https://argtable.sourceforge.io/' description = """ Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss. """ diff --git a/easybuild/easyconfigs/a/argtable/argtable-2.13-intel-2018a.eb b/easybuild/easyconfigs/a/argtable/argtable-2.13-intel-2018a.eb index 2aedcb78674..d551fd9aed2 100644 --- a/easybuild/easyconfigs/a/argtable/argtable-2.13-intel-2018a.eb +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-intel-2018a.eb @@ -10,7 +10,7 @@ easyblock = 'ConfigureMake' name = 'argtable' version = '2.13' -homepage = 'http://argtable.sourceforge.net/' +homepage = 'https://argtable.sourceforge.io/' description = """ Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss. """ diff --git a/easybuild/easyconfigs/a/argtable/argtable-2.13-intel-2018b.eb b/easybuild/easyconfigs/a/argtable/argtable-2.13-intel-2018b.eb index 0c9bb3bc28e..fdeb13a1118 100644 --- a/easybuild/easyconfigs/a/argtable/argtable-2.13-intel-2018b.eb +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-intel-2018b.eb @@ -10,7 +10,7 @@ easyblock = 'ConfigureMake' name = 'argtable' version = '2.13' -homepage = 'http://argtable.sourceforge.net/' +homepage = 'https://argtable.sourceforge.io/' description = """ Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss. """ diff --git a/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.0-foss-2023b.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.0-foss-2023b.eb new file mode 100644 index 00000000000..10d825ca22f --- /dev/null +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.0-foss-2023b.eb @@ -0,0 +1,37 @@ +# Author: Robert Mijakovic + +easyblock = 'ConfigureMake' + +name = 'arpack-ng' +version = '3.9.0' + +homepage = 'https://github.com/opencollab/arpack-ng' +description = "ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems." + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'opencollab' + +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['24f2a2b259992d3c797d80f626878aa8e2ed5009d549dad57854bbcfb95e1ed0'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '2.0.3'), +] +dependencies = [ + ('Eigen', '3.4.0'), +] + +preconfigopts = "sh bootstrap && " +configopts = '--enable-mpi --with-pic --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + +sanity_check_paths = { + 'files': ['lib64/libarpack.la', 'lib64/libarpack.%s' % SHLIB_EXT, + 'lib64/libparpack.la', 'lib64/libparpack.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.1-foss-2023b.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.1-foss-2023b.eb new file mode 100644 index 00000000000..4f029ffc4f8 --- /dev/null +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.1-foss-2023b.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'arpack-ng' +version = '3.9.1' + +homepage = 'https://github.com/opencollab/arpack-ng' +description = """ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'opencollab' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['f6641deb07fa69165b7815de9008af3ea47eb39b2bb97521fbf74c97aba6e844'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '2.0.3'), + ('Eigen', '3.4.0') +] + +preconfigopts = "sh bootstrap && " +configopts = '--enable-mpi --with-pic --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + +sanity_check_paths = { + 'files': ['lib64/libarpack.la', 'lib64/libarpack.%s' % SHLIB_EXT, + 'lib64/libparpack.la', 'lib64/libparpack.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..260e080346c --- /dev/null +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb @@ -0,0 +1,35 @@ +easyblock = 'RPackage' + +name = 'arrow-R' +version = '14.0.0.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/arrow' +description = "R interface to the Apache Arrow C++ library" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/Archive/arrow', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages +] +sources = ['arrow_%(version)s.tar.gz'] +checksums = ['7138a52d66f1b94ec31c25e8929d6f92b1640df852a10817600a82ab68ba8ab7'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('Arrow', '14.0.1'), +] + +preinstallopts = "export LIBARROW_BINARY=true && " + +sanity_check_paths = { + 'files': [], + 'dirs': ['arrow'], +} + +options = {'modulename': 'arrow'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/assimp/assimp-5.3.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/assimp/assimp-5.3.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6d89f82e89f --- /dev/null +++ b/easybuild/easyconfigs/a/assimp/assimp-5.3.1-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +# Authors:: Richard Lawrence - TAMU HPRC - https://hprc.tamu.edu + +easyblock = 'CMakeMake' + +name = 'assimp' +version = '5.3.1' + +homepage = 'https://github.com/assimp/assimp' + +description = """ + Open Asset Import Library (assimp) is a library to import and export various + 3d-model-formats including scene-post-processing to generate missing render data. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a07666be71afe1ad4bc008c2336b7c688aca391271188eb9108d0c6db1be53f1'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('CMake', '3.27.6'), + ('zlib', '1.2.13'), +] + +# workaround bug with GCC13 https://github.com/assimp/assimp/issues/5315 +configopts = '-DASSIMP_WARNINGS_AS_ERRORS=OFF ' + +sanity_check_paths = { + 'files': ['include/assimp/types.h', 'lib/libassimp.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/atools/atools-1.5.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/atools/atools-1.5.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1124e45ce7b --- /dev/null +++ b/easybuild/easyconfigs/a/atools/atools-1.5.1-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'atools' +version = '1.5.1' + +homepage = 'https://github.com/gjbex/atools' +description = """Tools to make using job arrays a lot more convenient.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/gjbex/atools/archive'] +sources = [SOURCE_TAR_GZ] +checksums = ['540714c39aa83dd5f1a7367d76f8d6f491336fa5fc00077591a22151ef5d31f4'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.3')] + +# to enable SLURM integration (site-specific) (options are torque, moab, sge, slurm) +configopts = '--with-batchsystem=slurm' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['acreate', 'aenv', 'aload', 'alog', 'arange', 'areduce']], + 'dirs': ['lib/vsc/atools'] +} + +sanity_check_commands = [ + 'acreate -h', + 'aenv -h', + 'aload -h', + 'alog -h', + 'arange -h', + 'areduce -h', +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/atools/atools-1.5.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/atools/atools-1.5.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3916c8f605b --- /dev/null +++ b/easybuild/easyconfigs/a/atools/atools-1.5.1-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'atools' +version = '1.5.1' + +homepage = 'https://github.com/gjbex/atools' +description = """Tools to make using job arrays a lot more convenient.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/gjbex/atools/archive'] +sources = [SOURCE_TAR_GZ] +checksums = ['540714c39aa83dd5f1a7367d76f8d6f491336fa5fc00077591a22151ef5d31f4'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.5')] + +# to enable SLURM integration (site-specific) (options are torque, moab, sge, slurm) +configopts = '--with-batchsystem=slurm' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['acreate', 'aenv', 'aload', 'alog', 'arange', 'areduce']], + 'dirs': ['lib/vsc/atools'] +} + +sanity_check_commands = [ + 'acreate -h', + 'aenv -h', + 'aload -h', + 'alog -h', + 'arange -h', + 'areduce -h', +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/autopep8/autopep8-2.0.4-foss-2022a.eb b/easybuild/easyconfigs/a/autopep8/autopep8-2.0.4-foss-2022a.eb new file mode 100644 index 00000000000..ebf66aa504a --- /dev/null +++ b/easybuild/easyconfigs/a/autopep8/autopep8-2.0.4-foss-2022a.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'autopep8' +version = '2.0.4' + +homepage = "https://github.com/hhatto/autopep8" +description = """A tool that automatically formats Python code to conform to the PEP 8 style guide.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c'] + +dependencies = [ + ('Python', '3.10.4'), + ('pycodestyle', '2.11.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.17-20220923-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-20220923-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6f701c63b85 --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-20220923-GCCcore-12.3.0.eb @@ -0,0 +1,50 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Cyprus Institute / CaSToRC, Uni.Lu/LCSB, NTUA +# Authors:: George Tsouloupas , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# +# Version >= 0.7.15 +# Author: Adam Huffman +# The Francis Crick Institute +# +# Note that upstream development is mainly at: https://github.com/lh3/bwa +## + +name = 'BWA' +local_commit = '139f68f' +version = '0.7.17-20220923' + +homepage = 'http://bio-bwa.sourceforge.net/' +description = """ + Burrows-Wheeler Aligner (BWA) is an efficient program that aligns relatively + short nucleotide sequences against a long reference sequence such as the human + genome. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/lh3/bwa/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['be460d6e13ddf34896aafae00bad71e05a0b9f7e23490eeeca8ad257065f5e60'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Perl', '5.36.1'), + ('zlib', '1.2.13'), +] + +# Allow use of x86 intrinsics on PPC +prebuildopts = 'export CFLAGS="$CFLAGS -fcommon -DNO_WARN_X86_INTRINSICS" && ' +prebuildopts += "sed -i 's|^CC=|#CC=|g' Makefile && " +prebuildopts += "sed -i 's|^CFLAGS=|#CFLAGS=|g' Makefile && " +prebuildopts += "sed -i 's|^LIBS=|LIBS= $(LDFLAGS) |g' Makefile && " + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..df988c78261 --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCCcore-12.3.0.eb @@ -0,0 +1,50 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Cyprus Institute / CaSToRC, Uni.Lu/LCSB, NTUA +# Authors:: George Tsouloupas , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# +# Version >= 0.7.15 +# Author: Adam Huffman +# The Francis Crick Institute +# +# Note that upstream development is mainly at: https://github.com/lh3/bwa +## + +name = 'BWA' +version = '0.7.17' + +homepage = 'http://bio-bwa.sourceforge.net/' + +description = """ + Burrows-Wheeler Aligner (BWA) is an efficient program that aligns relatively + short nucleotide sequences against a long reference sequence such as the human + genome. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/lh3/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['980b9591b61c60042c4a39b9e31ccaad8d17ff179d44d347997825da3fdf47fd'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Perl', '5.36.1'), + ('zlib', '1.2.13'), +] + +# Allow use of x86 intrinsics on PPC +prebuildopts = 'export CFLAGS="$CFLAGS -fcommon -DNO_WARN_X86_INTRINSICS" && ' +prebuildopts += "sed -i 's|^CC=|#CC=|g' Makefile && " +prebuildopts += "sed -i 's|^CFLAGS=|#CFLAGS=|g' Makefile && " +prebuildopts += "sed -i 's|^LIBS=|LIBS= $(LDFLAGS) |g' Makefile && " + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0-foss-2022a.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0-foss-2022a.eb new file mode 100644 index 00000000000..a4a6cdb6e35 --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0-foss-2022a.eb @@ -0,0 +1,34 @@ +name = 'BerkeleyGW' +version = '3.1.0' + +homepage = 'https://www.berkeleygw.org' +description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle + properties and the optical responses of a large variety of materials from bulk periodic crystals to + nanostructures such as slabs, wires and molecules.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://app.box.com/shared/static/'] +sources = [{'download_filename': '2bik75lrs85zt281ydbup2xa7i5594gy.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'BerkeleyGW-3.1.0_tests.patch', + 'BerkeleyGW-3.1.0_makefile.patch', +] +checksums = [ + {'BerkeleyGW-3.1.0.tar.gz': '7e890a5faa5a6bb601aa665c73903b3af30df7bdd13ee09362b69793bbefa6d2'}, + {'BerkeleyGW-3.1.0_tests.patch': 'ef73cb7b69a6aad0da90538ef673e978e159d96e62147a304780b1ec25a4c156'}, + {'BerkeleyGW-3.1.0_makefile.patch': '7a8b4bb593d75cf51ca42f94cd2b0ae5440b80e53e0cd00f183821539bc43fc6'}, +] + +dependencies = [ + ('ELPA', '2021.11.001'), + ('Perl', '5.34.1'), + ('Python', '3.10.4'), + ('h5py', '3.7.0'), + ('fftlib', '20170628'), +] + +runtest = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0-intel-2022a.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0-intel-2022a.eb new file mode 100644 index 00000000000..52af177a2af --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0-intel-2022a.eb @@ -0,0 +1,33 @@ +name = 'BerkeleyGW' +version = '3.1.0' + +homepage = 'https://www.berkeleygw.org' +description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle + properties and the optical responses of a large variety of materials from bulk periodic crystals to + nanostructures such as slabs, wires and molecules.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://app.box.com/shared/static/'] +sources = [{'download_filename': '2bik75lrs85zt281ydbup2xa7i5594gy.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'BerkeleyGW-3.1.0_tests.patch', + 'BerkeleyGW-3.1.0_makefile.patch', +] +checksums = [ + {'BerkeleyGW-3.1.0.tar.gz': '7e890a5faa5a6bb601aa665c73903b3af30df7bdd13ee09362b69793bbefa6d2'}, + {'BerkeleyGW-3.1.0_tests.patch': 'ef73cb7b69a6aad0da90538ef673e978e159d96e62147a304780b1ec25a4c156'}, + {'BerkeleyGW-3.1.0_makefile.patch': '7a8b4bb593d75cf51ca42f94cd2b0ae5440b80e53e0cd00f183821539bc43fc6'}, +] + +dependencies = [ + ('ELPA', '2021.11.001'), + ('Perl', '5.34.1'), + ('Python', '3.10.4'), + ('h5py', '3.7.0'), +] + +runtest = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0_makefile.patch b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0_makefile.patch new file mode 100644 index 00000000000..f5b9c258b23 --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0_makefile.patch @@ -0,0 +1,24 @@ +* don't rebuild flavors when installing and checking, and check using MPI +author: Miguel Dias Costa (National University of Singapore) +--- Makefile.orig 2024-01-04 10:02:31.992454794 +0800 ++++ Makefile 2024-01-04 10:02:52.863330557 +0800 +@@ -130,7 +130,7 @@ + cp flavor_cplx.mk flavor.mk + $(MAKE) all + +-install: all ++install: + ifdef INSTDIR + mkdir -p $(INSTDIR)/bin + install bin/*.x $(INSTDIR)/bin/ +@@ -152,8 +152,8 @@ + $(error Error: Please define installation prefix INSTDIR via 'make install INSTDIR='.) + endif + +-check: all +- cd testsuite && $(MAKE) check ++check: ++ cd testsuite && $(MAKE) check-parallel + + check-save: all + cd testsuite && $(MAKE) check-save diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0_tests.patch b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0_tests.patch new file mode 100644 index 00000000000..924cfdf2b00 --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0_tests.patch @@ -0,0 +1,131 @@ +* allow test scripts to inherit environment +* set stack size ulimit to unlimited +* slightly raise tolerance in some tests +author: Miguel Dias Costa (National University of Singapore) +--- testsuite/run_testsuite.sh.orig 2019-07-25 14:48:12.000000000 +0800 ++++ testsuite/run_testsuite.sh 2019-07-25 14:47:50.000000000 +0800 +@@ -1,4 +1,4 @@ +-#!/bin/bash -l ++#!/bin/bash + # + # Copyright (C) 2005-2009 Heiko Appel, David Strubbe + # +--- testsuite/run_testsuite.sh.orig 2021-01-14 13:52:07.312389000 +0800 ++++ testsuite/run_testsuite.sh 2021-01-14 14:00:31.592579000 +0800 +@@ -66,6 +66,8 @@ + # Run all tests. Takes as first argument a list of testfile names. + function run_testsuite() { + ++ulimit -s unlimited ++ + tests="$1" + + # Check for 'preserve working directories' flag. + +--- MeanField/Utilities/mf_convert_wrapper.sh.orig 2019-07-26 09:52:27.648341000 +0800 ++++ MeanField/Utilities/mf_convert_wrapper.sh 2019-07-26 09:52:39.922114228 +0800 +@@ -1,4 +1,4 @@ +-#!/bin/bash -l ++#!/bin/bash + + # David Strubbe, October 2010 + # Wrapper for mf_convert.x +--- testsuite/GaAs-EPM/GaAs.test.orig 2019-07-26 10:45:19.798520000 +0800 ++++ testsuite/GaAs-EPM/GaAs.test 2019-07-26 10:45:37.753775275 +0800 +@@ -32,7 +32,7 @@ + Output : WFN.out + Input : WFN.in PIPE + +-Precision : 8e-15 ++Precision : 9e-15 + match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.2710614199849328 + match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.2565373697755460 + match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.1322637363008994 +--- testsuite/Si-EPM/Si.test.orig 2021-01-14 14:45:33.627112000 +0800 ++++ testsuite/Si-EPM/Si.test 2021-01-14 14:46:33.049539000 +0800 +@@ -16,7 +16,7 @@ + Output : WFN.out + Input : WFN.in PIPE NOCOPY + +-Precision : 6e-15 ++Precision : 7e-15 + match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.1283435360829054 + match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.3282472551260550 + match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.3490532646407310 +--- testsuite/Si-EPM/Si_cplx_spin.test.orig 2019-07-17 07:20:29.000000000 +0800 ++++ testsuite/Si-EPM/Si_cplx_spin.test 2021-01-14 14:46:51.922928000 +0800 +@@ -17,7 +17,7 @@ + Output : WFN.out + Input : WFN.in PIPE NOCOPY + +-Precision : 6e-15 ++Precision : 7e-15 + match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.1283435360829054 + match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.3282472551260550 + match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.3490532646407310 +--- testsuite/Si-EPM_subspace/Si_subspace.test.orig 2019-07-17 07:20:32.000000000 +0800 ++++ testsuite/Si-EPM_subspace/Si_subspace.test 2021-01-14 14:47:15.433562000 +0800 +@@ -20,7 +20,7 @@ + Output : WFN.out + Input : WFN.in PIPE NOCOPY + +-Precision : 6e-15 ++Precision : 7e-15 + match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.1283435360829054 + match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.3282472551260550 + match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.3490532646407310 +--- testsuite/Si-EPM_subspace/Si_subspace_cplx_spin.test.orig 2019-07-17 07:20:32.000000000 +0800 ++++ testsuite/Si-EPM_subspace/Si_subspace_cplx_spin.test 2021-01-14 14:47:30.610030000 +0800 +@@ -21,7 +21,7 @@ + Output : WFN.out + Input : WFN.in PIPE NOCOPY + +-Precision : 6e-15 ++Precision : 7e-15 + match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.1283435360829054 + match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.3282472551260550 + match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.3490532646407310 +--- testsuite/Si-EPM_subspace/Si_subspace_cplx.test.orig 2019-07-17 07:20:32.000000000 +0800 ++++ testsuite/Si-EPM_subspace/Si_subspace_cplx.test 2021-01-14 14:47:45.250225000 +0800 +@@ -20,7 +20,7 @@ + Output : WFN.out + Input : WFN.in PIPE NOCOPY + +-Precision : 6e-15 ++Precision : 7e-15 + match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.1283435360829054 + match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.3282472551260550 + match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.3490532646407310 +--- testsuite/Si-EPM/Si_hdf5_cplx_spin.test.orig 2021-10-27 09:15:36.543399656 +0800 ++++ testsuite/Si-EPM/Si_hdf5_cplx_spin.test 2021-10-27 09:16:19.549009302 +0800 +@@ -17,7 +17,7 @@ + Output : WFN.out + Input : WFN.in PIPE NOCOPY + +-Precision : 6e-15 ++Precision : 7e-15 + match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.1283435360829054 + match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.3282472551260550 + match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.3490532646407310 +--- testsuite/Si-EPM/Si_hdf5.test.orig 2021-10-27 09:17:11.134541236 +0800 ++++ testsuite/Si-EPM/Si_hdf5.test 2021-10-27 09:17:28.086387460 +0800 +@@ -16,7 +16,7 @@ + Output : WFN.out + Input : WFN.in PIPE NOCOPY + +-Precision : 6e-15 ++Precision : 7e-15 + match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.1283435360829054 + match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.3282472551260550 + match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.3490532646407310 +--- testsuite/GaAs-EPM/GaAs.test.orig 2024-01-03 11:40:10.045425888 +0800 ++++ testsuite/GaAs-EPM/GaAs.test 2024-01-03 11:41:04.884166571 +0800 +@@ -32,7 +32,7 @@ + Output : WFN.out + Input : WFN.in PIPE + +-Precision : 9e-15 ++Precision : 9e-14 + match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.2710614199849328 + match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.2565373697755460 + match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.1322637363008994 diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0-foss-2022a.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0-foss-2022a.eb new file mode 100644 index 00000000000..8ff40739c76 --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0-foss-2022a.eb @@ -0,0 +1,34 @@ +name = 'BerkeleyGW' +version = '4.0' + +homepage = 'https://www.berkeleygw.org' +description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle + properties and the optical responses of a large variety of materials from bulk periodic crystals to + nanostructures such as slabs, wires and molecules.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://app.box.com/shared/static/'] +sources = [{'download_filename': '22edl07muvhfnd900tnctsjjftbtcqc4.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'BerkeleyGW-4.0_tests.patch', + 'BerkeleyGW-4.0_makefile.patch', +] +checksums = [ + {'BerkeleyGW-4.0.tar.gz': '1a85b03b83b339056f65124bfa96832ca61152236d9bb1cb372e3040fc686a49'}, + {'BerkeleyGW-4.0_tests.patch': 'e544a53613bb3e6a779813f301912b6c6ca8a55215f77faf6827fc6eeeb5459d'}, + {'BerkeleyGW-4.0_makefile.patch': '0aa7c1dbdfa94d9be6835cb0a768559df1e43a1a8b73a2143f09f99981f8041c'}, +] + +dependencies = [ + ('ELPA', '2021.11.001'), + ('Perl', '5.34.1'), + ('Python', '3.10.4'), + ('h5py', '3.7.0'), + ('fftlib', '20170628'), +] + +runtest = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0_makefile.patch b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0_makefile.patch new file mode 100644 index 00000000000..6c7f69eb8bf --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0_makefile.patch @@ -0,0 +1,24 @@ +* don't rebuild flavors when installing and checking, and check using MPI +author: Miguel Dias Costa (National University of Singapore) +--- BerkeleyGW-4.0/Makefile.orig 2024-03-20 11:08:04.996274767 +0800 ++++ BerkeleyGW-4.0/Makefile 2024-03-20 11:08:22.466174576 +0800 +@@ -130,7 +130,7 @@ + cp flavor_cplx.mk flavor.mk + $(MAKE) all + +-install: all ++install: + ifdef INSTDIR + mkdir -p $(INSTDIR)/bin + install bin/*.x $(INSTDIR)/bin/ +@@ -152,8 +152,8 @@ + $(error Error: Please define installation prefix INSTDIR via 'make install INSTDIR='.) + endif + +-check: all +- cd testsuite && $(MAKE) check ++check: ++ cd testsuite && $(MAKE) check-parallel + + check-save: all + cd testsuite && $(MAKE) check-save diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0_tests.patch b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0_tests.patch new file mode 100644 index 00000000000..78f0c4de3bf --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0_tests.patch @@ -0,0 +1,40 @@ +* allow test scripts to inherit environment +* set stack size ulimit to unlimited +* slightly raise tolerance in some tests +author: Miguel Dias Costa (National University of Singapore) +--- BerkeleyGW-4.0/testsuite/run_testsuite.sh.orig 2024-03-20 01:10:39.000000000 +0800 ++++ BerkeleyGW-4.0/testsuite/run_testsuite.sh 2024-03-20 11:11:19.179296008 +0800 +@@ -1,4 +1,4 @@ +-#!/bin/bash -l ++#!/bin/bash + # + # Copyright (C) 2005-2009 Heiko Appel, David Strubbe + # +@@ -66,6 +66,8 @@ + # Run all tests. Takes as first argument a list of testfile names. + function run_testsuite() { + ++ulimit -s unlimited ++ + tests="$1" + + # Check for 'preserve working directories' flag. +--- BerkeleyGW-4.0/MeanField/Utilities/mf_convert_wrapper.sh.orig 2024-03-20 11:11:41.219446558 +0800 ++++ BerkeleyGW-4.0/MeanField/Utilities/mf_convert_wrapper.sh 2024-03-20 11:11:56.019547652 +0800 +@@ -1,4 +1,4 @@ +-#!/bin/bash -l ++#!/bin/bash + + # David Strubbe, October 2010 + # Wrapper for mf_convert.x +--- BerkeleyGW-4.0/testsuite/GaAs-EPM/GaAs.test.orig 2024-03-20 11:55:47.333669371 +0800 ++++ BerkeleyGW-4.0/testsuite/GaAs-EPM/GaAs.test 2024-03-20 11:57:15.045252252 +0800 +@@ -32,7 +32,7 @@ + Output : WFN.out + Input : WFN.in PIPE + +-Precision : 8e-15 ++Precision : 8e-14 + match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.2710614199849328 + match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.2565373697755460 + match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.1322637363008994 diff --git a/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5-foss-2022a.eb b/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5-foss-2022a.eb new file mode 100644 index 00000000000..54d08e2691e --- /dev/null +++ b/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5-foss-2022a.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonPackage' + +name = 'BiG-SCAPE' +version = '1.1.5' + +homepage = 'https://bigscape-corason.secondarymetabolites.org/index.html' +description = """BiG-SCAPE and CORASON provide a set of tools to explore the diversity of biosynthetic gene clusters +(BGCs) across large numbers of genomes, by constructing BGC sequence similarity networks, grouping BGCs into gene +cluster families, and exploring gene cluster diversity linked to enzyme phylogenies.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'medema-group' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_env_var_to_find-MIBiG-files.patch', + '%(name)s-%(version)s_use_env_var_for_domain_files.patch', + '%(name)s-%(version)s_use_env_var_for_html.patch', + '%(name)s-%(version)s_use_correct_name_for_FastTree.patch', +] +checksums = [ + {'v1.1.5.tar.gz': 'ec7cebbec8f83f4187c80e02ecbb37411a1898a2b83bb80088810f1600528ec7'}, + {'BiG-SCAPE-1.1.5_use_env_var_to_find-MIBiG-files.patch': + 'f0602208765a2686a324a27ff6073aac01c230b6a81a00656269fd89c97cf370'}, + {'BiG-SCAPE-1.1.5_use_env_var_for_domain_files.patch': + '51337f22b2619ed38969f4ead5f7ce2f2df884f272793b47fb46d77e9c5e2aa2'}, + {'BiG-SCAPE-1.1.5_use_env_var_for_html.patch': '540be22396ab982c2aeaaed4ce5acdb8ccb8ce2b31d36bc69d37be7a29c7c42a'}, + {'BiG-SCAPE-1.1.5_use_correct_name_for_FastTree.patch': + 'e1572e4134c6163a3927ac32bd2a39b7f87cf01109f7913b3c55126e2381a771'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('scikit-learn', '1.1.2'), + ('networkx', '2.8.4'), + ('HMMER', '3.3.2'), + ('FastTree', '2.1.11'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': False} + +sanity_check_commands = [ + 'bigscape.py --help', +] + +modextravars = { + 'BIG_SCAPE_HTML_PATH': '%(installdir)s/lib/python%(pyshortver)s/site-packages/BiG-SCAPE', +} + +modloadmsg = "%(name)s needs processed Pfam database to work properly.\n" +modloadmsg += "For this, download the latest 'Pfam-A.hmm.gz' file from the Pfam website " +modloadmsg += "(http://ftp.ebi.ac.uk/pub/databases/Pfam/releases/), " +modloadmsg += "uncompress it and process it using the `hmmpress` command.\n" +modloadmsg += "For data files, like the domains_color_file.tsv and domain_includelist.txt, " +modloadmsg += "one can set the environment variable BIG_SCAPE_DATA_PATH, if that is not set " +modloadmsg += "it will use the directory where the bigscape command is started from.\n" +modloadmsg += "One can copy the domains_color_file.tsv from " +modloadmsg += "%(installdir)s/lib/python%(pyshortver)s/site-packages/BiG-SCAPE/domains_color_file.tsv\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5_use_correct_name_for_FastTree.patch b/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5_use_correct_name_for_FastTree.patch new file mode 100644 index 00000000000..997ea971e5d --- /dev/null +++ b/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5_use_correct_name_for_FastTree.patch @@ -0,0 +1,15 @@ +FastTree binary is not lowercase. + +Åke Sandgren, 2023-11-13 +diff -ru BiG-SCAPE-1.1.5.orig/bigscape.py BiG-SCAPE-1.1.5/bigscape.py +--- BiG-SCAPE-1.1.5.orig/bigscape.py 2022-11-14 17:04:47.000000000 +0100 ++++ BiG-SCAPE-1.1.5/bigscape.py 2023-11-13 07:52:23.064042200 +0100 +@@ -1644,7 +1644,7 @@ + # make tree + newick_file_path = os.path.join(gcf_trees_path, "GCF_c{:4.2f}_{:05d}.newick".format(cutoff,exemplar_idx)) + with open(newick_file_path, "w") as newick_file: +- command = ["fasttree", "-nopr", "-quiet", alignment_file_path] ++ command = ["FastTree", "-nopr", "-quiet", alignment_file_path] + p = subprocess.Popen(command, stdout=newick_file, shell=False) + p.wait() # only with process has terminated will the file be ready + diff --git a/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5_use_env_var_for_domain_files.patch b/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5_use_env_var_for_domain_files.patch new file mode 100644 index 00000000000..afffdbb087b --- /dev/null +++ b/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5_use_env_var_for_domain_files.patch @@ -0,0 +1,37 @@ +Don't use domains_color_file.tsv and domain_includelist.txt from the install tree. +Use env var or current dir. + +Åke Sandgren, 2023-11-02 +diff -ru BiG-SCAPE-1.1.5.orig/ArrowerSVG.py BiG-SCAPE-1.1.5/ArrowerSVG.py +--- BiG-SCAPE-1.1.5.orig/ArrowerSVG.py 2022-11-14 17:04:47.000000000 +0100 ++++ BiG-SCAPE-1.1.5/ArrowerSVG.py 2023-11-02 15:48:51.313247855 +0100 +@@ -27,7 +27,7 @@ + gene_contour_thickness = 2 # thickness grows outwards + stripe_thickness = 3 + +-domains_color_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), "domains_color_file.tsv") ++domains_color_file = os.path.join(os.getenv('BIG_SCAPE_DATA_PATH', os.getcwd()), "domains_color_file.tsv") + + + def read_color_domains_file(): +diff -ru BiG-SCAPE-1.1.5.orig/bigscape.py BiG-SCAPE-1.1.5/bigscape.py +--- BiG-SCAPE-1.1.5.orig/bigscape.py 2022-11-14 17:04:47.000000000 +0100 ++++ BiG-SCAPE-1.1.5/bigscape.py 2023-11-02 15:48:02.929621562 +0100 +@@ -2235,7 +2235,7 @@ + # Get domain_includelist + has_includelist = False + if options.domain_includelist: +- bigscape_path = os.path.dirname(os.path.realpath(__file__)) ++ bigscape_path = os.getenv('BIG_SCAPE_DATA_PATH', os.getcwd()) + if os.path.isfile(os.path.join(bigscape_path,"domain_includelist.txt")): + domain_includelist = set() + for line in open(os.path.join(bigscape_path,"domain_includelist.txt"), "r"): +@@ -2850,7 +2852,7 @@ + if not os.path.isfile(pfams_js_file): + with open(pfams_js_file, "w") as pfams_js: + pfam_json = {} +- pfam_colors = generatePfamColorsMatrix(os.path.join(os.path.dirname(os.path.realpath(__file__)), "domains_color_file.tsv")) ++ pfam_colors = generatePfamColorsMatrix(os.path.join(os.getenv('BIG_SCAPE_DATA_PATH', os.getcwd()), "domains_color_file.tsv")) + for pfam_code in pfam_info: + pfam_obj = {} + if pfam_code in pfam_colors: diff --git a/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5_use_env_var_for_html.patch b/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5_use_env_var_for_html.patch new file mode 100644 index 00000000000..0f0da2a792e --- /dev/null +++ b/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5_use_env_var_for_html.patch @@ -0,0 +1,33 @@ +Use EB specific env var to locate html_template + +Åke Sandgren, 20231106 +diff -ru BiG-SCAPE-1.1.5.orig/bigscape.py BiG-SCAPE-1.1.5/bigscape.py +--- BiG-SCAPE-1.1.5.orig/bigscape.py 2022-11-14 17:04:47.000000000 +0100 ++++ BiG-SCAPE-1.1.5/bigscape.py 2023-11-06 11:20:46.410872382 +0100 +@@ -1881,7 +1881,7 @@ + with open(os.path.join(module_html_path, "bs_data.js"), "w") as bs_data_js: + bs_data_js.write("var bs_data={};\n".format(json.dumps(bs_data, indent=4, separators=(',', ':'), sort_keys=True))) + bs_data_js.write("dataLoaded('bs_data');\n") +- shutil.copy(os.path.join(os.path.dirname(os.path.realpath(__file__)), "html_template", "index_html"), os.path.join(module_html_path, "index.html")) ++ shutil.copy(os.path.join(os.getenv('BIG_SCAPE_HTML_PATH'), "html_template", "index_html"), os.path.join(module_html_path, "index.html")) + + ## Write bgc_networks.js + with open(os.path.join(module_html_path, "bs_networks.js"), "w") as bs_networks_js: +@@ -2832,7 +2834,7 @@ + create_directory(network_files_folder, "Network Files", False) + + # copy html templates +- dir_util.copy_tree(os.path.join(os.path.dirname(os.path.realpath(__file__)), "html_template", "output"), output_folder) ++ dir_util.copy_tree(os.path.join(os.getenv('BIG_SCAPE_HTML_PATH'), "html_template", "output"), output_folder) + + # make a new run folder in the html output & copy the overview_html + network_html_folder = os.path.join(output_folder, "html_content", "networks", run_name) +@@ -2841,7 +2843,7 @@ + for cutoff in cutoff_list: + network_html_folder_cutoff = "{}_c{:.2f}".format(network_html_folder, cutoff) + create_directory(network_html_folder_cutoff, "Network HTML Files", False) +- shutil.copy(os.path.join(os.path.dirname(os.path.realpath(__file__)), "html_template", "overview_html"), os.path.join(network_html_folder_cutoff, "overview.html")) ++ shutil.copy(os.path.join(os.getenv('BIG_SCAPE_HTML_PATH'), "html_template", "overview_html"), os.path.join(network_html_folder_cutoff, "overview.html")) + rundata_networks_per_run[network_html_folder_cutoff] = [] + html_subs_per_run[network_html_folder_cutoff] = [] + diff --git a/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5_use_env_var_to_find-MIBiG-files.patch b/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5_use_env_var_to_find-MIBiG-files.patch new file mode 100644 index 00000000000..cac18434370 --- /dev/null +++ b/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.5_use_env_var_to_find-MIBiG-files.patch @@ -0,0 +1,16 @@ +Use MIBIG_PATH env var to locate MIBiG files instead of hardocded path +that isn't right in the first place. + +Åke Sandgren, 20231027 +diff -ru BiG-SCAPE-1.1.5.orig/bigscape.py BiG-SCAPE-1.1.5/bigscape.py +--- BiG-SCAPE-1.1.5.orig/bigscape.py 2022-11-14 17:04:47.000000000 +0100 ++++ BiG-SCAPE-1.1.5/bigscape.py 2023-10-27 14:15:41.385679191 +0200 +@@ -2336,6 +2336,8 @@ + + print("\n Trying to read bundled MIBiG BGCs as reference") + mibig_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),"Annotated_MIBiG_reference") ++ # Use environment variable as first choice ++ mibig_path = os.getenv('MIBIG_PATH', mibig_path) + bgcs_path = os.path.join(mibig_path,mibig_zipfile_numbgcs[1]) + + # try to see if the zip file has already been decompressed diff --git a/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-12.2.0.eb b/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-12.2.0.eb new file mode 100644 index 00000000000..a3de8e7098b --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PerlModule' + +name = 'Bio-DB-HTS' +version = '3.01' + +homepage = 'https://metacpan.org/release/Bio-DB-HTS' +description = "Read files using HTSlib including BAM/CRAM, Tabix and BCF database files" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/A/AV/AVULLO/'] +sources = ['Bio-DB-HTS-%(version)s.tar.gz'] +checksums = ['12a6bc1f579513cac8b9167cce4e363655cc8eba26b7d9fe1170dfe95e044f42'] + +builddependencies = [('pkgconf', '1.9.3')] + +dependencies = [ + ('Perl', '5.36.0'), + ('BioPerl', '1.7.8'), + ('HTSlib', '1.17'), +] + +preconfigopts = "env HTSLIB_DIR=$EBROOTHTSLIB" + +options = {'modulename': 'Bio::DB::HTS'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/perl5/site_perl/%(perlver)s', 'man/man3'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b47216124f8 --- /dev/null +++ b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-12.3.0.eb @@ -0,0 +1,58 @@ +# easybuild easyconfig +# +# John Dey jfdey@fredhutch.org +# +# Fred Hutchinson Cancer Research Center +# Thomas Eylenbosch - Gluo NV + +easyblock = 'PerlModule' + +name = 'BioPerl' +version = '1.7.8' + +homepage = 'https://bioperl.org/' +description = """Bioperl is the product of a community effort to produce Perl code which is useful in biology. + Examples include Sequence objects, Alignment objects and database searching objects.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), + ('XML-LibXML', '2.0209'), + ('DB_File', '1.859'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('XML::Writer', '0.900', { + 'source_tmpl': 'XML-Writer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JO/JOSEPHW'], + 'checksums': ['73c8f5bd3ecf2b350f4adae6d6676d52e08ecc2d7df4a9f089fa68360d400d1f'], + }), + (name, version, { + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'], + 'checksums': ['c490a3be7715ea6e4305efd9710e5edab82dabc55fd786b6505b550a30d71738'], + }), + ('Bio::Procedural', '1.7.4', { + 'source_tmpl': 'Bio-Procedural-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'], + 'checksums': ['d2bd9cfbb091eee2d80ed6cf812ac3813b1c8a1aaca20671037f5f225d31d1da'], + }), +] + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib/perl5/site_perl/%(perlver)s/Bio'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Biopython/Biopython-1.83-foss-2023a.eb b/easybuild/easyconfigs/b/Biopython/Biopython-1.83-foss-2023a.eb new file mode 100644 index 00000000000..70b13923d39 --- /dev/null +++ b/easybuild/easyconfigs/b/Biopython/Biopython-1.83-foss-2023a.eb @@ -0,0 +1,46 @@ +# Updated from previous easyconfig +# Author: Robert Mijakovic +# Update: Pavel Tománek (INUITS) + +easyblock = 'PythonPackage' + +name = 'Biopython' +version = '1.83' + +homepage = 'https://www.biopython.org' +description = """Biopython is a set of freely available tools for biological + computation written in Python by an international team of developers. It is + a distributed collaborative effort to develop Python libraries and + applications which address the needs of current and future work in + bioinformatics. """ + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://biopython.org/DIST'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['78e6bfb78de63034037afd35fe77cb6e0a9e5b62706becf78a7d922b16ed83f7'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +# Run only tests that don't require internet connection +runtest = 'python setup.py test --offline' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/Bio', + 'lib/python%(pyshortver)s/site-packages/BioSQL'] +} + +# extra check to ensure numpy dependency is available +sanity_check_commands = ["python -c 'import Bio.MarkovModel'"] + +options = {'modulename': 'Bio'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.7.1.eb b/easybuild/easyconfigs/b/Bison/Bison-3.7.1.eb index c3cedc9436e..41ecce369aa 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.7.1.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.7.1.eb @@ -15,12 +15,18 @@ toolchain = SYSTEM source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -checksums = ['1dd952839cf0d5a8178c691eeae40dc48fa50d18dcce648b1ad9ae0195367d13'] +patches = ['Bison-3.7.1_fix-parse-state.patch'] +checksums = [ + {'bison-3.7.1.tar.gz': '1dd952839cf0d5a8178c691eeae40dc48fa50d18dcce648b1ad9ae0195367d13'}, + {'Bison-3.7.1_fix-parse-state.patch': 'd2f27ee047e380240c1e787e75ab70a465f973a39b28ab1a8be13e7bb1a99416'}, +] builddependencies = [ ('M4', '1.4.18'), ] +# Uncomment if you encounter "error: redefinition of typedef 'parse_state'" during build + sanity_check_paths = { 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], 'dirs': [], diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.7.1_fix-parse-state.patch b/easybuild/easyconfigs/b/Bison/Bison-3.7.1_fix-parse-state.patch new file mode 100644 index 00000000000..a71de14a6d9 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.7.1_fix-parse-state.patch @@ -0,0 +1,23 @@ +fix for: +src/parse-simulation.c:61: error: redefinition of typedef 'parse_state' +author: Patryk Belzak (Wroclaw University) +--- src/parse-simulation.c.orig 2020-08-02 07:59:31.000000000 +0200 ++++ src/parse-simulation.c 2021-02-24 11:12:02.385501723 +0100 +@@ -28,7 +28,7 @@ + #include "lssi.h" + #include "nullable.h" + +-typedef struct parse_state ++struct parse_state + { + // Path of state-items the parser has traversed. + struct si_chunk +@@ -58,7 +58,7 @@ + // Causes chunk contents to be freed when the reference count is + // one. Used when only the chunk metadata will be needed. + bool free_contents_early; +-} parse_state; ++} ; + + + static void diff --git a/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c38f1c9a588 --- /dev/null +++ b/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'Blitz++' +version = '1.0.2' + +homepage = 'https://github.com/blitzpp/blitz' + +description = """ + Blitz++ is a (LGPLv3+) licensed meta-template library for array manipulation + in C++ with a speed comparable to Fortran implementations, while preserving an + object-oriented interface +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [('https://github.com/blitzpp/blitz/archive/')] +sources = ['%(version)s.tar.gz'] +patches = ['blitz-%(version)s_pkgconfig.patch'] +checksums = [ + {'1.0.2.tar.gz': '500db9c3b2617e1f03d0e548977aec10d36811ba1c43bb5ef250c0e3853ae1c2'}, + {'blitz-1.0.2_pkgconfig.patch': 'd15fb397e75eb009809ecacdd7f2f154ff05e6586895f3b0511d0b53a6e3b9fe'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6') +] + +sanity_check_paths = { + 'files': ['lib64/libblitz.a', 'lib64/libblitz.%s' % SHLIB_EXT], + 'dirs': ['include/blitz/array', 'include/blitz/meta', + 'include/random', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2022b.eb b/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2022b.eb new file mode 100644 index 00000000000..4ab6f4db625 --- /dev/null +++ b/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2022b.eb @@ -0,0 +1,56 @@ +easyblock = 'MakeCp' + +name = 'Block' +version = '1.5.3-20200525' +_commit = 'f95317b08043b7c531289576d59ad74a6d920741' + +homepage = 'https://sanshar.github.io/Block/' +description = """Block implements the density matrix renormalization group (DMRG) algorithm for +quantum chemistry.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'cstd': 'c++11', 'pic': True} + +# Version 1.5 is a major rewrite of Block that was named at some point StackBlock +# sources are available in sanshar/StackBlock +# sources at sanshar/Block@b0e3671aad and pyscf/Block@db27636b76 correspond to version 1.1.1 +source_urls = ['https://github.com/sanshar/StackBlock/archive'] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': '%(version)s.tar.gz'}] +patches = [ + 'Block-1.5.3_use-eb-environment.patch', + 'Block-1.5.3_replace_mpi_cxx_binds_with_boost_mpi.patch', + 'Block-1.5.3_resolve_deprecated_Bind_placeholder.patch' +] +checksums = [ + {'1.5.3-20200525.tar.gz': '8d793c5e460d7747a0adcb06ce4b457c6750cf2d42cead1d060db8b44643c3b1'}, + {'Block-1.5.3_use-eb-environment.patch': '7f3e8a52f28d251441d20dfde1f9cb8cdc0c34216defab61cc6980e540a6cf60'}, + {'Block-1.5.3_replace_mpi_cxx_binds_with_boost_mpi.patch': + 'f53f1f88cb7b12ab38d1313f93a9bbd31c745dca1beca7a8d51d00e0ae4e762f'}, + {'Block-1.5.3_resolve_deprecated_Bind_placeholder.patch': + '51d692f294e800e0a9e027ef35bf761612ecb9efe77ddb378ec973b55e39a1e8'}, +] + +dependencies = [ + ('Boost.MPI', '1.81.0'), +] + +buildopts = [ + # Multi-threaded build (block.spin_adapted-serial) + 'OPENMP="yes" EXECUTABLE="block.spin_adapted-serial"', + # MPI build (block.spin_adapted) + 'USE_MPI="yes"', +] + +files_to_copy = [(['block.spin_adapted*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/block.spin_adapted', 'bin/block.spin_adapted-serial'], + 'dirs': [], +} + +sanity_check_commands = [ + "block.spin_adapted-serial --version", + "%(mpi_cmd_prefix)s block.spin_adapted --version", +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/Block/Block-1.5.3_resolve_deprecated_Bind_placeholder.patch b/easybuild/easyconfigs/b/Block/Block-1.5.3_resolve_deprecated_Bind_placeholder.patch new file mode 100644 index 00000000000..9361e01827f --- /dev/null +++ b/easybuild/easyconfigs/b/Block/Block-1.5.3_resolve_deprecated_Bind_placeholder.patch @@ -0,0 +1,151 @@ +resolve Error: "pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior." +define BOOST_BIND_GLOBAL_PLACEHOLDERS +replace #include with #include , +replace copy_option::overwrite_if_exists with copy_options::overwrite_existing +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/genetic/GAOptimize.C StackBlock-f95317b08043b7c531289576d59ad74a6d920741/genetic/GAOptimize.C +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/genetic/GAOptimize.C 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/genetic/GAOptimize.C 2024-01-04 15:22:29.874336000 +0100 +@@ -9,7 +9,7 @@ + using namespace std; + + #include +-#include ++#include + + #ifndef SERIAL + #include +@@ -18,6 +18,7 @@ + + #include + #include ++#include + + namespace genetic + { +@@ -58,7 +59,7 @@ + mpi::broadcast(world, ksum, 0); + #endif + +- Cell::Evaluate = boost::bind(genetic::Evaluate, 1.0/ksum, gainput.exponent, _1, K); ++ Cell::Evaluate = boost::bind(genetic::Evaluate, 1.0/ksum, gainput.exponent, std::placeholders::_1, K); + Cell best; + #ifndef SERIAL + int ntask = 1 + gainput.max_community / world.size(); +@@ -125,7 +126,7 @@ + mpi::broadcast(world, ksum, 0); + #endif + +- Cell::Evaluate = boost::bind(genetic::Evaluate, 1.0/ksum, gainput.exponent, _1, K); ++ Cell::Evaluate = boost::bind(genetic::Evaluate, 1.0/ksum, gainput.exponent, std::placeholders::_1, K); + Cell best; + #ifndef SERIAL + int ntask = 1 + gainput.max_community / world.size(); +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/genetic/GAOptimize.h StackBlock-f95317b08043b7c531289576d59ad74a6d920741/genetic/GAOptimize.h +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/genetic/GAOptimize.h 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/genetic/GAOptimize.h 2024-01-04 15:11:37.071030036 +0100 +@@ -1,6 +1,8 @@ + #ifndef GA_OPTIMIZE_H + #define GA_OPTIMIZE_H + ++#define BOOST_BIND_GLOBAL_PLACEHOLDERS ++ + #include + #include "Cell.h" + +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/modules/npdm/npdm_permutations.C StackBlock-f95317b08043b7c531289576d59ad74a6d920741/modules/npdm/npdm_permutations.C +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/modules/npdm/npdm_permutations.C 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/modules/npdm/npdm_permutations.C 2024-01-04 15:32:31.035358000 +0100 +@@ -13,6 +13,8 @@ + #include "Stackspinblock.h" + #include "pario.h" + ++#include ++ + namespace SpinAdapted{ + + //=========================================================================================================================================================== +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/StackMatrix.h StackBlock-f95317b08043b7c531289576d59ad74a6d920741/StackMatrix.h +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/StackMatrix.h 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/StackMatrix.h 2024-01-04 13:51:30.872835728 +0100 +@@ -1,6 +1,8 @@ + #ifndef SPIN_STACKMATRIX_HEADER + #define SPIN_STACKMATRIX_HEADER + ++#define BOOST_BIND_GLOBAL_PLACEHOLDERS ++ + #include + #include + #include +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/StackOperators.h StackBlock-f95317b08043b7c531289576d59ad74a6d920741/StackOperators.h +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/StackOperators.h 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/StackOperators.h 2024-01-04 13:48:49.790156000 +0100 +@@ -3,7 +3,7 @@ + #include "StackBaseOperator.h" + #include + #include +-#include ++#include + + typedef boost::function >)> FUNCTOR; + typedef boost::function)> FUNCTOR2; +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/Stackspinblock.C StackBlock-f95317b08043b7c531289576d59ad74a6d920741/Stackspinblock.C +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/Stackspinblock.C 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/Stackspinblock.C 2024-01-04 13:30:04.524917000 +0100 +@@ -23,7 +23,7 @@ + #include + #include + #include +-#include ++#include + #include + + #ifndef SERIAL +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/Stackspinblock.h StackBlock-f95317b08043b7c531289576d59ad74a6d920741/Stackspinblock.h +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/Stackspinblock.h 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/Stackspinblock.h 2024-01-04 13:41:28.043983000 +0100 +@@ -1,5 +1,6 @@ + #ifndef STACKSPINBLOCK_HEADER + #define STACKSPINBLOCK_HEADER ++#define BOOST_BIND_GLOBAL_PLACEHOLDERS + #include + #include + #include +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/Stackwavefunction.C StackBlock-f95317b08043b7c531289576d59ad74a6d920741/Stackwavefunction.C +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/Stackwavefunction.C 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/Stackwavefunction.C 2024-01-04 14:16:06.713200000 +0100 +@@ -224,7 +224,7 @@ + sprintf (fileout, "%s/%s", dmrginp.load_prefix().c_str() , outfile.c_str()); + boost::filesystem::path topath(fileout); + +- copy_file(frompath, topath,boost::filesystem::copy_option::overwrite_if_exists); ++ copy_file(frompath, topath,boost::filesystem::copy_options::overwrite_existing); + } + + string filename2 = itr->path().filename().string(); +@@ -242,7 +242,7 @@ + sprintf (fileout, "%s/%s", dmrginp.load_prefix().c_str() , outfile.c_str()); + boost::filesystem::path topath(fileout); + +- copy_file(frompath, topath,boost::filesystem::copy_option::overwrite_if_exists); ++ copy_file(frompath, topath,boost::filesystem::copy_options::overwrite_existing); + } + + } +@@ -284,7 +284,7 @@ + sprintf (fileout, "%s/%s", dmrginp.load_prefix().c_str() , outfile.c_str()); + boost::filesystem::path topath(fileout); + +- copy_file(frompath, topath,boost::filesystem::copy_option::overwrite_if_exists); ++ copy_file(frompath, topath,boost::filesystem::copy_options::overwrite_existing); + } + + string filename2 = itr->path().filename().string(); +@@ -302,7 +302,7 @@ + sprintf (fileout, "%s/%s", dmrginp.load_prefix().c_str() , outfile.c_str()); + boost::filesystem::path topath(fileout); + +- copy_file(frompath, topath,boost::filesystem::copy_option::overwrite_if_exists); ++ copy_file(frompath, topath,boost::filesystem::copy_options::overwrite_existing); + } + + } diff --git a/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8ec9141c86c --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Blosc' +version = '1.21.5' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Blosc/c-blosc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['32e61961bbf81ffea6ff30e9d70fca36c86178afd3e3cfa13376adec8c687509'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['include/blosc-export.h', 'include/blosc.h', 'lib/libblosc.a', + 'lib/libblosc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4dc70d8715f --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Blosc' +version = '1.21.5' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Blosc/c-blosc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['32e61961bbf81ffea6ff30e9d70fca36c86178afd3e3cfa13376adec8c687509'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +sanity_check_paths = { + 'files': ['include/blosc-export.h', 'include/blosc.h', 'lib/libblosc.a', + 'lib/libblosc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Blosc2/Blosc2-2.13.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.13.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9e1b0949576 --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.13.2-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Blosc2' +version = '2.13.2' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f2adcd9615f138d1bb16dc27feadab1bb1eab01d77e5e2323d14ad4ca8c3ca21'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +sanity_check_paths = { + 'files': ['include/blosc2/blosc2-export.h', 'include/blosc2.h', 'lib/libblosc2.a', + 'lib/libblosc2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Blosc2/Blosc2-2.4.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.4.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8a13072d93b --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.4.3-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Blosc2' +version = '2.4.3' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d4aa5e0794598794f20ab950e973d44f0d0d9c133ea1a5a07cb200fa54d2e036'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), +] + +sanity_check_paths = { + 'files': ['include/blosc2/blosc2-export.h', 'include/blosc2.h', 'lib/libblosc2.a', + 'lib/libblosc2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9cebfb5a167 --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Blosc2' +version = '2.8.0' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['be608cdf68deb02e0d3ee62e183942a0fe5d5d3185375b9b6566e2ae35a9bdbd'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['include/blosc2/blosc2-export.h', 'include/blosc2.h', 'lib/libblosc2.a', + 'lib/libblosc2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.79.0-gompi-2022b.eb b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.79.0-gompi-2022b.eb new file mode 100644 index 00000000000..e1d019dd676 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.79.0-gompi-2022b.eb @@ -0,0 +1,29 @@ +easyblock = 'EB_Boost' + +name = 'Boost.MPI' +version = '1.79.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['273f1be93238a068aba4f9735a4a2b003019af067b9c183ed227780b8f36062c'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), + ('XZ', '5.2.7'), + ('zstd', '1.5.2'), + ('ICU', '72.1'), +] + +configopts = '--without-libraries=python' + +boost_mpi = True +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.81.0-gompi-2022b.eb b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.81.0-gompi-2022b.eb new file mode 100644 index 00000000000..1ab9827f302 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.81.0-gompi-2022b.eb @@ -0,0 +1,29 @@ +easyblock = 'EB_Boost' + +name = 'Boost.MPI' +version = '1.81.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['205666dea9f6a7cfed87c7a6dfbeb52a2c1b9de55712c9c1a87735d7181452b6'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), + ('XZ', '5.2.7'), + ('zstd', '1.5.2'), + ('ICU', '72.1'), +] + +configopts = '--without-libraries=python' + +boost_mpi = True +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.82.0-gompi-2023a.eb b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.82.0-gompi-2023a.eb new file mode 100644 index 00000000000..c40cdfadf46 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.82.0-gompi-2023a.eb @@ -0,0 +1,29 @@ +easyblock = 'EB_Boost' + +name = 'Boost.MPI' +version = '1.82.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['66a469b6e608a51f8347236f4912e27dc5c60c60d7d53ae9bfe4683316c6f04c'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), + ('XZ', '5.4.2'), + ('zstd', '1.5.5'), + ('ICU', '73.2'), +] + +configopts = '--without-libraries=python' + +boost_mpi = True +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.83.0-GCC-13.2.0.eb b/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.83.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..f7af796a853 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.83.0-GCC-13.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'EB_Boost' + +name = 'Boost.Python' +version = '1.83.0' + +homepage = 'https://boostorg.github.io/python' +description = """Boost.Python is a C++ library which enables seamless interoperability between C++ + and the Python programming language.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_1_83_0.tar.gz'] +checksums = ['c0685b68dd44cc46574cce86c4e17c0f611b15e195be9848dfd0769a0a207628'] + +dependencies = [ + ('Boost', '1.83.0'), + ('Python', '3.11.5'), +] + +only_python_bindings = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.5.1-GCC-10.3.0.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.5.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..b8a6bb85552 --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.5.1-GCC-10.3.0.eb @@ -0,0 +1,54 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by: Robert Schmidt +# Ottawa Hospital Research Institute - Bioinformatics Team +# Modified by: Adam Huffman +# The Francis Crick Institute +# Modified by: Kurt Lust, UAntwerp +# Modified by: Sebastien Moretti for non-x86_64 systems +# SIB Swiss Institute of Bioinformatics + +name = 'Bowtie2' +version = '2.5.1' +_simde_version = '20220504' +_simde_commit = 'cbef1c1' + +homepage = 'https://bowtie-bio.sourceforge.net/bowtie2/index.shtml' +description = """ Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads + to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s + of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. + Bowtie 2 indexes the genome with an FM Index to keep its memory footprint small: for the human genome, + its memory footprint is typically around 3.2 GB. Bowtie 2 supports gapped, local, and paired-end alignment modes.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True, 'cstd': 'gnu++98'} + +source_urls = [('https://sourceforge.net/projects/bowtie-bio/files/%(namelower)s/%(version)s', 'download')] +sources = ['%(namelower)s-%(version)s-source.zip'] +checksums = ['cb6cbbbb5a7167a2f21a3d63cb9774336361f540e1ec3d8ff907f955c35f71b8'] + +# SIMD Everywhere implementations only, for non-x86_64 systems +if ARCH != 'x86_64': + source_urls += ['https://github.com/simd-everywhere/simde-no-tests/archive'] + sources += [ + {'download_filename': '%s.zip' % _simde_commit, + 'filename': 'simde-%s.zip' % _simde_version, + 'extract_cmd': 'unzip %%s && mv simde*-%s*/* %%(namelower)s-%%(version)s/third_party/simde/' % _simde_commit, + } + ] + checksums += ['d01f084ef5ff69b0a9b96370ae314fe1e55ef3339b25afcd3385958ac0e6ad68'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Perl', '5.32.1'), + ('Python', '3.9.5'), +] + +# to add script folder to path just uncomment this line +# modextrapaths = {'PATH': 'scripts'} + +sanity_check_commands = ['bowtie2 --help', 'bowtie2-build --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Braindecode/Braindecode-0.8.1-foss-2023a-PyTorch-2.1.2.eb b/easybuild/easyconfigs/b/Braindecode/Braindecode-0.8.1-foss-2023a-PyTorch-2.1.2.eb new file mode 100644 index 00000000000..5f27036b016 --- /dev/null +++ b/easybuild/easyconfigs/b/Braindecode/Braindecode-0.8.1-foss-2023a-PyTorch-2.1.2.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'Braindecode' +version = '0.8.1' +local_torch_version = '2.1.2' +versionsuffix = '-PyTorch-%s' % local_torch_version + +homepage = 'https://braindecode.org/' +description = """Braindecode is an open-source Python toolbox for decoding raw +electrophysiological brain data with deep learning models. It includes dataset +fetchers, data preprocessing and visualization tools, as well as +implementations of several deep learning architectures and data augmentations +for analysis of EEG, ECoG and MEG.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('einops', '0.7.0'), + ('h5py', '3.9.0'), + ('matplotlib', '3.7.2'), + ('MNE-Python', '1.6.1'), + ('MOABB', '1.0.0'), + ('skorch', '0.15.0', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('docstring-inheritance', '2.1.2', { + 'modulename': 'docstring_inheritance', + 'checksums': ['ac9af95a7b06a305d43720274d0e62523d23f835bf94ce2bb814687e6fe3957b'], + }), + ('torchinfo', '1.8.0', { + 'checksums': ['72e94b0e9a3e64dc583a8e5b7940b8938a1ac0f033f795457f27e6f4e7afa2e9'], + }), + ('braindecode', version, { + 'use_pip_extras': 'moabb', + 'checksums': ['e80515c3d20a80f16800770936d1eb0012de15830a8175dce376256bdaf928e7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.1.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5e9aae8b025 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.1.0-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Brotli-python' +version = '1.1.0' + +homepage = 'https://github.com/google/brotli' +description = """Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination + of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio + comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate + but offers more dense compression. +The specification of the Brotli Compressed Data Format is defined in RFC 7932.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/B/Brotli'] +sources = ['Brotli-%(version)s.tar.gz'] +checksums = ['81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Brotli', '1.1.0'), + ('Python', '3.11.5'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'brotli'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.2.0.eb index f90442fc544..22f38cbf5f9 100644 --- a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.2.0.eb @@ -27,7 +27,10 @@ dependencies = [ # skip use of third_party directory, since we provide Brotli via a proper dependency preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " -configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" @@ -35,8 +38,8 @@ buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" postinstallcmds = [ "mkdir %(installdir)s/bin", "cp dbrunsli %(installdir)s/bin/", - "cp libbrunsli*.a %(installdir)s/lib*/", - "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.3.0.eb index 20cd4b20aef..301194a32a4 100644 --- a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.3.0.eb @@ -28,7 +28,10 @@ dependencies = [ # skip use of third_party directory, since we provide Brotli via a proper dependency preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " -configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" @@ -36,8 +39,8 @@ buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" postinstallcmds = [ "mkdir %(installdir)s/bin", "cp dbrunsli %(installdir)s/bin/", - "cp libbrunsli*.a %(installdir)s/lib*/", - "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-11.3.0.eb index 35fa3a03359..7522f1025e3 100644 --- a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-11.3.0.eb @@ -28,7 +28,10 @@ dependencies = [ # skip use of third_party directory, since we provide Brotli via a proper dependency preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " -configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" @@ -36,8 +39,8 @@ buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" postinstallcmds = [ "mkdir %(installdir)s/bin", "cp dbrunsli %(installdir)s/bin/", - "cp libbrunsli*.a %(installdir)s/lib*/", - "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.2.0.eb index 68552f70d3a..cc914cae6cd 100644 --- a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.2.0.eb @@ -28,7 +28,10 @@ dependencies = [ # skip use of third_party directory, since we provide Brotli via a proper dependency preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " -configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" @@ -36,8 +39,8 @@ buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" postinstallcmds = [ "mkdir %(installdir)s/bin", "cp dbrunsli %(installdir)s/bin/", - "cp libbrunsli*.a %(installdir)s/lib*/", - "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.3.0.eb index e9d6adbb76f..22917f651e9 100644 --- a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.3.0.eb @@ -28,7 +28,10 @@ dependencies = [ # skip use of third_party directory, since we provide Brotli via a proper dependency preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " -configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" @@ -36,8 +39,8 @@ buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" postinstallcmds = [ "mkdir %(installdir)s/bin", "cp dbrunsli %(installdir)s/bin/", - "cp libbrunsli*.a %(installdir)s/lib*/", - "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/basemap/basemap-1.3.9-foss-2023a.eb b/easybuild/easyconfigs/b/basemap/basemap-1.3.9-foss-2023a.eb new file mode 100644 index 00000000000..39b8785128d --- /dev/null +++ b/easybuild/easyconfigs/b/basemap/basemap-1.3.9-foss-2023a.eb @@ -0,0 +1,50 @@ +# The newer version require also the installation of basemap-data. +# Conveniently, the tarball contains that too, so that is the one +# being used here. +# Based on basemap-1.2.2-foss-2020a-Python-3.8.2.eb +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'basemap' +version = '1.3.9' + +homepage = 'https://matplotlib.org/basemap/' +description = """The matplotlib basemap toolkit is a library for plotting +2D data on maps in Python""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('GEOS', '3.12.0'), + ('Pillow', '10.0.0'), + ('pyproj', '3.6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyshp', '2.3.1', { + 'modulename': 'shapefile', + 'checksums': ['4caec82fd8dd096feba8217858068bacb2a3b5950f43c048c6dc32a3489d5af1'], + }), + ('basemap_data', version, { + 'modulename': 'mpl_toolkits.basemap_data', + 'preinstallopts': "cd packages/%(name)s && GEOS_DIR=$EBROOTGEOS", + 'source_urls': ['https://github.com/matplotlib/basemap/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['44ae3764595778077d4bc40b0756c90f483b816927e82206e9f376e31a2dc533'], + }), + (name, version, { + 'modulename': 'mpl_toolkits.basemap', + 'preinstallopts': "cd packages/%(name)s && GEOS_DIR=$EBROOTGEOS", + 'source_urls': ['https://github.com/matplotlib/basemap/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['44ae3764595778077d4bc40b0756c90f483b816927e82206e9f376e31a2dc533'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/btllib/btllib-1.7.0-GCC-12.3.0.eb b/easybuild/easyconfigs/b/btllib/btllib-1.7.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..960f1b09253 --- /dev/null +++ b/easybuild/easyconfigs/b/btllib/btllib-1.7.0-GCC-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'CmdCp' + +name = 'btllib' +version = '1.7.0' + +homepage = 'https://github.com/bcgsc/btllib' +description = """Bioinformatics Technology Lab common code library""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'openmp': True} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/bcgsc', + 'repo_name': 'btllib', + 'tag': 'v%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] +checksums = [None] + +dependencies = [ + ('Python', '3.11.3'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('CMake', '3.26.3'), + ('SAMtools', '1.18'), +] + +cmds_map = [('.*', "./compile")] + +files_to_copy = [(['install/bin/*'], 'bin'), (['install/lib/*'], 'lib'), (['install/include/*'], 'include')] + +sanity_check_paths = { + 'files': ['bin/randseq', 'bin/indexlr', 'bin/mi_bf_generate'], + 'dirs': [], +} + +sanity_check_commands = ['randseq --help', 'indexlr --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/build/build-1.0.3-foss-2023a.eb b/easybuild/easyconfigs/b/build/build-1.0.3-foss-2023a.eb new file mode 100644 index 00000000000..ddde55757bd --- /dev/null +++ b/easybuild/easyconfigs/b/build/build-1.0.3-foss-2023a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'build' +version = '1.0.3' + +homepage = 'https://github.com/pypa/build' +description = """A simple, correct Python build frontend.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + (name, version, { + 'checksums': ['538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b'], + }), +] + +sanity_check_commands = [ + "python3 -m build -V", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/build/build-1.0.3-foss-2023b.eb b/easybuild/easyconfigs/b/build/build-1.0.3-foss-2023b.eb new file mode 100644 index 00000000000..33af19b02f7 --- /dev/null +++ b/easybuild/easyconfigs/b/build/build-1.0.3-foss-2023b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'build' +version = '1.0.3' + +homepage = 'https://github.com/pypa/build' +description = """A simple, correct Python build frontend.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + (name, version, { + 'checksums': ['538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b'], + }), +] + +sanity_check_commands = [ + "python3 -m build -V", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2023b.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2023b.eb new file mode 100644 index 00000000000..5508687d00a --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2023b.eb @@ -0,0 +1,13 @@ +easyblock = 'BuildEnv' + +name = 'buildenv' +version = 'default' + +homepage = 'None' +description = """This module sets a group of environment variables for compilers, linkers, maths libraries, etc., that + you can use to easily transition between toolchains when building your software. To query the variables being set + please use: module show """ + +toolchain = {'name': 'foss', 'version': '2023b'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2023b.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2023b.eb new file mode 100644 index 00000000000..558beb36286 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2023b.eb @@ -0,0 +1,13 @@ +easyblock = 'BuildEnv' + +name = 'buildenv' +version = 'default' + +homepage = 'None' +description = """This module sets a group of environment variables for compilers, linkers, maths libraries, etc., that + you can use to easily transition between toolchains when building your software. To query the variables being set + please use: module show """ + +toolchain = {'name': 'intel', 'version': '2023b'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb new file mode 100644 index 00000000000..74c175b5994 --- /dev/null +++ b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MakeCp' + +name = 'bwa-mem2' +version = '2.2.1' + +homepage = 'https://github.com/bwa-mem2/bwa-mem2' +description = """ +The tool bwa-mem2 is the next version of the bwa-mem algorithm in bwa. It +produces alignment identical to bwa and is ~1.3-3.1x faster depending on the +use-case, dataset and the running machine.""" + +toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} +toolchainopts = {'pic': True, 'oneapi': False} + +github_account = 'bwa-mem2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_use_external_deps.patch'] +checksums = [ + {'v2.2.1.tar.gz': '36ddd28ce7020d5a036ddeffa00e692296fd40c80380671bd4ea5757bd28841b'}, + {'bwa-mem2-2.2.1_use_external_deps.patch': '0a9d7f7b3289029e19cf7dbab1778448097b9e0f92fa41a74a8cf81c9e114967'}, +] + +dependencies = [('safestringlib', '20240228')] + +build_cmd_targets = 'multi' + +files_to_copy = [(['bwa-mem2*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ['bwa-mem2 version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1_use_external_deps.patch b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1_use_external_deps.patch new file mode 100644 index 00000000000..e6cbe00c724 --- /dev/null +++ b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1_use_external_deps.patch @@ -0,0 +1,62 @@ +Use external safestringlib dependency +Author: Samuel Moors (Vrije Universiteit Brussel) + +diff -ur bwa-mem2-2.2.1.orig/Makefile bwa-mem2-2.2.1/Makefile +--- bwa-mem2-2.2.1.orig/Makefile 2021-03-17 06:36:00.000000000 +0100 ++++ bwa-mem2-2.2.1/Makefile 2024-03-27 20:54:40.532807000 +0100 +@@ -42,14 +42,13 @@ + ARCH_FLAGS= -msse -msse2 -msse3 -mssse3 -msse4.1 + MEM_FLAGS= -DSAIS=1 + CPPFLAGS+= -DENABLE_PREFETCH -DV17=1 -DMATE_SORT=0 $(MEM_FLAGS) +-INCLUDES= -Isrc -Iext/safestringlib/include +-LIBS= -lpthread -lm -lz -L. -lbwa -Lext/safestringlib -lsafestring $(STATIC_GCC) ++INCLUDES= -Isrc ++LIBS= -lpthread -lm -lz -L. -lbwa -lsafestring_shared $(STATIC_GCC) + OBJS= src/fastmap.o src/bwtindex.o src/utils.o src/memcpy_bwamem.o src/kthread.o \ + src/kstring.o src/ksw.o src/bntseq.o src/bwamem.o src/profiling.o src/bandedSWA.o \ + src/FMI_search.o src/read_index_ele.o src/bwamem_pair.o src/kswv.o src/bwa.o \ + src/bwamem_extra.o src/kopen.o + BWA_LIB= libbwa.a +-SAFE_STR_LIB= ext/safestringlib/libsafestring.a + + ifeq ($(arch),sse41) + ifeq ($(CXX), icpc) +@@ -101,31 +100,27 @@ + all:$(EXE) + + multi: +- rm -f src/*.o $(BWA_LIB); cd ext/safestringlib/ && $(MAKE) clean; ++ rm -f src/*.o $(BWA_LIB); + $(MAKE) arch=sse41 EXE=bwa-mem2.sse41 CXX=$(CXX) all +- rm -f src/*.o $(BWA_LIB); cd ext/safestringlib/ && $(MAKE) clean; ++ rm -f src/*.o $(BWA_LIB); + $(MAKE) arch=sse42 EXE=bwa-mem2.sse42 CXX=$(CXX) all +- rm -f src/*.o $(BWA_LIB); cd ext/safestringlib/ && $(MAKE) clean; ++ rm -f src/*.o $(BWA_LIB); + $(MAKE) arch=avx EXE=bwa-mem2.avx CXX=$(CXX) all +- rm -f src/*.o $(BWA_LIB); cd ext/safestringlib/ && $(MAKE) clean; ++ rm -f src/*.o $(BWA_LIB); + $(MAKE) arch=avx2 EXE=bwa-mem2.avx2 CXX=$(CXX) all +- rm -f src/*.o $(BWA_LIB); cd ext/safestringlib/ && $(MAKE) clean; ++ rm -f src/*.o $(BWA_LIB); + $(MAKE) arch=avx512 EXE=bwa-mem2.avx512bw CXX=$(CXX) all +- $(CXX) -Wall -O3 src/runsimd.cpp -Iext/safestringlib/include -Lext/safestringlib/ -lsafestring $(STATIC_GCC) -o bwa-mem2 ++ $(CXX) -Wall -O3 src/runsimd.cpp -lsafestring_shared $(STATIC_GCC) -o bwa-mem2 + + +-$(EXE):$(BWA_LIB) $(SAFE_STR_LIB) src/main.o ++$(EXE):$(BWA_LIB) src/main.o + $(CXX) $(CXXFLAGS) $(LDFLAGS) src/main.o $(BWA_LIB) $(LIBS) -o $@ + + $(BWA_LIB):$(OBJS) + ar rcs $(BWA_LIB) $(OBJS) + +-$(SAFE_STR_LIB): +- cd ext/safestringlib/ && $(MAKE) clean && $(MAKE) CC=$(CC) directories libsafestring.a +- + clean: + rm -fr src/*.o $(BWA_LIB) $(EXE) bwa-mem2.sse41 bwa-mem2.sse42 bwa-mem2.avx bwa-mem2.avx2 bwa-mem2.avx512bw +- cd ext/safestringlib/ && $(MAKE) clean + + depend: + (LC_ALL=C; export LC_ALL; makedepend -Y -- $(CXXFLAGS) $(CPPFLAGS) -I. -- src/*.cpp) diff --git a/easybuild/easyconfigs/b/bx-python/bx-python-0.10.0-foss-2023a.eb b/easybuild/easyconfigs/b/bx-python/bx-python-0.10.0-foss-2023a.eb new file mode 100644 index 00000000000..da5a1cb4e5b --- /dev/null +++ b/easybuild/easyconfigs/b/bx-python/bx-python-0.10.0-foss-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'bx-python' +version = '0.10.0' + +homepage = 'https://github.com/bxlab/bx-python' +description = """The bx-python project is a Python library and associated set of scripts to allow for rapid + implementation of genome scale analyses.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('LZO', '2.10'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True + +exts_list = [ + ('python-lzo', '1.15', { + 'modulename': 'lzo', + 'preinstallopts': "export PREFIX=$EBROOTLZO && ", + 'checksums': ['a57aaa00c5c3a0515dd9f7426ba2cf601767dc19dc023d8b99d4a13b0a327b49'], + }), + (name, version, { + 'modulename': 'bx', + 'checksums': ['bfe9541d7b18a98e907b085e31f58d3989fbca4dc667c4ae48c33b753e0e2da8'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CCL/CCL-1.12.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CCL/CCL-1.12.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bf6b1c10111 --- /dev/null +++ b/easybuild/easyconfigs/c/CCL/CCL-1.12.2-GCCcore-12.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'MakeCp' +name = 'CCL' +version = '1.12.2' + +homepage = 'https://ccl.clozure.com/' +description = """Clozure CL (often called CCL for short) is a free Common Lisp + implementation with a long history. Some distinguishing features of the implementation + include fast compilation speed, native threads, a precise, generational, compacting + garbage collector, and a convenient foreign-function interface.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/Clozure/ccl/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s-linuxx86.tar.gz'] +checksums = ['a94fda3daf26ce8c3d08e0db0e6e9907995acc10e0f8aad2125790b93eaa1556'] + +builddependencies = [ + ('binutils', '2.40'), + ('M4', '1.4.19'), +] + +local_ccl_bin = 'lx86cl64' +local_ccl_dirs = [ + 'compiler', 'level-0', 'level-1', 'lib', 'library', 'lisp-kernel', 'scripts', 'tools', 'xdump', 'x86-headers64' +] + +# Build the kernel +buildopts = "-C lisp-kernel/linuxx8664 all CC=${CC} && " +# Rebuild CCL +buildopts += "./%s -n -b -Q -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)'" % local_ccl_bin + +files_to_copy = [local_ccl_bin, '%s.image' % local_ccl_bin] + local_ccl_dirs + +postinstallcmds = [ + # Cleanup of build files + "find %(installdir)s -type f -name '*fsl' -delete", + "find %(installdir)s/lisp-kernel -type f -name '*.o' -delete", + # Link executable with generic name + "mkdir %(installdir)s/bin", + "cd %%(installdir)s/bin && ln -s ../%s ccl" % local_ccl_bin, +] + +sanity_check_paths = { + 'files': [local_ccl_bin, '%s.image' % local_ccl_bin, 'bin/ccl'], + 'dirs': local_ccl_dirs, +} + +sanity_check_commands = ["ccl --help"] + +modextrapaths = {'CCL_DEFAULT_DIRECTORY': ''} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CCL/CCL-1.12.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/CCL/CCL-1.12.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ee8f9ce062d --- /dev/null +++ b/easybuild/easyconfigs/c/CCL/CCL-1.12.2-GCCcore-13.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'MakeCp' +name = 'CCL' +version = '1.12.2' + +homepage = 'https://ccl.clozure.com/' +description = """Clozure CL (often called CCL for short) is a free Common Lisp + implementation with a long history. Some distinguishing features of the implementation + include fast compilation speed, native threads, a precise, generational, compacting + garbage collector, and a convenient foreign-function interface.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/Clozure/ccl/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s-linuxx86.tar.gz'] +checksums = ['a94fda3daf26ce8c3d08e0db0e6e9907995acc10e0f8aad2125790b93eaa1556'] + +builddependencies = [ + ('binutils', '2.40'), + ('M4', '1.4.19'), +] + +local_ccl_bin = 'lx86cl64' +local_ccl_dirs = [ + 'compiler', 'level-0', 'level-1', 'lib', 'library', 'lisp-kernel', 'scripts', 'tools', 'xdump', 'x86-headers64' +] + +# Build the kernel +buildopts = "-C lisp-kernel/linuxx8664 all CC=${CC} && " +# Rebuild CCL +buildopts += "./%s -n -b -Q -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)'" % local_ccl_bin + +files_to_copy = [local_ccl_bin, '%s.image' % local_ccl_bin] + local_ccl_dirs + +postinstallcmds = [ + # Cleanup of build files + "find %(installdir)s -type f -name '*fsl' -delete", + "find %(installdir)s/lisp-kernel -type f -name '*.o' -delete", + # Link executable with generic name + "mkdir %(installdir)s/bin", + "cd %%(installdir)s/bin && ln -s ../%s ccl" % local_ccl_bin, +] + +sanity_check_paths = { + 'files': [local_ccl_bin, '%s.image' % local_ccl_bin, 'bin/ccl'], + 'dirs': local_ccl_dirs, +} + +sanity_check_commands = ["ccl --help"] + +modextrapaths = {'CCL_DEFAULT_DIRECTORY': ''} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CDO/CDO-2.0.5-gompi-2021b.eb b/easybuild/easyconfigs/c/CDO/CDO-2.0.5-gompi-2021b.eb index 78745e7806b..2169f07b3ef 100644 --- a/easybuild/easyconfigs/c/CDO/CDO-2.0.5-gompi-2021b.eb +++ b/easybuild/easyconfigs/c/CDO/CDO-2.0.5-gompi-2021b.eb @@ -42,6 +42,9 @@ configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP " configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX " +# Make sure that right Fortran compiler is used, also on non-x86_64 architectures +configopts += 'CPPFLAGS="$CPPFLAGS -DgFortran" ' + sanity_check_paths = { 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], 'dirs': ['include'], diff --git a/easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.eb b/easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.eb index 2cca13754df..124d47abae6 100644 --- a/easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.eb +++ b/easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.eb @@ -43,6 +43,9 @@ configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP " configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX " +# Make sure that right Fortran compiler is used, also on non-x86_64 architectures +configopts += 'CPPFLAGS="$CPPFLAGS -DgFortran" ' + sanity_check_paths = { 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], 'dirs': ['include'], diff --git a/easybuild/easyconfigs/c/CDO/CDO-2.1.1-gompi-2021a.eb b/easybuild/easyconfigs/c/CDO/CDO-2.1.1-gompi-2021a.eb index 33b3ae569e7..864efb1aae4 100644 --- a/easybuild/easyconfigs/c/CDO/CDO-2.1.1-gompi-2021a.eb +++ b/easybuild/easyconfigs/c/CDO/CDO-2.1.1-gompi-2021a.eb @@ -43,6 +43,9 @@ configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP " configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX " +# Make sure that right Fortran compiler is used, also on non-x86_64 architectures +configopts += 'CPPFLAGS="$CPPFLAGS -DgFortran" ' + sanity_check_paths = { 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], 'dirs': ['include'], diff --git a/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023a.eb b/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023a.eb index 0adb6ba2358..77cac651f2b 100644 --- a/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023a.eb +++ b/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023a.eb @@ -43,6 +43,9 @@ configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP " configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX " +# Make sure that right Fortran compiler is used, also on non-x86_64 architectures +configopts += 'CPPFLAGS="$CPPFLAGS -DgFortran" ' + sanity_check_paths = { 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], 'dirs': ['include'], diff --git a/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023b.eb b/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023b.eb new file mode 100644 index 00000000000..88087d6059e --- /dev/null +++ b/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023b.eb @@ -0,0 +1,56 @@ +# updated to version 2.0.6, based on the previous 2.0.5 version +# J. Sassmannshausen (Imperial College London, UK) +# Alex Domingo (Vrije Universiteit Brussel, BE) +# Maxim Masterov (SURF, NL) + +easyblock = 'ConfigureMake' + +name = 'CDO' +version = '2.2.2' + +homepage = 'https://code.zmaw.de/projects/cdo' +description = """CDO is a collection of command line Operators to manipulate and analyse Climate and NWP model Data.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'cstd': 'c++17', 'usempi': True} + +source_urls = ['https://code.mpimet.mpg.de/attachments/download/28882/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['419c77315244019af41a296c05066f474cccbf94debfaae9e2106da51bc7c937'] + +builddependencies = [ + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('cURL', '8.3.0'), + ('ecCodes', '2.31.0'), + ('FFTW', '3.3.10'), + ('HDF5', '1.14.3'), + ('libxml2', '2.11.5'), + ('netCDF', '4.9.2'), + ('PROJ', '9.3.1'), + ('Szip', '2.1.1'), + ('UDUNITS', '2.2.28'), + ('util-linux', '2.39'), +] + +# Build libcdi +configopts = "--enable-cdi-lib " + +# Use dependencies from EasyBuild +configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw3 --with-hdf5=$EBROOTHDF5 " +configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP " +configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX " + +# Make sure that right Fortran compiler is used, also on non-x86_64 architectures +configopts += 'CPPFLAGS="$CPPFLAGS -DgFortran" ' + +sanity_check_paths = { + 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ["cdo --version 2>&1 | grep 'Climate Data Operators version %(version)s'"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/CENSO/CENSO-1.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CENSO/CENSO-1.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4482c3a592b --- /dev/null +++ b/easybuild/easyconfigs/c/CENSO/CENSO-1.2.0-GCCcore-12.3.0.eb @@ -0,0 +1,49 @@ +# Author: J. Sassmannshausen (Imperial College London) + +easyblock = 'PythonBundle' + +name = 'CENSO' +version = '1.2.0' + +homepage = 'https://xtb-docs.readthedocs.io/en/latest/CENSO_docs/censo.html' +description = """Commandline Energetic SOrting (CENSO) is a sorting algorithm for +efficient evaluation of Structure Ensembles (SE). The input ensemble (or single +structure) originating from a CREST[SQM/FF] run can be ranked by free energy at +DFT level and/or geometries can be optimized using DFT.""" + +citing = """The main publication for the CENSO program can be found at J. Phys. Chem. A 2021 +https://pubs.acs.org/doi/10.1021/acs.jpca.1c00971""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +# CENSO interfaces with QM codes like xtb, crest, TURBOMOLE and ORCA. +# User can load any of those at runtime +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/grimme-lab/CENSO/archive'], + 'sources': ['v.%(version)s.tar.gz'], + 'checksums': ['f1d77d8eb9d25fe4157491a5d298321f84999123970411831b059cea39aecad2'], + 'modulename': 'censo_qm' + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/censo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["censo --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CENSO/CENSO-1.2.0-intel-2022a.eb b/easybuild/easyconfigs/c/CENSO/CENSO-1.2.0-intel-2022a.eb new file mode 100644 index 00000000000..106afeed1b5 --- /dev/null +++ b/easybuild/easyconfigs/c/CENSO/CENSO-1.2.0-intel-2022a.eb @@ -0,0 +1,43 @@ +# Author: J. Sassmannshausen (Imperial College London) + +easyblock = 'PythonBundle' + +name = 'CENSO' +version = '1.2.0' + +homepage = 'https://xtb-docs.readthedocs.io/en/latest/CENSO_docs/censo.html' +description = """Commandline Energetic SOrting (CENSO) is a sorting algorithm for +efficient evaluation of Structure Ensembles (SE). The input ensemble (or single +structure) originating from a CREST[SQM/FF] run can be ranked by free energy at +DFT level and/or geometries can be optimized using DFT.""" + +citing = """The main publication for the CENSO program can be found at J. Phys. Chem. A 2021 +https://pubs.acs.org/doi/10.1021/acs.jpca.1c00971""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('xtb', '6.6.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/grimme-lab/CENSO/archive'], + 'sources': ['v.%(version)s.tar.gz'], + 'checksums': ['f1d77d8eb9d25fe4157491a5d298321f84999123970411831b059cea39aecad2'], + 'modulename': 'censo_qm' + }), +] + +sanity_check_paths = { + 'files': ['bin/censo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["censo --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.3.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.3.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c22b4a16118 --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.3.1-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '4.3.1' + +homepage = 'https://heasarc.gsfc.nasa.gov/fitsio/' +description = """CFITSIO is a library of C and Fortran subroutines for reading and writing data files in +FITS (Flexible Image Transport System) data format.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-3.48_install_test_data.patch'] +checksums = [ + {SOURCELOWER_TAR_GZ: '47a7c8ee05687be1e1d8eeeb94fb88f060fbf3cd8a4df52ccb88d5eb0f5062be'}, + {'%(name)s-3.48_install_test_data.patch': 'dbf16f857f133468fc1e6a793c6e89fca66d54796593e03606f2722a2a980c0c'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] +# curl for HTTPs support +dependencies = [ + ('cURL', '8.3.0'), +] + +# make would create just static libcfitsio.a. +# Let's create dynamic lib and testprog too. +buildopts = "&& make shared && make testprog" + + +sanity_check_paths = { + 'files': ['lib/libcfitsio.a', 'lib/libcfitsio.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ['cd %(installdir)s/share && testprog'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/COBRApy/COBRApy-0.29.0-foss-2023b.eb b/easybuild/easyconfigs/c/COBRApy/COBRApy-0.29.0-foss-2023b.eb new file mode 100644 index 00000000000..e52677775bd --- /dev/null +++ b/easybuild/easyconfigs/c/COBRApy/COBRApy-0.29.0-foss-2023b.eb @@ -0,0 +1,70 @@ +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# Authors: Sebastien Moretti +# Update: Pavel Tománek (INUITS) + +easyblock = 'PythonBundle' + +name = 'COBRApy' +version = '0.29.0' + +homepage = 'https://opencobra.github.io/cobrapy/' +description = """COBRApy is a package for constraint-based modeling of metabolic networks.""" +software_license = 'LicenseGPLv2' + +toolchain = {'name': 'foss', 'version': '2023b'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('SWIG', '4.1.1'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('ruamel.yaml', '0.18.6'), + ('pydantic', '2.6.4'), + ('python-libsbml', '5.20.2'), + ('sympy', '1.12'), + ('GLPK', '5.0'), +] + +use_pip = True + +exts_list = [ + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('anyio', '4.3.0', { + 'checksums': ['f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6'], + }), + ('swiglpk', '5.0.10', { + 'checksums': ['57ac34ad334da95dd168114bfdb50ae10a2a6a3ddef21e4941f46fe430c5a7e1'], + }), + ('sniffio', '1.3.1', { + 'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc'], + }), + ('httpcore', '0.17.3', { + 'checksums': ['a6f30213335e34c1ade7be6ec7c47f19f50c56db36abef1a9dfa3815b1cb3888'], + }), + ('optlang', '1.8.1', { + 'checksums': ['9eb586b69fd88d558a8a0a0eac33c3067c59b5de510fddc36c0aa874eb74bfec'], + }), + ('httpx', '0.24.1', { + 'checksums': ['5853a43053df830c20f8110c5e69fe44d035d850b2dfe795e196f00fdb774bdd'], + }), + ('diskcache', '5.6.3', { + 'checksums': ['2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc'], + }), + ('depinfo', '2.2.0', { + 'checksums': ['e0971be11519a823b126c875e17ad3ad8adaa6a86737395b9dbcef3ca0e77b0c'], + }), + ('cobra', version, { + 'checksums': ['56d2b832aa86b1f3853647e0eb24aaeac25908fd147737edb23313934485e863'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CPPE/CPPE-0.3.1-GCC-12.2.0.eb b/easybuild/easyconfigs/c/CPPE/CPPE-0.3.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..cb04681be99 --- /dev/null +++ b/easybuild/easyconfigs/c/CPPE/CPPE-0.3.1-GCC-12.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'CPPE' +version = '0.3.1' + +homepage = 'https://github.com/maxscheurer/cppe' +description = """CPPE is an open-source, light-weight C++ and Python library for Polarizable +Embedding (PE)1,2 calculations. It provides an easy-to-use API to implement PE +for ground-state self-consistent field (SCF) calculations and post-SCF methods. +A convenient Python interface is also available.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +github_account = 'maxscheurer' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['38d4230ba3ace78936049c23ad4b1fe9e704fd250ec57cc9733cb3904b62cf7c'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pybind11', '2.10.3'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, +} +exts_list = [ + ('cppe', version, { + 'source_urls': [PYPI_SOURCE], + 'checksums': ['b0aef578d6919f8c103d4d4a9fcd3db481bd73c59c157985f52bf62477425d6c'], + }), +] + +sanity_check_paths = { + 'files': ['lib/libcppe.%s' % SHLIB_EXT], + 'dirs': ['include/cppe', 'lib/python%(pyshortver)s/site-packages', 'share/cmake'], +} + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CREST/CREST-2.12-gfbf-2023a.eb b/easybuild/easyconfigs/c/CREST/CREST-2.12-gfbf-2023a.eb new file mode 100644 index 00000000000..8c77a302032 --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-2.12-gfbf-2023a.eb @@ -0,0 +1,41 @@ +# Author: Jasper Grimm (UoY) +# Update to 2.12: +# Author: J. Sassmannshausen (Imperial College London) + +easyblock = 'CMakeMake' + +name = 'CREST' +version = '2.12' + +homepage = 'https://xtb-docs.readthedocs.io/en/latest/crest.html' +description = """CREST is an utility/driver program for the xtb program. Originally it was designed + as conformer sampling program, hence the abbreviation Conformer–Rotamer Ensemble Sampling Tool, + but now offers also some utility functions for calculations with the GFNn–xTB methods. Generally + the program functions as an IO based OMP scheduler (i.e., calculations are performed by the xtb + program) and tool for the creation and analysation of structure ensembles. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} +toolchainopts = {'opt': True, 'optarch': True, 'extra_fflags': '-ffree-line-length-none'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['390f0ac0aedafbd6bb75974fcffefe7e0232ad6c4ea0ab4f1a77e656a3ce263d'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [('xtb', '6.6.1')] # required to run the program + +# Simple test command just to check if the program is working: +test_cmd = 'export PATH=%(builddir)s/easybuild_obj:$PATH && ' +test_cmd += 'cd %(builddir)s/%(namelower)s-%(version)s/examples/expl-0/ && ./run.sh ' + +sanity_check_paths = { + 'files': ['bin/%s' % name.lower()], + 'dirs': [], +} + +sanity_check_commands = ["crest -h", "crest --cite"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CREST/CREST-2.12-intel-2022a.eb b/easybuild/easyconfigs/c/CREST/CREST-2.12-intel-2022a.eb new file mode 100644 index 00000000000..e825fbace00 --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-2.12-intel-2022a.eb @@ -0,0 +1,40 @@ +# Author: Jasper Grimm (UoY) +# Update to 2.12: +# Author: J. Sassmannshausen (Imperial College London) + +easyblock = 'CMakeMake' + +name = 'CREST' +version = '2.12' + +homepage = 'https://xtb-docs.readthedocs.io/en/latest/crest.html' +description = """CREST is an utility/driver program for the xtb program. Originally it was designed + as conformer sampling program, hence the abbreviation Conformer–Rotamer Ensemble Sampling Tool, + but now offers also some utility functions for calculations with the GFNn–xTB methods. Generally + the program functions as an IO based OMP scheduler (i.e., calculations are performed by the xtb + program) and tool for the creation and analysation of structure ensembles. +""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['390f0ac0aedafbd6bb75974fcffefe7e0232ad6c4ea0ab4f1a77e656a3ce263d'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [('xtb', '6.6.0')] # required to run the program + +# Simple test command just to check if the program is working: +test_cmd = 'export PATH=%(builddir)s/easybuild_obj:$PATH && ' +test_cmd += 'cd %(builddir)s/%(namelower)s-%(version)s/examples/expl-0/ && ./run.sh ' + +sanity_check_paths = { + 'files': ['bin/%s' % name.lower()], + 'dirs': [], +} + +sanity_check_commands = ["crest -h", "crest --cite"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CSBDeep/CSBDeep-0.7.4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/CSBDeep/CSBDeep-0.7.4-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..fcd4c2441be --- /dev/null +++ b/easybuild/easyconfigs/c/CSBDeep/CSBDeep-0.7.4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,38 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'CSBDeep' +version = '0.7.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = "https://csbdeep.bioimagecomputing.com/" +description = """CSBDeep is a toolbox for Content-aware Image Restoration (CARE).""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('SciPy-bundle', '2022.05'), + ('TensorFlow', '2.11.0', versionsuffix), + ('matplotlib', '3.5.2'), + ('tqdm', '4.64.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('tifffile', '2023.9.26', { + 'checksums': ['67e355e4595aab397f8405d04afe1b4ae7c6f62a44e22d933fee1a571a48c7ae'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['85d6fc360bb33253ba6f543d75cf0cf123595f0ea4dd1fa76b1e5bc8fc55b901'], + 'modulename': '%(namelower)s', + }), +] + +sanity_check_commands = ['care_predict'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CSBLAST/CSBLAST-2.2.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CSBLAST/CSBLAST-2.2.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..32a612768d4 --- /dev/null +++ b/easybuild/easyconfigs/c/CSBLAST/CSBLAST-2.2.4-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MakeCp' + +name = 'CSBLAST' +version = '2.2.4' + +homepage = 'https://github.com/soedinglab/csblast/' +description = """Context-specific extension of BLAST that significantly improves sensitivity and alignment quality.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'soedinglab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['76848da4d45a618ae903cafc00ff6387e7decb17b839aca83d9a9438537edf0d'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('sparsehash', '2.0.4'), +] + +start_dir = 'src' + +build_cmd_targets = 'csblast csbuild' + +buildopts = 'FLAGS="-fpermissive -std=c++11" ' + +files_to_copy = ['bin', 'data', 'LICENSE', 'README_CSBLAST'] + +sanity_check_paths = { + 'files': ['bin/csblast', 'bin/csbuild', 'data/K4000.crf', 'data/K4000.lib'], + 'dirs': ['bin', 'data'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-12.3.2.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.3.2.eb new file mode 100644 index 00000000000..060e6893566 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.3.2.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '12.3.2' +local_nv_version = '545.23.08' + +homepage = 'https://developer.nvidia.com/cuda-toolkit' +description = """CUDA (formerly Compute Unified Device Architecture) is a parallel + computing platform and programming model created by NVIDIA and implemented by the + graphics processing units (GPUs) that they produce. CUDA gives developers access + to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cuda/%(version)s/local_installers/'] +sources = ['cuda_%%(version)s_%s_linux%%(cudaarch)s.run' % local_nv_version] +checksums = [{ + 'cuda_%%(version)s_%s_linux.run' % local_nv_version: + '24b2afc9f770d8cf43d6fa7adc2ebfd47c4084db01bdda1ce3ce0a4d493ba65b', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + 'b876936fc80de10653523eadd846065db346b38ba6296f2d365772259cb2f198', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '761b84e292b94c4d330f445d36326dfff90a418e909fb0baf3d6f03e24106d08' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-12.4.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.4.0.eb new file mode 100644 index 00000000000..29127574f0f --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.4.0.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '12.4.0' +local_nv_version = '550.54.14' + +homepage = 'https://developer.nvidia.com/cuda-toolkit' +description = """CUDA (formerly Compute Unified Device Architecture) is a parallel + computing platform and programming model created by NVIDIA and implemented by the + graphics processing units (GPUs) that they produce. CUDA gives developers access + to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cuda/%(version)s/local_installers/'] +sources = ['cuda_%%(version)s_%s_linux%%(cudaarch)s.run' % local_nv_version] +checksums = [{ + 'cuda_%%(version)s_%s_linux.run' % local_nv_version: + 'e6a842f4eca9490575cdb68b6b1bb78d47b95a897de48dee292c431892e57d17', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + 'ef9a712daccf2805b4422f2301ff0eaa5c3ad41ef5d64b8626773bce7d1f41fe', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + 'b12bfe6c36d32ecf009a6efb0024325c5fc389fca1143f5f377ae2555936e803' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUTLASS/CUTLASS-2.11.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/CUTLASS/CUTLASS-2.11.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..f534333fec7 --- /dev/null +++ b/easybuild/easyconfigs/c/CUTLASS/CUTLASS-2.11.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'CUTLASS' +version = '2.11.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/cutlass' +description = """CUTLASS is a collection of CUDA C++ template +abstractions for implementing high-performance matrix-matrix +multiplication (GEMM) and related computations at all levels and scales +within CUDA. It incorporates strategies for hierarchical decomposition +and data movement similar to those used to implement cuBLAS and cuDNN. +CUTLASS decomposes these "moving parts" into reusable, modular software +components abstracted by C++ template classes. Primitives for different +levels of a conceptual parallelization hierarchy can be specialized and +tuned via custom tiling sizes, data types, and other algorithmic policy. +The resulting flexibility simplifies their use as building blocks within +custom kernels and applications.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b4394f1e080b63cfc54163069334096324c1262dfc66e67099880005d51b8af9'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Python', '3.10.4'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), +] + +_copts = [ + '-DCUTLASS_NVCC_ARCHS="%(cuda_cc_cmake)s"', + '-DCUTLASS_ENABLE_CUBLAS=1', + '-DCUTLASS_ENABLE_CUDNN=1', +] +configopts = ' '.join(_copts) + +sanity_check_paths = { + 'files': ['include/cutlass/cutlass.h', 'lib/libcutlass.%s' % SHLIB_EXT], + 'dirs': ['lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CVXPY/CVXPY-1.4.2-foss-2023a.eb b/easybuild/easyconfigs/c/CVXPY/CVXPY-1.4.2-foss-2023a.eb new file mode 100644 index 00000000000..c250eee145d --- /dev/null +++ b/easybuild/easyconfigs/c/CVXPY/CVXPY-1.4.2-foss-2023a.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'CVXPY' +version = '1.4.2' + +homepage = 'https://www.cvxpy.org/' +description = """ +CVXPY is a Python-embedded modeling language for convex optimization problems. +It allows you to express your problem in a natural way that follows the math, +rather than in the restrictive standard form required by solvers. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), + ('meson-python', '0.15.0'), # for csc +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Clarabel.rs', '0.7.1'), +] + +use_pip = True + +exts_list = [ + ('qdldl', '0.1.7.post0', { + 'checksums': ['f346a114c8342ee6d4dbd6471eef314199fb268d3bf7b95885ca351fde2b023f'], + }), + ('osqp', '0.6.5', { + 'checksums': ['b2810aee7be2373add8b6c0be5ad99b810288774abca421751cb032d6a5aedef'], + }), + ('ecos', '2.0.13', { + 'checksums': ['f2a9dc108ade7faf6f6f4fad245f4714b7293c8767d2a351ead59428a94a98b9'], + }), + ('scs', '3.2.4.post1', { + 'checksums': ['7015d7a56d1d5b53264fd277289ea169949309e26101677ff88cd0e5030d032f'], + }), + ('cvxpy', version, { + 'checksums': ['0a386a5788dbd78b7b20dd071524ec636c8fa72b3628e69f1abc714c8f9811e5'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20-foss-2023a.eb b/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20-foss-2023a.eb new file mode 100644 index 00000000000..4f246716c09 --- /dev/null +++ b/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20-foss-2023a.eb @@ -0,0 +1,50 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MakeCp' + +name = 'CalculiX-CrunchiX' +version = '2.20' + +homepage = 'http://www.calculix.de' +description = 'A Free Software Three-Dimensional Structural Finite Element Program' + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['http://www.dhondt.de'] +sources = ['ccx_%(version)s.src.tar.bz2'] +patches = ['CalculiX-CrunchiX-2.20_improve-makefile.patch'] +checksums = [ + {'ccx_2.20.src.tar.bz2': '63bf6ea09e7edcae93e0145b1bb0579ea7ae82e046f6075a27c8145b72761bcf'}, + {'CalculiX-CrunchiX-2.20_improve-makefile.patch': + 'ada15598029d231f804f61d959ce91e2bb3a58749fe5955398f42fbe87dc970c'}, +] + +builddependencies = [ + ('Perl', '5.36.1'), +] + +dependencies = [ + ('arpack-ng', '3.9.0'), + ('SPOOLES', '2.2'), +] + +start_dir = 'CalculiX/ccx_%(version)s/src' + +prebuildopts = 'CFLAGS="$CFLAGS $CPPFLAGS" FFLAGS="$FFLAGS -fallow-argument-mismatch"' +buildopts = 'SPOOLES_INC_DIR="$EBROOTSPOOLES/include/spooles"' + +files_to_copy = [(['ccx_%(version)s'], 'bin')] + +postinstallcmds = ['cd %(installdir)s/bin && ln -sf ccx_%(version)s ccx'] + +sanity_check_paths = { + 'files': ['bin/ccx'], + 'dirs': [], +} + +sanity_check_commands = [ + # ccx {,-v} exit with code 201 + "ccx | grep 'Usage: CalculiX.exe -i jobname'", + "ccx -v | grep 'Version %(version)s'", +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/CapnProto/CapnProto-1.0.1.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/CapnProto/CapnProto-1.0.1.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..da2d96bc357 --- /dev/null +++ b/easybuild/easyconfigs/c/CapnProto/CapnProto-1.0.1.1-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to 0.9.1 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'CapnProto' +version = '1.0.1.1' + +homepage = 'https://capnproto.org' +description = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://capnproto.org/'] +sources = ['capnproto-c++-%(version)s.tar.gz'] +checksums = ['b224e61d5b46f13967b7189860a7373b96d0c105e0d6170f29acba09a2d31f57'] + +builddependencies = [('binutils', '2.40')] + +local_bins = ['capnp', 'capnpc', 'capnpc-c++', 'capnpc-capnp'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': ['include/capnp', 'include/kj', 'lib'], +} + +sanity_check_commands = ["%s --help" % x for x in local_bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb new file mode 100644 index 00000000000..9dfe231d9e6 --- /dev/null +++ b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb @@ -0,0 +1,56 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Cartopy' +version = '0.22.0' + +homepage = 'https://scitools.org.uk/cartopy/docs/latest/' +description = """Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + # sufficiently recent Cython is required, to fix issues like: + # pykdtree/kdtree.c:2437:76: error: PyArrayObject {aka struct tagPyArrayObject} has no member named data + # Cython included with Python-bundle-PyPI (0.29.35) is not sufficient + ('Cython', '3.0.7'), + ('Fiona', '1.9.5'), + ('GDAL', '3.7.1'), + ('GEOS', '3.12.0'), + ('matplotlib', '3.7.2'), + ('pyproj', '3.6.0'), + ('SciPy-bundle', '2023.07'), + ('Shapely', '2.0.1'), + ('lxml', '4.9.2'), + ('Pillow', '10.0.0'), + ('PROJ', '9.2.0'), + ('PyYAML', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('OWSLib', '0.29.3', { + 'checksums': ['3baf34058458b933767ee43e632174cb0baebf49d326da179faacb9772f98539'], + }), + ('pyepsg', '0.4.0', { + 'checksums': ['2d08fad1e7a8b47a90a4e43da485ba95705923425aefc4e2a3efa540dbd470d7'], + }), + ('pykdtree', '1.3.10', { + 'checksums': ['41e7c5d669cadc2188acc4bbb4b0b4dcaf492d84512f1e6517a7ab2d122c911d'], + }), + ('pyshp', '2.3.1', { + 'modulename': 'shapefile', + 'checksums': ['4caec82fd8dd096feba8217858068bacb2a3b5950f43c048c6dc32a3489d5af1'], + }), + (name, version, { + 'checksums': ['b300f90120931d43f11ef87c064ea1dacec1b59a4940aa76ebf82cf09548bb49'], + 'preinstallopts': r"""sed -i 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/Cbc/Cbc-2.10.11-foss-2023a.eb b/easybuild/easyconfigs/c/Cbc/Cbc-2.10.11-foss-2023a.eb new file mode 100644 index 00000000000..1f52c6bdfc2 --- /dev/null +++ b/easybuild/easyconfigs/c/Cbc/Cbc-2.10.11-foss-2023a.eb @@ -0,0 +1,63 @@ +easyblock = "ConfigureMake" + +name = 'Cbc' +version = '2.10.11' + +homepage = "https://github.com/coin-or/Cbc" +description = """Cbc (Coin-or branch and cut) is an open-source mixed integer linear programming +solver written in C++. It can be used as a callable library or using a +stand-alone executable.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/coin-or/Cbc/archive/refs/tags/releases'] +sources = ['%(version)s.tar.gz'] +checksums = ['1fb591dd88336fdaf096b8e42e46111e41671a5eb85d4ee36e45baff1678bd33'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.7'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('METIS', '5.1.0'), + ('MUMPS', '5.6.1', '-metis'), + ('CoinUtils', '2.11.10'), + ('Osi', '0.108.9'), + ('Clp', '1.17.9'), + ('Cgl', '0.60.8'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), +] + +# Use BLAS/LAPACK from toolchain +configopts = '--with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK" ' +# Use METIS AND MUMPS from EB +configopts += '--with-metis-lib="-lmetis" ' +configopts += '--with-mumps-lib="-lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord" ' +# Disable GLPK, dependencies have to be built with it as well +configopts += '--without-glpk ' +# Use CoinUtils from EB +configopts += '--with-coinutils-lib="-lCoinUtils" ' +configopts += '--with-coinutils-datadir=$EBROOTCOINUTILS/share/coin/Data ' +# Use Clp from EB +configopts += '--with-clp-lib="-lOsiClp -lClpSolver -lClp" ' +configopts += '--with-clp-datadir=$EBROOTCLP/share/coin/Data ' +# Use Osi from EB (also needs links to Clp due to OsiClpSolver) +configopts += '--with-osi-lib="-lOsiClp -lClpSolver -lClp -lOsi" ' +configopts += '--with-osi-datadir=$EBROOTOSI/share/coin/Data ' +# Use Cgl from EB +configopts += '--with-cgl-lib="-lCgl" ' +configopts += '--with-cgl-datadir=$EBROOTCGL/share/coin/Data ' + +sanity_check_paths = { + 'files': ['bin/cbc'] + ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['Cbc', 'CbcSolver', 'OsiCbc']], + 'dirs': ['include/coin', 'lib/pkgconfig', 'share/coin'] +} + +# other coin-or projects expect instead of +modextrapaths = {'CPATH': 'include/coin'} + +moduleclass = "math" diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.2.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.2.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..3203da29108 --- /dev/null +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.2.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,62 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'CellBender' +version = '0.2.1' +versionsuffix = '-CUDA-%(cudaver)s' +local_pytorch_version = '1.10.0' + +homepage = 'https://github.com/broadinstitute/CellBender' +description = """CellBender is a software package for eliminating technical +artifacts from high-throughput single-cell RNA sequencing (scRNA-seq) data""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('scikit-learn', '0.24.2'), + ('matplotlib', '3.4.2'), + ('PyTables', '3.6.1'), + ('CUDA', '11.3.1', '', SYSTEM), + ('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'), + ('torchvision', '0.11.3', '-CUDA-%(cudaver)s'), + ('pyro-ppl', '1.8.0', '-CUDA-%(cudaver)s'), + ('h5py', '3.2.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('natsort', '7.1.1', { + 'checksums': ['00c603a42365830c4722a2eb7663a25919551217ec09a243d3399fa8dd4ac403'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + (name, version, { + 'source_urls': ['https://github.com/broadinstitute/CellBender/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'patches': ['CellBender-0.2.1-sphinxremoval.patch'], + 'checksums': [ + {'v%(version)s.tar.gz': + '309f6245585d9741ba7099690a10a8f496756c4827d100100130be589b797ba4'}, + {'CellBender-0.2.1-sphinxremoval.patch': + '0f6a342bac16f4ee80cd05d43923b4cc60d71999ea1bb5c80a75edb7290bbdec'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/cellbender', 'bin/natsort'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "natsort --help", + "cellbender -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.2.1-sphinxremoval.patch b/easybuild/easyconfigs/c/CellBender/CellBender-0.2.1-sphinxremoval.patch new file mode 100644 index 00000000000..0241bc74128 --- /dev/null +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.2.1-sphinxremoval.patch @@ -0,0 +1,15 @@ +Removes Sphinx from the build as it is not required +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/CellBender-0.2.1.orig/REQUIREMENTS.txt b/CellBender-0.2.1/REQUIREMENTS.txt +index 535e3e7..0646183 100644 +--- a/CellBender-0.2.1.orig/REQUIREMENTS.txt ++++ b/CellBender-0.2.1/REQUIREMENTS.txt +@@ -6,8 +6,3 @@ pandas + pyro-ppl>=0.3.2 + scikit-learn + matplotlib +-sphinx>=2.1 +-sphinx-rtd-theme +-sphinx-autodoc-typehints +-sphinxcontrib-programoutput +-sphinx-argparse diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..88f92ec75ab --- /dev/null +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,85 @@ +easyblock = 'PythonBundle' + +name = 'CellBender' +local_commit = 'e2fb597' +version = '0.3.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://github.com/broadinstitute/CellBender' +description = """ +CellBender is a software package for eliminating technical artifacts from +high-throughput single-cell RNA sequencing (scRNA-seq) data. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('PyTorch', '1.12.0', versionsuffix), + ('IPython', '8.5.0'), + ('anndata', '0.8.0'), + ('jupyter-contrib-nbextensions', '0.7.0'), + ('pyro-ppl', '1.8.4', versionsuffix), + ('loompy', '3.0.7'), + ('PyTables', '3.8.0'), + ('Qtconsole', '5.4.0'), +] + +use_pip = True + +local_comm_preinstallopts = """sed -i -e 's/^requires.*hatchling.*/requires = ["setuptools"]/g' """ +local_comm_preinstallopts += """-e 's/^build-backend.*/build-backend = "setuptools.build_meta"/g' """ +local_comm_preinstallopts += """-e 's/^dynamic = .*version.*/version = "%(version)s"/g' pyproject.toml && """ + +exts_list = [ + ('setuptools', '69.0.3', { + 'checksums': ['be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78'], + }), + ('comm', '0.2.1', { + 'checksums': ['0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a'], + 'preinstallopts': local_comm_preinstallopts, + }), + # jupyter-console 6.6.3 requires ipykernel>=6.14 + ('ipykernel', '6.20.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['5d0675d5f48bf6a95fd517d7b70bcb3b2c5631b2069949b5c2d6e1d7477fb5a0'], + }), + # jupyter-console 6.6.3 requires jupyter-core!=5.0.*,>=4.12 + ('jupyter_core', '4.12.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['a54672c539333258495579f6964144924e0aa7b07f7069947bef76d7ea5cb4c1'], + }), + # jupyter-console 6.6.3 requires traitlets>=5.4 + ('traitlets', '5.14.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74'], + }), + ('jupyter_console', '6.6.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485'], + }), + ('jupyter', '1.0.0', { + 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], + }), + ('cellbender', version, { + 'source_urls': ['https://github.com/broadinstitute/CellBender/archive'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['7eb67837d28495adb82147e80a2ab58eeb406c5d91aa69dd0cc120d9cb3d6396'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cellbender'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cellbender --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a.eb new file mode 100644 index 00000000000..798e18442ab --- /dev/null +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a.eb @@ -0,0 +1,83 @@ +easyblock = 'PythonBundle' + +name = 'CellBender' +local_commit = 'e2fb597' +version = '0.3.1' + +homepage = 'http://github.com/broadinstitute/CellBender' +description = """ +CellBender is a software package for eliminating technical artifacts from +high-throughput single-cell RNA sequencing (scRNA-seq) data. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('PyTorch', '1.12.0'), + ('IPython', '8.5.0'), + ('anndata', '0.8.0'), + ('jupyter-contrib-nbextensions', '0.7.0'), + ('pyro-ppl', '1.8.4'), + ('loompy', '3.0.7'), + ('PyTables', '3.8.0'), + ('Qtconsole', '5.4.0'), +] + +use_pip = True + +local_comm_preinstallopts = """sed -i -e 's/^requires.*hatchling.*/requires = ["setuptools"]/g' """ +local_comm_preinstallopts += """-e 's/^build-backend.*/build-backend = "setuptools.build_meta"/g' """ +local_comm_preinstallopts += """-e 's/^dynamic = .*version.*/version = "%(version)s"/g' pyproject.toml && """ + +exts_list = [ + ('setuptools', '69.0.3', { + 'checksums': ['be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78'], + }), + ('comm', '0.2.1', { + 'checksums': ['0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a'], + 'preinstallopts': local_comm_preinstallopts, + }), + # jupyter-console 6.6.3 requires ipykernel>=6.14 + ('ipykernel', '6.20.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['5d0675d5f48bf6a95fd517d7b70bcb3b2c5631b2069949b5c2d6e1d7477fb5a0'], + }), + # jupyter-console 6.6.3 requires jupyter-core!=5.0.*,>=4.12 + ('jupyter_core', '4.12.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['a54672c539333258495579f6964144924e0aa7b07f7069947bef76d7ea5cb4c1'], + }), + # jupyter-console 6.6.3 requires traitlets>=5.4 + ('traitlets', '5.14.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74'], + }), + ('jupyter_console', '6.6.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485'], + }), + ('jupyter', '1.0.0', { + 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], + }), + ('cellbender', version, { + 'source_urls': ['https://github.com/broadinstitute/CellBender/archive'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['7eb67837d28495adb82147e80a2ab58eeb406c5d91aa69dd0cc120d9cb3d6396'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cellbender'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cellbender --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellTypist/CellTypist-1.6.2-foss-2023a.eb b/easybuild/easyconfigs/c/CellTypist/CellTypist-1.6.2-foss-2023a.eb new file mode 100644 index 00000000000..65be95087f7 --- /dev/null +++ b/easybuild/easyconfigs/c/CellTypist/CellTypist-1.6.2-foss-2023a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'CellTypist' +version = '1.6.2' + +homepage = 'https://www.celltypist.org/' +description = "A tool for semi-automatic cell type annotation" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('scikit-learn', '1.3.1'), + ('openpyxl', '3.1.2'), + ('scanpy', '1.9.8'), + ('leidenalg', '0.10.2'), +] + +exts_list = [ + ('celltypist', version, { + 'checksums': ['a22309230c578c3738f72643492387167053f35a610625c75d66b056cf520361'], + }), +] + +use_pip = True + +sanity_check_paths = { + 'files': ['bin/celltypist'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["celltypist --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cgl/Cgl-0.60.8-foss-2023a.eb b/easybuild/easyconfigs/c/Cgl/Cgl-0.60.8-foss-2023a.eb new file mode 100644 index 00000000000..e77e6950d69 --- /dev/null +++ b/easybuild/easyconfigs/c/Cgl/Cgl-0.60.8-foss-2023a.eb @@ -0,0 +1,50 @@ +easyblock = "ConfigureMake" + +name = 'Cgl' +version = '0.60.8' + +homepage = "https://github.com/coin-or/Cgl" +description = """The COIN-OR Cut Generation Library (Cgl) is a collection of cut generators that +can be used with other COIN-OR packages that make use of cuts, such as, among +others, the linear solver Clp or the mixed integer linear programming solvers +Cbc or BCP. Cgl uses the abstract class OsiSolverInterface (see Osi) to use or +communicate with a solver. It does not directly call a solver.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/coin-or/Cgl/archive/refs/tags/releases/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1482ba38afb783d124df8d5392337f79fdd507716e9f1fb6b98fc090acd1ad96'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.7'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('CoinUtils', '2.11.10'), + ('Osi', '0.108.9'), + ('Clp', '1.17.9'), +] + +# Use CoinUtils from EB +configopts = '--with-coinutils-lib="-lCoinUtils" ' +configopts += '--with-coinutils-datadir=$EBROOTCOINUTILS/share/coin/Data ' +# Use Clp from EB +configopts += '--with-clp-lib="-lOsiClp -lClpSolver -lClp" ' +configopts += '--with-clp-datadir=$EBROOTCLP/share/coin/Data ' +# Use Osi from EB (also needs links to Clp due to OsiClpSolver) +configopts += '--with-osi-lib="-lOsiClp -lClpSolver -lClp -lOsi" ' +configopts += '--with-osi-datadir=$EBROOTOSI/share/coin/Data ' + +sanity_check_paths = { + 'files': ['lib/libCgl.%s' % SHLIB_EXT], + 'dirs': ['include/coin', 'lib/pkgconfig', 'share/coin'] +} + +# other coin-or projects expect instead of +modextrapaths = {'CPATH': 'include/coin'} + +moduleclass = "math" diff --git a/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.12-foss-2022b.eb b/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.12-foss-2022b.eb new file mode 100644 index 00000000000..a485b6d6e59 --- /dev/null +++ b/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.12-foss-2022b.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'CheMPS2' +version = '1.8.12' + +homepage = 'https://github.com/SebWouters/CheMPS2' +description = """CheMPS2 is a scientific library which contains a spin-adapted implementation of the +density matrix renormalization group (DMRG) for ab initio quantum chemistry.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/SebWouters/CheMPS2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['eef1b92d74ac07fde58c043f64e8cac02b5400c209c44dcbb51641f86e0c7c83'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('HDF5', '1.14.0') +] + +pretestopts = 'export OMP_NUM_THREADS=1 && ' +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/chemps2', 'lib64/libchemps2.%s' % SHLIB_EXT, 'lib64/libchemps2.a'], + 'dirs': ['include/chemps2'] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c0e770c3a3f --- /dev/null +++ b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'Check' +version = '0.15.2' + +homepage = 'https://libcheck.github.io/check/' +description = """ +Check is a unit testing framework for C. It features a simple interface for +defining unit tests, putting little in the way of the developer. Tests are +run in a separate address space, so both assertion failures and code errors +that cause segmentation faults or other signals can be caught. Test results +are reportable in the following: Subunit, TAP, XML, and a generic logging +format.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +github_account = 'libcheck' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['998d355294bb94072f40584272cf4424571c396c631620ce463f6ea97aa67d2e'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('pkgconf', '2.0.3'), +] + +preconfigopts = "autoreconf -f -i && " +configopts = "--disable-build-docs" + +sanity_check_paths = { + 'files': ['bin/checkmk', 'lib/libcheck.a', 'lib/libcheck.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Circlator/Circlator-1.5.5-foss-2023a.eb b/easybuild/easyconfigs/c/Circlator/Circlator-1.5.5-foss-2023a.eb new file mode 100644 index 00000000000..b36cc096ba7 --- /dev/null +++ b/easybuild/easyconfigs/c/Circlator/Circlator-1.5.5-foss-2023a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'Circlator' +version = '1.5.5' + +homepage = 'https://github.com/sanger-pathogens/circlator/' +description = """A tool to circularize genome assemblies.s""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('openpyxl', '3.1.2'), + ('Fastaq', '3.17.0'), + ('Pysam', '0.22.0'), + ('MUMmer', '4.0.0rc1'), + ('BWA', '0.7.17'), + ('prodigal', '2.6.3'), + ('SPAdes', '3.15.4'), + ('AMOS', '3.1.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pymummer', '0.11.0', { + 'checksums': ['199b8391348ff83760e9f63fdcee6208f8aa29da6506ee1654f1933e60665259'], + }), + (name, version, { + 'sources': ['circlator-%(version)s.tar.gz'], + 'checksums': ['d3bfa12c4f9d4489331c42331a7765719af0c7a2aca7aa860dc996e27edd671a'], + }), +] + +sanity_check_paths = { + 'files': ['bin/circlator'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "circlator progcheck", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-16.0.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-16.0.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bc314d248f8 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-16.0.6-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'Tarball' + +name = 'Clang-Python-bindings' +version = '16.0.6' + +homepage = 'https://clang.llvm.org' +description = """Python bindings for libclang""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/"] +sources = ['clang-%(version)s.src.tar.xz'] +checksums = ['1186b6e6eefeadd09912ed73b3729e85b59f043724bb2818a95a2ec024571840'] + +dependencies = [ + ('Clang', version), + ('Python', '3.11.3') +] + +start_dir = 'bindings/python' + +sanity_check_paths = { + 'files': ['clang/cindex.py'], + 'dirs': ['clang'] +} + +sanity_check_commands = ["python -c 'import clang'"] + +modextrapaths = {'PYTHONPATH': ''} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Clang/Clang-16.0.6-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/Clang/Clang-16.0.6-GCCcore-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..10a89a27b24 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-16.0.6-GCCcore-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,59 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2015 Dmitri Gribenko, Ward Poelmans +# Authors:: Dmitri Gribenko +# Authors:: Ward Poelmans +# License:: GPLv2 or later, MIT, three-clause BSD. +# $Id$ +## + +name = 'Clang' +version = '16.0.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://clang.llvm.org/' +description = """C, C++, Objective-C compiler, based on LLVM. Does not + include C++ standard library -- use libstdc++ from GCC.""" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-project-%(version)s.src.tar.xz', +] +checksums = ['ce5e71081d17ce9e86d7cbcfa28c4b04b9300f8fb7e78422b1feb6bc52c3028e'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Perl', '5.36.1'), + # Including Python bindings would require this as a runtime dep + ('Python', '3.11.3'), +] +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.40'), + ('hwloc', '2.9.1'), + ('libxml2', '2.11.4'), + ('ncurses', '6.4'), + ('GMP', '6.2.1'), + ('Z3', '4.12.2'), + ('CUDA', '12.1.1', '', SYSTEM), +] + +# enabling RTTI makes the flang compiler need to link to libc++ so instead of +# flang-new -flang-experimental-exec -fopenmp hello_openmp.f90 +# you would need +# flang-new -flang-experimental-exec -fopenmp hello_openmp.f90 -l c++ +enable_rtti = False + +assertions = True +python_bindings = False +skip_all_tests = True + +llvm_runtimes = ['libunwind', 'libcxx', 'libcxxabi'] +llvm_projects = ['polly', 'lld', 'lldb', 'clang-tools-extra', 'flang'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCC-8.3.0-CUDA-10.1.243.eb b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCC-8.3.0-CUDA-10.1.243.eb index ef88ee09de0..0d34b0ee01f 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCC-8.3.0-CUDA-10.1.243.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCC-8.3.0-CUDA-10.1.243.eb @@ -36,7 +36,7 @@ sources = [ 'libcxx-%(version)s.src.tar.xz', 'libcxxabi-%(version)s.src.tar.xz', ] -patches = ['libcxx-%(version)s-ppc64le.patch'] +patches = [('libcxx-%(version)s-ppc64le.patch', '../')] checksums = [ '00a1ee1f389f81e9979f3a640a01c431b3021de0d42278f6508391a2f0b81c9a', # llvm-9.0.1.src.tar.xz '5778512b2e065c204010f88777d44b95250671103e434f9dc7363ab2e3804253', # clang-9.0.1.src.tar.xz @@ -46,7 +46,7 @@ checksums = [ '86262bad3e2fd784ba8c5e2158d7aa36f12b85f2515e95bc81d65d75bb9b0c82', # lld-9.0.1.src.tar.xz '0981ff11b862f4f179a13576ab0a2f5530f46bd3b6b4a90f568ccc6a62914b34', # libcxx-9.0.1.src.tar.xz 'e8f978aa4cfae2d7a0b4d89275637078557cca74b35c31b7283d4786948a8aac', # libcxxabi-9.0.1.src.tar.xz - '6a39230b9e2b2c61fb5f67ac752d256437ccc56a6a517d7b6d53417d198fdb1f', # libcxx-9.0.1-ppc64le.patch + '01d2a16fe69854c0126a8adb4762a455cc6bf1f70003cb8b685e446a66a9aa51', # libcxx-9.0.1-ppc64le.patch ] dependencies = [ diff --git a/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-8.3.0.eb index f9e2e51d164..207b6260193 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-8.3.0.eb @@ -33,7 +33,7 @@ sources = [ 'libcxx-%(version)s.src.tar.xz', 'libcxxabi-%(version)s.src.tar.xz', ] -patches = ['libcxx-%(version)s-ppc64le.patch'] +patches = [('libcxx-%(version)s-ppc64le.patch', '../')] checksums = [ '00a1ee1f389f81e9979f3a640a01c431b3021de0d42278f6508391a2f0b81c9a', # llvm-9.0.1.src.tar.xz '5778512b2e065c204010f88777d44b95250671103e434f9dc7363ab2e3804253', # clang-9.0.1.src.tar.xz @@ -43,7 +43,7 @@ checksums = [ '86262bad3e2fd784ba8c5e2158d7aa36f12b85f2515e95bc81d65d75bb9b0c82', # lld-9.0.1.src.tar.xz '0981ff11b862f4f179a13576ab0a2f5530f46bd3b6b4a90f568ccc6a62914b34', # libcxx-9.0.1.src.tar.xz 'e8f978aa4cfae2d7a0b4d89275637078557cca74b35c31b7283d4786948a8aac', # libcxxabi-9.0.1.src.tar.xz - '6a39230b9e2b2c61fb5f67ac752d256437ccc56a6a517d7b6d53417d198fdb1f', # libcxx-9.0.1-ppc64le.patch + '01d2a16fe69854c0126a8adb4762a455cc6bf1f70003cb8b685e446a66a9aa51', # libcxx-9.0.1-ppc64le.patch ] dependencies = [ diff --git a/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-9.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-9.3.0.eb index 434dfe35415..097cc871651 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-9.3.0.eb @@ -33,7 +33,7 @@ sources = [ 'libcxx-%(version)s.src.tar.xz', 'libcxxabi-%(version)s.src.tar.xz', ] -patches = ['libcxx-%(version)s-ppc64le.patch'] +patches = [('libcxx-%(version)s-ppc64le.patch', '../')] checksums = [ '00a1ee1f389f81e9979f3a640a01c431b3021de0d42278f6508391a2f0b81c9a', # llvm-9.0.1.src.tar.xz '5778512b2e065c204010f88777d44b95250671103e434f9dc7363ab2e3804253', # clang-9.0.1.src.tar.xz @@ -43,7 +43,7 @@ checksums = [ '86262bad3e2fd784ba8c5e2158d7aa36f12b85f2515e95bc81d65d75bb9b0c82', # lld-9.0.1.src.tar.xz '0981ff11b862f4f179a13576ab0a2f5530f46bd3b6b4a90f568ccc6a62914b34', # libcxx-9.0.1.src.tar.xz 'e8f978aa4cfae2d7a0b4d89275637078557cca74b35c31b7283d4786948a8aac', # libcxxabi-9.0.1.src.tar.xz - '6a39230b9e2b2c61fb5f67ac752d256437ccc56a6a517d7b6d53417d198fdb1f', # libcxx-9.0.1-ppc64le.patch + '01d2a16fe69854c0126a8adb4762a455cc6bf1f70003cb8b685e446a66a9aa51', # libcxx-9.0.1-ppc64le.patch ] dependencies = [ diff --git a/easybuild/easyconfigs/c/Clang/libcxx-9.0.1-ppc64le.patch b/easybuild/easyconfigs/c/Clang/libcxx-9.0.1-ppc64le.patch index b827d9c5ce9..cbf55ee91be 100644 --- a/easybuild/easyconfigs/c/Clang/libcxx-9.0.1-ppc64le.patch +++ b/easybuild/easyconfigs/c/Clang/libcxx-9.0.1-ppc64le.patch @@ -2,8 +2,8 @@ Reverse the if def order. Patch from https://bugs.llvm.org/show_bug.cgi?id=39696 Prepared for EasyBuild by Simon Branford, University of Birmingham diff --git a/libcxx/include/thread b/libcxx/include/thread index 02da703..d1677a1 100644 ---- a/projects/libcxx/include/thread -+++ b/projects/libcxx/include/thread +--- a/libcxx-9.0.1.src/include/thread ++++ b/libcxx-9.0.1.src/include/thread @@ -368,9 +368,9 @@ sleep_for(const chrono::duration<_Rep, _Period>& __d) { #if defined(_LIBCPP_COMPILER_GCC) && (__powerpc__ || __POWERPC__) diff --git a/easybuild/easyconfigs/c/Clarabel.rs/Clarabel.rs-0.7.1-gfbf-2023a.eb b/easybuild/easyconfigs/c/Clarabel.rs/Clarabel.rs-0.7.1-gfbf-2023a.eb new file mode 100644 index 00000000000..32eea7ff16f --- /dev/null +++ b/easybuild/easyconfigs/c/Clarabel.rs/Clarabel.rs-0.7.1-gfbf-2023a.eb @@ -0,0 +1,383 @@ +easyblock = 'CargoPythonPackage' + +name = 'Clarabel.rs' +version = '0.7.1' + +homepage = "https://github.com/oxfordcontrol/Clarabel.rs" +description = "Interior-point solver for convex conic optimisation problems in Rust." + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('maturin', '1.4.0', '-Rust-1.75.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +crates = [ + ('clarabel', version), + ('accelerate-src', '0.3.2'), + ('addr2line', '0.19.0'), + ('adler', '1.0.2'), + ('amd', '0.2.2'), + ('anyhow', '1.0.70'), + ('autocfg', '1.1.0'), + ('backtrace', '0.3.67'), + ('base64', '0.13.1'), + ('base64', '0.21.0'), + ('bitflags', '1.3.2'), + ('blas', '0.22.0'), + ('blas-src', '0.9.0'), + ('blas-sys', '0.7.1'), + ('cc', '1.0.79'), + ('cfg-if', '0.1.10'), + ('cfg-if', '1.0.0'), + ('cmake', '0.1.50'), + ('core-foundation', '0.9.3'), + ('core-foundation-sys', '0.8.4'), + ('crc32fast', '1.3.2'), + ('curl', '0.4.44'), + ('curl-sys', '0.4.61+curl-8.0.1'), + ('darling', '0.14.1'), + ('darling_core', '0.14.1'), + ('darling_macro', '0.14.1'), + ('derive_builder', '0.11.2'), + ('derive_builder_core', '0.11.2'), + ('derive_builder_macro', '0.11.2'), + ('dirs', '2.0.2'), + ('dirs', '3.0.2'), + ('dirs-sys', '0.3.7'), + ('either', '1.8.1'), + ('enum_dispatch', '0.3.11'), + ('errno', '0.3.1'), + ('errno-dragonfly', '0.1.2'), + ('failure', '0.1.8'), + ('failure_derive', '0.1.8'), + ('fastrand', '1.9.0'), + ('filetime', '0.2.21'), + ('flate2', '1.0.25'), + ('fnv', '1.0.7'), + ('foreign-types', '0.3.2'), + ('foreign-types-shared', '0.1.1'), + ('form_urlencoded', '1.1.0'), + ('getrandom', '0.2.9'), + ('gimli', '0.27.2'), + ('glob', '0.3.1'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.1'), + ('ident_case', '1.0.1'), + ('idna', '0.3.0'), + ('indoc', '2.0.4'), + ('instant', '0.1.12'), + ('intel-mkl-src', '0.5.0'), + ('intel-mkl-tool', '0.1.0'), + ('io-lifetimes', '1.0.10'), + ('itertools', '0.9.0'), + ('itertools', '0.11.0'), + ('itoa', '1.0.3'), + ('jobserver', '0.1.26'), + ('lapack', '0.19.0'), + ('lapack-src', '0.9.0'), + ('lapack-sys', '0.14.0'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.149'), + ('libz-sys', '1.1.8'), + ('linux-raw-sys', '0.3.4'), + ('lock_api', '0.4.7'), + ('log', '0.4.17'), + ('memchr', '2.5.0'), + ('memoffset', '0.9.0'), + ('miniz_oxide', '0.6.2'), + ('native-tls', '0.2.11'), + ('netlib-src', '0.8.0'), + ('num-complex', '0.4.5'), + ('num-derive', '0.2.5'), + ('num-traits', '0.2.18'), + ('object', '0.30.3'), + ('once_cell', '1.18.0'), + ('openblas-build', '0.10.8'), + ('openblas-src', '0.10.8'), + ('openssl', '0.10.52'), + ('openssl-macros', '0.1.0'), + ('openssl-probe', '0.1.5'), + ('openssl-sys', '0.9.87'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.3'), + ('percent-encoding', '2.2.0'), + ('pkg-config', '0.3.26'), + ('portable-atomic', '1.6.0'), + ('proc-macro2', '0.4.30'), + ('proc-macro2', '1.0.78'), + ('pyo3', '0.20.3'), + ('pyo3-build-config', '0.20.3'), + ('pyo3-ffi', '0.20.3'), + ('pyo3-macros', '0.20.3'), + ('pyo3-macros-backend', '0.20.3'), + ('quote', '0.6.13'), + ('quote', '1.0.35'), + ('r-src', '0.1.0'), + ('redox_syscall', '0.2.16'), + ('redox_syscall', '0.3.5'), + ('redox_users', '0.4.3'), + ('rustc-demangle', '0.1.23'), + ('rustix', '0.37.7'), + ('rustls-native-certs', '0.6.2'), + ('rustls-pemfile', '1.0.2'), + ('ryu', '1.0.11'), + ('same-file', '1.0.6'), + ('schannel', '0.1.21'), + ('scopeguard', '1.1.0'), + ('security-framework', '2.8.2'), + ('security-framework-sys', '2.8.0'), + ('serde', '1.0.144'), + ('serde_derive', '1.0.144'), + ('serde_json', '1.0.85'), + ('smallvec', '1.9.0'), + ('socket2', '0.4.9'), + ('strsim', '0.10.0'), + ('syn', '0.15.44'), + ('syn', '1.0.109'), + ('syn', '2.0.52'), + ('synstructure', '0.12.6'), + ('tar', '0.4.38'), + ('target-lexicon', '0.12.4'), + ('tempfile', '3.5.0'), + ('thiserror', '1.0.39'), + ('thiserror-impl', '1.0.39'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.2'), + ('unicode-normalization', '0.1.22'), + ('unicode-xid', '0.1.0'), + ('unicode-xid', '0.2.4'), + ('unindent', '0.2.3'), + ('ureq', '2.6.2'), + ('url', '2.3.1'), + ('vcpkg', '0.2.15'), + ('walkdir', '2.3.3'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.5'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-sys', '0.36.1'), + ('windows-sys', '0.42.0'), + ('windows-sys', '0.45.0'), + ('windows-sys', '0.48.0'), + ('windows-targets', '0.42.2'), + ('windows-targets', '0.48.0'), + ('windows_aarch64_gnullvm', '0.42.2'), + ('windows_aarch64_gnullvm', '0.48.0'), + ('windows_aarch64_msvc', '0.36.1'), + ('windows_aarch64_msvc', '0.42.2'), + ('windows_aarch64_msvc', '0.48.0'), + ('windows_i686_gnu', '0.36.1'), + ('windows_i686_gnu', '0.42.2'), + ('windows_i686_gnu', '0.48.0'), + ('windows_i686_msvc', '0.36.1'), + ('windows_i686_msvc', '0.42.2'), + ('windows_i686_msvc', '0.48.0'), + ('windows_x86_64_gnu', '0.36.1'), + ('windows_x86_64_gnu', '0.42.2'), + ('windows_x86_64_gnu', '0.48.0'), + ('windows_x86_64_gnullvm', '0.42.2'), + ('windows_x86_64_gnullvm', '0.48.0'), + ('windows_x86_64_msvc', '0.36.1'), + ('windows_x86_64_msvc', '0.42.2'), + ('windows_x86_64_msvc', '0.48.0'), + ('xattr', '0.2.3'), + ('zstd', '0.5.4+zstd.1.4.7'), + ('zstd-safe', '2.0.6+zstd.1.4.7'), + ('zstd-sys', '1.4.18+zstd.1.4.7'), +] + +sources = [] +checksums = [ + {'clarabel-0.7.1.tar.gz': 'e4c0e3ebbd6441dcc7f879e89e727fe90b4e4fcecf6295f283a0d02077fb8365'}, + {'accelerate-src-0.3.2.tar.gz': '415ed64958754dbe991900f3940677e6a7eefb4d7367afd70d642677b0c7d19d'}, + {'addr2line-0.19.0.tar.gz': 'a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'amd-0.2.2.tar.gz': 'a679e001575697a3bd195813feb57a4718ecc08dc194944015cbc5f6213c2b96'}, + {'anyhow-1.0.70.tar.gz': '7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'backtrace-0.3.67.tar.gz': '233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'base64-0.21.0.tar.gz': 'a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'blas-0.22.0.tar.gz': 'ae980f75c3215bfe8203c349b28149b0f4130a262e072913ccb55f877cd239dc'}, + {'blas-src-0.9.0.tar.gz': 'aa443ee19b4cde6cdbd49043eb8964f9dd367b6d98d67f04395958ebfa28f39d'}, + {'blas-sys-0.7.1.tar.gz': '13b1b279ceb25d7c4faaea95a5f7addbe7d8c34f9462044bd8e630cebcfc2440'}, + {'cc-1.0.79.tar.gz': '50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f'}, + {'cfg-if-0.1.10.tar.gz': '4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'cmake-0.1.50.tar.gz': 'a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130'}, + {'core-foundation-0.9.3.tar.gz': '194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146'}, + {'core-foundation-sys-0.8.4.tar.gz': 'e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'curl-0.4.44.tar.gz': '509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22'}, + {'curl-sys-0.4.61+curl-8.0.1.tar.gz': '14d05c10f541ae6f3bc5b3d923c20001f47db7d5f0b2bc6ad16490133842db79'}, + {'darling-0.14.1.tar.gz': '4529658bdda7fd6769b8614be250cdcfc3aeb0ee72fe66f9e41e5e5eb73eac02'}, + {'darling_core-0.14.1.tar.gz': '649c91bc01e8b1eac09fb91e8dbc7d517684ca6be8ebc75bb9cafc894f9fdb6f'}, + {'darling_macro-0.14.1.tar.gz': 'ddfc69c5bfcbd2fc09a0f38451d2daf0e372e367986a83906d1b0dbc88134fb5'}, + {'derive_builder-0.11.2.tar.gz': 'd07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3'}, + {'derive_builder_core-0.11.2.tar.gz': '1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4'}, + {'derive_builder_macro-0.11.2.tar.gz': '8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68'}, + {'dirs-2.0.2.tar.gz': '13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3'}, + {'dirs-3.0.2.tar.gz': '30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309'}, + {'dirs-sys-0.3.7.tar.gz': '1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6'}, + {'either-1.8.1.tar.gz': '7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91'}, + {'enum_dispatch-0.3.11.tar.gz': '11f36e95862220b211a6e2aa5eca09b4fa391b13cd52ceb8035a24bf65a79de2'}, + {'errno-0.3.1.tar.gz': '4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a'}, + {'errno-dragonfly-0.1.2.tar.gz': 'aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf'}, + {'failure-0.1.8.tar.gz': 'd32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86'}, + {'failure_derive-0.1.8.tar.gz': 'aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4'}, + {'fastrand-1.9.0.tar.gz': 'e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be'}, + {'filetime-0.2.21.tar.gz': '5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153'}, + {'flate2-1.0.25.tar.gz': 'a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'foreign-types-0.3.2.tar.gz': 'f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1'}, + {'foreign-types-shared-0.1.1.tar.gz': '00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b'}, + {'form_urlencoded-1.1.0.tar.gz': 'a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8'}, + {'getrandom-0.2.9.tar.gz': 'c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4'}, + {'gimli-0.27.2.tar.gz': 'ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.1.tar.gz': 'fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286'}, + {'ident_case-1.0.1.tar.gz': 'b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39'}, + {'idna-0.3.0.tar.gz': 'e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6'}, + {'indoc-2.0.4.tar.gz': '1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'intel-mkl-src-0.5.0.tar.gz': '7260b33a735eaebcb942800728b38c5760b125ea5e4346290d78397b5422b894'}, + {'intel-mkl-tool-0.1.0.tar.gz': 'ada23f955fb7d06cb5db9424863caa7251f8f9b525f4c4816144465f77cfded7'}, + {'io-lifetimes-1.0.10.tar.gz': '9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220'}, + {'itertools-0.9.0.tar.gz': '284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itoa-1.0.3.tar.gz': '6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754'}, + {'jobserver-0.1.26.tar.gz': '936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2'}, + {'lapack-0.19.0.tar.gz': 'ad676a6b4df7e76a9fd80a0c50c619a3948d6105b62a0ab135f064d99c51d207'}, + {'lapack-src-0.9.0.tar.gz': '24c81fcc728418323178fd40407619d0ed26dbbbd1a553693c6290ef5d6698c6'}, + {'lapack-sys-0.14.0.tar.gz': '447f56c85fb410a7a3d36701b2153c1018b1d2b908c5fbaf01c1b04fac33bcbe'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.149.tar.gz': 'a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b'}, + {'libz-sys-1.1.8.tar.gz': '9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf'}, + {'linux-raw-sys-0.3.4.tar.gz': '36eb31c1778188ae1e64398743890d0877fef36d11521ac60406b42016e8c2cf'}, + {'lock_api-0.4.7.tar.gz': '327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53'}, + {'log-0.4.17.tar.gz': 'abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e'}, + {'memchr-2.5.0.tar.gz': '2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'miniz_oxide-0.6.2.tar.gz': 'b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa'}, + {'native-tls-0.2.11.tar.gz': '07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e'}, + {'netlib-src-0.8.0.tar.gz': '39f41f36bb4d46906d5a72da5b73a804d9de1a7282eb7c89617201acda7b8212'}, + {'num-complex-0.4.5.tar.gz': '23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6'}, + {'num-derive-0.2.5.tar.gz': 'eafd0b45c5537c3ba526f79d3e75120036502bebacbb3f3220914067ce39dbf2'}, + {'num-traits-0.2.18.tar.gz': 'da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a'}, + {'object-0.30.3.tar.gz': 'ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439'}, + {'once_cell-1.18.0.tar.gz': 'dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d'}, + {'openblas-build-0.10.8.tar.gz': 'eba42c395477605f400a8d79ee0b756cfb82abe3eb5618e35fa70d3a36010a7f'}, + {'openblas-src-0.10.8.tar.gz': '38e5d8af0b707ac2fe1574daa88b4157da73b0de3dc7c39fe3e2c0bb64070501'}, + {'openssl-0.10.52.tar.gz': '01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56'}, + {'openssl-macros-0.1.0.tar.gz': 'b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'openssl-sys-0.9.87.tar.gz': '8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.3.tar.gz': '09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929'}, + {'percent-encoding-2.2.0.tar.gz': '478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e'}, + {'pkg-config-0.3.26.tar.gz': '6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'proc-macro2-0.4.30.tar.gz': 'cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759'}, + {'proc-macro2-1.0.78.tar.gz': 'e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae'}, + {'pyo3-0.20.3.tar.gz': '53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233'}, + {'pyo3-build-config-0.20.3.tar.gz': 'deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7'}, + {'pyo3-ffi-0.20.3.tar.gz': '62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa'}, + {'pyo3-macros-0.20.3.tar.gz': '7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158'}, + {'pyo3-macros-backend-0.20.3.tar.gz': '7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185'}, + {'quote-0.6.13.tar.gz': '6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1'}, + {'quote-1.0.35.tar.gz': '291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'}, + {'r-src-0.1.0.tar.gz': 'ea397956e1043a8d947ea84b13971d9cb30fce65ca66a921081755ff2e899b6a'}, + {'redox_syscall-0.2.16.tar.gz': 'fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a'}, + {'redox_syscall-0.3.5.tar.gz': '567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29'}, + {'redox_users-0.4.3.tar.gz': 'b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b'}, + {'rustc-demangle-0.1.23.tar.gz': 'd626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76'}, + {'rustix-0.37.7.tar.gz': '2aae838e49b3d63e9274e1c01833cc8139d3fec468c3b84688c628f44b1ae11d'}, + {'rustls-native-certs-0.6.2.tar.gz': '0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50'}, + {'rustls-pemfile-1.0.2.tar.gz': 'd194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b'}, + {'ryu-1.0.11.tar.gz': '4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'schannel-0.1.21.tar.gz': '713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'security-framework-2.8.2.tar.gz': 'a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254'}, + {'security-framework-sys-2.8.0.tar.gz': '31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4'}, + {'serde-1.0.144.tar.gz': '0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860'}, + {'serde_derive-1.0.144.tar.gz': '94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00'}, + {'serde_json-1.0.85.tar.gz': 'e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44'}, + {'smallvec-1.9.0.tar.gz': '2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1'}, + {'socket2-0.4.9.tar.gz': '64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'syn-0.15.44.tar.gz': '9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.52.tar.gz': 'b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07'}, + {'synstructure-0.12.6.tar.gz': 'f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f'}, + {'tar-0.4.38.tar.gz': '4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6'}, + {'target-lexicon-0.12.4.tar.gz': 'c02424087780c9b71cc96799eaeddff35af2bc513278cda5c99fc1f5d026d3c1'}, + {'tempfile-3.5.0.tar.gz': 'b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998'}, + {'thiserror-1.0.39.tar.gz': 'a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c'}, + {'thiserror-impl-1.0.39.tar.gz': '5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'unicode-bidi-0.3.13.tar.gz': '92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460'}, + {'unicode-ident-1.0.2.tar.gz': '15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-xid-0.1.0.tar.gz': 'fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc'}, + {'unicode-xid-0.2.4.tar.gz': 'f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'ureq-2.6.2.tar.gz': '338b31dd1314f68f3aabf3ed57ab922df95ffcd902476ca7ba3c4ce7b908c46d'}, + {'url-2.3.1.tar.gz': '0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'walkdir-2.3.3.tar.gz': '36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.5.tar.gz': '70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-sys-0.36.1.tar.gz': 'ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2'}, + {'windows-sys-0.42.0.tar.gz': '5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7'}, + {'windows-sys-0.45.0.tar.gz': '75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-targets-0.42.2.tar.gz': '8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071'}, + {'windows-targets-0.48.0.tar.gz': '7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5'}, + {'windows_aarch64_gnullvm-0.42.2.tar.gz': '597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8'}, + {'windows_aarch64_gnullvm-0.48.0.tar.gz': '91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc'}, + {'windows_aarch64_msvc-0.36.1.tar.gz': '9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47'}, + {'windows_aarch64_msvc-0.42.2.tar.gz': 'e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43'}, + {'windows_aarch64_msvc-0.48.0.tar.gz': 'b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3'}, + {'windows_i686_gnu-0.36.1.tar.gz': '180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6'}, + {'windows_i686_gnu-0.42.2.tar.gz': 'c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f'}, + {'windows_i686_gnu-0.48.0.tar.gz': '622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241'}, + {'windows_i686_msvc-0.36.1.tar.gz': 'e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024'}, + {'windows_i686_msvc-0.42.2.tar.gz': '44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060'}, + {'windows_i686_msvc-0.48.0.tar.gz': '4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00'}, + {'windows_x86_64_gnu-0.36.1.tar.gz': '4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1'}, + {'windows_x86_64_gnu-0.42.2.tar.gz': '8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36'}, + {'windows_x86_64_gnu-0.48.0.tar.gz': 'ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1'}, + {'windows_x86_64_gnullvm-0.42.2.tar.gz': '26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3'}, + {'windows_x86_64_gnullvm-0.48.0.tar.gz': '7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953'}, + {'windows_x86_64_msvc-0.36.1.tar.gz': 'c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680'}, + {'windows_x86_64_msvc-0.42.2.tar.gz': '9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0'}, + {'windows_x86_64_msvc-0.48.0.tar.gz': '1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a'}, + {'xattr-0.2.3.tar.gz': '6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc'}, + {'zstd-0.5.4+zstd.1.4.7.tar.gz': '69996ebdb1ba8b1517f61387a883857818a66c8a295f487b1ffd8fd9d2c82910'}, + {'zstd-safe-2.0.6+zstd.1.4.7.tar.gz': '98aa931fb69ecee256d44589d19754e61851ae4769bf963b385119b1cc37a49e'}, + {'zstd-sys-1.4.18+zstd.1.4.7.tar.gz': 'a1e6e8778706838f43f771d80d37787cb2fe06dafe89dd3aebaf6721b9eaec81'}, +] + +options = {'modulename': 'clarabel'} + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/Clp/Clp-1.17.9-foss-2023a.eb b/easybuild/easyconfigs/c/Clp/Clp-1.17.9-foss-2023a.eb new file mode 100644 index 00000000000..b87d2708941 --- /dev/null +++ b/easybuild/easyconfigs/c/Clp/Clp-1.17.9-foss-2023a.eb @@ -0,0 +1,61 @@ +easyblock = 'ConfigureMake' + +name = 'Clp' +version = '1.17.9' + +homepage = "https://github.com/coin-or/Clp" +description = """Clp (Coin-or linear programming) is an open-source linear programming solver. +It is primarily meant to be used as a callable library, but a basic, +stand-alone executable version is also available.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/coin-or/Clp/archive/refs/tags/releases/'] +sources = ['%(version)s.tar.gz'] +checksums = ['b02109be54e2c9c6babc9480c242b2c3c7499368cfca8c0430f74782a694a49f'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.7'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('METIS', '5.1.0'), + ('MUMPS', '5.6.1', '-metis'), + ('CoinUtils', '2.11.10'), + ('Osi', '0.108.9'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), +] + +# Use BLAS/LAPACK from toolchain +configopts = '--with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK" ' + +# Use METIS AND MUMPS from EB +# --with-metis-lib is ignored +configopts += '--with-metis-lib="-lmetis" ' +configopts += '--with-mumps-lib="-lesmumps -lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord -lmpi_mpifh ' +configopts += '-lmetis -lscotch -lptscotch -lptscotcherr -lscotcherrexit -lscotcherr $LIBSCALAPACK" ' + +# Disable GLPK because Clp requires headers from its sources +configopts += '--without-glpk ' + +# Use CoinUtils from EB +configopts += '--with-coinutils-lib="-lCoinUtils" ' +configopts += '--with-coinutils-datadir=$EBROOTCOINUTILS/share/coin/Data ' + +# Use Osi from EB +configopts += '--with-osi-lib="-lOsi" ' +configopts += '--with-osi-datadir=$EBROOTOSI/share/coin/Data ' + +sanity_check_paths = { + 'files': ['bin/clp'] + ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['Clp', 'ClpSolver', 'OsiClp']], + 'dirs': ['include/coin', 'lib/pkgconfig', 'share/coin'] +} + +# other coin-or projects expect instead of +modextrapaths = {'CPATH': 'include/coin'} + +moduleclass = "math" diff --git a/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-11.2.0.eb b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-11.2.0.eb new file mode 100644 index 00000000000..1784c84bab0 --- /dev/null +++ b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-11.2.0.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by Adam Huffman +# Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'Clustal-Omega' +version = '1.2.4' + +homepage = 'http://www.clustal.org/omega/' +description = """ Clustal Omega is a multiple sequence alignment + program for proteins. It produces biologically meaningful multiple + sequence alignments of divergent sequences. Evolutionary relationships + can be seen via viewing Cladograms or Phylograms """ + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'openmp': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8683d2286d663a46412c12a0c789e755e7fd77088fb3bc0342bb71667f05a3ee'] + +dependencies = [('argtable', '2.13')] + +sanity_check_paths = { + 'files': ['bin/clustalo'], + 'dirs': [], +} + +sanity_check_commands = ["clustalo --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/ClustalW2/ClustalW2-2.1-GCC-12.3.0.eb b/easybuild/easyconfigs/c/ClustalW2/ClustalW2-2.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..85a6b9a4394 --- /dev/null +++ b/easybuild/easyconfigs/c/ClustalW2/ClustalW2-2.1-GCC-12.3.0.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Cedric Laczny , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## +# foss-2016b modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'ClustalW2' +version = '2.1' + +homepage = 'https://www.ebi.ac.uk/Tools/msa/clustalw2/' +description = """ClustalW2 is a general purpose multiple sequence alignment program for DNA or proteins.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.clustal.org/download/%(version)s'] +sources = ['clustalw-%(version)s.tar.gz'] +checksums = ['e052059b87abfd8c9e695c280bfba86a65899138c82abccd5b00478a80f49486'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = ['(echo H; echo X; echo X) | clustalw2'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CmdStanR/CmdStanR-0.7.1-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/c/CmdStanR/CmdStanR-0.7.1-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..9c87742f503 --- /dev/null +++ b/easybuild/easyconfigs/c/CmdStanR/CmdStanR-0.7.1-foss-2023a-R-4.3.2.eb @@ -0,0 +1,28 @@ +easyblock = 'RPackage' + +name = 'CmdStanR' +version = '0.7.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://mc-stan.org/cmdstanr' +description = "CmdStanR is a lightweight interface to Stan for R users" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/stan-dev/cmdstanr/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62e552c641c4faaf64edaf0951a8c39dde8758193154bb79c6b7df114bce233c'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + +options = {'modulename': '%(namelower)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CoinUtils/CoinUtils-2.11.10-GCC-12.3.0.eb b/easybuild/easyconfigs/c/CoinUtils/CoinUtils-2.11.10-GCC-12.3.0.eb new file mode 100644 index 00000000000..642d353e5d8 --- /dev/null +++ b/easybuild/easyconfigs/c/CoinUtils/CoinUtils-2.11.10-GCC-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'CoinUtils' +version = '2.11.10' + +homepage = "https://github.com/coin-or/CoinUtils" +description = """CoinUtils (Coin-OR Utilities) is an open-source collection of classes and +functions that are generally useful to more than one COIN-OR project.""" + +source_urls = ['https://github.com/coin-or/CoinUtils/archive/refs/tags/releases/'] +sources = ['%(version)s.tar.gz'] +checksums = ['80c7c215262df8d6bd2ba171617c5df844445871e9891ec6372df12ccbe5bcfd'] + +# NOTE: this esyconfig for CoinUtils provides a minimal build not using BLAS/LAPACK or MPI +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.7'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['lib/libCoinUtils.%s' % SHLIB_EXT], + 'dirs': ['include/coin', 'lib/pkgconfig', 'share/coin'] +} + +# other coin-or projects expect instead of +modextrapaths = {'CPATH': 'include/coin'} + +moduleclass = "math" diff --git a/easybuild/easyconfigs/c/Compress-Raw-Zlib/Compress-Raw-Zlib-2.202-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/Compress-Raw-Zlib/Compress-Raw-Zlib-2.202-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..c3c856455fb --- /dev/null +++ b/easybuild/easyconfigs/c/Compress-Raw-Zlib/Compress-Raw-Zlib-2.202-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PerlModule' + +name = 'Compress-Raw-Zlib' +version = '2.202' + +homepage = 'https://metacpan.org/pod/Compress::Raw::Zlib' +description = "Low-Level Interface to zlib or zlib-ng compression library" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/P/PM/PMQS/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['96e20946eb457a32d2d7a0050b922e37b5ada41246bcdc824196d3f7c4da91b7'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Perl', '5.36.0'), + ('zlib', '1.2.12'), +] + +options = {'modulename': 'Compress::Raw::Zlib'} + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/Compress/Raw/Zlib.pm'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Concorde/Concorde-20031219-GCC-12.3.0.eb b/easybuild/easyconfigs/c/Concorde/Concorde-20031219-GCC-12.3.0.eb new file mode 100644 index 00000000000..05e2c345c51 --- /dev/null +++ b/easybuild/easyconfigs/c/Concorde/Concorde-20031219-GCC-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'Concorde' +version = '20031219' + +homepage = 'https://www.math.uwaterloo.ca/tsp/concorde.html' +description = """Concorde is a computer code for the symmetric traveling salesman problem (TSP) + and some related network optimization problems""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://www.math.uwaterloo.ca/tsp/concorde/downloads/codes/src/'] +sources = ['co%s.tgz' % version[2:]] +patches = ['Concorde-20031219_fix-h_addr.patch'] +checksums = [ + {'co031219.tgz': 'c3650a59c8d57e0a00e81c1288b994a99c5aa03e5d96a314834c2d8f9505c724'}, + {'Concorde-20031219_fix-h_addr.patch': '1632e45d68c6d3806d2d56eae6d84b02ab0aa526f557b0ae1210385b0f00b8ae'}, +] + +with_configure = True + +local_binaries = ['CUT/mincut', 'EDGEGEN/edgegen', 'FMATCH/fmatch', 'LINKERN/linkern', 'LOCALCUT/localcut', + 'TOOLS/fconvert', 'TOOLS/edg2len', 'TOOLS/edgunion', 'TOOLS/prob2tsp', 'TOOLS/showres', + 'TOOLS/tourchk', 'TOOLS/tourlen', 'TSP/concorde'] + +files_to_copy = [ + (['concorde.a'], 'lib'), + (['concorde.h'], 'include'), + (local_binaries, 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/concorde', 'bin/edgegen', 'bin/edg2len', 'bin/fconvert', 'bin/fmatch', 'bin/linkern', 'bin/showres', + 'include/concorde.h', 'lib/concorde.a'], + 'dirs': [], +} + +sanity_check_commands = ["concorde 2>&1 | grep '^Usage: concorde'"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/Concorde/Concorde-20031219_fix-h_addr.patch b/easybuild/easyconfigs/c/Concorde/Concorde-20031219_fix-h_addr.patch new file mode 100644 index 00000000000..96430079869 --- /dev/null +++ b/easybuild/easyconfigs/c/Concorde/Concorde-20031219_fix-h_addr.patch @@ -0,0 +1,13 @@ +fix for: error: ‘struct hostent’ has no member named ‘h_addr’ +author: Kenneth Hoste (HPC-UGent) +--- concorde/UTIL/safe_io.c.orig 2024-01-31 19:51:20.865401391 +0100 ++++ concorde/UTIL/safe_io.c 2024-01-31 19:51:40.452228752 +0100 +@@ -1248,7 +1248,7 @@ + fprintf (stderr, "cannot get host info for %s\n", hname); + return (CC_SFILE *) NULL; + } +- memcpy ((void *) &hsock.sin_addr, (void *) h->h_addr, h->h_length); ++ memcpy ((void *) &hsock.sin_addr, (void *) h->h_addr_list[0], h->h_length); + hsock.sin_family = AF_INET; + hsock.sin_port = htons(p); + diff --git a/easybuild/easyconfigs/c/CoordgenLibs/CoordgenLibs-3.0.2-gompi-2023a.eb b/easybuild/easyconfigs/c/CoordgenLibs/CoordgenLibs-3.0.2-gompi-2023a.eb new file mode 100644 index 00000000000..425c16ca298 --- /dev/null +++ b/easybuild/easyconfigs/c/CoordgenLibs/CoordgenLibs-3.0.2-gompi-2023a.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'CoordgenLibs' +version = '3.0.2' + +homepage = 'https://github.com/schrodinger/coordgenlibs' +description = "Schrodinger-developed 2D Coordinate Generation" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +source_urls = ['https://github.com/schrodinger/coordgenlibs/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f67697434f7fec03bca150a6d84ea0e8409f6ec49d5aab43badc5833098ff4e3'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Boost', '1.82.0'), + ('maeparser', '1.3.1'), +] + +configopts = "-Dmaeparser_DIR=$EBROOTMAEPARSER/lib/cmake" + +# work around compiler warning treated as error by stripping out use of -Werror +prebuildopts = "sed -i 's/-Werror//g' CMakeFiles/coordgen.dir/flags.make && " + +sanity_check_paths = { + 'files': ['lib/libcoordgen.%s' % SHLIB_EXT], + 'dirs': ['include/coordgen', 'lib/cmake'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3e12be7a1d3 --- /dev/null +++ b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'CppUnit' +version = '1.15.1' + +homepage = 'https://freedesktop.org/wiki/Software/cppunit/' + +description = """ + CppUnit is the C++ port of the famous JUnit framework for unit testing. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://dev-www.libreoffice.org/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['lib/libcppunit.a', 'lib/libcppunit.%s' % SHLIB_EXT, + 'lib/pkgconfig/cppunit.pc'], + 'dirs': ['bin', 'include/cppunit', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CuPy/CuPy-13.0.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/CuPy/CuPy-13.0.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..4d1e02157e5 --- /dev/null +++ b/easybuild/easyconfigs/c/CuPy/CuPy-13.0.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,85 @@ +easyblock = 'PythonBundle' + +name = 'CuPy' +version = '13.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://cupy.dev' +description = "CuPy is an open-source array library accelerated with NVIDIA CUDA." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hypothesis', '6.82.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('CUDA', '12.1.1', '', SYSTEM), + ('cuDNN', '8.9.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.18.3', versionsuffix), + ('cuTENSOR', '2.0.1.2', versionsuffix, SYSTEM), + ('cuSPARSELt', '0.6.0.6', versionsuffix, SYSTEM), +] + +use_pip = True + +exts_default_options = {'source_urls': [PYPI_LOWER_SOURCE]} + +_skip_tests = [ + '--ignore tests/example_tests', # examples are not included + '--ignore tests/cupy_tests/fft_tests/test_fft.py', # CUFFT_INTERNAL_ERROR + # Sorting broken on at least T4 (this is troubling): + '--deselect tests/cupy_tests/' + 'sorting_tests/test_sort.py::TestArgsort_param_0_{external=False}::test_argsort_one_dim', + '--deselect tests/cupy_tests/' + 'sorting_tests/test_sort.py::TestArgsort_param_1_{external=True}::test_argsort_one_dim', + # https://github.com/cupy/cupy/issues/8255: + '--deselect tests/cupyx_tests/' + 'scipy_tests/signal_tests/test_filter_design.py::TestSOSFreqz::test_sos_freqz_against_mp', + # Floating point precision issues: + '--deselect tests/cupy_tests/core_tests/fusion_tests/test_reduction.py::TestFusion', + '--deselect tests/cupyx_tests/' + 'scipy_tests/signal_tests/test_filter_design.py::TestSOSFreqz::test_sosfrez_design_cheb2_2', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_fir_filter_design.py::TestFirls::test_firls', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_iir_filter_design.py::TestButtord::test_ellip_butter', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_iir_filter_design.py::TestEllipord::test_bandstop', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_iir_filter_design.py::TestEllipord::test_fs_param', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_iir_filter_design.py::TestEllipord::test_ellip_butter', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_ltisys.py::Test_bode::test_from_state_space', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_ltisys.py::TestPlacePoles::test_real_2', + '--deselect tests/cupyx_tests/' + 'scipy_tests/signal_tests/test_polyutils.py::TestPartialFractionExpansion::test_residuez_general', +] + +_parallel_tests = 4 # tests can require a lot of VRAM + +exts_list = [ + ('fastrlock', '0.8.2', { + 'checksums': ['644ec9215cf9c4df8028d8511379a15d9c1af3e16d80e47f1b6fdc6ba118356a'], + }), + ('cupy', version, { + 'preinstallopts': 'CUPY_NUM_BUILD_JOBS=%(parallel)s EB_CCC="%(cuda_cc_cmake)s" ', + 'patches': [ + 'cupy-%(version)s_cusparselt_0.6.0.patch', + 'cupy-%(version)s_eb_ccc.patch', + ], + 'runtest': 'export CUPY_TEST_GPU_LIMIT=1 CUPY_CACHE_DIR="%%(builddir)s" && ' + 'pytest -n %s tests -k "not slow" ' % _parallel_tests + ' '.join(_skip_tests), + 'testinstall': True, + 'checksums': [ + {'cupy-13.0.0.tar.gz': '2f04e7857f692a713360dc9c3b06709806ab8404fca39b5af9721c04a2979aae'}, + {'cupy-13.0.0_cusparselt_0.6.0.patch': '09cb12d26e78079c50b06f17002bf54c66e5e4743b917c5a218d3fe90124d499'}, + {'cupy-13.0.0_eb_ccc.patch': 'bfe8b46344759f58491f55418bd9c856d6f72d681ee5fef12820009f808d2db1'}, + ], + }), +] + +sanity_check_commands = [ + "python -c 'import cupy'", +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CuPy/cupy-13.0.0_cusparselt_0.6.0.patch b/easybuild/easyconfigs/c/CuPy/cupy-13.0.0_cusparselt_0.6.0.patch new file mode 100644 index 00000000000..c202cd34a6c --- /dev/null +++ b/easybuild/easyconfigs/c/CuPy/cupy-13.0.0_cusparselt_0.6.0.patch @@ -0,0 +1,334 @@ +Support for cusparselt 0.6.0 adapted from https://github.com/cupy/cupy/pull/8074 +but with bug fixed for compressed size functions that were wrong. +author: micketeer@gmail.com +diff -ru cupy_backends.orig/cuda/libs/cusparselt.pxd cupy_backends/cuda/libs/cusparselt.pxd +--- cupy_backends.orig/cuda/libs/cusparselt.pxd 2024-03-23 17:08:35.676189389 +0100 ++++ cupy_backends/cuda/libs/cusparselt.pxd 2024-03-23 17:30:34.931591841 +0100 +@@ -13,18 +13,20 @@ + CUSPARSELT_MAT_BATCH_STRIDE = 1 # READ/WRITE + + # cusparseComputeType +- CUSPARSE_COMPUTE_16F = 0 +- CUSPARSE_COMPUTE_32I = 1 +- CUSPARSE_COMPUTE_TF32 = 2 +- CUSPARSE_COMPUTE_TF32_FAST = 3 ++ CUSPARSE_COMPUTE_32I = 0 ++ CUSPARSE_COMPUTE_16F = 1 ++ CUSPARSE_COMPUTE_32F = 2 + + # cusparseLtMatmulDescAttribute_t + CUSPARSELT_MATMUL_ACTIVATION_RELU = 0 # READ/WRITE + CUSPARSELT_MATMUL_ACTIVATION_RELU_UPPERBOUND = 1 # READ/WRITE + CUSPARSELT_MATMUL_ACTIVATION_RELU_THRESHOLD = 2 # READ/WRITE + CUSPARSELT_MATMUL_ACTIVATION_GELU = 3 # READ/WRITE +- CUSPARSELT_MATMUL_BIAS_STRIDE = 4 # READ/WRITE +- CUSPARSELT_MATMUL_BIAS_POINTER = 5 # READ/WRITE ++ CUSPARSELT_MATMUL_ACTIVATION_GELU_SCALING = 4 # READ/WRITE ++ CUSPARSELT_MATMUL_ALPHA_VECTOR_SCALING = 5 # READ/WRITE ++ CUSPARSELT_MATMUL_BETA_VECTOR_SCALING = 6 # READ/WRITE ++ CUSPARSELT_MATMUL_BIAS_POINTER = 7 # READ/WRITE ++ CUSPARSELT_MATMUL_BIAS_STRIDE = 8 # READ/WRITE + + # cusparseLtMatmulAlg_t + CUSPARSELT_MATMUL_ALG_DEFAULT = 0 +@@ -33,6 +35,14 @@ + CUSPARSELT_MATMUL_ALG_CONFIG_ID = 0 # NOQA, READ/WRITE + CUSPARSELT_MATMUL_ALG_CONFIG_MAX_ID = 1 # NOQA, READ-ONLY + CUSPARSELT_MATMUL_SEARCH_ITERATIONS = 2 # NOQA, READ/WRITE ++ CUSPARSELT_MATMUL_SPLIT_K = 3 # NOQA, READ/WRITE ++ CUSPARSELT_MATMUL_SPLIT_K_MODE =4 # NOQA, READ/WRITE ++ CUSPARSELT_MATMUL_SPLIT_K_BUFFERS=5 # NOQA, READ/WRITE ++ ++ # cusparseLtSplitKMode_t ++ CUSPARSELT_INVALID_MODE = 0 ++ CUSPARSELT_SPLIT_K_MODE_ONE_KERNEL = 1 ++ CUSPARSELT_SPLIT_K_MODE_TWO_KERNELS = 2 + + # cusparseLtPruneAlg_t + CUSPARSELT_PRUNE_SPMMA_TILE = 0 +diff -ru cupy_backends.orig/cuda/libs/cusparselt.pyx cupy_backends/cuda/libs/cusparselt.pyx +--- cupy_backends.orig/cuda/libs/cusparselt.pyx 2024-03-23 17:08:35.676189389 +0100 ++++ cupy_backends/cuda/libs/cusparselt.pyx 2024-03-23 18:03:43.706215397 +0100 +@@ -11,6 +11,13 @@ + from cupy_backends.cuda.libs import cusparse as _cusparse + + ++############################################################################### ++# Types ++############################################################################### ++cdef extern from *: ++ ctypedef void* LibraryPropertyType 'libraryPropertyType_t' ++ ++ + cdef extern from '../../cupy_cusparselt.h' nogil: + ctypedef int cusparseStatus_t 'cusparseStatus_t' + ctypedef int cusparseOrder_t 'cusparseOrder_t' +@@ -36,11 +43,14 @@ + ctypedef int cusparseOperation_t 'cusparseOperation_t' + ctypedef int cusparseLtMatmulAlg_t 'cusparseLtMatmulAlg_t' + ctypedef int cusparseLtMatmulAlgAttribute_t 'cusparseLtMatmulAlgAttribute_t' # NOQA ++ ctypedef int cusparseLtSplitKMode_t 'cusparseLtSplitKMode_t' + ctypedef int cusparseLtPruneAlg_t 'cusparseLtPruneAlg_t' + + # Management Functions + cusparseStatus_t cusparseLtInit(cusparseLtHandle_t* handle) + cusparseStatus_t cusparseLtDestroy(const cusparseLtHandle_t* handle) ++ cusparseStatus_t cusparseLtGetVersion(const cusparseLtHandle_t* handle, int* version) ++ cusparseStatus_t cusparseLtGetProperty(LibraryPropertyType propertyType, int* value) + + # Matmul Functions + cusparseStatus_t cusparseLtDenseDescriptorInit( +@@ -66,6 +76,11 @@ + const cusparseLtMatDescriptor_t* matDescr, + cusparseLtMatDescAttribute_t matAttribute, + void* data, size_t dataSize) ++ cusparseStatus_t cusparseLtMatDescSetAttribute( ++ const cusparseLtHandle_t* handle, ++ const cusparseLtMatDescriptor_t* matDescr, ++ cusparseLtMatDescAttribute_t matAttribute, ++ void* data, size_t dataSize) + cusparseStatus_t cusparseLtMatmulDescriptorInit( + const cusparseLtHandle_t* handle, + cusparseLtMatmulDescriptor_t* matMulDescr, +@@ -95,17 +110,21 @@ + const cusparseLtHandle_t* handle, + cusparseLtMatmulAlgSelection_t* algSelection, + cusparseLtMatmulAlgAttribute_t attribute, +- const void* data, size_t ataSize) +- cusparseStatus_t cusparseLtMatmulGetWorkspace( ++ const void* data, size_t dataSize) ++ cusparseStatus_t cusparseLtMatmulAlgGetAttribute( + const cusparseLtHandle_t* handle, + const cusparseLtMatmulAlgSelection_t* algSelection, ++ cusparseLtMatmulAlgAttribute_t attribute, ++ void* data, size_t dataSize) ++ cusparseStatus_t cusparseLtMatmulGetWorkspace( ++ const cusparseLtHandle_t* handle, ++ const cusparseLtMatmulPlan_t* plan, + size_t* workspaceSize) + cusparseStatus_t cusparseLtMatmulPlanInit( + const cusparseLtHandle_t* handle, + cusparseLtMatmulPlan_t* plan, + const cusparseLtMatmulDescriptor_t* matmulDescr, +- const cusparseLtMatmulAlgSelection_t* algSelection, +- size_t workspaceSize) ++ const cusparseLtMatmulAlgSelection_t* algSelection) + cusparseStatus_t cusparseLtMatmulPlanDestroy( + const cusparseLtMatmulPlan_t* plan) + cusparseStatus_t cusparseLtMatmul( +@@ -113,6 +132,11 @@ + const void* alpha, const void* d_A, const void* d_B, + const void* beta, const void* d_C, void* d_D, + void* workspace, runtime.Stream* streams, int32_t numStreams) ++ cusparseStatus_t cusparseLtMatmulSearch( ++ const cusparseLtHandle_t* handle, cusparseLtMatmulPlan_t* plan, ++ const void* alpha, const void* d_A, const void* d_B, ++ const void* beta, const void* d_C, void* d_D, ++ void* workspace, runtime.Stream* streams, int32_t numStreams) + + # Helper Functions + cusparseStatus_t cusparseLtSpMMAPrune( +@@ -123,7 +147,7 @@ + cusparseStatus_t cusparseLtSpMMAPruneCheck( + const cusparseLtHandle_t* handle, + const cusparseLtMatmulDescriptor_t* matmulDescr, +- const void* d_in, int* valid, runtime.Stream stream) ++ const void* d_in, int* d_valid, runtime.Stream stream) + cusparseStatus_t cusparseLtSpMMAPrune2( + const cusparseLtHandle_t* handle, + const cusparseLtMatDescriptor_t* sparseMatDescr, +@@ -136,19 +160,22 @@ + runtime.Stream stream) + cusparseStatus_t cusparseLtSpMMACompressedSize( + const cusparseLtHandle_t* handle, const cusparseLtMatmulPlan_t* plan, +- size_t* compressedSize) ++ size_t* compressedSize, ++ size_t* compressedBufferSize) + cusparseStatus_t cusparseLtSpMMACompress( + const cusparseLtHandle_t* handle, const cusparseLtMatmulPlan_t* plan, +- const void* d_dense, void* d_compressed, runtime.Stream stream) ++ const void* d_dense, void* d_compressed, void* d_compressed_buffer, ++ runtime.Stream stream) + cusparseStatus_t cusparseLtSpMMACompressedSize2( + const cusparseLtHandle_t* handle, + const cusparseLtMatDescriptor_t* sparseMatDescr, +- size_t* compressedSize) ++ size_t* compressedSize, ++ size_t* compressedBufferSize) + cusparseStatus_t cusparseLtSpMMACompress2( + const cusparseLtHandle_t* handle, + const cusparseLtMatDescriptor_t* sparseMatDescr, + int isSparseA, cusparseOperation_t op, const void* d_dense, +- void* d_compressed, runtime.Stream stream) ++ void* d_compressed, void* d_compressed_buffer, runtime.Stream stream) + + # Build-time version + int CUSPARSELT_VERSION +@@ -370,28 +397,36 @@ + data, dataSize) + check_status(status) + ++cpdef matmulAlgGetAttribute(Handle handle, MatmulAlgSelection algSelection, ++ attribute, size_t data, size_t dataSize): ++ """Gets the attribute related to algorithm selection descriptor.""" ++ status = cusparseLtMatmulAlgGetAttribute( ++ handle._ptr, ++ algSelection._ptr, ++ attribute, ++ data, dataSize) ++ check_status(status) ++ + cpdef size_t matmulGetWorkspace(Handle handle, +- MatmulAlgSelection algSelection): ++ MatmulPlan plan): + """Determines the required workspace size""" + cdef size_t workspaceSize + status = cusparseLtMatmulGetWorkspace( + handle._ptr, +- algSelection._ptr, ++ plan._ptr, + &workspaceSize) + check_status(status) + return workspaceSize + + cpdef matmulPlanInit(Handle handle, MatmulPlan plan, + MatmulDescriptor matmulDescr, +- MatmulAlgSelection algSelection, +- size_t workspaceSize): ++ MatmulAlgSelection algSelection): + """Initializes the plan.""" + status = cusparseLtMatmulPlanInit( + handle._ptr, + plan._ptr, + matmulDescr._ptr, +- algSelection._ptr, +- workspaceSize) ++ algSelection._ptr) + check_status(status) + + cpdef matmulPlanDestroy(MatmulPlan plan): +@@ -412,6 +447,18 @@ + workspace, NULL, 0) + check_status(status) + ++cpdef matmulSearch(Handle handle, MatmulPlan plan, ++ size_t alpha, size_t d_A, size_t d_B, ++ size_t beta, size_t d_C, size_t d_D, size_t workspace): ++ """Evaluates all available algorithms for the matrix multiplication""" ++ status = cusparseLtMatmulSearch( ++ handle._ptr, ++ plan._ptr, ++ alpha, d_A, d_B, ++ beta, d_C, d_D, ++ workspace, NULL, 0) ++ check_status(status) ++ + ############################################################################### + # cuSPARSELt: Helper Functions + ############################################################################### +@@ -428,13 +475,13 @@ + check_status(status) + + cpdef spMMAPruneCheck(Handle handle, MatmulDescriptor matmulDescr, +- size_t d_in, size_t valid): ++ size_t d_in, size_t d_valid): + """Checks the correctness of the pruning structure""" + cdef intptr_t stream = stream_module.get_current_stream_ptr() + status = cusparseLtSpMMAPruneCheck( + handle._ptr, + matmulDescr._ptr, +- d_in, valid, stream) ++ d_in, d_valid, stream) + check_status(status) + + cpdef spMMAPrune2(Handle handle, MatDescriptor sparseMatDescr, isSparseA, +@@ -460,47 +507,52 @@ + d_valid, stream) + check_status(status) + +-cpdef size_t spMMACompressedSize(Handle handle, MatmulPlan plan): ++cpdef spMMACompressedSize(Handle handle, MatmulPlan plan): + """Provides the size of the compressed matrix""" + cdef size_t compressedSize ++ cdef size_t compressedBufferSize + status = cusparseLtSpMMACompressedSize( + handle._ptr, + plan._ptr, +- &compressedSize) ++ &compressedSize, &compressedBufferSize) + check_status(status) +- return compressedSize ++ return compressedSize, compressedBufferSize + + cpdef spMMACompress(Handle handle, MatmulPlan plan, +- size_t d_dense, size_t d_compressed): ++ size_t d_dense, size_t d_compressed, ++ size_t d_compressed_buffer): + """Compresses a dense matrix d_dense.""" + cdef intptr_t stream = stream_module.get_current_stream_ptr() + status = cusparseLtSpMMACompress( + handle._ptr, + plan._ptr, +- d_dense, d_compressed, stream) ++ d_dense, d_compressed, ++ d_compressed_buffer, stream) + check_status(status) + +-cpdef size_t spMMACompressedSize2(Handle handle, MatDescriptor sparseMatDescr): ++cpdef spMMACompressedSize2(Handle handle, MatDescriptor sparseMatDescr): + """Provides the size of the compressed matrix""" + cdef size_t compressedSize ++ cdef size_t compressedBufferSize + status = cusparseLtSpMMACompressedSize2( + handle._ptr, + sparseMatDescr._ptr, +- &compressedSize) ++ &compressedSize, &compressedBufferSize) + check_status(status) +- return compressedSize ++ return compressedSize, compressedBufferSize + + cpdef spMMACompress2(Handle handle, MatDescriptor sparseMatDescr, +- isSparseA, op, size_t d_dense, size_t d_compressed): ++ isSparseA, op, size_t d_dense, ++ size_t d_compressed, size_t d_compressed_buffer): + """Compresses a dense matrix d_dense.""" + cdef intptr_t stream = stream_module.get_current_stream_ptr() + status = cusparseLtSpMMACompress2( + handle._ptr, + sparseMatDescr._ptr, + isSparseA, op, d_dense, +- d_compressed, stream) ++ d_compressed, d_compressed_buffer, ++ stream) + check_status(status) + +- + def get_build_version(): + return CUSPARSELT_VERSION +diff -ru cupy_backends.orig/stub/cupy_cusparselt.h cupy_backends/stub/cupy_cusparselt.h +--- cupy_backends.orig/stub/cupy_cusparselt.h 2024-03-23 17:08:35.677189397 +0100 ++++ cupy_backends/stub/cupy_cusparselt.h 2024-03-23 18:15:04.734544642 +0100 +@@ -19,6 +19,7 @@ + typedef enum {} cusparseLtMatmulDescAttribute_t; + typedef enum {} cusparseLtMatmulAlg_t; + typedef enum {} cusparseLtMatmulAlgAttribute_t; ++typedef enum {} cusparseLtSplitKMode_t; + typedef enum {} cusparseLtPruneAlg_t; + + typedef void* cudaStream_t; +@@ -36,6 +37,14 @@ + return CUSPARSE_STATUS_SUCCESS; + } + ++cusparseStatus_t cusparseLtGetVersion(...) { ++ return CUSPARSE_STATUS_SUCCESS; ++} ++ ++cusparseStatus_t cusparseLtGetProperty(...) { ++ return CUSPARSE_STATUS_SUCCESS; ++} ++ + cusparseStatus_t cusparseLtDenseDescriptorInit(...) { + return CUSPARSE_STATUS_SUCCESS; + } diff --git a/easybuild/easyconfigs/c/CuPy/cupy-13.0.0_eb_ccc.patch b/easybuild/easyconfigs/c/CuPy/cupy-13.0.0_eb_ccc.patch new file mode 100644 index 00000000000..3a2be87de98 --- /dev/null +++ b/easybuild/easyconfigs/c/CuPy/cupy-13.0.0_eb_ccc.patch @@ -0,0 +1,16 @@ +Pick up which cuda compute capabilities to use from the environment variable +EB_CCC in the standard format "70,75,80" +author: micketeer@gmail.com +--- install/cupy_builder/_compiler.py.orig 2024-03-24 01:09:26.501631534 +0000 ++++ install/cupy_builder/_compiler.py 2024-03-24 01:10:28.550644001 +0000 +@@ -21,6 +21,10 @@ + if sys.argv == ['setup.py', 'develop']: + return [] + ++ envcfg = os.getenv('EB_CCC', None) ++ if envcfg is not None: ++ return [f'--generate-code=arch=compute_{cc},code=sm_{cc}' for cc in envcfg.split(';')] ++ + envcfg = os.getenv('CUPY_NVCC_GENERATE_CODE', None) + if envcfg is not None and envcfg != 'current': + return ['--generate-code={}'.format(arch) diff --git a/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6fcd6c4bd01 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.2-GCCcore-13.2.0.eb @@ -0,0 +1,51 @@ +# Copyright 2019 Juelich Supercomputing Centre, Germany +# Copyright 2023-2024 TU Dresden, Germany +# Authors:: Markus Geimer +# Alexander Grund +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ + +easyblock = 'EB_Score_minus_P' + +name = 'CubeLib' +version = '4.8.2' + +homepage = 'https://www.scalasca.org/software/cube-4.x/download.html' +description = """ + Cube, which is used as performance report explorer for Scalasca and Score-P, + is a generic tool for displaying a multi-dimensional performance space + consisting of the dimensions (i) performance metric, (ii) call path, and + (iii) system resource. Each dimension can be represented as a tree, where + non-leaf nodes of the tree can be collapsed or expanded to achieve the + desired level of granularity. + + This module provides the Cube general purpose C++ library component and + command-line tools. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d6fdef57b1bc9594f1450ba46cf08f431dd0d4ae595c47e2f3454e17e4ae74f4'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] +dependencies = [ + ('zlib', '1.2.13'), +] + +configopts = '--enable-shared' + +sanity_check_paths = { + 'files': ['bin/cubelib-config', + 'lib/libcube4.a', 'lib/libcube4.%s' % SHLIB_EXT], + 'dirs': ['include/cubelib'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d3ca6064df9 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8.2-GCCcore-13.2.0.eb @@ -0,0 +1,51 @@ +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Copyright 2023-2024 TU Dresden, Germany +# Authors:: Markus Geimer +# Alexander Grund +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ + +easyblock = 'EB_Score_minus_P' + +name = 'CubeWriter' +version = '4.8.2' + +homepage = 'https://www.scalasca.org/software/cube-4.x/download.html' +description = """ + Cube, which is used as performance report explorer for Scalasca and Score-P, + is a generic tool for displaying a multi-dimensional performance space + consisting of the dimensions (i) performance metric, (ii) call path, and + (iii) system resource. Each dimension can be represented as a tree, where + non-leaf nodes of the tree can be collapsed or expanded to achieve the + desired level of granularity. + + This module provides the Cube high-performance C writer library component. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist'] +sources = ['cubew-%(version)s.tar.gz'] +checksums = ['4f3bcf0622c2429b8972b5eb3f14d79ec89b8161e3c1cc5862ceda417d7975d2'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +configopts = '--enable-shared' + +sanity_check_paths = { + 'files': ['bin/cubew-config', + 'lib/libcube4w.a', 'lib/libcube4w.%s' % SHLIB_EXT], + 'dirs': ['include/cubew'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/c/Cython/Cython-3.0.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/Cython/Cython-3.0.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c051049f2e3 --- /dev/null +++ b/easybuild/easyconfigs/c/Cython/Cython-3.0.7-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'Cython' +version = '3.0.7' + +homepage = 'https://cython.org/' +description = """ +Cython is an optimising static compiler for both the Python programming +language and the extended Cython programming language (based on Pyrex). +""" +docurls = [ + 'https://cython.org/#documentation', + 'https://github.com/cython/cython', +] + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['fb299acf3a578573c190c858d49e0cf9d75f4bc49c3f24c5a63804997ef09213'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/cygdb', 'bin/cython', 'bin/cythonize'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["cython --version"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/Cython/Cython-3.0.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Cython/Cython-3.0.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..43149d5a83b --- /dev/null +++ b/easybuild/easyconfigs/c/Cython/Cython-3.0.8-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'Cython' +version = '3.0.8' + +homepage = 'https://cython.org/' +description = """ +Cython is an optimising static compiler for both the Python programming +language and the extended Cython programming language (based on Pyrex). +""" +docurls = [ + 'https://cython.org/#documentation', + 'https://github.com/cython/cython', +] + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8333423d8fd5765e7cceea3a9985dd1e0a5dfeb2734629e1a2ed2d6233d39de6'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + + +sanity_check_paths = { + 'files': ['bin/cygdb', 'bin/cython', 'bin/cythonize'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'cython --version', +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/Cython/Cython-3.0.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/Cython/Cython-3.0.8-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2a288dcb234 --- /dev/null +++ b/easybuild/easyconfigs/c/Cython/Cython-3.0.8-GCCcore-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'Cython' +version = '3.0.8' + +homepage = 'https://cython.org/' +description = """ +Cython is an optimising static compiler for both the Python programming +language and the extended Cython programming language (based on Pyrex). +""" +docurls = [ + 'https://cython.org/#documentation', + 'https://github.com/cython/cython', +] + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8333423d8fd5765e7cceea3a9985dd1e0a5dfeb2734629e1a2ed2d6233d39de6'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/cygdb', 'bin/cython', 'bin/cythonize'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["cython --version"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/c-ares/c-ares-1.27.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/c-ares/c-ares-1.27.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ea5f2f32b19 --- /dev/null +++ b/easybuild/easyconfigs/c/c-ares/c-ares-1.27.0-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'c-ares' +version = '1.27.0' + +homepage = 'https://c-ares.org/' +description = "c-ares is a C library for asynchronous DNS requests (including name resolves)" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +github_account = 'c-ares' +source_urls = [GITHUB_SOURCE] +sources = ['%s-%s.tar.gz' % (name.replace('-', ''), version.replace('.', '_'))] +checksums = ['de6a839d47b93174ba260187a084027ea681a91ffe12f2d5f20645652eae246c'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = 'autoreconf -i -f &&' + +sanity_check_paths = { + 'files': ['lib/libcares.a', 'lib/libcares.%s' % SHLIB_EXT, 'lib/pkgconfig/libcares.pc'], + 'dirs': ['include', 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch new file mode 100644 index 00000000000..efef286e59a --- /dev/null +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch @@ -0,0 +1,21 @@ +From 68e43f489abd3d4f1e2fe54a42695396703aa81a Mon Sep 17 00:00:00 2001 +From: Chris Broekema +Date: Tue, 9 May 2023 12:43:34 +0200 +Subject: [PATCH] add C-style header to fix GCC 13.1 compile error on uint16_t + not being a valid type (#1309) + +--- + tables/Dysco/bytepacker.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tables/Dysco/bytepacker.h b/tables/Dysco/bytepacker.h +index d62754046..cb1193b41 100644 +--- a/tables/Dysco/bytepacker.h ++++ b/tables/Dysco/bytepacker.h +@@ -2,6 +2,7 @@ + #define DYSCO_BYTE_PACKER_H + + #include ++#include + + namespace dyscostman { diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb new file mode 100644 index 00000000000..741298d1488 --- /dev/null +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb @@ -0,0 +1,62 @@ +easyblock = 'CMakeMake' + +name = 'casacore' +version = '3.5.0' + +homepage = 'https://github.com/casacore/casacore' +description = """A suite of C++ libraries for radio astronomy data processing. +The ephemerides data needs to be in DATA_DIR and the location must be specified at runtime. +Thus user's can update them. +""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch'] +checksums = [ + '63f1c8eff932b0fcbd38c598a5811e6e5397b72835b637d6f426105a183b3f91', # casacore-3.5.0.tar.gz + '7b35d21cd654a7a215d604310f5372319ad21b6261f4a7ae038912b97ef22983', # add-C-style-header-for-GCC-13.1.patch +] + +builddependencies = [ + ('CMake', '3.27.6'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('wget', '1.21.4'), +] +dependencies = [ + ('CFITSIO', '4.3.1'), + ('WCSLIB', '7.11'), + ('HDF5', '1.14.3'), + ('GSL', '2.7'), + ('Boost.Python', '1.83.0'), + ('SciPy-bundle', '2023.11'), + ('ncurses', '6.4'), +] + +configopts = '-DBUILD_PYTHON=NO -DBUILD_PYTHON3=YES -Wno-dev -DCXX11="ON" ' +configopts += '-DDATA_DIR=%(installdir)s/data -DUSE_OPENMP=ON -DUSE_HDF5=ON ' +configopts += '-DUSE_MPI=ON ' + +local_download_cmd = 'wget --retry-connrefused ftp://anonymous@ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar ' +local_download_cmd += '-O /tmp/WSRT_Measures.ztar ' + +# Install casacore data +postinstallcmds = [ + local_download_cmd, + "tar xfvz /tmp/WSRT_Measures.ztar --one-top-level=%(installdir)s/data", +] + +sanity_check_paths = { + 'files': [ + 'lib/libcasa_casa.%s' % SHLIB_EXT, + 'lib/libcasa_mirlib.%s' % SHLIB_EXT, + 'lib/libcasa_ms.%s' % SHLIB_EXT, + ], + 'dirs': ['bin', 'include/%(name)s'], +} + +sanity_check_commands = [('measuresdata', '')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/ccache/ccache-4.6.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/ccache/ccache-4.6.1-GCCcore-11.2.0.eb index 355a2da891f..5b623f231cc 100644 --- a/easybuild/easyconfigs/c/ccache/ccache-4.6.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/c/ccache/ccache-4.6.1-GCCcore-11.2.0.eb @@ -14,17 +14,15 @@ caching previous compilations and detecting when the same compilation is being d toolchain = {'name': 'GCCcore', 'version': '11.2.0'} -source_urls = ['https://github.com/ccache/ccache/releases/download/v%(version)s/'] +source_urls = [GITHUB_RELEASE] sources = [SOURCE_TAR_GZ] checksums = ['59b28a57c3a45e48d6049001999c9f94cd4d3e9b0196994bed9a6a7437ffa3bc'] -osdependencies = [('glibc-static', 'libc6-dev', 'glibc-devel')] - builddependencies = [ ('binutils', '2.37'), ('CMake', '3.22.1'), ('Ninja', '1.10.2'), - ('zstd', '1.5.0', ), + ('zstd', '1.5.0'), ('pkg-config', '0.29.2'), ] diff --git a/easybuild/easyconfigs/c/ccache/ccache-4.6.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/ccache/ccache-4.6.3-GCCcore-11.3.0.eb index 770822d93b6..30f7490b38b 100644 --- a/easybuild/easyconfigs/c/ccache/ccache-4.6.3-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/c/ccache/ccache-4.6.3-GCCcore-11.3.0.eb @@ -14,17 +14,15 @@ caching previous compilations and detecting when the same compilation is being d toolchain = {'name': 'GCCcore', 'version': '11.3.0'} -source_urls = ['https://github.com/ccache/ccache/releases/download/v%(version)s/'] +source_urls = [GITHUB_RELEASE] sources = [SOURCE_TAR_GZ] checksums = ['f46ba3706ad80c30d4d5874dee2bf9227a7fcd0ccaac31b51919a3053d84bd05'] -osdependencies = [('glibc-static', 'libc6-dev', 'glibc-devel')] - builddependencies = [ ('binutils', '2.38'), ('CMake', '3.23.1'), ('Ninja', '1.10.2'), - ('zstd', '1.5.2', ), + ('zstd', '1.5.2'), ('pkgconf', '1.8.0'), ] diff --git a/easybuild/easyconfigs/c/ccache/ccache-4.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/ccache/ccache-4.9-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..713f314a2dd --- /dev/null +++ b/easybuild/easyconfigs/c/ccache/ccache-4.9-GCCcore-12.2.0.eb @@ -0,0 +1,49 @@ +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL + +easyblock = 'CMakeNinja' + +name = 'ccache' +version = '4.9' + +homepage = 'https://ccache.dev/' +description = """Ccache (or “ccache”) is a compiler cache. It speeds up recompilation by +caching previous compilations and detecting when the same compilation is being done again""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_GZ] +checksums = ['866b2223d59333640f0e7a003cbb85b32d9ca3c9445bd9e3cf142942e69dd3ec'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), + ('zstd', '1.5.2'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('hiredis', '1.2.0'), +] + +# use BFD linker rather than default ld.gold (required on CentOS 8) +preconfigopts = 'LDFLAGS="-fuse-ld=bfd"' +configopts = ' '.join([ + '-DENABLE_DOCUMENTATION=OFF', + '-DENABLE_IPO=ON', + # Link most libraries statically + '-DSTATIC_LINK=ON', + # Disable downloading dependencies + '-DZSTD_FROM_INTERNET=OFF -DHIREDIS_FROM_INTERNET=OFF', +]) + +sanity_check_paths = { + 'files': ['bin/ccache'], + 'dirs': [] +} +sanity_check_commands = ['ccache --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/ccache/ccache-4.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/ccache/ccache-4.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6ba94b8786d --- /dev/null +++ b/easybuild/easyconfigs/c/ccache/ccache-4.9-GCCcore-12.3.0.eb @@ -0,0 +1,49 @@ +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL + +easyblock = 'CMakeNinja' + +name = 'ccache' +version = '4.9' + +homepage = 'https://ccache.dev/' +description = """Ccache (or “ccache”) is a compiler cache. It speeds up recompilation by +caching previous compilations and detecting when the same compilation is being done again""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_GZ] +checksums = ['866b2223d59333640f0e7a003cbb85b32d9ca3c9445bd9e3cf142942e69dd3ec'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + ('zstd', '1.5.5'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('hiredis', '1.2.0'), +] + +# use BFD linker rather than default ld.gold (required on CentOS 8) +preconfigopts = 'LDFLAGS="-fuse-ld=bfd"' +configopts = ' '.join([ + '-DENABLE_DOCUMENTATION=OFF', + '-DENABLE_IPO=ON', + # Link most libraries statically + '-DSTATIC_LINK=ON', + # Disable downloading dependencies + '-DZSTD_FROM_INTERNET=OFF -DHIREDIS_FROM_INTERNET=OFF', +]) + +sanity_check_paths = { + 'files': ['bin/ccache'], + 'dirs': [] +} +sanity_check_commands = ['ccache --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/ccache/ccache-4.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/ccache/ccache-4.9-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..15153cb2747 --- /dev/null +++ b/easybuild/easyconfigs/c/ccache/ccache-4.9-GCCcore-13.2.0.eb @@ -0,0 +1,49 @@ +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL + +easyblock = 'CMakeNinja' + +name = 'ccache' +version = '4.9' + +homepage = 'https://ccache.dev/' +description = """Ccache (or “ccache”) is a compiler cache. It speeds up recompilation by +caching previous compilations and detecting when the same compilation is being done again""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_GZ] +checksums = ['866b2223d59333640f0e7a003cbb85b32d9ca3c9445bd9e3cf142942e69dd3ec'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), + ('zstd', '1.5.5'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('hiredis', '1.2.0'), +] + +# use BFD linker rather than default ld.gold (required on CentOS 8) +preconfigopts = 'LDFLAGS="-fuse-ld=bfd"' +configopts = ' '.join([ + '-DENABLE_DOCUMENTATION=OFF', + '-DENABLE_IPO=ON', + # Link most libraries statically + '-DSTATIC_LINK=ON', + # Disable downloading dependencies + '-DZSTD_FROM_INTERNET=OFF -DHIREDIS_FROM_INTERNET=OFF', +]) + +sanity_check_paths = { + 'files': ['bin/ccache'], + 'dirs': [] +} +sanity_check_commands = ['ccache --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cclib/cclib-1.8-foss-2023a.eb b/easybuild/easyconfigs/c/cclib/cclib-1.8-foss-2023a.eb new file mode 100644 index 00000000000..9ab78e650e9 --- /dev/null +++ b/easybuild/easyconfigs/c/cclib/cclib-1.8-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'cclib' +version = '1.8' + +homepage = 'https://cclib.github.io/' + +description = """ + cclib is a Python library that provides parsers for computational chemistry log files. + It also provides a platform to implement algorithms in a package-independent manner. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('periodictable', '1.6.1', { + 'checksums': ['7c501c9f73d77b1fb28cb51e85b28429c2c44a99ce3d1274894564c72d712603'], + }), + (name, version, { + 'checksums': ['12b7a7ed8191f02fa12320dbdc830546ee1615e8b4737e3d766f34622abbd521'], + }), +] + +_bins = ['ccframe', 'ccget', 'ccwrite', 'cda'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['%s --help' % x for x in _bins] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/code-cli/code-cli-1.85.1-x64.eb b/easybuild/easyconfigs/c/code-cli/code-cli-1.85.1-x64.eb new file mode 100644 index 00000000000..71e7200c0ce --- /dev/null +++ b/easybuild/easyconfigs/c/code-cli/code-cli-1.85.1-x64.eb @@ -0,0 +1,35 @@ +easyblock = 'Tarball' + +name = 'code-cli' +version = '1.85.1' +versionsuffix = '-x64' + +homepage = 'https://code.visualstudio.com/' +description = ''' + Visual Studio Code is a lightweight but powerful source code editor + which runs on your desktop and is available for Windows, macOS and + Linux. It comes with built-in support for JavaScript, TypeScript and + Node.js and has a rich ecosystem of extensions for other languages + and runtimes (such as C++, C#, Java, Python, PHP, Go, .NET). Begin + your journey with VS Code with these introductory videos. +''' + +toolchain = {'name': 'system', 'version': 'system'} + +source_urls = ['https://update.code.visualstudio.com/%(version)s/cli-alpine-x64/stable#'] +sources = [{ + 'download_filename': 'vscode_cli_alpine_x64_cli.tar.gz', + 'filename': 'vscode-%(version)s%(versionsuffix)s.tar.gz', +}] +checksums = ['cc469ba0461141fc3a58f589262c6e7d2bfa43044dd267267e794e8d89b831d1'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['code'], + 'dirs': [] +} + +sanity_check_commands = ["code --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/code-server/code-server-4.21.1.eb b/easybuild/easyconfigs/c/code-server/code-server-4.21.1.eb new file mode 100644 index 00000000000..88e4c129c67 --- /dev/null +++ b/easybuild/easyconfigs/c/code-server/code-server-4.21.1.eb @@ -0,0 +1,20 @@ +name = 'code-server' +version = '4.21.1' + +homepage = 'https://github.com/cdr/code-server' +description = """Run VS Code on any machine anywhere and access it in the browser.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/cdr/code-server/releases/download/v%(version)s/'] +sources = ['code-server-%(version)s-linux-%(mapped_arch)s.tar.gz'] +checksums = [ + { + 'code-server-%(version)s-linux-amd64.tar.gz': + '8ae5deab32749bb9bb20009b14ebb0fac012aa82660cfc91b2cc5bd67daf709b', + 'code-server-%(version)s-linux-arm64.tar.gz': + '1bbb43193e00b2f6c84967048372dc6381c3d332d06643c4a89ce052f755a170', + } +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/code-server/code-server-4.22.1.eb b/easybuild/easyconfigs/c/code-server/code-server-4.22.1.eb new file mode 100644 index 00000000000..eec7338f4e7 --- /dev/null +++ b/easybuild/easyconfigs/c/code-server/code-server-4.22.1.eb @@ -0,0 +1,20 @@ +name = 'code-server' +version = '4.22.1' + +homepage = 'https://github.com/coder/code-server' +description = """Run VS Code on any machine anywhere and access it in the browser.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/coder/code-server/releases/download/v%(version)s/'] +sources = ['code-server-%(version)s-linux-%(mapped_arch)s.tar.gz'] +checksums = [ + { + 'code-server-%(version)s-linux-amd64.tar.gz': + 'ec40994776bbcb958d9efb328c1b61038167a8d5473c9c841b25df24578dc420', + 'code-server-%(version)s-linux-arm64.tar.gz': + '44c3bc84a37efa9d4e2c14ce72024b2cb83c2034ed4f29f50eb595fb0f2bc4b3', + } +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/contextily/contextily-1.5.0-foss-2023a.eb b/easybuild/easyconfigs/c/contextily/contextily-1.5.0-foss-2023a.eb new file mode 100644 index 00000000000..afde40726ac --- /dev/null +++ b/easybuild/easyconfigs/c/contextily/contextily-1.5.0-foss-2023a.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'contextily' +version = '1.5.0' + +homepage = 'https://contextily.readthedocs.io/' +description = """contextily is a small Python 3 package to retrieve tile maps from the internet. +It can add those tiles as basemap to matplotlib figures or write tile maps to +disk into geospatial raster files. Bounding boxes can be passed in both WGS84 +(EPSG:4326) and Spheric Mercator (EPSG:3857).""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('geopy', '2.4.1'), + ('matplotlib', '3.7.2'), + ('Pillow', '10.0.0'), + ('rasterio', '1.3.9'), +] + +use_pip = True + +exts_list = [ + ('xyzservices', '2023.7.0', { + 'checksums': ['0ec928742227d6f5d4367ea7b457fcfed943429f4de2949b5b02a82cdf5569d6'], + }), + ('mercantile', '1.2.1', { + 'checksums': ['fa3c6db15daffd58454ac198b31887519a19caccee3f9d63d17ae7ff61b3b56b'], + }), + (name, version, { + 'checksums': ['295b2d8097f8f6e80e1cb5e6e77538d1cdf729f827ec54eedc57f613c0a3ce0e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..66cdb2b6ec4 --- /dev/null +++ b/easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'coverage' +version = '7.2.3' + +homepage = 'https://coverage.readthedocs.io' +description = """ Coverage.py is a tool for measuring code coverage of Python programs. + It monitors your program, noting which parts of the code have been executed, + then analyzes the source to identify code that could have been executed but was not. """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d298c2815fa4891edd9abe5ad6e6cb4207104c7dd9fd13aea3fdebf6f9b91259'] + +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.3')] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/coverage%s' % x for x in ['', '3', '-%(pyshortver)s']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6fc757ce9c4 --- /dev/null +++ b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'cppy' +version = '1.2.1' + +homepage = "https://github.com/nucleic/cppy" +description = """A small C++ header library which makes it easier to write +Python extension modules. The primary feature is a PyObject smart pointer +which automatically handles reference counting and provides convenience +methods for performing common object operations.""" + + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), +] + +sources = ['%(name)s-%(version)s.tar.gz'] +patches = ['cppy-1.2.1-manual_version.patch'] +checksums = [ + {'cppy-1.2.1.tar.gz': '83b43bf17b1085ac15c5debdb42154f138b928234b21447358981f69d0d6fe1b'}, + {'cppy-1.2.1-manual_version.patch': '048aa0a86fd2e99c6896443b07ec83eaa369724297f639ef74c65c404b8f288f'}, +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cryoCARE/cryoCARE-0.3.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/cryoCARE/cryoCARE-0.3.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..9e6d24ecafd --- /dev/null +++ b/easybuild/easyconfigs/c/cryoCARE/cryoCARE-0.3.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,58 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2023/11 +easyblock = 'PythonBundle' + +name = 'cryoCARE' +version = '0.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/juglab/cryoCARE_pip' +description = """This package is a memory efficient implementation of cryoCARE. + +This setup trains a denoising U-Net for tomographic reconstruction according to + the Noise2Noise training paradigm. Therefore the user has to provide two +tomograms of the same sample. The simplest way to achieve this is with direct- +detector movie-frames. + +You can use Warp to generate two reconstructed tomograms based on the even/odd +frames. Alternatively, the movie-frames can be split in two halves (e.g. with +MotionCor2 -SplitSum 1 or with IMOD alignframes -debug 10000) from which two +identical, up to random noise, tomograms can be reconstructed. + +These two (even and odd) tomograms can be used as input to this cryoCARE +implementation.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('SciPy-bundle', '2022.05'), + ('TensorFlow', '2.11.0', versionsuffix), + ('mrcfile', '1.4.3'), + ('tqdm', '4.64.0'), + ('matplotlib', '3.5.2'), + ('CSBDeep', '0.7.4', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'patches': ['%(name)s-%(version)s_relax_requirements.patch'], + 'checksums': [ + {'cryoCARE-0.3.0.tar.gz': '8885aeb03d1731de1958463bbf766fa9999f4480d71c3af09f711ee210ab9886'}, + {'cryoCARE-0.3.0_relax_requirements.patch': + 'a44814f6e568f5fb618cf789d21a6b5714fbda78b4170ec8e868e50fb0f2a5c0'}, + ], + }), +] + +sanity_check_commands = [ + 'cryoCARE_extract_train_data.py --help', + 'cryoCARE_train.py --help', + 'cryoCARE_predict.py --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cryoCARE/cryoCARE-0.3.0_relax_requirements.patch b/easybuild/easyconfigs/c/cryoCARE/cryoCARE-0.3.0_relax_requirements.patch new file mode 100644 index 00000000000..e35ce9f3a78 --- /dev/null +++ b/easybuild/easyconfigs/c/cryoCARE/cryoCARE-0.3.0_relax_requirements.patch @@ -0,0 +1,16 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2023/11 +# https://github.com/juglab/cryoCARE_pip/issues/47 +# The restriction to ~=1.19 has been introduced due to a conflict with +# Tensorflow 2.4. However, we are using TF 2.11 +diff -ru cryoCARE-0.3.0/setup.py cryoCARE-0.3.0_relax_requirements/setup.py +--- cryoCARE-0.3.0/setup.py 2023-06-15 15:33:40.000000000 +0200 ++++ cryoCARE-0.3.0_relax_requirements/setup.py 2023-11-07 11:01:24.464822422 +0100 +@@ -23,7 +23,7 @@ + ], + python_requires='>=3.8', + install_requires=[ +- "numpy~=1.19.2", ++ "numpy>=1.19.2", + "mrcfile", + "csbdeep>=0.7.0,<0.8.0", + "psutil" diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-8.9.7.29-CUDA-12.3.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.9.7.29-CUDA-12.3.0.eb new file mode 100644 index 00000000000..448f36baf3c --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.9.7.29-CUDA-12.3.0.eb @@ -0,0 +1,40 @@ +name = 'cuDNN' +version = '8.9.7.29' +versionsuffix = '-CUDA-%(cudaver)s' +homepage = 'https://developer.nvidia.com/cudnn' +description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is +a GPU-accelerated library of primitives for deep neural networks.""" + +toolchain = SYSTEM + +# note: cuDNN is tied to specific to CUDA versions, +# see also https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions +local_short_ver = '.'.join(version.split('.')[:3]) +local_cuda_major = '12' + +source_urls = [ + 'https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-%(cudnnarch)s/' +] +sources = ['%%(namelower)s-linux-%%(cudnnarch)s-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major] +checksums = [{ + '%%(namelower)s-linux-ppc64le-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '8574d291b299f9cc0134304473c9933bd098cc717e8d0876f4aba9f9eebe1b76', + '%%(namelower)s-linux-sbsa-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'e98b7c80010785e5d5ca01ee4ce9b5b0c8c73587ea6f8648be34d3f8d1d47bd1', + '%%(namelower)s-linux-x86_64-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '475333625c7e42a7af3ca0b2f7506a106e30c93b1aa0081cd9c13efb6e21e3bb', +}] + +dependencies = [('CUDA', '12.3.0')] + +sanity_check_paths = { + 'files': [ + 'include/cudnn.h', 'lib64/libcudnn_adv_infer_static.a', 'lib64/libcudnn_adv_train_static.a', + 'lib64/libcudnn_cnn_infer_static.a', 'lib64/libcudnn_cnn_train_static.a', + 'lib64/libcudnn_ops_infer_static.a', 'lib64/libcudnn_ops_train_static.a', + 'lib64/libcudnn.%s' % SHLIB_EXT + ], + 'dirs': ['include', 'lib64'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.3.0.3-CUDA-11.4.1.eb b/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.3.0.3-CUDA-11.4.1.eb index bec7936a183..fc0a8cf610b 100644 --- a/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.3.0.3-CUDA-11.4.1.eb +++ b/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.3.0.3-CUDA-11.4.1.eb @@ -10,9 +10,15 @@ which at least one operand is a sparse matrix""" toolchain = SYSTEM -source_urls = ['https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse-lt/linux-x86_64/'] -sources = ['libcusparse_lt-linux-x86_64-%(version)s-archive.tar.xz'] -checksums = ['46b258c2c333f7324e03bdf6b13576be6153b1218fb531025631650e36515f45'] +local_arch = {'arm64': 'sbsa', 'aarch64': 'sbsa'}.get(ARCH, ARCH) +source_urls = ['https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse_lt/linux-%s/' % local_arch] +sources = ['libcusparse_lt-linux-%s-%%(version)s-archive.tar.xz' % local_arch] +checksums = [{ + 'libcusparse_lt-linux-x86_64-%(version)s-archive.tar.xz': + '46b258c2c333f7324e03bdf6b13576be6153b1218fb531025631650e36515f45', + 'libcusparse_lt-linux-sbsa-%(version)s-archive.tar.xz': + '6269885ec6cecc1a0aa95f344f35c882b6bf0a6ef55d1726e2cf59e11a3af68e', +}] dependencies = [('CUDA', '11.4.1')] diff --git a/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.6.0.6-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.6.0.6-CUDA-12.1.1.eb new file mode 100644 index 00000000000..80bdd6b93c6 --- /dev/null +++ b/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.6.0.6-CUDA-12.1.1.eb @@ -0,0 +1,32 @@ +easyblock = 'Tarball' + +name = 'cuSPARSELt' +version = '0.6.0.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://docs.nvidia.com/cuda/cusparselt/index.html' +description = """NVIDIA cuSPARSELt is a high-performance CUDA library dedicated to general matrix-matrix operations in +which at least one operand is a sparse matrix""" + +toolchain = SYSTEM + +local_arch = {'arm64': 'sbsa', 'aarch64': 'sbsa'}.get(ARCH, ARCH) +source_urls = ['https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse_lt/linux-%s/' % local_arch] +sources = ['libcusparse_lt-linux-%s-%%(version)s-archive.tar.xz' % local_arch] +checksums = [{ + 'libcusparse_lt-linux-x86_64-%(version)s-archive.tar.xz': + 'da20d7a6d7a6674cb6e991439eaacd4661631c71a2f1026c41fba115c5c9c8b5', + 'libcusparse_lt-linux-sbsa-%(version)s-archive.tar.xz': + '51db8182444b4e2c125397ea95e4996c022ef791a87ce7a7389204e77617297f', +}] + +dependencies = [('CUDA', '12.1.1')] + +sanity_check_paths = { + 'files': ['include/cusparseLt.h', + 'lib/libcusparseLt.%s' % SHLIB_EXT, + 'lib/libcusparseLt_static.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.1.2-CUDA-12.1.1.eb new file mode 100644 index 00000000000..578050b4874 --- /dev/null +++ b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.1.2-CUDA-12.1.1.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'cuTENSOR' +local_shortver = '2.0.1' +version = local_shortver + '.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/cutensor' +description = """The cuTENSOR Library is a GPU-accelerated tensor linear algebra library providing tensor contraction, + reduction and elementwise operations.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/linux-x86_64/'] +sources = ['libcutensor-linux-x86_64-%(version)s-archive.tar.xz'] +checksums = ['ededa12ca622baad706ea0a500a358ea51146535466afabd96e558265dc586a2'] + +local_cudamajver = '12' +dependencies = [('CUDA', local_cudamajver + '.1.1')] + +sanity_check_paths = { + 'files': ['include/cutensor.h', 'include/cutensor/types.h', + 'lib/%s/libcutensor.%s' % (local_cudamajver, SHLIB_EXT), + 'lib/%s/libcutensor_static.a' % local_cudamajver], + 'dirs': [], +} + +modextrapaths = { + 'LD_LIBRARY_PATH': ['lib/%s' % local_cudamajver], + 'LIBRARY_PATH': ['lib/%s' % local_cudamajver], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.1.2-CUDA-12.2.2.eb b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.1.2-CUDA-12.2.2.eb new file mode 100644 index 00000000000..183378856f9 --- /dev/null +++ b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.1.2-CUDA-12.2.2.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'cuTENSOR' +local_shortver = '2.0.1' +version = local_shortver + '.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/cutensor' +description = """The cuTENSOR Library is a GPU-accelerated tensor linear algebra library providing tensor contraction, + reduction and elementwise operations.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/linux-x86_64/'] +sources = ['libcutensor-linux-x86_64-%(version)s-archive.tar.xz'] +checksums = ['ededa12ca622baad706ea0a500a358ea51146535466afabd96e558265dc586a2'] + +local_cudamajver = '12' +dependencies = [('CUDA', local_cudamajver + '.2.2')] + +sanity_check_paths = { + 'files': ['include/cutensor.h', 'include/cutensor/types.h', + 'lib/%s/libcutensor.%s' % (local_cudamajver, SHLIB_EXT), + 'lib/%s/libcutensor_static.a' % local_cudamajver], + 'dirs': [], +} + +modextrapaths = { + 'LD_LIBRARY_PATH': ['lib/%s' % local_cudamajver], + 'LIBRARY_PATH': ['lib/%s' % local_cudamajver], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.1-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.1-foss-2021b-R-4.1.2.eb index 4e04c72ff76..f80eef6a25e 100644 --- a/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.1-foss-2021b-R-4.1.2.eb +++ b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.1-foss-2021b-R-4.1.2.eb @@ -39,17 +39,17 @@ exts_list = [ ] postinstallcmds = [ - "cd %(installdir)s; unzip db.zip", + "cd %(installdir)s && unzip db.zip -d db", "chmod a+x %(installdir)s/DAS_Tool", ] sanity_check_paths = { - 'files': ['DAS_Tool', 'arc.all.faa', 'arc.scg.lookup'], + 'files': ['DAS_Tool', 'db/arc.all.faa', 'db/arc.scg.lookup'], 'dirs': ['DASTool/R'], } -sanity_check_commands = ['DAS_Tool -h | grep "DAS Tool version %s"' % version] # Help gets printed correctly, but the error code is 1 +sanity_check_commands = ['DAS_Tool -h | grep "DAS Tool version %s"' % version] modextrapaths = { 'PATH': '', diff --git a/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.3-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.3-foss-2021a-R-4.1.0.eb index 8889f759be9..4e5773b4b1c 100644 --- a/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.3-foss-2021a-R-4.1.0.eb +++ b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.3-foss-2021a-R-4.1.0.eb @@ -39,17 +39,17 @@ exts_list = [ ] postinstallcmds = [ - "cd %(installdir)s; unzip db.zip", + "cd %(installdir)s && unzip db.zip -d db", "chmod a+x %(installdir)s/DAS_Tool", ] sanity_check_paths = { - 'files': ['DAS_Tool', 'arc.all.faa', 'arc.scg.lookup'], + 'files': ['DAS_Tool', 'db/arc.all.faa', 'db/arc.scg.lookup'], 'dirs': ['DASTool/R'], } -sanity_check_commands = ['DAS_Tool -h | grep "DAS Tool version %s"' % version] # Help gets printed correctly, but the error code is 1 +sanity_check_commands = ['DAS_Tool -h | grep "DAS Tool version %s"' % version] modextrapaths = { 'PATH': '', diff --git a/easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.050-GCC-12.2.0.eb b/easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.050-GCC-12.2.0.eb new file mode 100644 index 00000000000..1cdd942d323 --- /dev/null +++ b/easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.050-GCC-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PerlModule' + +name = 'DBD-mysql' +version = '4.050' + +homepage = 'https://metacpan.org/pod/distribution/DBD-mysql/lib/DBD/mysql.pm' +description = "Perl binding for MySQL" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/D/DV/DVEEDEN'] +sources = [SOURCE_TAR_GZ] +checksums = ['4f48541ff15a0a7405f76adc10f81627c33996fbf56c95c26c094444c0928d78'] + +dependencies = [ + ('Perl', '5.36.0'), + ('MariaDB', '10.11.2'), + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +options = {'modulename': 'DBD::mysql'} + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%%(perlver)s/%s-linux-thread-multi/DBD/mysql.pm' % ARCH], + 'dirs': ['lib/perl5/site_perl/%%(perlver)s/%s-linux-thread-multi/DBD/mysql' % ARCH], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-GCCcore-9.3.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-GCCcore-9.3.0.eb index a1002875229..430fc43f900 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-GCCcore-9.3.0.eb @@ -24,7 +24,7 @@ dependencies = [ preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { - 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.855-GCCcore-10.2.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.855-GCCcore-10.2.0.eb index 0b79bde69ae..3c7b085c1ab 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.855-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.855-GCCcore-10.2.0.eb @@ -24,7 +24,7 @@ dependencies = [ preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { - 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.856-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.856-GCCcore-10.3.0.eb index 880fe133479..97f6bce5acb 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.856-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.856-GCCcore-10.3.0.eb @@ -24,7 +24,7 @@ dependencies = [ preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { - 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.857-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.857-GCCcore-11.2.0.eb index f2707a76ad8..fc23c9d56ce 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.857-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.857-GCCcore-11.2.0.eb @@ -24,7 +24,7 @@ dependencies = [ preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { - 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.858-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.858-GCCcore-11.3.0.eb index 9ca805bc383..a9579572f76 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.858-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.858-GCCcore-11.3.0.eb @@ -24,7 +24,7 @@ dependencies = [ preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { - 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.859-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.859-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0efe26d544b --- /dev/null +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.859-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PerlModule' + +name = 'DB_File' +version = '1.859' + +homepage = 'https://perldoc.perl.org/DB_File.html' +description = """Perl5 access to Berkeley DB version 1.x.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.cpan.org/modules/by-module/DB_File/PMQS'] +sources = [SOURCE_TAR_GZ] +checksums = ['5674e0d2cd0b060c4d1253670ea022c64d842a55257f9eb8edb19c0f53e2565c'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Perl', '5.36.1'), + ('DB', '18.1.40'), +] + +preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/DB_File.pm'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11-GCC-12.3.0.eb b/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11-GCC-12.3.0.eb new file mode 100644 index 00000000000..c1457cc041c --- /dev/null +++ b/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11-GCC-12.3.0.eb @@ -0,0 +1,60 @@ +easyblock = 'MakeCp' + +name = 'DETONATE' +version = '1.11' + +homepage = 'http://deweylab.biostat.wisc.edu/detonate/' +description = """DETONATE (DE novo TranscriptOme rNa-seq Assembly with or without the Truth Evaluation) + consists of two component packages, RSEM-EVAL and REF-EVAL. Both packages are mainly intended to be used + to evaluate de novo transcriptome assemblies, although REF-EVAL can be used to compare sets of any kinds + of genomic sequences.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['http://deweylab.biostat.wisc.edu/detonate/'] +sources = ['detonate-1.11.tar.gz'] +patches = [ + 'DETONATE-%(version)s_fix-deps.patch', + 'DETONATE-%(version)s_fix-cast-bool.patch', + 'DETONATE-%(version)s_include-fix.patch' +] +checksums = [ + {'detonate-1.11.tar.gz': 'e1d04af1b1d2504942a6941b346d430157da6117fac043b7ee83274717d99714'}, + {'DETONATE-1.11_fix-deps.patch': '0ab353f66d5459e1fa18fa214026589fe214365f3532a3b9ea182757c7547691'}, + {'DETONATE-1.11_fix-cast-bool.patch': 'c72a18250857883e7075ac512bbbd532e61a1aab38868d0dc932ca4bdc412817'}, + {'DETONATE-1.11_include-fix.patch': '9071fc8dbc6bfc26a9c4bb60befca890a26acf9668df2815a7f0038d8bcdd9f6'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('SAMtools', '0.1.20'), +] + +dependencies = [ + ('Boost', '1.82.0'), + ('sparsehash', '2.0.4'), + ('BamTools', '2.5.2'), + ('zlib', '1.2.13'), +] + +start_dir = 'ref-eval' + +buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS -fopenmp" && cd ../rsem-eval && make CC="$CXX" CFLAGS="$CXXFLAGS"' + +runtest = 'test' + +files_to_copy = [(['ref-eval', 'ref-eval-estimate-true-assembly', '../rsem-eval/rsem-*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ref-eval', 'ref-eval-estimate-true-assembly', 'rsem-build-read-index', + 'rsem-eval-calculate-score', 'rsem-eval-estimate-transcript-length-distribution', + 'rsem-eval-run-em', 'rsem-extract-reference-transcripts', + 'rsem-parse-alignments', 'rsem-plot-model', 'rsem-preref', 'rsem-sam-validator', + 'rsem-scan-for-paired-end-reads', 'rsem-simulate-reads', + 'rsem-synthesis-reference-transcripts']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/detonate/detonate-1.11-intel-2017b.eb b/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11-intel-2017b.eb similarity index 89% rename from easybuild/easyconfigs/d/detonate/detonate-1.11-intel-2017b.eb rename to easybuild/easyconfigs/d/DETONATE/DETONATE-1.11-intel-2017b.eb index d15f2a4c8de..1b493a4e5db 100644 --- a/easybuild/easyconfigs/d/detonate/detonate-1.11-intel-2017b.eb +++ b/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11-intel-2017b.eb @@ -1,6 +1,6 @@ easyblock = 'MakeCp' -name = 'detonate' +name = 'DETONATE' version = '1.11' homepage = 'http://deweylab.biostat.wisc.edu/detonate/' @@ -13,15 +13,15 @@ toolchain = {'name': 'intel', 'version': '2017b'} toolchainopts = {'cstd': 'c++11'} source_urls = ['http://deweylab.biostat.wisc.edu/detonate/'] -sources = [SOURCE_TAR_GZ] +sources = [SOURCELOWER_TAR_GZ] patches = [ - 'detonate-%(version)s_fix-deps.patch', - 'detonate-%(version)s_Intel-fixes.patch', + 'DETONATE-%(version)s_fix-deps.patch', + 'DETONATE-%(version)s_fix-cast-bool.patch', ] checksums = [ 'e1d04af1b1d2504942a6941b346d430157da6117fac043b7ee83274717d99714', # detonate-1.11.tar.gz - '0ab353f66d5459e1fa18fa214026589fe214365f3532a3b9ea182757c7547691', # detonate-1.11_fix-deps.patch - 'c72a18250857883e7075ac512bbbd532e61a1aab38868d0dc932ca4bdc412817', # detonate-1.11_Intel-fixes.patch + '0ab353f66d5459e1fa18fa214026589fe214365f3532a3b9ea182757c7547691', # DETONATE-1.11_fix-deps.patch + 'c72a18250857883e7075ac512bbbd532e61a1aab38868d0dc932ca4bdc412817', # DETONATE-1.11_fix-cast-bool.patch ] builddependencies = [('CMake', '3.10.1')] diff --git a/easybuild/easyconfigs/d/detonate/detonate-1.11_Intel-fixes.patch b/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11_fix-cast-bool.patch similarity index 100% rename from easybuild/easyconfigs/d/detonate/detonate-1.11_Intel-fixes.patch rename to easybuild/easyconfigs/d/DETONATE/DETONATE-1.11_fix-cast-bool.patch diff --git a/easybuild/easyconfigs/d/detonate/detonate-1.11_fix-deps.patch b/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11_fix-deps.patch similarity index 100% rename from easybuild/easyconfigs/d/detonate/detonate-1.11_fix-deps.patch rename to easybuild/easyconfigs/d/DETONATE/DETONATE-1.11_fix-deps.patch diff --git a/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11_include-fix.patch b/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11_include-fix.patch new file mode 100644 index 00000000000..a7bcb389ea4 --- /dev/null +++ b/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11_include-fix.patch @@ -0,0 +1,10 @@ +diff -u detonate-1.11/ref-eval/pairset.hh.orig detonate-1.11/ref-eval/pairset.hh +--- detonate-1.11/ref-eval/pairset.hh.orig 2016-06-22 23:34:39.000000000 +0200 ++++ detonate-1.11/ref-eval/pairset.hh 2024-01-08 18:31:58.579745141 +0100 +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include \ No newline at end of file diff --git a/easybuild/easyconfigs/d/DFT-D4/DFT-D4-3.6.0-intel-2022a.eb b/easybuild/easyconfigs/d/DFT-D4/DFT-D4-3.6.0-intel-2022a.eb new file mode 100644 index 00000000000..1790cab38c0 --- /dev/null +++ b/easybuild/easyconfigs/d/DFT-D4/DFT-D4-3.6.0-intel-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'MesonNinja' + +name = 'DFT-D4' +version = '3.6.0' + +homepage = 'https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dftd4' +description = """Generally Applicable Atomic-Charge Dependent London Dispersion Correction.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/dftd4/dftd4/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = ['DFT-D4-3.2.0-remove_module_id.patch'] +checksums = [ + {'v3.6.0.tar.gz': '0e3e8d5f9e9e5414b9979967c074c953706053832e551d922c27599e7324bace'}, + {'DFT-D4-3.2.0-remove_module_id.patch': '8c3c81338cb57972580e4cf3db307aa2e44b8b3f6d1ba7ae24fa9d807490a93b'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.10.2'), + ('Meson', '0.62.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('mstore', '0.2.0'), + ('mctc-lib', '0.3.1'), + ('multicharge', '0.2.0'), +] + +configopts = '-Dpython=true -Dapi_v2=true' + +sanity_check_paths = { + 'files': ['bin/dftd4', 'lib/libdftd4.a', 'lib/libdftd4.%s' % SHLIB_EXT, 'include/dftd4.mod'], + 'dirs': [], +} + +sanity_check_commands = ["dftd4 --version"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.9-GCC-13.2.0.eb b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.9-GCC-13.2.0.eb new file mode 100644 index 00000000000..754d1f6214b --- /dev/null +++ b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.9-GCC-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'DIAMOND' +version = '2.1.9' + +homepage = 'https://github.com/bbuchfink/diamond' +description = "Accelerated BLAST compatible local sequence aligner" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +github_account = 'bbuchfink' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4cde9df78c63e8aef9df1e3265cd06a93ce1b047d6dba513a1437719b70e9d88'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} +sanity_check_commands = ["%(namelower)s help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DLPack/DLPack-0.8-GCC-11.3.0.eb b/easybuild/easyconfigs/d/DLPack/DLPack-0.8-GCC-11.3.0.eb new file mode 100644 index 00000000000..97be9746c55 --- /dev/null +++ b/easybuild/easyconfigs/d/DLPack/DLPack-0.8-GCC-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'DLPack' +version = '0.8' + +homepage = 'https://dmlc.github.io/dlpack/latest/' +description = """DLPack is a stable in-memory data structure for an ndarray +system to interact with a variety of frameworks.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'dmlc' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cf965c26a5430ba4cc53d61963f288edddcd77443aa4c85ce722aaf1e2f29513'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['include/dlpack/dlpack.h', 'lib/cmake/dlpack/dlpackConfig.cmake'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/DMLC-Core/DMLC-Core-0.5-GCC-11.3.0.eb b/easybuild/easyconfigs/d/DMLC-Core/DMLC-Core-0.5-GCC-11.3.0.eb new file mode 100644 index 00000000000..ce48657bd14 --- /dev/null +++ b/easybuild/easyconfigs/d/DMLC-Core/DMLC-Core-0.5-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'DMLC-Core' +version = '0.5' + +homepage = 'https://dmlc-core.readthedocs.io/en/latest' +description = """DMLC-Core is the backbone library to support all DMLC +projects, offers the bricks to build efficient and scalable distributed +machine learning libraries.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'dmlc' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cd97475ae1ecf561a1cb1129552f9889d52b11b3beb4c56e5345d007d5020ece'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('googletest', '1.11.0'), +] + +_copts = [ + '-DUSE_CXX14_IF_AVAILABLE=ON', + '-DGOOGLE_TEST=ON', +] +configopts = ' '.join(_copts) + +build_shared_libs = True + +runtest = 'test' + +sanity_check_paths = { + 'files': ['include/dmlc/common.h', 'lib/cmake/dmlc/dmlc-config.cmake', 'lib/libdmlc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/DP3/DP3-6.0-foss-2023b.eb b/easybuild/easyconfigs/d/DP3/DP3-6.0-foss-2023b.eb new file mode 100644 index 00000000000..8373cc5f8bd --- /dev/null +++ b/easybuild/easyconfigs/d/DP3/DP3-6.0-foss-2023b.eb @@ -0,0 +1,57 @@ +easyblock = 'CMakeMake' + +name = 'DP3' +version = '6.0' + +homepage = 'https://dp3.readthedocs.io/' +description = "DP3: streaming processing pipeline for radio interferometric data." + +toolchain = {'name': 'foss', 'version': '2023b'} + +sources = [ + { + 'filename': '%(name)s-v%(version)s.tar.gz', + # Repo uses git submodules, which are not included in the release tarballs. + # Thus, we let EasyBuild download directly from the git repository. + 'git_config': { + 'url': 'https://git.astron.nl/RD', + 'repo_name': '%(name)s', + 'tag': 'v%(version)s', + 'clone_into': '%(name)s', + 'recursive': True + } + }, +] +patches = ['DP3-6.0_fix-for-xsimd-error-on-neoverse-v1.patch'] +checksums = [ + None, # checksum for git clone source is non-deterministic + # DP3-6.0_fix-for-xsimd-error-on-neoverse-v1.patch + '7f5069388846c9c715013d5a3a267a6d8e266520445a6427e63e9d52d3046c9d', +] + +builddependencies = [ + ('CMake', '3.27.6'), +] +dependencies = [ + ('casacore', '3.5.0'), + ('Boost', '1.83.0'), + ('CFITSIO', '4.3.1'), + ('WCSLIB', '7.11'), + ('GSL', '2.7'), + ('HDF5', '1.14.3'), + ('Python', '3.11.5'), + ('EveryBeam', '0.5.2'), + ('Armadillo', '12.8.0'), + ('AOFlagger', '3.4.0'), + ('IDG', '1.2.0'), +] + + +sanity_check_paths = { + 'files': ['include/include/%(namelower)s/base/%(name)s.h', 'bin/%(name)s'], + 'dirs': ['bin'], +} + +sanity_check_commands = [('%(name)s', '--version')] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/d/DP3/DP3-6.0_fix-for-xsimd-error-on-neoverse-v1.patch b/easybuild/easyconfigs/d/DP3/DP3-6.0_fix-for-xsimd-error-on-neoverse-v1.patch new file mode 100644 index 00000000000..abfd8e34f06 --- /dev/null +++ b/easybuild/easyconfigs/d/DP3/DP3-6.0_fix-for-xsimd-error-on-neoverse-v1.patch @@ -0,0 +1,19 @@ +# Fix for XSIMD build error on Neoverse V1 +# See: https://github.com/xtensor-stack/xsimd/issues/1005 and https://github.com/xtensor-stack/xsimd/commit/1d8536b +# Mar 11th 2024 by T. Kok (SURF) +--- DP3.orig/external/aocommon/CMake/FetchXTensor.cmake 2024-03-11 11:20:32.024804259 +0100 ++++ DP3/external/aocommon/CMake/FetchXTensor.cmake 2024-03-11 11:21:32.851493709 +0100 +@@ -6,7 +6,7 @@ + set(xtl_GIT_TAG b3d0091a77af52f1b479b5b768260be4873aa8a7) + endif() + if (NOT xsimd_GIT_TAG) +- set(xsimd_GIT_TAG 2f5eddf8912c7e2527f0c50895c7560b964d29af) ++ set(xsimd_GIT_TAG 1d8536b393171b899031f01b7c2d63858b05665c) + endif() + if (NOT xtensor_GIT_TAG) + set(xtensor_GIT_TAG 0.24.2) +@@ -65,3 +65,4 @@ + endif() + + endforeach() ++ diff --git a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.3.6-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.3.6-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..cec8160a27c --- /dev/null +++ b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.3.6-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,74 @@ +# Loosely based on PR #7680 +# J. Sassmannshausen (Imperial College London/UK) +# upgrade to version 2.3.6: J Hein, (LUNARC, Lund University, Sweden) + +easyblock = 'PythonBundle' + +name = 'DeepLabCut' +version = '2.3.6' +versionsuffix = '-CUDA-%(cudaver)s' +local_version = '%(versionsuffix)s-contrib' + +homepage = 'http://www.mousemotorlab.org/deeplabcut' +description = "Markerless tracking of user-defined features with deep learning" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('TensorFlow', '2.11.0', versionsuffix), + ('PyTorch', '1.12.0', versionsuffix), + ('scikit-image', '0.19.3'), + ('matplotlib', '3.5.2'), + ('numba', '0.56.4'), + ('scikit-learn', '1.1.2'), + ('FFmpeg', '4.4.2'), + ('PyZMQ', '24.0.1'), + ('tqdm', '4.64.0'), + ('imageio', '2.22.2'), + ('statsmodels', '0.13.1'), + ('PyTables', '3.8.0'), + ('ruamel.yaml', '0.17.21'), + ('imgaug', '0.4.0', versionsuffix), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('dlclibrary', '0.0.4', { + 'checksums': ['2b4ca078dc9cddb2a1f30d42cbc9d5c0e849e0f93f2b6781ca478baed0a829b8'], + }), + ('filterpy', '1.4.5', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1'], + }), + ('huggingface-hub', '0.17.3', { + 'sources': ['huggingface_hub-%(version)s.tar.gz'], + 'checksums': ['40439632b211311f788964602bf8b0d9d6b7a2314fba4e8d67b2ce3ecea0e3fd'], + }), + ('imageio-ffmpeg', '0.4.9', { + 'checksums': ['39bcd1660118ef360fa4047456501071364661aa9d9021d3d26c58f1ee2081f5'], + }), + ('msgpack-numpy', '0.4.8', { + 'sources': ['msgpack-numpy-0.4.8.tar.gz'], + 'checksums': ['c667d3180513422f9c7545be5eec5d296dcbb357e06f72ed39cc683797556e69'], + }), + ('tensorpack', '0.11', { + 'checksums': ['022b610e416e62e3575424cd08e60af27808a5fb6914294615391caf582cbd4f'], + }), + ('tf_slim', '1.1.0', { + 'source_urls': ['https://github.com/google-research/tf-slim/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['964cde4b7728a408dcd5c841ab6b93d95137ab4b60db28b10400f86286bfeb8b'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['c4479f05b3c917a6198c1abbb6ea0ac580ce4b02fe1d068e0215b1984aa8e385'], + }), +] + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/DeepLoc/DeepLoc-2.0-foss-2022b.eb b/easybuild/easyconfigs/d/DeepLoc/DeepLoc-2.0-foss-2022b.eb new file mode 100644 index 00000000000..546c4bb876d --- /dev/null +++ b/easybuild/easyconfigs/d/DeepLoc/DeepLoc-2.0-foss-2022b.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'DeepLoc' +version = '2.0' + +homepage = 'https://services.healthtech.dtu.dk/services/DeepLoc-2.0' +description = "DeepLoc 2.0 predicts the subcellular localization(s) of eukaryotic proteins" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('matplotlib', '3.7.0'), + ('Biopython', '1.81'), + ('ONNX-Runtime', '1.16.3'), + ('ESM-2', '2.0.0'), # for fair-esm + ('PyTorch', '1.13.1'), + ('PyTorch-Lightning', '2.1.2'), + ('Transformers', '4.30.2'), + ('SentencePiece', '0.1.99'), + ('mygene', '3.2.2'), # required by bio +] + +use_pip = True + +local_deeploc_download_url = 'https://services.healthtech.dtu.dk/cgi-bin/sw_request?' +local_deeploc_download_url += 'software=deeploc&version=2.0&packageversion=2.0&platform=All' + +exts_list = [ + ('gprofiler-official', '1.0.0', { + 'checksums': ['5015b47f10fbdcb59c57e342e815c9c07afbe57cd3984154f75b845ddef2445d'], + 'modulename': 'gprofiler', + }), + ('bio', '1.6.2', { + 'sources': ['bio-%(version)s-py%(pymajver)s-none-any.whl'], + 'checksums': ['dcec8207f3993a7f41bd8205cde235218da3dc008175ae7bb7468276d8dacf71'], + 'modulename': 'biorun', + }), + (name, version, { + 'download_instructions': "Download via %s" % local_deeploc_download_url, + 'sources': ['deeploc-%(version)s.All.tar.gz'], + 'checksums': ['1741cf61cc38bba6307f1838c08ff9dd01386da09b8939610d15c27f98173651'], + 'modulename': 'DeepLoc2', + }), +] + +sanity_check_paths = { + 'files': ['bin/deeploc2'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "deeploc2 --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/Delft3D/Delft3D-4.04.01-foss-2022a-FLOW.eb b/easybuild/easyconfigs/d/Delft3D/Delft3D-4.04.01-foss-2022a-FLOW.eb new file mode 100644 index 00000000000..c77445993d6 --- /dev/null +++ b/easybuild/easyconfigs/d/Delft3D/Delft3D-4.04.01-foss-2022a-FLOW.eb @@ -0,0 +1,88 @@ +easyblock = 'ConfigureMake' + +name = 'Delft3D' +_revision = '142633' +version = '4.04.01' +versionsuffix = '-FLOW' + +homepage = 'https://oss.deltares.nl/web/delft3d' +description = """ +Simulation of multi-dimensional hydrodynamic flows and transport phenomena, including +sediments. Delft3D-FLOW is part of Delft3D 4. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +download_instructions = """ +There is no tarball provided; it needs to be created through an svn checkout: + 1. svn checkout https://svn.oss.deltares.nl/repos/delft3d/trunk@%s + 2. tar -czvf %%(name)s-%%(version)s.tgz trunk +""" % _revision + +sources = [SOURCE_TGZ] +patches = ['Delft3D-4.04.01_use-external-esmf.patch'] +checksums = [ + # Delft3D-4.04.01.tgz + None, + # Delft3D-4.04.01_use-external-esmf.patch' + '225d76fb3eea22e203f1a9f371b4fd07d75a8478de35a7428c1a1f85b344323c', +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('libtool', '2.4.7'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Ruby', '3.0.5'), + ('Autotools', '20220317'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('netCDF-Fortran', '4.6.0'), + ('METIS', '5.1.0'), + ('PETSc', '3.17.4'), + ('expat', '2.4.8'), + ('ESMF', '8.3.0'), +] + +parallel = 1 + +start_dir = 'src' + +preconfigopts = 'export FCFLAGS="$FCFLAGS -fallow-argument-mismatch -I${CPATH//:/ -I}" && ' +preconfigopts += 'export FFLAGS="$FFLAGS -fallow-argument-mismatch -I${CPATH//:/ -I}" && ' +# syntax was made invalid in c++11 +preconfigopts += "sed -i 's/if (spec < 0)/if (spec == nullptr)/g' utils_lgpl/delftonline/src/delftonline/server.cpp && " +# avoid comparing logical with integer +preconfigopts += r"sed -i 's/if (has_umean \/= 0)/if (has_umean .neqv. .false.)/g' " +preconfigopts += "engines_gpl/flow2d3d/packages/flow2d3d_io/src/input/restart_trim_flow.f90 && " +preconfigopts += "sed -i -e 's/-recursive/-frecursive/g' -e 's/-traceback/-fbacktrace/g' configure.ac && " +# copy ESMF_RegridWeightGen_in_Delft3D-WAVE.sh script +preconfigopts += "cp third_party_open/esmf/lnx64/scripts/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh . && " +# remove esmf precompiled binaries +preconfigopts += "rm -r third_party_open/esmf && libtoolize && " +preconfigopts += './autogen.sh && ' +preconfigopts += 'cd third_party_open/kdtree2 && ./autogen.sh && cd - && ' + +configopts = ' --with-netcdf' +configopts += ' --with-mpi --with-metis --with-petsc' + +# remove spurious double -l flags causing build failure +prebuildopts = "sed -i.backup 's/-l -l//g' libtool config.lt config.status && " + +install_cmd = 'make ds-install' + +postinstallcmds = ["cp %(start_dir)s/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh %(installdir)s/bin/"] + +sanity_check_paths = { + 'files': ['bin/d_hydro', 'bin/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh'], + 'dirs': ['lib', 'share'] +} + +sanity_check_commands = [ + 'd_hydro -? |grep Usage:', +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/d/Delft3D/Delft3D-4.04.01_use-external-esmf.patch b/easybuild/easyconfigs/d/Delft3D/Delft3D-4.04.01_use-external-esmf.patch new file mode 100644 index 00000000000..c446d24a169 --- /dev/null +++ b/easybuild/easyconfigs/d/Delft3D/Delft3D-4.04.01_use-external-esmf.patch @@ -0,0 +1,110 @@ +Author: Jasper Grimm +Avoid installing the bundled ESMF, since this is compiled for CentOS 7 (and also fails +rpath sanity checks) +diff -Nru trunk.orig/src/configure.ac trunk/src/configure.ac +--- trunk.orig/src/configure.ac 2024-02-20 14:35:26.821778739 +0000 ++++ trunk/src/configure.ac 2024-02-20 14:43:47.108090829 +0000 +@@ -607,10 +607,6 @@ + plugins_lgpl/plugin_delftflow_traform/src/Makefile + scripts_lgpl/linux/Makefile + scripts_lgpl/Makefile +-third_party_open/esmf/lnx64/bin/Makefile +-third_party_open/esmf/lnx64/Makefile +-third_party_open/esmf/lnx64/scripts/Makefile +-third_party_open/esmf/Makefile + third_party_open/Makefile + third_party_open/md5/Makefile + third_party_open/md5/md5digest/Makefile +diff -Nru trunk.orig/src/third_party_open/esmf/lnx64/scripts/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh trunk/src/third_party_open/esmf/lnx64/scripts/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh +--- trunk.orig/src/third_party_open/esmf/lnx64/scripts/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh 2024-02-20 14:35:27.449776542 +0000 ++++ trunk/src/third_party_open/esmf/lnx64/scripts/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh 2024-02-21 11:53:47.816278292 +0000 +@@ -52,24 +52,24 @@ + scriptdirname=`readlink \-f \$0` + scriptdir=`dirname $scriptdirname` + D3D_HOME=$scriptdir/.. +-regridexec=$D3D_HOME/bin/ESMF_RegridWeightGen ++regridexec=$(which ESMF_RegridWeightGen) + # ESMF_regrid is build with old compilers etc. + # share/esmf optionally contains some library-versions especially for running this version of ESMF_regrid, + # both for RedHat 6.* and 7.* + +-if [ -f "/etc/redhat-release" ]; then +- grepOS=`cat /etc/redhat-release | grep -i "release 6"` +- if [ "$grepOS" != "" ]; then +- echo "RH 6: Using RH 6 libraries" >>esmf_sh.log +- export LD_LIBRARY_PATH=$D3D_HOME/share/delft3d/esmf/lnx64/bin:$D3D_HOME/lib:$LD_LIBRARY_PATH +- else +- echo "using RH 7 libraries" >>esmf_sh.log +- export LD_LIBRARY_PATH=$D3D_HOME/share/delft3d/esmf/lnx64/bin_COS7:$D3D_HOME/lib:$LD_LIBRARY_PATH +- fi +-else +- echo "ERROR: ESMF_RegridWeightGen_in_Delft3D-WAVE.sh only implemented for CentOS 6 and 7." +- exit +-fi ++# if [ -f "/etc/redhat-release" ]; then ++# grepOS=`cat /etc/redhat-release | grep -i "release 6"` ++# if [ "$grepOS" != "" ]; then ++# echo "RH 6: Using RH 6 libraries" >>esmf_sh.log ++# export LD_LIBRARY_PATH=$D3D_HOME/share/delft3d/esmf/lnx64/bin:$D3D_HOME/lib:$LD_LIBRARY_PATH ++# else ++# echo "using RH 7 libraries" >>esmf_sh.log ++# export LD_LIBRARY_PATH=$D3D_HOME/share/delft3d/esmf/lnx64/bin_COS7:$D3D_HOME/lib:$LD_LIBRARY_PATH ++# fi ++# else ++# echo "ERROR: ESMF_RegridWeightGen_in_Delft3D-WAVE.sh only implemented for CentOS 6 and 7." ++# exit ++# fi + + + echo Executing batchscript "ESMF_RegridWeightGen_in_Delft3D-WAVE.sh" for Delft3D-WAVE >>esmf_sh.log +diff -Nru trunk.orig/src/third_party_open/Makefile.am trunk/src/third_party_open/Makefile.am +--- trunk.orig/src/third_party_open/Makefile.am 2024-02-20 14:35:27.045777956 +0000 ++++ trunk/src/third_party_open/Makefile.am 2024-02-20 14:43:31.552143270 +0000 +@@ -19,7 +19,6 @@ + endif + + SUBDIRS = \ +- esmf \ + triangle \ + version_number \ + libsigwatch \ +@@ -28,39 +27,3 @@ + kdtree2 \ + md5 \ + $(MAYBE_FORTRANGIS) +-nobase_dist_pkgdata_DATA = \ +- esmf/lnx64/bin/libcilkrts.so.5 \ +- esmf/lnx64/bin/libdl.so.2 \ +- esmf/lnx64/bin/libesmf.so \ +- esmf/lnx64/bin/libgcc_s.so.1 \ +- esmf/lnx64/bin/libhdf5.so.8 \ +- esmf/lnx64/bin/libhdf5_hl.so.8 \ +- esmf/lnx64/bin/libifcore.so.5 \ +- esmf/lnx64/bin/libifport.so.5 \ +- esmf/lnx64/bin/libimf.so \ +- esmf/lnx64/bin/libintlc.so.5 \ +- esmf/lnx64/bin/libiomp5.so \ +- esmf/lnx64/bin/libirc.so \ +- esmf/lnx64/bin/libirng.so \ +- esmf/lnx64/bin/libm.so.6 \ +- esmf/lnx64/bin/libnetcdf.so.7 \ +- esmf/lnx64/bin/libnetcdff.so.6 \ +- esmf/lnx64/bin/librt.so.1 \ +- esmf/lnx64/bin/libsvml.so \ +- esmf/lnx64/bin/libz.so.1 \ +- esmf/lnx64/bin_COS7/libcilkrts.so.5 \ +- esmf/lnx64/bin_COS7/libesmf.so \ +- esmf/lnx64/bin_COS7/libhdf5.so.200 \ +- esmf/lnx64/bin_COS7/libhdf5_hl.so.200 \ +- esmf/lnx64/bin_COS7/libifcoremt.so.5 \ +- esmf/lnx64/bin_COS7/libifport.so.5 \ +- esmf/lnx64/bin_COS7/libimf.so \ +- esmf/lnx64/bin_COS7/libintlc.so.5 \ +- esmf/lnx64/bin_COS7/libiomp5.so \ +- esmf/lnx64/bin_COS7/libirc.so \ +- esmf/lnx64/bin_COS7/libirng.so \ +- esmf/lnx64/bin_COS7/libnetcdf.so.7 \ +- esmf/lnx64/bin_COS7/libnetcdf.so.18 \ +- esmf/lnx64/bin_COS7/libnetcdff.so.6 \ +- esmf/lnx64/bin_COS7/libsvml.so +- diff --git a/easybuild/easyconfigs/d/DeltaLake/DeltaLake-0.15.1-gfbf-2023a.eb b/easybuild/easyconfigs/d/DeltaLake/DeltaLake-0.15.1-gfbf-2023a.eb new file mode 100644 index 00000000000..e3342fac4f6 --- /dev/null +++ b/easybuild/easyconfigs/d/DeltaLake/DeltaLake-0.15.1-gfbf-2023a.eb @@ -0,0 +1,873 @@ +easyblock = 'CargoPythonPackage' + +name = 'DeltaLake' +version = '0.15.1' + +homepage = 'https://delta-io.github.io/delta-rs/' +description = """Native Delta Lake Python binding based on delta-rs with Pandas integration. +The Delta Lake project aims to unlock the power of the Deltalake for as many +users and projects as possible by providing native low-level APIs aimed at +developers and integrators, as well as a high-level operations API that lets +you query, inspect, and operate your Delta Lake with ease.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +patches = ['DeltaLake-0.15.1_remove-obsolete-pyarrow-hotfix.patch'] +checksums = [ + {'deltalake-0.15.1.tar.gz': '77ca8e239297c7db99ae0dd4c13097550f4dca64d6b6f9bd493d9084fdf25fb3'}, + {'addr2line-0.21.0.tar.gz': '8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.8.7.tar.gz': '77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'alloc-no-stdlib-2.0.4.tar.gz': 'cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3'}, + {'alloc-stdlib-0.2.2.tar.gz': '94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece'}, + {'allocator-api2-0.2.16.tar.gz': '0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5'}, + {'android-tzdata-0.1.1.tar.gz': 'e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0'}, + {'android_system_properties-0.1.5.tar.gz': '819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311'}, + {'anes-0.1.6.tar.gz': '4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299'}, + {'anstyle-1.0.4.tar.gz': '7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87'}, + {'anyhow-1.0.79.tar.gz': '080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca'}, + {'arrayref-0.3.7.tar.gz': '6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545'}, + {'arrayvec-0.7.4.tar.gz': '96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711'}, + {'arrow-49.0.0.tar.gz': '5bc25126d18a012146a888a0298f2c22e1150327bd2765fc76d710a556b2d614'}, + {'arrow-arith-49.0.0.tar.gz': '34ccd45e217ffa6e53bbb0080990e77113bdd4e91ddb84e97b77649810bcf1a7'}, + {'arrow-array-49.0.0.tar.gz': '6bda9acea48b25123c08340f3a8ac361aa0f74469bb36f5ee9acf923fce23e9d'}, + {'arrow-buffer-49.0.0.tar.gz': '01a0fc21915b00fc6c2667b069c1b64bdd920982f426079bc4a7cab86822886c'}, + {'arrow-cast-49.0.0.tar.gz': '5dc0368ed618d509636c1e3cc20db1281148190a78f43519487b2daf07b63b4a'}, + {'arrow-csv-49.0.0.tar.gz': '2e09aa6246a1d6459b3f14baeaa49606cfdbca34435c46320e14054d244987ca'}, + {'arrow-data-49.0.0.tar.gz': '907fafe280a3874474678c1858b9ca4cb7fd83fb8034ff5b6d6376205a08c634'}, + {'arrow-ipc-49.0.0.tar.gz': '79a43d6808411886b8c7d4f6f7dd477029c1e77ffffffb7923555cc6579639cd'}, + {'arrow-json-49.0.0.tar.gz': 'd82565c91fd627922ebfe2810ee4e8346841b6f9361b87505a9acea38b614fee'}, + {'arrow-ord-49.0.0.tar.gz': '9b23b0e53c0db57c6749997fd343d4c0354c994be7eca67152dd2bdb9a3e1bb4'}, + {'arrow-row-49.0.0.tar.gz': '361249898d2d6d4a6eeb7484be6ac74977e48da12a4dd81a708d620cc558117a'}, + {'arrow-schema-49.0.0.tar.gz': '09e28a5e781bf1b0f981333684ad13f5901f4cd2f20589eab7cf1797da8fc167'}, + {'arrow-select-49.0.0.tar.gz': '4f6208466590960efc1d2a7172bc4ff18a67d6e25c529381d7f96ddaf0dc4036'}, + {'arrow-string-49.0.0.tar.gz': 'a4a48149c63c11c9ff571e50ab8f017d2a7cb71037a882b42f6354ed2da9acc7'}, + {'async-compression-0.4.5.tar.gz': 'bc2d0cfb2a7388d34f590e76686704c494ed7aaceed62ee1ba35cbf363abc2a5'}, + {'async-trait-0.1.77.tar.gz': 'c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'aws-config-1.1.1.tar.gz': '11382bd8ac4c6c182a9775990935f96c916a865f1414486595f18eb8cfa9d90b'}, + {'aws-credential-types-1.1.1.tar.gz': '70a1629320d319dc715c6189b172349186557e209d2a7b893ff3d14efd33a47c'}, + {'aws-http-0.60.1.tar.gz': '30e4199d5d62ab09be6a64650c06cc5c4aa45806fed4c74bc4a5c8eaf039a6fa'}, + {'aws-runtime-1.1.1.tar.gz': '87116d357c905b53f1828d15366363fd27b330a0393cbef349e653f686d36bad'}, + {'aws-sdk-glue-1.11.0.tar.gz': 'addd517d95ed93ff34963f59f9878c29554036051e64599219f62d8508cfc131'}, + {'aws-sdk-sso-1.9.0.tar.gz': 'da9d9a8ac4cdb8df39f9777fd41e15a9ae0d0b622b00909ae0322b4d2f9e6ac8'}, + {'aws-sdk-ssooidc-1.9.0.tar.gz': '56ba4a42aa91acecd5ca43b330b5c8eb7f8808d720b6a6f796a35faa302fc73d'}, + {'aws-sdk-sts-1.9.0.tar.gz': '8e3c7c3dcec7cccd24a13953eedf0f2964c2d728d22112744274cf0098ad2e35'}, + {'aws-sigv4-1.1.1.tar.gz': 'd222297ca90209dc62245f0a490355795f29de362eb5c19caea4f7f55fe69078'}, + {'aws-smithy-async-1.1.1.tar.gz': '1e9f65000917e3aa94c259d67fe01fa9e4cd456187d026067d642436e6311a81'}, + {'aws-smithy-http-0.60.1.tar.gz': 'e4e816425a6b9caea4929ac97d0cb33674849bd5f0086418abc0d02c63f7a1bf'}, + {'aws-smithy-json-0.60.1.tar.gz': '8ab3f6d49e08df2f8d05e1bb5b68998e1e67b76054d3c43e7b954becb9a5e9ac'}, + {'aws-smithy-query-0.60.1.tar.gz': '0f94a7a3aa509ff9e8b8d80749851d04e5eee0954c43f2e7d6396c4740028737'}, + {'aws-smithy-runtime-1.1.1.tar.gz': '8da5b0a3617390e769576321816112f711c13d7e1114685e022505cf51fe5e48'}, + {'aws-smithy-runtime-api-1.1.1.tar.gz': '2404c9eb08bfe9af255945254d9afc69a367b7ee008b8db75c05e3bca485fc65'}, + {'aws-smithy-types-1.1.1.tar.gz': '2aba8136605d14ac88f57dc3a693a9f8a4eab4a3f52bc03ff13746f0cd704e97'}, + {'aws-smithy-xml-0.60.1.tar.gz': '2e8f03926587fc881b12b102048bb04305bf7fb8c83e776f0ccc51eaa2378263'}, + {'aws-types-1.1.1.tar.gz': '4e5d5ee29077e0fcd5ddd0c227b521a33aaf02434b7cdba1c55eec5c1f18ac47'}, + {'backoff-0.4.0.tar.gz': 'b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1'}, + {'backtrace-0.3.69.tar.gz': '2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'base64-0.21.5.tar.gz': '35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9'}, + {'base64-simd-0.8.0.tar.gz': '339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.1.tar.gz': '327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07'}, + {'blake2-0.10.6.tar.gz': '46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe'}, + {'blake3-1.5.0.tar.gz': '0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87'}, + {'block-buffer-0.9.0.tar.gz': '4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'brotli-3.4.0.tar.gz': '516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f'}, + {'brotli-decompressor-2.5.1.tar.gz': '4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f'}, + {'bumpalo-3.14.0.tar.gz': '7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec'}, + {'bytemuck-1.14.0.tar.gz': '374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bytes-1.5.0.tar.gz': 'a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223'}, + {'bytes-utils-0.1.4.tar.gz': '7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cast-0.3.0.tar.gz': '37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5'}, + {'cc-1.0.83.tar.gz': 'f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'chrono-0.4.31.tar.gz': '7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38'}, + {'chrono-tz-0.8.5.tar.gz': '91d7b79e99bfaa0d47da0687c43aa3b7381938a62ad3a6498599039321f660b7'}, + {'chrono-tz-build-0.2.1.tar.gz': '433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f'}, + {'ciborium-0.2.1.tar.gz': 'effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926'}, + {'ciborium-io-0.2.1.tar.gz': 'cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656'}, + {'ciborium-ll-0.2.1.tar.gz': 'defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b'}, + {'clap-4.4.13.tar.gz': '52bdc885e4cacc7f7c9eedc1ef6da641603180c783c41a15c264944deeaab642'}, + {'clap_builder-4.4.12.tar.gz': 'fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9'}, + {'clap_lex-0.6.0.tar.gz': '702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1'}, + {'comfy-table-7.1.0.tar.gz': '7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686'}, + {'const-random-0.1.17.tar.gz': '5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a'}, + {'const-random-macro-0.1.16.tar.gz': 'f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e'}, + {'constant_time_eq-0.3.0.tar.gz': 'f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2'}, + {'core-foundation-0.9.4.tar.gz': '91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f'}, + {'core-foundation-sys-0.8.6.tar.gz': '06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f'}, + {'cpufeatures-0.2.12.tar.gz': '53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'criterion-0.5.1.tar.gz': 'f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f'}, + {'criterion-plot-0.5.0.tar.gz': '6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1'}, + {'crossbeam-deque-0.8.4.tar.gz': 'fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751'}, + {'crossbeam-epoch-0.9.17.tar.gz': '0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d'}, + {'crossbeam-utils-0.8.18.tar.gz': 'c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c'}, + {'crunchy-0.2.2.tar.gz': '7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'crypto-mac-0.11.1.tar.gz': 'b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714'}, + {'csv-1.3.0.tar.gz': 'ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe'}, + {'csv-core-0.1.11.tar.gz': '5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70'}, + {'ct-logs-0.8.0.tar.gz': 'c1a816186fa68d9e426e3cb4ae4dff1fcd8e4a2c34b781bf7a822574a0d0aac8'}, + {'ctor-0.2.6.tar.gz': '30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e'}, + {'dashmap-5.5.3.tar.gz': '978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856'}, + {'datafusion-34.0.0.tar.gz': '193fd1e7628278d0641c5122860f9a7fd6a1d77d055838d12f55d15bbe28d4d0'}, + {'datafusion-common-34.0.0.tar.gz': '548bc49c4a489e3de474813831ea556dc9d368f9ed8d867b1493da42e8e9f613'}, + {'datafusion-execution-34.0.0.tar.gz': 'ecc865657ffcf4da5ff08bdc6436a9a833bc0aa96c3254c8d18ab8a0ad4e437d'}, + {'datafusion-expr-34.0.0.tar.gz': '33c473f72d8d81a532e63f6e562ed66dd9209dfd8e433d9712abd42444ee161e'}, + {'datafusion-optimizer-34.0.0.tar.gz': 'cb6218318001d2f6783b7fffa17592318f65f26609d7aab605a3dd0c7c2e2618'}, + {'datafusion-physical-expr-34.0.0.tar.gz': '9e1ca7e35ca22f9dc506c2375b92054b03ccf91afe25c0a90b395a1473a09735'}, + {'datafusion-physical-plan-34.0.0.tar.gz': 'ddde97adefcca3a55257c646ffee2a95b6cac66f74d1146a6e3a6dbb37830631'}, + {'datafusion-proto-34.0.0.tar.gz': '344700ad4505ffcab6ba0715188ce317ad44e024fe1c5dc7267762113a9dcdf8'}, + {'datafusion-sql-34.0.0.tar.gz': 'a60d9d6460a64fddb8663db41da97e6b8b0bf79da42f997ebe81722731eaf0e5'}, + {'deranged-0.3.11.tar.gz': 'b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4'}, + {'diff-0.1.13.tar.gz': '56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8'}, + {'digest-0.9.0.tar.gz': 'd3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'dirs-next-2.0.0.tar.gz': 'b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1'}, + {'dirs-sys-next-0.1.2.tar.gz': '4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d'}, + {'doc-comment-0.3.3.tar.gz': 'fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10'}, + {'dotenvy-0.15.7.tar.gz': '1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'encoding_rs-0.8.33.tar.gz': '7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1'}, + {'env_logger-0.10.1.tar.gz': '95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'fix-hidden-lifetime-bug-0.2.5.tar.gz': 'd4ae9c2016a663983d4e40a9ff967d6dcac59819672f0b47f2b17574e99c33c8'}, + {'fix-hidden-lifetime-bug-proc_macros-0.2.5.tar.gz': + 'e4c81935e123ab0741c4c4f0d9b8377e5fb21d3de7e062fa4b1263b1fbcba1ea'}, + {'fixedbitset-0.4.2.tar.gz': '0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80'}, + {'flatbuffers-23.5.26.tar.gz': '4dac53e22462d78c16d64a1cd22371b54cc3fe94aa15e7886a2fa6e5d1ab8640'}, + {'flate2-1.0.28.tar.gz': '46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'foreign-types-0.3.2.tar.gz': 'f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1'}, + {'foreign-types-shared-0.1.1.tar.gz': '00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b'}, + {'form_urlencoded-1.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}, + {'fs_extra-1.3.0.tar.gz': '42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c'}, + {'futures-0.3.30.tar.gz': '645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0'}, + {'futures-channel-0.3.30.tar.gz': 'eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78'}, + {'futures-core-0.3.30.tar.gz': 'dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d'}, + {'futures-executor-0.3.30.tar.gz': 'a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d'}, + {'futures-io-0.3.30.tar.gz': 'a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1'}, + {'futures-macro-0.3.30.tar.gz': '87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac'}, + {'futures-sink-0.3.30.tar.gz': '9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5'}, + {'futures-task-0.3.30.tar.gz': '38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004'}, + {'futures-util-0.3.30.tar.gz': '3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.11.tar.gz': 'fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f'}, + {'gimli-0.28.1.tar.gz': '4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'h2-0.3.22.tar.gz': '4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178'}, + {'half-1.8.2.tar.gz': 'eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7'}, + {'half-2.3.1.tar.gz': 'bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872'}, + {'hashbrown-0.14.3.tar.gz': '290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.3.tar.gz': 'd77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7'}, + {'hex-0.4.3.tar.gz': '7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70'}, + {'hmac-0.11.0.tar.gz': '2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b'}, + {'hmac-0.12.1.tar.gz': '6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e'}, + {'http-0.2.11.tar.gz': '8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb'}, + {'http-body-0.4.6.tar.gz': '7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2'}, + {'httparse-1.8.0.tar.gz': 'd897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904'}, + {'httpdate-1.0.3.tar.gz': 'df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'hyper-0.14.28.tar.gz': 'bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80'}, + {'hyper-rustls-0.22.1.tar.gz': '5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64'}, + {'hyper-rustls-0.24.2.tar.gz': 'ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590'}, + {'hyper-tls-0.5.0.tar.gz': 'd6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905'}, + {'iana-time-zone-0.1.59.tar.gz': 'b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539'}, + {'iana-time-zone-haiku-0.1.2.tar.gz': 'f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f'}, + {'idna-0.5.0.tar.gz': '634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6'}, + {'indexmap-2.1.0.tar.gz': 'd530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f'}, + {'indoc-2.0.4.tar.gz': '1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'integer-encoding-3.0.4.tar.gz': '8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02'}, + {'ipnet-2.9.0.tar.gz': '8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3'}, + {'is-terminal-0.4.10.tar.gz': '0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itertools-0.12.0.tar.gz': '25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'jobserver-0.1.27.tar.gz': '8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d'}, + {'js-sys-0.3.66.tar.gz': 'cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'lexical-core-0.8.5.tar.gz': '2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46'}, + {'lexical-parse-float-0.8.5.tar.gz': '683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f'}, + {'lexical-parse-integer-0.8.6.tar.gz': '6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9'}, + {'lexical-util-0.8.5.tar.gz': '5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc'}, + {'lexical-write-float-0.8.5.tar.gz': 'accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862'}, + {'lexical-write-integer-0.8.5.tar.gz': 'e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446'}, + {'libc-0.2.152.tar.gz': '13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'libredox-0.0.1.tar.gz': '85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8'}, + {'linux-raw-sys-0.4.12.tar.gz': 'c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'lz4_flex-0.11.1.tar.gz': '3ea9b256699eda7b0387ffbc776dd625e28bde3918446381781245b7a50349d8'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'maplit-1.0.2.tar.gz': '3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d'}, + {'md-5-0.9.1.tar.gz': '7b5a279bb9607f9f53c22d496eade00d138d1bdcccd07d74650387cf94942a15'}, + {'md-5-0.10.6.tar.gz': 'd89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf'}, + {'memchr-2.7.1.tar.gz': '523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'mime-0.3.17.tar.gz': '6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'mio-0.8.10.tar.gz': '8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09'}, + {'native-tls-0.2.11.tar.gz': '07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e'}, + {'num-0.4.1.tar.gz': 'b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af'}, + {'num-bigint-0.4.4.tar.gz': '608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0'}, + {'num-complex-0.4.4.tar.gz': '1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214'}, + {'num-integer-0.1.45.tar.gz': '225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9'}, + {'num-iter-0.1.43.tar.gz': '7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252'}, + {'num-rational-0.4.1.tar.gz': '0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0'}, + {'num-traits-0.2.17.tar.gz': '39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c'}, + {'num_cpus-1.16.0.tar.gz': '4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43'}, + {'object-0.32.2.tar.gz': 'a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441'}, + {'object_store-0.8.0.tar.gz': '2524735495ea1268be33d200e1ee97455096a0846295a21548cd2f3541de7050'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'oorandom-11.1.3.tar.gz': '0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575'}, + {'opaque-debug-0.3.0.tar.gz': '624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5'}, + {'openssl-0.10.62.tar.gz': '8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671'}, + {'openssl-macros-0.1.1.tar.gz': 'a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'openssl-src-300.2.1+3.2.0.tar.gz': '3fe476c29791a5ca0d1273c697e96085bbabbbea2ef7afd5617e78a4b40332d3'}, + {'openssl-sys-0.9.98.tar.gz': 'c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7'}, + {'ordered-float-2.10.1.tar.gz': '68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c'}, + {'outref-0.5.1.tar.gz': '4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'parquet-49.0.0.tar.gz': 'af88740a842787da39b3d69ce5fbf6fce97d20211d3b299fee0a0da6430c74d4'}, + {'parse-zoneinfo-0.3.0.tar.gz': 'c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'petgraph-0.6.4.tar.gz': 'e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9'}, + {'phf-0.11.2.tar.gz': 'ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc'}, + {'phf_codegen-0.11.2.tar.gz': 'e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a'}, + {'phf_generator-0.11.2.tar.gz': '48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0'}, + {'phf_shared-0.11.2.tar.gz': '90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b'}, + {'pin-project-lite-0.2.13.tar.gz': '8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58'}, + {'pin-utils-0.1.0.tar.gz': '8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184'}, + {'pkg-config-0.3.28.tar.gz': '69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a'}, + {'plotters-0.3.5.tar.gz': 'd2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45'}, + {'plotters-backend-0.3.5.tar.gz': '9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609'}, + {'plotters-svg-0.3.5.tar.gz': '38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'pretty_assertions-1.4.0.tar.gz': 'af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66'}, + {'pretty_env_logger-0.5.0.tar.gz': '865724d4dbe39d9f3dd3b52b88d859d66bcb2d6a0acfd5ea68a65fb66d4bdc1c'}, + {'proc-macro2-1.0.76.tar.gz': '95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c'}, + {'prost-0.12.3.tar.gz': '146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a'}, + {'prost-derive-0.12.3.tar.gz': 'efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e'}, + {'pyo3-0.20.2.tar.gz': '9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0'}, + {'pyo3-build-config-0.20.2.tar.gz': '07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be'}, + {'pyo3-ffi-0.20.2.tar.gz': 'dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1'}, + {'pyo3-macros-0.20.2.tar.gz': '05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3'}, + {'pyo3-macros-backend-0.20.2.tar.gz': '0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f'}, + {'quick-xml-0.31.0.tar.gz': '1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33'}, + {'quote-1.0.35.tar.gz': '291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rayon-1.8.0.tar.gz': '9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1'}, + {'rayon-core-1.12.0.tar.gz': '5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'redox_users-0.4.4.tar.gz': 'a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4'}, + {'regex-1.10.2.tar.gz': '380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343'}, + {'regex-automata-0.4.3.tar.gz': '5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f'}, + {'regex-lite-0.1.5.tar.gz': '30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'reqwest-0.11.23.tar.gz': '37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41'}, + {'retain_mut-0.1.7.tar.gz': '8c31b5c4033f8fdde8700e4657be2c497e7288f01515be52168c631e2e4d4086'}, + {'ring-0.16.20.tar.gz': '3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc'}, + {'ring-0.17.7.tar.gz': '688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74'}, + {'roaring-0.10.2.tar.gz': '6106b5cf8587f5834158895e9715a3c6c9716c8aefab57f1f7680917191c7873'}, + {'rusoto_core-0.47.0.tar.gz': '5b4f000e8934c1b4f70adde180056812e7ea6b1a247952db8ee98c94cd3116cc'}, + {'rusoto_credential-0.47.0.tar.gz': '6a46b67db7bb66f5541e44db22b0a02fed59c9603e146db3a9e633272d3bac2f'}, + {'rusoto_dynamodb-0.47.0.tar.gz': '7935e1f9ca57c4ee92a4d823dcd698eb8c992f7e84ca21976ae72cd2b03016e7'}, + {'rusoto_signature-0.47.0.tar.gz': '6264e93384b90a747758bcc82079711eacf2e755c3a8b5091687b5349d870bcc'}, + {'rusoto_sts-0.47.0.tar.gz': '4e7edd42473ac006fd54105f619e480b0a94136e7f53cf3fb73541363678fd92'}, + {'rustc-demangle-0.1.23.tar.gz': 'd626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.38.28.tar.gz': '72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316'}, + {'rustls-0.19.1.tar.gz': '35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7'}, + {'rustls-0.21.10.tar.gz': 'f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba'}, + {'rustls-native-certs-0.5.0.tar.gz': '5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092'}, + {'rustls-native-certs-0.6.3.tar.gz': 'a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00'}, + {'rustls-pemfile-1.0.4.tar.gz': '1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c'}, + {'rustls-webpki-0.101.7.tar.gz': '8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'ryu-1.0.16.tar.gz': 'f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'schannel-0.1.23.tar.gz': 'fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'sct-0.6.1.tar.gz': 'b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce'}, + {'sct-0.7.1.tar.gz': 'da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414'}, + {'security-framework-2.9.2.tar.gz': '05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de'}, + {'security-framework-sys-2.9.1.tar.gz': 'e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a'}, + {'semver-1.0.21.tar.gz': 'b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0'}, + {'seq-macro-0.3.5.tar.gz': 'a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4'}, + {'serde-1.0.195.tar.gz': '63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02'}, + {'serde_derive-1.0.195.tar.gz': '46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c'}, + {'serde_json-1.0.111.tar.gz': '176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4'}, + {'serde_urlencoded-0.7.1.tar.gz': 'd3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd'}, + {'serial_test-2.0.0.tar.gz': '0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d'}, + {'serial_test_derive-2.0.0.tar.gz': '91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f'}, + {'sha2-0.9.9.tar.gz': '4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800'}, + {'sha2-0.10.8.tar.gz': '793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8'}, + {'shlex-1.2.0.tar.gz': 'a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380'}, + {'signal-hook-registry-1.4.1.tar.gz': 'd8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1'}, + {'siphasher-0.3.11.tar.gz': '38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d'}, + {'slab-0.4.9.tar.gz': '8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67'}, + {'smallvec-1.11.2.tar.gz': '4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970'}, + {'snafu-0.7.5.tar.gz': 'e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6'}, + {'snafu-derive-0.7.5.tar.gz': '990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf'}, + {'snap-1.1.1.tar.gz': '1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b'}, + {'socket2-0.5.5.tar.gz': '7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9'}, + {'spin-0.5.2.tar.gz': '6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d'}, + {'spin-0.9.8.tar.gz': '6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67'}, + {'sqlparser-0.40.0.tar.gz': '7c80afe31cdb649e56c0d9bb5503be9166600d68a852c38dd445636d126858e5'}, + {'sqlparser_derive-0.2.2.tar.gz': '01b2e185515564f15375f593fb966b5718bc624ba77fe49fa4616ad619690554'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'strum-0.25.0.tar.gz': '290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125'}, + {'strum_macros-0.25.3.tar.gz': '23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0'}, + {'subtle-2.4.1.tar.gz': '6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.48.tar.gz': '0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f'}, + {'system-configuration-0.5.1.tar.gz': 'ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7'}, + {'system-configuration-sys-0.5.0.tar.gz': 'a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9'}, + {'target-lexicon-0.12.13.tar.gz': '69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae'}, + {'tempfile-3.9.0.tar.gz': '01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa'}, + {'termcolor-1.4.0.tar.gz': 'ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449'}, + {'thiserror-1.0.56.tar.gz': 'd54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad'}, + {'thiserror-impl-1.0.56.tar.gz': 'fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471'}, + {'thrift-0.17.0.tar.gz': '7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09'}, + {'time-0.3.31.tar.gz': 'f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e'}, + {'time-core-0.1.2.tar.gz': 'ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3'}, + {'time-macros-0.2.16.tar.gz': '26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f'}, + {'tiny-keccak-2.0.2.tar.gz': '2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237'}, + {'tinytemplate-1.2.1.tar.gz': 'be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'tokio-1.35.1.tar.gz': 'c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104'}, + {'tokio-macros-2.2.0.tar.gz': '5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b'}, + {'tokio-native-tls-0.3.1.tar.gz': 'bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2'}, + {'tokio-rustls-0.22.0.tar.gz': 'bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6'}, + {'tokio-rustls-0.24.1.tar.gz': 'c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081'}, + {'tokio-util-0.7.10.tar.gz': '5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15'}, + {'tower-service-0.3.2.tar.gz': 'b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52'}, + {'tracing-0.1.40.tar.gz': 'c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef'}, + {'tracing-attributes-0.1.27.tar.gz': '34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7'}, + {'tracing-core-0.1.32.tar.gz': 'c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54'}, + {'try-lock-0.2.5.tar.gz': 'e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b'}, + {'twox-hash-1.6.3.tar.gz': '97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unicode-bidi-0.3.14.tar.gz': '6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-segmentation-1.10.1.tar.gz': '1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36'}, + {'unicode-width-0.1.11.tar.gz': 'e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'untrusted-0.7.1.tar.gz': 'a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a'}, + {'untrusted-0.9.0.tar.gz': '8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1'}, + {'url-2.5.0.tar.gz': '31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633'}, + {'urlencoding-2.1.3.tar.gz': 'daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da'}, + {'utime-0.3.1.tar.gz': '91baa0c65eabd12fcbdac8cc35ff16159cab95cae96d0222d6d0271db6193cef'}, + {'uuid-1.6.1.tar.gz': '5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'vsimd-0.8.0.tar.gz': '5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64'}, + {'walkdir-2.4.0.tar.gz': 'd71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee'}, + {'want-0.3.1.tar.gz': 'bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.89.tar.gz': '0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e'}, + {'wasm-bindgen-backend-0.2.89.tar.gz': '1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826'}, + {'wasm-bindgen-futures-0.4.39.tar.gz': 'ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12'}, + {'wasm-bindgen-macro-0.2.89.tar.gz': '0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2'}, + {'wasm-bindgen-macro-support-0.2.89.tar.gz': 'f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283'}, + {'wasm-bindgen-shared-0.2.89.tar.gz': '7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f'}, + {'wasm-streams-0.3.0.tar.gz': 'b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7'}, + {'web-sys-0.3.66.tar.gz': '50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f'}, + {'webpki-0.21.4.tar.gz': 'b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea'}, + {'webpki-roots-0.25.3.tar.gz': '1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.6.tar.gz': 'f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-core-0.52.0.tar.gz': '33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows-targets-0.52.0.tar.gz': '8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.0.tar.gz': 'cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.0.tar.gz': 'bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.0.tar.gz': 'a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.0.tar.gz': 'ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.0.tar.gz': '3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.0.tar.gz': '1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.0.tar.gz': 'dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04'}, + {'winreg-0.50.0.tar.gz': '524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1'}, + {'xml-rs-0.8.19.tar.gz': '0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a'}, + {'xmlparser-0.13.6.tar.gz': '66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4'}, + {'xz2-0.1.7.tar.gz': '388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2'}, + {'yansi-0.5.1.tar.gz': '09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec'}, + {'z85-3.0.5.tar.gz': '2a599daf1b507819c1121f0bf87fa37eb19daac6aff3aefefd4e6e2e0f2020fc'}, + {'zerocopy-0.7.32.tar.gz': '74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be'}, + {'zerocopy-derive-0.7.32.tar.gz': '9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6'}, + {'zeroize-1.7.0.tar.gz': '525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d'}, + {'zstd-0.13.0.tar.gz': 'bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110'}, + {'zstd-safe-7.0.0.tar.gz': '43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e'}, + {'zstd-sys-2.0.9+zstd.1.5.5.tar.gz': '9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656'}, + {'DeltaLake-0.15.1_remove-obsolete-pyarrow-hotfix.patch': + 'd4f06aa704c9ae8af72f119550145513a85d851214a8c09bbcaca7a3685613c4'}, +] + +crates = [ + ('addr2line', '0.21.0'), + ('adler', '1.0.2'), + ('ahash', '0.8.7'), + ('aho-corasick', '1.1.2'), + ('alloc-no-stdlib', '2.0.4'), + ('alloc-stdlib', '0.2.2'), + ('allocator-api2', '0.2.16'), + ('android-tzdata', '0.1.1'), + ('android_system_properties', '0.1.5'), + ('anes', '0.1.6'), + ('anstyle', '1.0.4'), + ('anyhow', '1.0.79'), + ('arrayref', '0.3.7'), + ('arrayvec', '0.7.4'), + ('arrow', '49.0.0'), + ('arrow-arith', '49.0.0'), + ('arrow-array', '49.0.0'), + ('arrow-buffer', '49.0.0'), + ('arrow-cast', '49.0.0'), + ('arrow-csv', '49.0.0'), + ('arrow-data', '49.0.0'), + ('arrow-ipc', '49.0.0'), + ('arrow-json', '49.0.0'), + ('arrow-ord', '49.0.0'), + ('arrow-row', '49.0.0'), + ('arrow-schema', '49.0.0'), + ('arrow-select', '49.0.0'), + ('arrow-string', '49.0.0'), + ('async-compression', '0.4.5'), + ('async-trait', '0.1.77'), + ('autocfg', '1.1.0'), + ('aws-config', '1.1.1'), + ('aws-credential-types', '1.1.1'), + ('aws-http', '0.60.1'), + ('aws-runtime', '1.1.1'), + ('aws-sdk-glue', '1.11.0'), + ('aws-sdk-sso', '1.9.0'), + ('aws-sdk-ssooidc', '1.9.0'), + ('aws-sdk-sts', '1.9.0'), + ('aws-sigv4', '1.1.1'), + ('aws-smithy-async', '1.1.1'), + ('aws-smithy-http', '0.60.1'), + ('aws-smithy-json', '0.60.1'), + ('aws-smithy-query', '0.60.1'), + ('aws-smithy-runtime', '1.1.1'), + ('aws-smithy-runtime-api', '1.1.1'), + ('aws-smithy-types', '1.1.1'), + ('aws-smithy-xml', '0.60.1'), + ('aws-types', '1.1.1'), + ('backoff', '0.4.0'), + ('backtrace', '0.3.69'), + ('base64', '0.13.1'), + ('base64', '0.21.5'), + ('base64-simd', '0.8.0'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.1'), + ('blake2', '0.10.6'), + ('blake3', '1.5.0'), + ('block-buffer', '0.9.0'), + ('block-buffer', '0.10.4'), + ('brotli', '3.4.0'), + ('brotli-decompressor', '2.5.1'), + ('bumpalo', '3.14.0'), + ('bytemuck', '1.14.0'), + ('byteorder', '1.5.0'), + ('bytes', '1.5.0'), + ('bytes-utils', '0.1.4'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cast', '0.3.0'), + ('cc', '1.0.83'), + ('cfg-if', '1.0.0'), + ('chrono', '0.4.31'), + ('chrono-tz', '0.8.5'), + ('chrono-tz-build', '0.2.1'), + ('ciborium', '0.2.1'), + ('ciborium-io', '0.2.1'), + ('ciborium-ll', '0.2.1'), + ('clap', '4.4.13'), + ('clap_builder', '4.4.12'), + ('clap_lex', '0.6.0'), + ('comfy-table', '7.1.0'), + ('const-random', '0.1.17'), + ('const-random-macro', '0.1.16'), + ('constant_time_eq', '0.3.0'), + ('core-foundation', '0.9.4'), + ('core-foundation-sys', '0.8.6'), + ('cpufeatures', '0.2.12'), + ('crc32fast', '1.3.2'), + ('criterion', '0.5.1'), + ('criterion-plot', '0.5.0'), + ('crossbeam-deque', '0.8.4'), + ('crossbeam-epoch', '0.9.17'), + ('crossbeam-utils', '0.8.18'), + ('crunchy', '0.2.2'), + ('crypto-common', '0.1.6'), + ('crypto-mac', '0.11.1'), + ('csv', '1.3.0'), + ('csv-core', '0.1.11'), + ('ct-logs', '0.8.0'), + ('ctor', '0.2.6'), + ('dashmap', '5.5.3'), + ('datafusion', '34.0.0'), + ('datafusion-common', '34.0.0'), + ('datafusion-execution', '34.0.0'), + ('datafusion-expr', '34.0.0'), + ('datafusion-optimizer', '34.0.0'), + ('datafusion-physical-expr', '34.0.0'), + ('datafusion-physical-plan', '34.0.0'), + ('datafusion-proto', '34.0.0'), + ('datafusion-sql', '34.0.0'), + ('deranged', '0.3.11'), + ('diff', '0.1.13'), + ('digest', '0.9.0'), + ('digest', '0.10.7'), + ('dirs-next', '2.0.0'), + ('dirs-sys-next', '0.1.2'), + ('doc-comment', '0.3.3'), + ('dotenvy', '0.15.7'), + ('either', '1.9.0'), + ('encoding_rs', '0.8.33'), + ('env_logger', '0.10.1'), + ('equivalent', '1.0.1'), + ('errno', '0.3.8'), + ('fastrand', '2.0.1'), + ('fix-hidden-lifetime-bug', '0.2.5'), + ('fix-hidden-lifetime-bug-proc_macros', '0.2.5'), + ('fixedbitset', '0.4.2'), + ('flatbuffers', '23.5.26'), + ('flate2', '1.0.28'), + ('fnv', '1.0.7'), + ('foreign-types', '0.3.2'), + ('foreign-types-shared', '0.1.1'), + ('form_urlencoded', '1.2.1'), + ('fs_extra', '1.3.0'), + ('futures', '0.3.30'), + ('futures-channel', '0.3.30'), + ('futures-core', '0.3.30'), + ('futures-executor', '0.3.30'), + ('futures-io', '0.3.30'), + ('futures-macro', '0.3.30'), + ('futures-sink', '0.3.30'), + ('futures-task', '0.3.30'), + ('futures-util', '0.3.30'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.11'), + ('gimli', '0.28.1'), + ('glob', '0.3.1'), + ('h2', '0.3.22'), + ('half', '1.8.2'), + ('half', '2.3.1'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.3'), + ('hex', '0.4.3'), + ('hmac', '0.11.0'), + ('hmac', '0.12.1'), + ('http', '0.2.11'), + ('http-body', '0.4.6'), + ('httparse', '1.8.0'), + ('httpdate', '1.0.3'), + ('humantime', '2.1.0'), + ('hyper', '0.14.28'), + ('hyper-rustls', '0.22.1'), + ('hyper-rustls', '0.24.2'), + ('hyper-tls', '0.5.0'), + ('iana-time-zone', '0.1.59'), + ('iana-time-zone-haiku', '0.1.2'), + ('idna', '0.5.0'), + ('indexmap', '2.1.0'), + ('indoc', '2.0.4'), + ('instant', '0.1.12'), + ('integer-encoding', '3.0.4'), + ('ipnet', '2.9.0'), + ('is-terminal', '0.4.10'), + ('itertools', '0.10.5'), + ('itertools', '0.11.0'), + ('itertools', '0.12.0'), + ('itoa', '1.0.10'), + ('jobserver', '0.1.27'), + ('js-sys', '0.3.66'), + ('lazy_static', '1.4.0'), + ('lexical-core', '0.8.5'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '0.8.5'), + ('lexical-write-float', '0.8.5'), + ('lexical-write-integer', '0.8.5'), + ('libc', '0.2.152'), + ('libm', '0.2.8'), + ('libredox', '0.0.1'), + ('linux-raw-sys', '0.4.12'), + ('lock_api', '0.4.11'), + ('log', '0.4.20'), + ('lz4_flex', '0.11.1'), + ('lzma-sys', '0.1.20'), + ('maplit', '1.0.2'), + ('md-5', '0.9.1'), + ('md-5', '0.10.6'), + ('memchr', '2.7.1'), + ('memoffset', '0.9.0'), + ('mime', '0.3.17'), + ('miniz_oxide', '0.7.1'), + ('mio', '0.8.10'), + ('native-tls', '0.2.11'), + ('num', '0.4.1'), + ('num-bigint', '0.4.4'), + ('num-complex', '0.4.4'), + ('num-integer', '0.1.45'), + ('num-iter', '0.1.43'), + ('num-rational', '0.4.1'), + ('num-traits', '0.2.17'), + ('num_cpus', '1.16.0'), + ('object', '0.32.2'), + ('object_store', '0.8.0'), + ('once_cell', '1.19.0'), + ('oorandom', '11.1.3'), + ('opaque-debug', '0.3.0'), + ('openssl', '0.10.62'), + ('openssl-macros', '0.1.1'), + ('openssl-probe', '0.1.5'), + ('openssl-src', '300.2.1+3.2.0'), + ('openssl-sys', '0.9.98'), + ('ordered-float', '2.10.1'), + ('outref', '0.5.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('parquet', '49.0.0'), + ('parse-zoneinfo', '0.3.0'), + ('paste', '1.0.14'), + ('percent-encoding', '2.3.1'), + ('petgraph', '0.6.4'), + ('phf', '0.11.2'), + ('phf_codegen', '0.11.2'), + ('phf_generator', '0.11.2'), + ('phf_shared', '0.11.2'), + ('pin-project-lite', '0.2.13'), + ('pin-utils', '0.1.0'), + ('pkg-config', '0.3.28'), + ('plotters', '0.3.5'), + ('plotters-backend', '0.3.5'), + ('plotters-svg', '0.3.5'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.17'), + ('pretty_assertions', '1.4.0'), + ('pretty_env_logger', '0.5.0'), + ('proc-macro2', '1.0.76'), + ('prost', '0.12.3'), + ('prost-derive', '0.12.3'), + ('pyo3', '0.20.2'), + ('pyo3-build-config', '0.20.2'), + ('pyo3-ffi', '0.20.2'), + ('pyo3-macros', '0.20.2'), + ('pyo3-macros-backend', '0.20.2'), + ('quick-xml', '0.31.0'), + ('quote', '1.0.35'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rayon', '1.8.0'), + ('rayon-core', '1.12.0'), + ('redox_syscall', '0.4.1'), + ('redox_users', '0.4.4'), + ('regex', '1.10.2'), + ('regex-automata', '0.4.3'), + ('regex-lite', '0.1.5'), + ('regex-syntax', '0.8.2'), + ('reqwest', '0.11.23'), + ('retain_mut', '0.1.7'), + ('ring', '0.16.20'), + ('ring', '0.17.7'), + ('roaring', '0.10.2'), + ('rusoto_core', '0.47.0'), + ('rusoto_credential', '0.47.0'), + ('rusoto_dynamodb', '0.47.0'), + ('rusoto_signature', '0.47.0'), + ('rusoto_sts', '0.47.0'), + ('rustc-demangle', '0.1.23'), + ('rustc_version', '0.4.0'), + ('rustix', '0.38.28'), + ('rustls', '0.19.1'), + ('rustls', '0.21.10'), + ('rustls-native-certs', '0.5.0'), + ('rustls-native-certs', '0.6.3'), + ('rustls-pemfile', '1.0.4'), + ('rustls-webpki', '0.101.7'), + ('rustversion', '1.0.14'), + ('ryu', '1.0.16'), + ('same-file', '1.0.6'), + ('schannel', '0.1.23'), + ('scopeguard', '1.2.0'), + ('sct', '0.6.1'), + ('sct', '0.7.1'), + ('security-framework', '2.9.2'), + ('security-framework-sys', '2.9.1'), + ('semver', '1.0.21'), + ('seq-macro', '0.3.5'), + ('serde', '1.0.195'), + ('serde_derive', '1.0.195'), + ('serde_json', '1.0.111'), + ('serde_urlencoded', '0.7.1'), + ('serial_test', '2.0.0'), + ('serial_test_derive', '2.0.0'), + ('sha2', '0.9.9'), + ('sha2', '0.10.8'), + ('shlex', '1.2.0'), + ('signal-hook-registry', '1.4.1'), + ('siphasher', '0.3.11'), + ('slab', '0.4.9'), + ('smallvec', '1.11.2'), + ('snafu', '0.7.5'), + ('snafu-derive', '0.7.5'), + ('snap', '1.1.1'), + ('socket2', '0.5.5'), + ('spin', '0.5.2'), + ('spin', '0.9.8'), + ('sqlparser', '0.40.0'), + ('sqlparser_derive', '0.2.2'), + ('static_assertions', '1.1.0'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('subtle', '2.4.1'), + ('syn', '1.0.109'), + ('syn', '2.0.48'), + ('system-configuration', '0.5.1'), + ('system-configuration-sys', '0.5.0'), + ('target-lexicon', '0.12.13'), + ('tempfile', '3.9.0'), + ('termcolor', '1.4.0'), + ('thiserror', '1.0.56'), + ('thiserror-impl', '1.0.56'), + ('thrift', '0.17.0'), + ('time', '0.3.31'), + ('time-core', '0.1.2'), + ('time-macros', '0.2.16'), + ('tiny-keccak', '2.0.2'), + ('tinytemplate', '1.2.1'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('tokio', '1.35.1'), + ('tokio-macros', '2.2.0'), + ('tokio-native-tls', '0.3.1'), + ('tokio-rustls', '0.22.0'), + ('tokio-rustls', '0.24.1'), + ('tokio-util', '0.7.10'), + ('tower-service', '0.3.2'), + ('tracing', '0.1.40'), + ('tracing-attributes', '0.1.27'), + ('tracing-core', '0.1.32'), + ('try-lock', '0.2.5'), + ('twox-hash', '1.6.3'), + ('typenum', '1.17.0'), + ('unicode-bidi', '0.3.14'), + ('unicode-ident', '1.0.12'), + ('unicode-normalization', '0.1.22'), + ('unicode-segmentation', '1.10.1'), + ('unicode-width', '0.1.11'), + ('unindent', '0.2.3'), + ('untrusted', '0.7.1'), + ('untrusted', '0.9.0'), + ('url', '2.5.0'), + ('urlencoding', '2.1.3'), + ('utime', '0.3.1'), + ('uuid', '1.6.1'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('vsimd', '0.8.0'), + ('walkdir', '2.4.0'), + ('want', '0.3.1'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.89'), + ('wasm-bindgen-backend', '0.2.89'), + ('wasm-bindgen-futures', '0.4.39'), + ('wasm-bindgen-macro', '0.2.89'), + ('wasm-bindgen-macro-support', '0.2.89'), + ('wasm-bindgen-shared', '0.2.89'), + ('wasm-streams', '0.3.0'), + ('web-sys', '0.3.66'), + ('webpki', '0.21.4'), + ('webpki-roots', '0.25.3'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.6'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-core', '0.52.0'), + ('windows-sys', '0.48.0'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.48.5'), + ('windows-targets', '0.52.0'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.0'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.0'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.0'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.0'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.0'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.0'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.0'), + ('winreg', '0.50.0'), + ('xml-rs', '0.8.19'), + ('xmlparser', '0.13.6'), + ('xz2', '0.1.7'), + ('yansi', '0.5.1'), + ('z85', '3.0.5'), + ('zerocopy', '0.7.32'), + ('zerocopy-derive', '0.7.32'), + ('zeroize', '1.7.0'), + ('zstd', '0.13.0'), + ('zstd-safe', '7.0.0'), + ('zstd-sys', '2.0.9+zstd.1.5.5'), +] + +builddependencies = [ + ('maturin', '1.4.0', '-Rust-1.75.0'), + ('Perl', '5.36.1'), # needed by crate openssl-sys +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Arrow', '14.0.1'), +] + +use_pip = True +use_pip_extras = "pandas" +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/DeltaLake/DeltaLake-0.15.1_remove-obsolete-pyarrow-hotfix.patch b/easybuild/easyconfigs/d/DeltaLake/DeltaLake-0.15.1_remove-obsolete-pyarrow-hotfix.patch new file mode 100644 index 00000000000..89e3f66ddea --- /dev/null +++ b/easybuild/easyconfigs/d/DeltaLake/DeltaLake-0.15.1_remove-obsolete-pyarrow-hotfix.patch @@ -0,0 +1,43 @@ +Security vulnerability CVE-2023-47248 is already fixed upstream since Arrow 14.0.1 +see https://github.com/pitrou/pyarrow-hotfix?tab=readme-ov-file#description +author: Alex Domingo (Vrije Universiteit Brussel) +--- PKG-INFO.orig 2024-01-31 10:24:17.114114000 +0100 ++++ PKG-INFO 2024-01-31 10:22:43.428088000 +0100 +@@ -8,7 +8,6 @@ + Classifier: Programming Language :: Python :: 3.11 + Classifier: Programming Language :: Python :: 3.12 + Requires-Dist: pyarrow >=8 +-Requires-Dist: pyarrow-hotfix + Requires-Dist: pandas ; extra == 'pandas' + Requires-Dist: mypy ; extra == 'devel' + Requires-Dist: ruff >=0.1.5 ; extra == 'devel' +--- pyproject.toml.orig 2024-01-31 10:24:37.004732357 +0100 ++++ pyproject.toml 2024-01-31 01:13:56.729671621 +0100 +@@ -19,7 +19,6 @@ + ] + dependencies = [ + "pyarrow>=8", +- "pyarrow-hotfix", + ] + + [project.optional-dependencies] +--- deltalake/table.py.orig 2024-01-31 10:25:17.340707000 +0100 ++++ deltalake/table.py 2024-01-31 10:22:13.865436632 +0100 +@@ -25,7 +25,6 @@ + import pyarrow + import pyarrow.dataset as ds + import pyarrow.fs as pa_fs +-import pyarrow_hotfix # noqa: F401; addresses CVE-2023-47248; # type: ignore + from pyarrow.dataset import ( + Expression, + FileSystemDataset, +--- python/deltalake/table.py.orig 2024-01-31 10:25:28.723000000 +0100 ++++ python/deltalake/table.py 2024-01-31 10:22:00.855595977 +0100 +@@ -25,7 +25,6 @@ + import pyarrow + import pyarrow.dataset as ds + import pyarrow.fs as pa_fs +-import pyarrow_hotfix # noqa: F401; addresses CVE-2023-47248; # type: ignore + from pyarrow.dataset import ( + Expression, + FileSystemDataset, diff --git a/easybuild/easyconfigs/d/DendroPy/DendroPy-4.6.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.6.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1241b1fec41 --- /dev/null +++ b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.6.1-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2014 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# $Id$ +# +## +easyblock = 'PythonPackage' + +name = 'DendroPy' +version = '4.6.1' + +homepage = 'https://dendropy.org/' +description = """A Python library for phylogenetics and phylogenetic computing: +reading, writing, simulation, processing and manipulation of phylogenetic trees +(phylogenies) and characters.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['26fcbe1cb5831301e8f1f2e15a0563620f0b8e29e6d409dd6a2a7c957dd64c16'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.3')] + +download_dep_fail = True +use_pip = True + +fix_python_shebang_for = ['bin/*.py'] + +sanity_check_paths = { + 'files': ['bin/sumlabels.py', 'bin/sumtrees.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["sumtrees.py --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.14-foss-2023a.eb b/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.14-foss-2023a.eb new file mode 100644 index 00000000000..803a1996c30 --- /dev/null +++ b/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.14-foss-2023a.eb @@ -0,0 +1,29 @@ +# author: Denis Kristak (INUITS) +# update: Pavel Tománek (INUITS) + +easyblock = 'PythonBundle' + +name = 'Deprecated' +version = '1.2.14' + +homepage = 'https://github.com/tantale/deprecated' +description = "If you need to mark a function or a method as deprecated, you can use the @deprecated decorator." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('wrapt', '1.15.0'), +] + + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/Dice/Dice-20240101-foss-2022b.eb b/easybuild/easyconfigs/d/Dice/Dice-20240101-foss-2022b.eb new file mode 100644 index 00000000000..201cdb4bf25 --- /dev/null +++ b/easybuild/easyconfigs/d/Dice/Dice-20240101-foss-2022b.eb @@ -0,0 +1,52 @@ +easyblock = 'MakeCp' + +name = 'Dice' +version = '20240101' +_commit = '823f303719efaee441b8bea3e5f9d5a159b58939' + +homepage = 'https://github.com/sanshar/Dice' +description = """Dice contains code for performing SHCI, VMC, GFMC, DMC, FCIQMC, stochastic MRCI +and SC-NEVPT2, and AFQMC calculations with a focus on ab initio systems.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'cstd': 'c++14'} + +github_account = 'sanshar' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] +patches = ['Dice-20221025_icpt-mkl-to-flexiblas.patch', 'Dice-20240101_deprecated-global-placeholders.patch'] +checksums = [ + {'Dice-20240101.tar.gz': 'f7a60c0df1ba1d27e60b478a15f9ef0e5282a030cc5acc520470eef4f55940b9'}, + {'Dice-20221025_icpt-mkl-to-flexiblas.patch': 'a712913e5b372017be0ea7508479094e96f06c0cfd46d0bfe61d85ef42cd1386'}, + {'Dice-20240101_deprecated-global-placeholders.patch': + 'fbf4037e928a57e737faed95dc7d6e1e5cdb8cee8db48503268d250a34c12ccc'}, +] + +builddependencies = [ + ('Eigen', '3.4.0'), + ('git', '2.38.1', '-nodocs'), +] + +dependencies = [ + ('Boost.MPI', '1.81.0'), + ('HDF5', '1.14.0'), +] + +# Use build environment defined by EB +prebuildopts = "sed -i 's/^FLAGS_BASE =.*/FLAGS_BASE=$(CXXFLAGS) -g -w -I. $(CPPFLAGS)/' Makefile && " +buildopts = 'CXX="$MPICXX" USE_INTEL="no" HAS_AVX2="no" ' # avoid changes to -march +buildopts += 'INCLUDE_MKL="-I${EBROOTFLEXIBLAS}/include" LIB_MKL="${LIBBLAS}" ' # use FlexiBLAS +buildopts += 'GIT_BRANCH="master" GIT_HASH="%s"' % _commit +buildopts += 'BOOST="${EBROOTBOOSTMPI}" ' +buildopts += 'EIGEN="${EBROOTEIGEN}/include" ' +buildopts += 'HDF5="${EBROOTHDF5}" ' + +files_to_copy = ['bin'] + +_binaries = ['Dice', 'DQMC', 'GFMC', 'ICPT', 'VMC', 'ZDice2', 'ZSHCI'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/Dice/Dice-20240101_deprecated-global-placeholders.patch b/easybuild/easyconfigs/d/Dice/Dice-20240101_deprecated-global-placeholders.patch new file mode 100644 index 00000000000..9a474df63c3 --- /dev/null +++ b/easybuild/easyconfigs/d/Dice/Dice-20240101_deprecated-global-placeholders.patch @@ -0,0 +1,49 @@ +resolve Error: "pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior." +define BOOST_BIND_GLOBAL_PLACEHOLDERS +replace #include with #include +diff -ru Dice.orig/ZSHCI/Hmult.h Dice/ZSHCI/Hmult.h +--- Dice.orig/ZSHCI/Hmult.h 2024-01-11 17:10:03.915355000 +0100 ++++ Dice/ZSHCI/Hmult.h 2024-01-11 17:20:04.223600142 +0100 +@@ -32,6 +32,7 @@ + #include + #include "SHCISortMpiUtils.h" + #include "SHCImake4cHamiltonian.h" ++#define BOOST_BIND_GLOBAL_PLACEHOLDERS + + using namespace Eigen; + using namespace std; +diff -ru Dice.orig/ZSHCI/iowrapper.h Dice/ZSHCI/iowrapper.h +--- Dice.orig/ZSHCI/iowrapper.h 2024-01-11 17:10:03.926065371 +0100 ++++ Dice/ZSHCI/iowrapper.h 2024-01-11 17:50:17.289606580 +0100 +@@ -18,6 +18,7 @@ + */ + #ifndef IOWRAPPER_HEADER_H + #define IOWRAPPER_HEADER_H ++#define BOOST_BIND_GLOBAL_PLACEHOLDERS + #include + #include + #include +diff -ru Dice.orig/ZSHCI/SHCI.cpp Dice/ZSHCI/SHCI.cpp +--- Dice.orig/ZSHCI/SHCI.cpp 2024-01-11 17:10:03.917251803 +0100 ++++ Dice/ZSHCI/SHCI.cpp 2024-01-11 17:19:30.845898274 +0100 +@@ -59,7 +59,7 @@ + #include "symmetry.h" + MatrixXd symmetry::product_table; + #include +-#include ++#include + + // Initialize + using namespace Eigen; +diff -ru Dice.orig/ZSHCI/symmetry.cpp Dice/ZSHCI/symmetry.cpp +--- Dice.orig/ZSHCI/symmetry.cpp 2024-01-11 17:10:03.927561000 +0100 ++++ Dice/ZSHCI/symmetry.cpp 2024-01-11 17:38:01.888632035 +0100 +@@ -25,7 +25,7 @@ + #include + #include + #include +-#include ++#include + #include + + #include "integral.h" diff --git a/easybuild/easyconfigs/d/DjVuLibre/DjVuLibre-3.5.28-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/DjVuLibre/DjVuLibre-3.5.28-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..355a9996fbc --- /dev/null +++ b/easybuild/easyconfigs/d/DjVuLibre/DjVuLibre-3.5.28-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'DjVuLibre' +version = '3.5.28' + +homepage = 'http://djvu.sourceforge.net/' +description = """ +DjVuLibre is an open source (GPL'ed) implementation of DjVu, including viewers, +browser plugins, decoders, simple encoders, and utilities. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['http://downloads.sourceforge.net/djvu'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['fcd009ea7654fde5a83600eb80757bd3a76998e47d13c66b54c8db849f8f2edc'] + +builddependencies = [ + ('binutils', '2.40'), + ('libiconv', '1.17'), +] + +dependencies = [ + ('libjpeg-turbo', '2.1.5.1'), + ('LibTIFF', '4.5.0'), +] + +_bins = ['bin/%s' % x for x in ['any2djvu', 'bzz', 'c44', 'cjb2', 'cpaldjvu', 'csepdjvu', 'ddjvu', 'djvm', 'djvmcvt', + 'djvudigital', 'djvudump', 'djvuextract', 'djvumake', 'djvups', 'djvused', 'djvuserve', + 'djvutoxml', 'djvutxt', 'djvuxmlparser']] +_incs = ['include/libdjvu/%s' % x for x in ['ddjvuapi.h', 'miniexp.h']] +_libs = ['lib/%s' % x for x in ['lib%%(namelower)s.%s' % SHLIB_EXT, 'pkgconfig/ddjvuapi.pc']] + +sanity_check_paths = { + 'files': _bins + _incs + _libs, + 'dirs': [], +} + +sanity_check_commands = ["ddjvu --help 2>&1 | grep 'Usage: ddjvu'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.17-GCCcore-9.3.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.17-GCCcore-9.3.0.eb index 3d72f0970bd..065a4b2b89a 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.17-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.17-GCCcore-9.3.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.8.17' @@ -25,4 +27,11 @@ dependencies = [('libiconv', '1.16')] configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.20-GCCcore-10.2.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.20-GCCcore-10.2.0.eb index f972f6c1aab..245da267460 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.20-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.20-GCCcore-10.2.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.8.20' @@ -25,4 +27,11 @@ dependencies = [('libiconv', '1.16')] configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-10.3.0.eb index 1601d6a560f..e54e7e928c8 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-10.3.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.9.1' @@ -20,9 +22,17 @@ builddependencies = [ ('CMake', '3.20.1'), ('flex', '2.6.4'), ('pkg-config', '0.29.2'), + ('Python', '3.9.5', '-bare'), ] dependencies = [('libiconv', '1.16')] configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-11.2.0.eb index 394f61d368a..ac945a27c93 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-11.2.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.9.1' @@ -20,9 +22,17 @@ builddependencies = [ ('CMake', '3.21.1'), ('flex', '2.6.4'), ('pkg-config', '0.29.2'), + ('Python', '3.9.6', '-bare'), ] dependencies = [('libiconv', '1.16')] configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.4-GCCcore-11.3.0.eb index b6669466085..55abc873d23 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.4-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.4-GCCcore-11.3.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.9.4' @@ -20,6 +22,7 @@ builddependencies = [ ('CMake', '3.23.1'), ('flex', '2.6.4'), ('pkgconf', '1.8.0'), + ('Python', '3.10.4', '-bare'), ] dependencies = [ @@ -28,4 +31,11 @@ dependencies = [ configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb index 35b262f3df8..290047978c1 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.9.5' @@ -20,6 +22,7 @@ builddependencies = [ ('CMake', '3.24.3'), ('flex', '2.6.4'), ('pkgconf', '1.9.3'), + ('Python', '3.10.8', '-bare'), ] dependencies = [ @@ -28,4 +31,11 @@ dependencies = [ configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.7-GCCcore-12.3.0.eb index 26007e7a823..49b8eccc8d2 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.7-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.7-GCCcore-12.3.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.9.7' @@ -20,6 +22,7 @@ builddependencies = [ ('CMake', '3.26.3'), ('flex', '2.6.4'), ('pkgconf', '1.9.5'), + ('Python', '3.11.3'), ] dependencies = [ @@ -28,4 +31,11 @@ dependencies = [ configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.8-GCCcore-13.2.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.8-GCCcore-13.2.0.eb index e6c21e1dd18..1370a8b32bf 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.8-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.8-GCCcore-13.2.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.9.8' @@ -20,6 +22,7 @@ builddependencies = [ ('CMake', '3.27.6'), ('flex', '2.6.4'), ('pkgconf', '2.0.3'), + ('Python', '3.11.5'), ] dependencies = [ @@ -28,4 +31,11 @@ dependencies = [ configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/DualSPHysics/DualSPHysics-5.0.175-GCC-11.2.0.eb b/easybuild/easyconfigs/d/DualSPHysics/DualSPHysics-5.0.175-GCC-11.2.0.eb index 8f34229debc..d1621350717 100644 --- a/easybuild/easyconfigs/d/DualSPHysics/DualSPHysics-5.0.175-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/d/DualSPHysics/DualSPHysics-5.0.175-GCC-11.2.0.eb @@ -2,8 +2,6 @@ # Authors: Eduardo Miguel Firvida Donestevez # Robert Mijakovic ## -easyblock = 'CMakeMake' - name = 'DualSPHysics' version = '5.0.175' @@ -22,31 +20,10 @@ source_urls = ['https://github.com/DualSPHysics/DualSPHysics/archive/refs/tags/' sources = ['v%(version)s.tar.gz'] checksums = ['d65bb7b8b4a21582091a534142348e46cff0a288a97ef86643bc2dde15637575'] -srcdir = 'src/source' - builddependencies = [ ('CMake', '3.21.1'), + # only needed if EasyBuild is configured with rpath: + ('patchelf', '0.13'), ] -separate_build_dir = True - -buildopts = " && chmod +x %(builddir)s/%(name)s-%(version)s/bin/linux/*_linux64" - -install_cmd = "mkdir -p %(installdir)s/bin && " -install_cmd += "cp -r %(builddir)s/%(name)s-%(version)s/bin/linux/* %(installdir)s/bin && " -install_cmd += "cp -r %(builddir)s/%(name)s-%(version)s/src/lib/linux_gcc %(installdir)s/lib" - -local_bins = ['GenCase', 'PartVTK', 'IsoSurface', 'MeasureTool', 'GenCase_MkWord', - 'DualSPHysics4.0_LiquidGas', 'DualSPHysics4.0_LiquidGasCPU', 'DualSPHysics5.0', - 'DualSPHysics5.0CPU', 'DualSPHysics5.0_NNewtonian', 'DualSPHysics5.0_NNewtonianCPU'] - - -sanity_check_paths = { - 'files': ['bin/%s_linux64' % x for x in local_bins], - 'dirs': ["lib"], -} - -sanity_check_commands = ['%s_linux64 -h' % x for x in local_bins] - - moduleclass = 'cae' diff --git a/easybuild/easyconfigs/d/dask/dask-2023.12.1-foss-2023a.eb b/easybuild/easyconfigs/d/dask/dask-2023.12.1-foss-2023a.eb new file mode 100644 index 00000000000..149f0a91632 --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-2023.12.1-foss-2023a.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'dask' +version = '2023.12.1' + +homepage = 'https://dask.org/' +description = """Dask natively scales Python. Dask provides advanced parallelism for analytics, enabling performance + at scale for the tools you love.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('PyYAML', '6.0'), + ('SciPy-bundle', '2023.07'), + ('bokeh', '3.2.2'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('locket', '1.0.0', { + 'checksums': ['5c0d4c052a8bbbf750e056a8e65ccd309086f4f0f18a2eac306a8dfa4112a632'], + }), + ('partd', '1.4.1', { + 'checksums': ['56c25dd49e6fea5727e731203c466c6e092f308d8f0024e199d02f6aa2167f67'], + }), + ('HeapDict', '1.0.1', { + 'checksums': ['8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6'], + }), + ('zict', '3.0.0', { + 'checksums': ['e321e263b6a97aafc0790c3cfb3c04656b7066e6738c37fffcca95d803c9fba5'], + }), + ('tblib', '3.0.0', { + 'checksums': ['93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6'], + }), + (name, version, { + 'checksums': ['0ac3acd5bdbfacb5ad6401ac7663a1135955b3fa051a118e1b8a88e87b6b44a2'], + }), + ('distributed', version, { + 'checksums': ['56e69d90c6099e066751907956144cf94d0bc7050bd69ef2ec8003e890c2540c'], + }), + ('dask-mpi', '2022.4.0', { + 'checksums': ['0a04f1d7d35a06cdff506593330d4414ea242c9172498ce191f5742eac499e17'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('dask-jobqueue', '0.8.2', { + 'checksums': ['d35407a05a0534347c5d958ae749b9f8535bec529857d013b6e5649cde43914a'], + }), +] + +sanity_check_paths = { + 'files': ['bin/dask-%s' % x for x in ['mpi', 'scheduler', 'ssh', 'worker']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["dask-scheduler --help"] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/datalad/datalad-0.19.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/datalad/datalad-0.19.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9648e348963 --- /dev/null +++ b/easybuild/easyconfigs/d/datalad/datalad-0.19.5-GCCcore-12.3.0.eb @@ -0,0 +1,75 @@ +easyblock = 'PythonBundle' + +name = 'datalad' +version = "0.19.5" + +homepage = 'https://www.datalad.org/' +description = "DataLad is a free and open source distributed data management system that keeps track of your data, \ +creates structure, ensures reproducibility, supports collaboration, \ +and integrates with widely used data infrastructure." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), + ('poetry', '1.5.1') +] + +dependencies = [ + ('git-annex', '10.20230802'), + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('tqdm', '4.66.1'), + ('PLY', '3.11'), + ('scikit-build', '0.17.6'), +] + +use_pip = True + +exts_list = [ + ('humanize', '4.8.0', { + 'checksums': ['9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8'], + }), + ('fasteners', '0.19', { + 'checksums': ['b4f37c3ac52d8a445af3a66bce57b33b5e90b97c696b7b984f530cf8f0ded09c'], + }), + ('patool', '2.0.0', { + 'modulename': 'patoolib', + 'checksums': ['1dd48cd48043fc78ebf88b8ea5b00d5123fba50a6a9d11182fbcfd677681cab5'], + }), + ('annexremote', '1.6.4', { + 'checksums': ['da4198a25b36c699216fd5f1e93ba0e655e167b6822b64284a4bf90388ea69ae'], + }), + ('looseversion', '1.3.0', { + 'checksums': ['ebde65f3f6bb9531a81016c6fef3eb95a61181adc47b7f949e9c0ea47911669e'], + }), + ('boto', '2.49.0', { + 'checksums': ['ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a'], + }), + ('python-gitlab', '4.4.0', { + 'modulename': 'gitlab', + 'checksums': ['1d117bf7b433ae8255e5d74e72c660978f50ee85eb62248c9fb52ef43c3e3814'], + }), + ('iso8601', '2.1.0', { + 'checksums': ['6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df'], + }), + (name, version, { + 'checksums': ['639cdd5ede96f614933e017f65ddb01f17637ab7bf700005ea0ac7835cc2b905'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/datalad'], + 'dirs': [], +} + +sanity_check_commands = [ + "datalad --help", + "datalad --version", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..948367bb91b --- /dev/null +++ b/easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'deepdiff' +version = '6.7.1' + +homepage = 'https://zepworks.com/deepdiff/current/' +description = """DeepDiff: Deep Difference of dictionaries, iterables and almost any other object recursively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('jsonpickle', '3.0.2', { + 'checksums': ['e37abba4bfb3ca4a4647d28bb9f4706436f7b46c8a8333b4a718abafa8e46b37'], + }), + ('ordered-set', '4.1.0', { + 'checksums': ['694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8'], + }), + (name, version, { + 'checksums': ['b367e6fa6caac1c9f500adc79ada1b5b1242c50d5f716a1a4362030197847d30'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..86135dac4dc --- /dev/null +++ b/easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'deepdiff' +version = '6.7.1' + +homepage = 'https://zepworks.com/deepdiff/current/' +description = """DeepDiff: Deep Difference of dictionaries, iterables and almost any other object recursively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True + +exts_list = [ + ('jsonpickle', '3.0.2', { + 'checksums': ['e37abba4bfb3ca4a4647d28bb9f4706436f7b46c8a8333b4a718abafa8e46b37'], + }), + ('ordered-set', '4.1.0', { + 'checksums': ['694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8'], + }), + (name, version, { + 'checksums': ['b367e6fa6caac1c9f500adc79ada1b5b1242c50d5f716a1a4362030197847d30'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/denseweight/denseweight-0.1.2-foss-2022a.eb b/easybuild/easyconfigs/d/denseweight/denseweight-0.1.2-foss-2022a.eb new file mode 100644 index 00000000000..3ad16c0cd87 --- /dev/null +++ b/easybuild/easyconfigs/d/denseweight/denseweight-0.1.2-foss-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'denseweight' +version = '0.1.2' + +homepage = 'https://github.com/steimi/denseweight' +description = """ +This package implements the method for imbalanced regression DenseWeight. The corresponding +paper "Density-based weighting for imbalanced regression". The goal of DenseWeight is to allow +training machine learning models for regression tasks that emphasize performance for data +points with rare target values in comparison to data points with more common target values. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), +] + +use_pip = True + +exts_list = [ + ('KDEpy', '1.1.9', { + 'modulename': 'KDEpy', + 'checksums': ['4bf0b2afd430ce5b40fafd98144de83d8b715d46fdf0f45fed2b5c2e9c40ce46'], + }), + (name, version, { + 'checksums': ['281cf1fe4be364366363ee822b524620dcb629c5b9ff7852aa80f91a27c98b1e'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/d/denseweight/denseweight-0.1.2-foss-2023a.eb b/easybuild/easyconfigs/d/denseweight/denseweight-0.1.2-foss-2023a.eb new file mode 100644 index 00000000000..0a61289e5a1 --- /dev/null +++ b/easybuild/easyconfigs/d/denseweight/denseweight-0.1.2-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'denseweight' +version = '0.1.2' + +homepage = 'https://github.com/steimi/denseweight' +description = """ +This package implements the method for imbalanced regression DenseWeight. The corresponding +paper "Density-based weighting for imbalanced regression". The goal of DenseWeight is to allow +training machine learning models for regression tasks that emphasize performance for data +points with rare target values in comparison to data points with more common target values. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), +] + +use_pip = True + +exts_list = [ + ('KDEpy', '1.1.9', { + 'modulename': 'KDEpy', + 'checksums': ['4bf0b2afd430ce5b40fafd98144de83d8b715d46fdf0f45fed2b5c2e9c40ce46'], + }), + (name, version, { + 'checksums': ['281cf1fe4be364366363ee822b524620dcb629c5b9ff7852aa80f91a27c98b1e'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/d/desktop-file-utils/desktop-file-utils-0.27-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/desktop-file-utils/desktop-file-utils-0.27-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..888351a66b1 --- /dev/null +++ b/easybuild/easyconfigs/d/desktop-file-utils/desktop-file-utils-0.27-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MesonNinja' + +name = 'desktop-file-utils' +version = '0.27' + +homepage = 'https://www.freedesktop.org/wiki/Software/desktop-file-utils/' +description = """ +desktop-file-utils contains a few command line utilities for working with desktop entries: + * desktop-file-validate: validates a desktop file and prints warnings/errors about desktop entry specification + violations. + * desktop-file-install: installs a desktop file to the applications directory, optionally munging it a bit in transit. + * update-desktop-database: updates the database containing a cache of MIME types handled by desktop files. It requires + GLib to compile, because the implementation requires Unicode utilities and such. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gitlab.freedesktop.org/xdg/%(name)s/-/archive/%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['0c84771477b6b8c76f362059f6ad07cc72131ebef5f766b3b4549218b105a056'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('Python', '3.11.3'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('GLib', '2.77.1'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['desktop-file-edit', 'desktop-file-install', 'desktop-file-validate', + 'update-desktop-database']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/devbio-napari/devbio-napari-0.10.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/devbio-napari/devbio-napari-0.10.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..6d8faf24fe6 --- /dev/null +++ b/easybuild/easyconfigs/d/devbio-napari/devbio-napari-0.10.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,230 @@ +easyblock = 'PythonBundle' + +name = 'devbio-napari' +version = '0.10.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/haesleinhuepf/devbio-napari' +description = """A bundle of napari plugins useful for 3D+t image + processing and analysis for studying developmental biology.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('napari', '0.4.18'), + ('jupyter-server', '1.21.0'), + ('JupyterLab', '3.5.0'), + ('Seaborn', '0.12.1'), + ('scikit-learn', '1.1.2'), + ('SimpleITK', '2.1.1.2'), + ('PyQtGraph', '0.13.3'), + ('Deprecated', '1.2.13'), + ('imagecodecs', '2022.9.26'), + ('HDBSCAN', '0.8.29'), + ('umap-learn', '0.5.3'), + ('PyOpenCL', '2023.1.4', versionsuffix), + ('Mako', '1.2.0'), + ('autopep8', '2.0.4'), + ('Qt5', '5.15.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('napari-tools-menu', '0.1.19', { + 'checksums': ['6b58ac45d7fe84bc5975e7a53142340d5d62beff9ade0f2f58d7a3a4a0a8e8f8'], + }), + ('napari-assistant', '0.4.7', { + 'checksums': ['e18e0509c77907dae7b5ec66bebf33ca4fc5833553a3115ecca513f4702e3603'], + }), + ('napari-time-slicer', '0.5.0', { + 'checksums': ['950d3b35d9f1657178201da73de56d038e9bf4e257cf120882081f2707f1e074'], + }), + ('napari-workflows', '0.2.10', { + 'checksums': ['d48f2020693b4b8c1dd639668a3b1588115beac8f19f42394fc241fc1672be12'], + }), + ('pyclesperanto_prototype', '0.24.1', { + 'checksums': ['b2f2cd56bc382813b9477f07f75ce5afbf4cc24c6fd1734a577f602442f7c027'], + }), + ('stackview', '0.7.2', { + 'checksums': ['f417319e3c14384144198bc26cc0e5909a2262e8778f2d7e7b68396690ae797b'], + }), + ('reikna', '0.8.0', { + 'checksums': ['7e96b53dfa3910069f83b3e085ad7b1ba9391b5ddf744ae3725bf43a7fee6322'], + }), + ('pystackreg', '0.2.7', { + 'checksums': ['c3df8b42bb9f4d44ec7ba44b3c061d7ea7481ab62318c24a25ffdb22afbaf3ab'], + }), + ('loguru', '0.7.2', { + 'checksums': ['e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac'], + }), + ('pyperclip', '1.8.2', { + 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], + }), + ('czifile', '2019.7.2', { + 'checksums': ['04c0e6bed3b24d1bf42bc2cf899a5a08986641379305ce88600fd1c710486436'], + }), + ('imageio-ffmpeg', '0.4.9', { + 'checksums': ['39bcd1660118ef360fa4047456501071364661aa9d9021d3d26c58f1ee2081f5'], + }), + ('apoc', '0.12.0', { + 'checksums': ['c6e5264f2ac0420e5f8e2b23ad16927126d75280bb12f0341480ef9853973263'], + }), + ('ipycanvas', '0.13.1', { + 'checksums': ['f9c3940681bc38383390f8c46ea5d8445d6e11c6da6484c37d89df5ae1dac131'], + }), + ('ipyevents', '2.0.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['60c2a9e992bdc41e8577aa27e57b124efafa48a59a3bff886029fe5700d546b3'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('transforms3d', '0.4.1', { + 'checksums': ['31c755266a0b0a222488b8d039f6f325cf486c52728c03e307ce047b2fad1179'], + }), + ('comm', '0.2.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2da8d9ebb8dd7bfc247adaff99f24dce705638a8042b85cb995066793e391001'], + }), + # overwrites installed version + ('debugpy', '1.8.0', { + 'source_tmpl': SOURCE_ZIP, + 'checksums': ['12af2c55b419521e33d5fb21bd022df0b5eb267c3e178f1d374a63a2a6bdccd0'], + }), + # overwrites installed version + ('ipykernel', '6.27.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['dab88b47f112f9f7df62236511023c9bdeef67abc73af7c652e4ce4441601686'], + }), + # overwrites installed version + ('platformdirs', '2.6.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['83c8f6d04389165de7c9b6f0c682439697887bca0aa2f1c87ef1826be3584490'], + }), + # overwrites installed version + ('jupyter_core', '5.5.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['e11e02cd8ae0a9de5c6c44abf5727df9f2581055afe00b22183f621ba3585805'], + }), + # overwrites installed version + ('traitlets', '5.14.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['f14949d23829023013c47df20b4a76ccd1a85effb786dc060f34de7948361b33'], + }), + ('jupyter_console', '6.6.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485'], + }), + ('jupyter', '1.0.0', { + 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], + }), + ('mdit_py_plugins', '0.4.0', { + 'checksums': ['d8ab27e9aed6c38aa716819fedfde15ca275715955f8a185a8e1cf90fb1d2c1b'], + }), + ('jupytext', '1.15.2', { + 'checksums': ['c9976e24d834e991906c1de55af4b6d512d764f6372aabae45fc1ea72b589173'], + }), + ('napari-accelerated-pixel-and-object-classification', '0.14.1', { + 'checksums': ['2f626a9c2d671bf32cade62df74666eef328e6dc3f6d7f3ab6091a992131fb5c'], + }), + ('napari_animation', '0.0.7', { + 'preinstallopts': 'sed -i "s/__version__/version/g" napari_animation/animation.py && ', + 'checksums': ['301cce1d4629b18e618b7e1f1ea8885058171388ee0248f58ee78bdb25e8d72c'], + }), + ('napari-blob-detection', '0.0.2', { + 'checksums': ['a036c6f05e852ca0d332358249ec6c442c1ebdb83781e0609d9b146990e6f938'], + }), + ('napari-brightness-contrast', '0.1.8', { + 'checksums': ['88e0db47817a487b0db2b426ccfea88a57cbbf0185bf3ee0770fba81ed205dda'], + }), + ('napari-clusters-plotter', '0.7.3', { + 'checksums': ['3947e0c3e2335046526e6b92159c013e3e7b498eecd5b766cf1cbdd0239776df'], + }), + ('napari-crop', '0.1.9', { + 'checksums': ['54949ae74ab2fe118d33309d31b8c7eb7368de65428f1008038b82232d8856bd'], + }), + ('napari-curtain', '0.1.1', { + 'checksums': ['611bbabc2194ea749066bcd3cf6363174259c709dc3177142415400ba015f98c'], + }), + ('napari-czifile2', '0.2.7', { + 'checksums': ['67ca9b3d72aac804aba4ee3b34083f59d21134ee426de95a797733573ac2ffab'], + }), + ('napari-folder-browser', '0.1.3', { + 'checksums': ['c7144f8c0b321a30b64ad58928ed2efe65029f19670f0a650070506ae4551b76'], + }), + ('napari-layer-details-display', '0.1.5', { + 'checksums': ['cbee36e6bfa34415a2a102b60e5fb803e8f6b72d4ebc527b0cffc5dda10b2ae0'], + }), + ('napari-mouse-controls', '0.1.3', { + 'checksums': ['0dd9ee41146a3cb73ff8cf9378e242331d2ea9b0c4088188b4bce1650a45c7e6'], + }), + ('napari-plot-profile', '0.2.2', { + 'checksums': ['1a1f087b23eaa71a16f0ffde66e965fd7f6b69e5d52b3664c7db295f30fed501'], + }), + ('napari-plugin-search', '0.1.4', { + 'checksums': ['6dcc0793d072777c8d0cfebff89281252e57e13f8e13a8e0458a9ba7d86a06a0'], + }), + ('napari_pyclesperanto_assistant', '0.22.1', { + # import napari_pyclesperanto_assistant fails without GUI + # but it has been tested with GUI with following command: + # `unset SESSION_MANAGER && python -c "import napari_pyclesperanto_assistant"` + # the `SESSION_MANAGER` needs to be unset to avoid the following message: + # `WARNING: Qt: Session management error: Authentication Rejected, reason : None of the + # authentication protocols specified are supported and host-based authentication failed` + 'modulename': False, + 'checksums': ['6df5e59e105d91f49826d57b2c61091271f62bba9d061dcb9c0c12d3ca000843'], + }), + ('napari_pystackreg', '0.1.4', { + 'checksums': ['ea3fb0b3ecc7b90b64f44c1ced4a85a6cf8231b07e5985ad59a6c1c152cd4cb3'], + }), + ('napari-roi', '0.1.8', { + 'checksums': ['0123238ee652931ed0bc90421ddf76d1d58c0d4c89790a8512c5649e88620729'], + }), + ('napari-segment-blobs-and-things-with-membranes', '0.3.7', { + 'checksums': ['7decc02f61d8499094a61cde6f69c1af5669815b5c8d4f1854ac1536c8e76862'], + }), + ('napari-simpleitk-image-processing', '0.4.5', { + 'checksums': ['b690d38aa67cdce3ae9e9b38f5ea98aa2bb3fcfb7b41943c56c68ed5df70ba3c'], + }), + ('napari-skimage-regionprops', '0.10.1', { + 'checksums': ['a25f8a84ad78f5d09074a32d84996fb6ff900bf82369dfb50501872d23dc22bc'], + }), + ('napari-tabu', '0.1.5', { + 'checksums': ['106be1897bb0670af06cb6dba90dc9a9faa3c5e7ba5017a8b216315749649ac7'], + }), + ('napari-workflow-inspector', '0.2.2', { + 'checksums': ['c7f1709ab537fc3b7c51bf353da305b4fe0adb025ec066df2cbaa4764810ec4f'], + }), + ('napari-workflow-optimizer', '0.1.4', { + 'checksums': ['e756ab013740cdc89fbb2626291386579ec8ce30ec30153a1b79517d7790f9c2'], + }), + ('PlatyMatch', '0.0.3', { + 'checksums': ['8fc7c437c1565c51744320ef09a91de72366beebdaa44780eaac2598eb3d810b'], + }), + ('RedLionfish', '0.9', { + 'modulename': 'RedLionfishDeconv', + 'checksums': ['82b76bf093851fc062448e8b764e846701bf890e64d7e82bf7cf11a7cf2c235b'], + }), + ('the-segmentation-game', '0.2.0', { + 'checksums': ['4bbf4deadecb84efc893c6cea2d51e90374181589f2034050aa3cf8fa65872f3'], + }), + (name, version, { + # reqired npe2 version limit is not necessary since 0.10.1 + # see https://github.com/haesleinhuepf/devbio-napari/issues/41#issuecomment-1594583026 + 'preinstallopts': "sed -i 's/npe2.*/npe2/g' requirements.txt setup.cfg &&", + 'checksums': ['c0bd80fbd3087128690259e25ecc5b13f42c09a99617229f97d6b696279d32a0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'from devbio_napari._viewer import devbio_napari_viewer'"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/d/devbio-napari/devbio-napari-0.10.1-foss-2022a.eb b/easybuild/easyconfigs/d/devbio-napari/devbio-napari-0.10.1-foss-2022a.eb new file mode 100644 index 00000000000..11661fc5227 --- /dev/null +++ b/easybuild/easyconfigs/d/devbio-napari/devbio-napari-0.10.1-foss-2022a.eb @@ -0,0 +1,228 @@ +easyblock = 'PythonBundle' + +name = 'devbio-napari' +version = '0.10.1' + +homepage = 'https://github.com/haesleinhuepf/devbio-napari' +description = """A bundle of napari plugins useful for 3D+t image + processing and analysis for studying developmental biology.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('napari', '0.4.18'), + ('jupyter-server', '1.21.0'), + ('JupyterLab', '3.5.0'), + ('Seaborn', '0.12.1'), + ('scikit-learn', '1.1.2'), + ('SimpleITK', '2.1.1.2'), + ('PyQtGraph', '0.13.3'), + ('Deprecated', '1.2.13'), + ('imagecodecs', '2022.9.26'), + ('HDBSCAN', '0.8.29'), + ('umap-learn', '0.5.3'), + ('PyOpenCL', '2023.1.4'), + ('Mako', '1.2.0'), + ('autopep8', '2.0.4'), + ('Qt5', '5.15.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('napari-tools-menu', '0.1.19', { + 'checksums': ['6b58ac45d7fe84bc5975e7a53142340d5d62beff9ade0f2f58d7a3a4a0a8e8f8'], + }), + ('napari-assistant', '0.4.7', { + 'checksums': ['e18e0509c77907dae7b5ec66bebf33ca4fc5833553a3115ecca513f4702e3603'], + }), + ('napari-time-slicer', '0.5.0', { + 'checksums': ['950d3b35d9f1657178201da73de56d038e9bf4e257cf120882081f2707f1e074'], + }), + ('napari-workflows', '0.2.10', { + 'checksums': ['d48f2020693b4b8c1dd639668a3b1588115beac8f19f42394fc241fc1672be12'], + }), + ('pyclesperanto_prototype', '0.24.1', { + 'checksums': ['b2f2cd56bc382813b9477f07f75ce5afbf4cc24c6fd1734a577f602442f7c027'], + }), + ('stackview', '0.7.2', { + 'checksums': ['f417319e3c14384144198bc26cc0e5909a2262e8778f2d7e7b68396690ae797b'], + }), + ('reikna', '0.8.0', { + 'checksums': ['7e96b53dfa3910069f83b3e085ad7b1ba9391b5ddf744ae3725bf43a7fee6322'], + }), + ('pystackreg', '0.2.7', { + 'checksums': ['c3df8b42bb9f4d44ec7ba44b3c061d7ea7481ab62318c24a25ffdb22afbaf3ab'], + }), + ('loguru', '0.7.2', { + 'checksums': ['e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac'], + }), + ('pyperclip', '1.8.2', { + 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], + }), + ('czifile', '2019.7.2', { + 'checksums': ['04c0e6bed3b24d1bf42bc2cf899a5a08986641379305ce88600fd1c710486436'], + }), + ('imageio-ffmpeg', '0.4.9', { + 'checksums': ['39bcd1660118ef360fa4047456501071364661aa9d9021d3d26c58f1ee2081f5'], + }), + ('apoc', '0.12.0', { + 'checksums': ['c6e5264f2ac0420e5f8e2b23ad16927126d75280bb12f0341480ef9853973263'], + }), + ('ipycanvas', '0.13.1', { + 'checksums': ['f9c3940681bc38383390f8c46ea5d8445d6e11c6da6484c37d89df5ae1dac131'], + }), + ('ipyevents', '2.0.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['60c2a9e992bdc41e8577aa27e57b124efafa48a59a3bff886029fe5700d546b3'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('transforms3d', '0.4.1', { + 'checksums': ['31c755266a0b0a222488b8d039f6f325cf486c52728c03e307ce047b2fad1179'], + }), + ('comm', '0.2.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2da8d9ebb8dd7bfc247adaff99f24dce705638a8042b85cb995066793e391001'], + }), + # overwrites installed version + ('debugpy', '1.8.0', { + 'source_tmpl': SOURCE_ZIP, + 'checksums': ['12af2c55b419521e33d5fb21bd022df0b5eb267c3e178f1d374a63a2a6bdccd0'], + }), + # overwrites installed version + ('ipykernel', '6.27.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['dab88b47f112f9f7df62236511023c9bdeef67abc73af7c652e4ce4441601686'], + }), + # overwrites installed version + ('platformdirs', '2.6.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['83c8f6d04389165de7c9b6f0c682439697887bca0aa2f1c87ef1826be3584490'], + }), + # overwrites installed version + ('jupyter_core', '5.5.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['e11e02cd8ae0a9de5c6c44abf5727df9f2581055afe00b22183f621ba3585805'], + }), + # overwrites installed version + ('traitlets', '5.14.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['f14949d23829023013c47df20b4a76ccd1a85effb786dc060f34de7948361b33'], + }), + ('jupyter_console', '6.6.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485'], + }), + ('jupyter', '1.0.0', { + 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], + }), + ('mdit_py_plugins', '0.4.0', { + 'checksums': ['d8ab27e9aed6c38aa716819fedfde15ca275715955f8a185a8e1cf90fb1d2c1b'], + }), + ('jupytext', '1.15.2', { + 'checksums': ['c9976e24d834e991906c1de55af4b6d512d764f6372aabae45fc1ea72b589173'], + }), + ('napari-accelerated-pixel-and-object-classification', '0.14.1', { + 'checksums': ['2f626a9c2d671bf32cade62df74666eef328e6dc3f6d7f3ab6091a992131fb5c'], + }), + ('napari_animation', '0.0.7', { + 'preinstallopts': 'sed -i "s/__version__/version/g" napari_animation/animation.py && ', + 'checksums': ['301cce1d4629b18e618b7e1f1ea8885058171388ee0248f58ee78bdb25e8d72c'], + }), + ('napari-blob-detection', '0.0.2', { + 'checksums': ['a036c6f05e852ca0d332358249ec6c442c1ebdb83781e0609d9b146990e6f938'], + }), + ('napari-brightness-contrast', '0.1.8', { + 'checksums': ['88e0db47817a487b0db2b426ccfea88a57cbbf0185bf3ee0770fba81ed205dda'], + }), + ('napari-clusters-plotter', '0.7.3', { + 'checksums': ['3947e0c3e2335046526e6b92159c013e3e7b498eecd5b766cf1cbdd0239776df'], + }), + ('napari-crop', '0.1.9', { + 'checksums': ['54949ae74ab2fe118d33309d31b8c7eb7368de65428f1008038b82232d8856bd'], + }), + ('napari-curtain', '0.1.1', { + 'checksums': ['611bbabc2194ea749066bcd3cf6363174259c709dc3177142415400ba015f98c'], + }), + ('napari-czifile2', '0.2.7', { + 'checksums': ['67ca9b3d72aac804aba4ee3b34083f59d21134ee426de95a797733573ac2ffab'], + }), + ('napari-folder-browser', '0.1.3', { + 'checksums': ['c7144f8c0b321a30b64ad58928ed2efe65029f19670f0a650070506ae4551b76'], + }), + ('napari-layer-details-display', '0.1.5', { + 'checksums': ['cbee36e6bfa34415a2a102b60e5fb803e8f6b72d4ebc527b0cffc5dda10b2ae0'], + }), + ('napari-mouse-controls', '0.1.3', { + 'checksums': ['0dd9ee41146a3cb73ff8cf9378e242331d2ea9b0c4088188b4bce1650a45c7e6'], + }), + ('napari-plot-profile', '0.2.2', { + 'checksums': ['1a1f087b23eaa71a16f0ffde66e965fd7f6b69e5d52b3664c7db295f30fed501'], + }), + ('napari-plugin-search', '0.1.4', { + 'checksums': ['6dcc0793d072777c8d0cfebff89281252e57e13f8e13a8e0458a9ba7d86a06a0'], + }), + ('napari_pyclesperanto_assistant', '0.22.1', { + # import napari_pyclesperanto_assistant fails without GUI + # but it has been tested with GUI with following command: + # `unset SESSION_MANAGER && python -c "import napari_pyclesperanto_assistant"` + # the `SESSION_MANAGER` needs to be unset to avoid the following message: + # `WARNING: Qt: Session management error: Authentication Rejected, reason : None of the + # authentication protocols specified are supported and host-based authentication failed` + 'modulename': False, + 'checksums': ['6df5e59e105d91f49826d57b2c61091271f62bba9d061dcb9c0c12d3ca000843'], + }), + ('napari_pystackreg', '0.1.4', { + 'checksums': ['ea3fb0b3ecc7b90b64f44c1ced4a85a6cf8231b07e5985ad59a6c1c152cd4cb3'], + }), + ('napari-roi', '0.1.8', { + 'checksums': ['0123238ee652931ed0bc90421ddf76d1d58c0d4c89790a8512c5649e88620729'], + }), + ('napari-segment-blobs-and-things-with-membranes', '0.3.7', { + 'checksums': ['7decc02f61d8499094a61cde6f69c1af5669815b5c8d4f1854ac1536c8e76862'], + }), + ('napari-simpleitk-image-processing', '0.4.5', { + 'checksums': ['b690d38aa67cdce3ae9e9b38f5ea98aa2bb3fcfb7b41943c56c68ed5df70ba3c'], + }), + ('napari-skimage-regionprops', '0.10.1', { + 'checksums': ['a25f8a84ad78f5d09074a32d84996fb6ff900bf82369dfb50501872d23dc22bc'], + }), + ('napari-tabu', '0.1.5', { + 'checksums': ['106be1897bb0670af06cb6dba90dc9a9faa3c5e7ba5017a8b216315749649ac7'], + }), + ('napari-workflow-inspector', '0.2.2', { + 'checksums': ['c7f1709ab537fc3b7c51bf353da305b4fe0adb025ec066df2cbaa4764810ec4f'], + }), + ('napari-workflow-optimizer', '0.1.4', { + 'checksums': ['e756ab013740cdc89fbb2626291386579ec8ce30ec30153a1b79517d7790f9c2'], + }), + ('PlatyMatch', '0.0.3', { + 'checksums': ['8fc7c437c1565c51744320ef09a91de72366beebdaa44780eaac2598eb3d810b'], + }), + ('RedLionfish', '0.9', { + 'modulename': 'RedLionfishDeconv', + 'checksums': ['82b76bf093851fc062448e8b764e846701bf890e64d7e82bf7cf11a7cf2c235b'], + }), + ('the-segmentation-game', '0.2.0', { + 'checksums': ['4bbf4deadecb84efc893c6cea2d51e90374181589f2034050aa3cf8fa65872f3'], + }), + (name, version, { + # reqired npe2 version limit is not necessary since 0.10.1 + # see https://github.com/haesleinhuepf/devbio-napari/issues/41#issuecomment-1594583026 + 'preinstallopts': "sed -i 's/npe2.*/npe2/g' requirements.txt setup.cfg &&", + 'checksums': ['c0bd80fbd3087128690259e25ecc5b13f42c09a99617229f97d6b696279d32a0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'from devbio_napari._viewer import devbio_napari_viewer'"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/d/dlb/dlb-3.4-gompi-2023b.eb b/easybuild/easyconfigs/d/dlb/dlb-3.4-gompi-2023b.eb new file mode 100644 index 00000000000..687fec96e6b --- /dev/null +++ b/easybuild/easyconfigs/d/dlb/dlb-3.4-gompi-2023b.eb @@ -0,0 +1,35 @@ +# vim: set syntax=python: +easyblock = 'ConfigureMake' + +name = 'dlb' +version = '3.4' + +description = """ +DLB is a dynamic library designed to speed up HPC hybrid applications (i.e., +two levels of parallelism) by improving the load balance of the outer level of +parallelism (e.g., MPI) by dynamically redistributing the computational +resources at the inner level of parallelism (e.g., OpenMP). at run time. +""" +homepage = 'https://pm.bsc.es/dlb/' +docurls = ['https://pm.bsc.es/ftp/dlb/doc/user-guide/'] + +toolchain = {'name': 'gompi', 'version': '2023b'} +builddependencies = [('Python', '3.11.5')] + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://pm.bsc.es/ftp/dlb/releases'] + +checksums = ['6091d032c11a094a3ce0bec11c0a164783fdff83cb4ec870c9d8e192410c353a'] + +configopts = '--with-mpi' + +sanity_check_paths = { + 'files': [ + 'bin/dlb', + 'lib/libdlb.a', 'lib/libdlb.%s' % SHLIB_EXT, + 'lib64/libdlb.%s' % SHLIB_EXT + ], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dlb/dlb-3.4-iimpi-2023b.eb b/easybuild/easyconfigs/d/dlb/dlb-3.4-iimpi-2023b.eb new file mode 100644 index 00000000000..a9bc96ba02a --- /dev/null +++ b/easybuild/easyconfigs/d/dlb/dlb-3.4-iimpi-2023b.eb @@ -0,0 +1,35 @@ +# vim: set syntax=python: +easyblock = 'ConfigureMake' + +name = 'dlb' +version = '3.4' + +description = """ +DLB is a dynamic library designed to speed up HPC hybrid applications (i.e., +two levels of parallelism) by improving the load balance of the outer level of +parallelism (e.g., MPI) by dynamically redistributing the computational +resources at the inner level of parallelism (e.g., OpenMP). at run time. +""" +homepage = 'https://pm.bsc.es/dlb/' +docurls = ['https://pm.bsc.es/ftp/dlb/doc/user-guide/'] + +toolchain = {'name': 'iimpi', 'version': '2023b'} +builddependencies = [('Python', '3.11.5')] + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://pm.bsc.es/ftp/dlb/releases'] + +checksums = ['6091d032c11a094a3ce0bec11c0a164783fdff83cb4ec870c9d8e192410c353a'] + +configopts = '--with-mpi' + +sanity_check_paths = { + 'files': [ + 'bin/dlb', + 'lib/libdlb.a', 'lib/libdlb.%s' % SHLIB_EXT, + 'lib64/libdlb.%s' % SHLIB_EXT + ], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.2.0-foss-2020b.eb b/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.2.0-foss-2020b.eb index aa3a70ea80f..39199d15af2 100644 --- a/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.2.0-foss-2020b.eb +++ b/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.2.0-foss-2020b.eb @@ -27,6 +27,7 @@ dependencies = [ ('Python', '3.8.6'), ('TensorFlow', '2.4.1'), ('protobuf', '3.14.0'), + ('dm-tree', '0.1.5'), ('snappy', '1.1.8'), ('zlib', '1.2.11'), ] diff --git a/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bf55444d006 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.8-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'dm-tree' +version = '0.1.8' + +homepage = 'https://github.com/deepmind/tree' +description = """dm-tree provides tree, a library for working with nested data structures. In a way, +tree generalizes the builtin map function which only supports flat sequences, and +allows to apply a function to each "leaf" preserving the overall structure.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0fcaabbb14e7980377439e7140bd05552739ca5e515ecb3119f234acee4b9430'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] +dependencies = [('Python', '3.11.3')] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'tree'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.5.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/dorado/dorado-0.5.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..54b39322710 --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.5.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,74 @@ +easyblock = 'CMakeMake' + +name = 'dorado' +version = '0.5.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/nanoporetech/dorado' +description = """Dorado is a high-performance, easy-to-use, open source basecaller for Oxford Nanopore reads.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +# -Wno-error option is required to fix: +# error: void {anonymous}::convert_f32_to_f16_impl(c10::Half*, const float*, std::size_t) defined but not used +toolchainopts = {'usempi': True, 'extra_cxxflags': "-Wno-error=unused-function"} + +source_urls = ['https://github.com/nanoporetech/dorado/archive/'] +sources = [{ + 'git_config': { + 'url': 'https://github.com/nanoporetech', + 'repo_name': name, + 'tag': 'v%(version)s', + 'recursive': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('PyTorch', '1.12.0', '-CUDA-%(cudaver)s'), + ('HDF5', '1.12.2'), + ('zstd', '1.5.2'), + ('HTSlib', '1.15.1'), + ('kineto', '0.4.0'), + ('libaec', '1.0.6'), +] + +# don't link to OpenSSL static libraries +# fix for CMake Error "missing: OPENSSL_CRYPTO_LIBRARY" (if only shared OpenSSL libraries are available) +preconfigopts = "sed -i '/OPENSSL_USE_STATIC_LIBS TRUE/d' ../dorado/cmake/OpenSSL.cmake && " +preconfigopts += "export OPENSSL_ROOT_DIR=$EBROOTOPENSSL && " +# link in the ssl and crypto libs, to fix: +# undefined reference to symbol 'SSL_get_peer_certificate@@OPENSSL_1_1_0' +preconfigopts += "sed -i 's/OpenSSL::SSL/ssl\\n crypto/g' ../dorado/dorado/utils/CMakeLists.txt && " + +# don't use vendored HTSlib, use provided HTSlib dependency +preconfigopts += "rm -r ../dorado/dorado/3rdparty/htslib/ && " +preconfigopts += "sed -i '/add_dependencies.*htslib_project/d' ../dorado/CMakeLists.txt && " +preconfigopts += "sed -i '/add_dependencies.*htslib_project/d' ../dorado/dorado/utils/CMakeLists.txt && " +preconfigopts += "sed -i '/Htslib.cmake/d' ../dorado/CMakeLists.txt && " +# link with -lhts, not -lhtslib +preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/CMakeLists.txt && " +preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/dorado/utils/CMakeLists.txt && " + +configopts = "-DDORADO_INSTALL_PATH=%(installdir)s " +configopts += "-DCUDA_TOOLKIT_ROOT_DIR=$EBROOTCUDA -DCMAKE_CUDA_COMPILER=$EBROOTCUDA/bin/nvcc " +configopts += "-DDORADO_LIBTORCH_DIR=$EBROOTPYTORCH/lib " +# add -pthread flag (in addition to -lpthread) to avoid linking error: +# in function `_GLOBAL__sub_I_mutex.cc': mutex.cc:(.text.startup+0x17): undefined reference to `pthread_atfork' +configopts += '-DCMAKE_C_FLAGS="$CFLAGS -pthread" ' + +sanity_check_paths = { + 'files': ['bin/dorado'], + 'dirs': [], +} + +sanity_check_commands = ["dorado basecaller --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.3.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.3.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1f2aa192a0d --- /dev/null +++ b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.3.0-GCCcore-13.2.0.eb @@ -0,0 +1,35 @@ + +easyblock = 'CMakeMake' + +name = 'double-conversion' +version = '3.3.0' + +homepage = 'https://github.com/google/double-conversion' +description = "Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/google/double-conversion/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['04ec44461850abbf33824da84978043b22554896b552c5fd11a9c5ae4b4d296e'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +# Build static lib, static lib with -fPIC and shared lib +configopts = [ + '', + '-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_STATIC_LIBRARY_SUFFIX_CXX=_pic.a', + '-DBUILD_SHARED_LIBS=ON' +] + +sanity_check_paths = { + 'files': ['include/double-conversion/%s.h' % h for h in ['bignum', 'cached-powers', 'diy-fp', 'double-conversion', + 'fast-dtoa', 'fixed-dtoa', 'ieee', 'strtod', 'utils']] + + ['lib/libdouble-conversion.%s' % e for e in ['a', SHLIB_EXT]] + ['lib/libdouble-conversion_pic.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/e/EDirect/EDirect-20.5.20231006-GCCcore-12.2.0.eb b/easybuild/easyconfigs/e/EDirect/EDirect-20.5.20231006-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d055a8c9798 --- /dev/null +++ b/easybuild/easyconfigs/e/EDirect/EDirect-20.5.20231006-GCCcore-12.2.0.eb @@ -0,0 +1,57 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## +easyblock = 'Binary' + +name = 'EDirect' +version = '20.5.20231006' + +homepage = 'https://www.ncbi.nlm.nih.gov/books/NBK25501/' +# See also https://dataguide.nlm.nih.gov/edirect/install.html +description = """Entrez Direct (EDirect) provides access to the NCBI's suite of +interconnected databases from a Unix terminal window. Search terms are entered +as command-line arguments. Individual operations are connected with Unix pipes +to construct multi-step queries. Selected records can then be retrieved in a +variety of formats.""" +# software_license = 'Public Domain' + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/versions/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['abb7a7c2d7dd4bf80b5f951211d20bf432fe9b787f6ad093feba2f5cb46d62dd'] + +builddependencies = [ + ('Go', '1.21.2', '', SYSTEM), +] + +dependencies = [ + ('Python', '3.10.8'), + ('Perl', '5.36.0'), +] + +extract_sources = True + +postinstallcmds = [ + "cd cmd/ && " + "sed -i 's@target=\"\\$HOME/Misc/scripts/\"@target=\"%(installdir)s/\"@' build.sh && " + "./build.sh install && cd %(installdir)s/ && rm -rf cmd/ eutils/" +] + +sanity_check_paths = { + 'files': ['einfo', 'README'], + 'dirs': ['help'], +} + +sanity_check_commands = [ + "esearch -version && " + "xtract -version && " + "esearch -db pubmed -query 'Babalobi OO[au] AND 2008[pdat]' | efetch -format xml | " + "xtract -pattern Author -if Affiliation -contains Medicine -element Initials" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2023.11.001-foss-2023b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2023.11.001-foss-2023b.eb new file mode 100644 index 00000000000..e0c5b258835 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2023.11.001-foss-2023b.eb @@ -0,0 +1,49 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Authors:: Inge Gutheil , Alan O'Cais +# License:: MIT/GPL +# +## + +name = 'ELPA' +version = '2023.11.001' + +homepage = 'https://elpa.mpcdf.mpg.de/' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/new_release_%(version)s/'] +sources = ['elpa-new_release_%(version)s.tar.gz'] +patches = [ + '%(name)s-2023.05.001_fix_hardcoded_perl_path.patch', + '%(name)s-2023.05.001_fix_AVX512_support.patch', +] +checksums = [ + {'%(namelower)s-new_release_%(version)s.tar.gz': + 'b8dd04e238dac23c1e910e8862370b1779b239eae4b871c9966bee578d40c750'}, + {'%(name)s-2023.05.001_fix_hardcoded_perl_path.patch': + '0548105065777a2ed07dde306636251c4f96e555a801647564de37d1ddd7b0b5'}, + {'%(name)s-2023.05.001_fix_AVX512_support.patch': + 'ecf08b64fe1da432a218040fa45d4ecfbb3269d58cb018b12da5a2d854bf96be'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.11.5'), + ('Perl', '5.38.0'), +] + +preconfigopts = './autogen.sh && ' +preconfigopts += 'export LDFLAGS="-lm $LDFLAGS" && ' +preconfigopts += 'autoreconf && ' + +# When building in parallel, the file test_setup_mpi.mod is sometimes +# used before it is built, leading to an error. This must be a bug in +# the makefile affecting parallel builds. +maxparallel = 1 + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2023.11.001-intel-2023b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2023.11.001-intel-2023b.eb new file mode 100644 index 00000000000..c0e9fe26080 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2023.11.001-intel-2023b.eb @@ -0,0 +1,53 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Authors:: Inge Gutheil , Alan O'Cais +# License:: MIT/GPL +# +## + +name = 'ELPA' +version = '2023.11.001' + +homepage = 'https://elpa.mpcdf.mpg.de/' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'intel', 'version': '2023b'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/new_release_%(version)s/'] +sources = ['elpa-new_release_%(version)s.tar.gz'] +patches = [ + '%(name)s-2023.05.001_fix_hardcoded_perl_path.patch', + '%(name)s-2023.05.001_fix_AVX512_support.patch', +] +checksums = [ + {'%(namelower)s-new_release_%(version)s.tar.gz': + 'b8dd04e238dac23c1e910e8862370b1779b239eae4b871c9966bee578d40c750'}, + {'%(name)s-2023.05.001_fix_hardcoded_perl_path.patch': + '0548105065777a2ed07dde306636251c4f96e555a801647564de37d1ddd7b0b5'}, + {'%(name)s-2023.05.001_fix_AVX512_support.patch': + 'ecf08b64fe1da432a218040fa45d4ecfbb3269d58cb018b12da5a2d854bf96be'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.11.5'), + ('Perl', '5.38.0'), +] + +preconfigopts = './autogen.sh && ' +preconfigopts += 'export LDFLAGS="-lm $LDFLAGS" && ' +preconfigopts += 'autoreconf && ' +# If the build is running in a batch job, make sure Intel libmpi does +# not try to use Slurm to run the MPI_THREAD test code that ELPA's +# configure is running without "mpirun". +preconfigopts += 'unset SLURM_JOBID && unset SLURM_NODELIST && unset I_MPI_PMI_LIBRARY && ' + +# When building in parallel, the file test_setup_mpi.mod is sometimes +# used before it is built, leading to an error. This must be a bug in +# the makefile affecting parallel builds. +maxparallel = 1 + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2022b.eb b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2022b.eb new file mode 100644 index 00000000000..0eca3505ba5 --- /dev/null +++ b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2022b.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'ESM-2' +version = '2.0.0' + +homepage = 'https://github.com/facebookresearch/esm' +description = """ESM-2 outperforms all tested single-sequence protein language models + across a range of structure prediction tasks. ESMFold harnesses the ESM-2 language model to generate + accurate structure predictions end to end directly from the sequence of a protein.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('Java', '11', '', SYSTEM), # needed by ANTLR4 runtime +] + +dependencies = [ + ('Python', '3.10.8'), + ('PyTorch', '1.13.1'), +] + +use_pip = True +sanity_pip_check = True + +# omegaconf is required for esmfold (in addition to OpenFold-1.0.1) +exts_list = [ + ('antlr4-python3-runtime', '4.9.3', { + 'modulename': 'antlr4', + 'checksums': ['f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b'], + }), + ('omegaconf', '2.3.0', { + 'checksums': ['d5d4b6d29955cc50ad50c46dc269bcd92c6e00f5f90d23ab5fee7bfca4ba4cc7'], + }), + ('fair-esm', version, { + 'modulename': "esm, esm.pretrained", + 'checksums': ['4ed34d4598ec75ed6550a4e581d023bf8d4a8375317ecba6269bb68135f80c85'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/ESMF/ESMF-8.4.2-foss-2022a.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.4.2-foss-2022a.eb new file mode 100644 index 00000000000..cc9c6a7ad83 --- /dev/null +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.4.2-foss-2022a.eb @@ -0,0 +1,37 @@ +name = 'ESMF' +version = '8.4.2' + +homepage = 'https://www.earthsystemcog.org/projects/esmf/' +description = """The Earth System Modeling Framework (ESMF) is a suite of software tools for developing + high-performance, multi-component Earth science modeling applications.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True, 'cstd': 'c++11', 'pic': True} + +source_urls = ['https://github.com/esmf-org/esmf/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['ESMF-6.1.1_libopts.patch'] +checksums = [ + {'v8.4.2.tar.gz': '969304efa518c7859567fa6e65efd960df2b4f6d72dbf2c3f29e39e4ab5ae594'}, + {'ESMF-6.1.1_libopts.patch': '3851627f07c32a7da55d99072d619942bd3a1d9dd002e1557716158e7aacdaf4'}, +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), + ('netCDF-C++4', '4.3.1'), + ('libarchive', '3.6.1'), +] + +# disable errors from GCC 10 on mismatches between actual and dummy argument lists (GCC 9 behaviour) +prebuildopts = 'ESMF_F90COMPILEOPTS="${ESMF_F90COMPILEOPTS} -fallow-argument-mismatch"' + +buildopts = 'ESMF_NETCDF_INCLUDE=$EBROOTNETCDFMINFORTRAN/include ' +buildopts += 'ESMF_NETCDF_LIBS="`nc-config --libs` `nf-config --flibs` `ncxx4-config --libs`"' + +# too parallel causes the build to become really slow +maxparallel = 8 + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1-foss-2023a.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1-foss-2023a.eb new file mode 100644 index 00000000000..de6eaa16c9a --- /dev/null +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1-foss-2023a.eb @@ -0,0 +1,60 @@ +easyblock = 'CMakeMake' + +name = 'ESPResSo' +version = '4.2.1' + +homepage = 'https://espressomd.org/wordpress' +description = """A software package for performing and analyzing scientific Molecular Dynamics simulations.""" + +source_urls = ['https://github.com/espressomd/espresso/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +patches = ['ESPResSo-4.2.1_fix-setuptools-pkg_resources.patch'] +checksums = [ + {'4.2.1.tar.gz': 'f7264d78fe1fd7774b89972fe10d5b15d2e9d620d406158dab90df5df0b9f255'}, + {'ESPResSo-4.2.1_fix-setuptools-pkg_resources.patch': + '0c528ab36dee10c6f310910269427e409ca40730ddaa7a9fe93ec135b3031fc4'}, +] + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True, 'pic': True} + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost.MPI', '1.82.0'), + ('HDF5', '1.14.0'), + ('Mesa', '23.1.4'), + ('GSL', '2.7'), + ('IPython', '8.14.0'), + ('Pint', '0.23'), +] + +configopts = ' -DCMAKE_SKIP_RPATH=OFF -DWITH_TESTS=ON -DWITH_CUDA=OFF' +# make sure the right Python is used (note: -DPython3_EXECUTABLE or -DPython_EXECUTABLE does not work!) +configopts += ' -DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python ' + +runtest = 'check_unit_tests && make check_python' + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +_binaries = ['ipypresso', 'pypresso'] +_libs = [ + 'Espresso_config', 'Espresso_core', 'Espresso_script_interface', 'Espresso_shapes', + '_init', 'analyze', 'code_info', 'electrokinetics', 'galilei', + 'integrate', 'interactions', 'lb', 'particle_data', 'polymer', 'profiler', + 'script_interface', 'system', 'thermostat', 'utils', 'version', +] + +_lib_path = 'lib/python%(pyshortver)s/site-packages/espressomd' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + + [_lib_path + '/%s.' % x + SHLIB_EXT for x in _libs], + 'dirs': ['bin', 'lib'] +} + +sanity_check_commands = ['pypresso -h', 'ipypresso -h'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1_fix-setuptools-pkg_resources.patch b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1_fix-setuptools-pkg_resources.patch new file mode 100644 index 00000000000..98594dc1702 --- /dev/null +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1_fix-setuptools-pkg_resources.patch @@ -0,0 +1,79 @@ +fix for failing 'decorators' test: +AttributeError: module 'setuptools.version' has no attribute 'pkg_resources' + +see https://github.com/espressomd/espresso/pull/4709 + +From 111283a0e0184e1674ef29ec0bd873a099574096 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= +Date: Tue, 18 Apr 2023 10:46:51 +0200 +Subject: [PATCH] python: Update deprecated setuptools functionality + +Starting with setuptools v67.3.0, the pkg_resources module is being +progressively phased out from the setuptools main module. +--- + doc/tutorials/constant_pH/constant_pH.ipynb | 4 ++-- + maintainer/benchmarks/mc_acid_base_reservoir.py | 4 ++-- + testsuite/python/unittest_decorators.py | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/doc/tutorials/constant_pH/constant_pH.ipynb b/doc/tutorials/constant_pH/constant_pH.ipynb +index bcfd5bdf993..ca4029465a4 100644 +--- a/doc/tutorials/constant_pH/constant_pH.ipynb ++++ b/doc/tutorials/constant_pH/constant_pH.ipynb +@@ -137,10 +137,10 @@ + "plt.rcParams.update({'font.size': 18})\n", + "\n", + "import numpy as np\n", +- "import setuptools\n", ++ "import pkg_resources\n", + "import pint # module for working with units and dimensions\n", + "import time\n", +- "assert setuptools.version.pkg_resources.packaging.specifiers.SpecifierSet('>=0.10.1').contains(pint.__version__), \\\n", ++ "assert pkg_resources.packaging.specifiers.SpecifierSet('>=0.10.1').contains(pint.__version__), \\\n", + " f'pint version {pint.__version__} is too old: several numpy operations can cast away the unit'\n", + "\n", + "import espressomd\n", +diff --git a/maintainer/benchmarks/mc_acid_base_reservoir.py b/maintainer/benchmarks/mc_acid_base_reservoir.py +index 97e465e8c70..a7a7a965f73 100644 +--- a/maintainer/benchmarks/mc_acid_base_reservoir.py ++++ b/maintainer/benchmarks/mc_acid_base_reservoir.py +@@ -24,7 +24,7 @@ + import espressomd + import espressomd.electrostatics + import espressomd.reaction_methods +-import setuptools ++import pkg_resources + import argparse + + parser = argparse.ArgumentParser(description="Benchmark MC simulations in the grand-reaction ensemble. " +@@ -45,7 +45,7 @@ + # process and check arguments + assert args.particles_per_core >= 100, "you need to use at least 100 particles per core to avoid finite-size effects in the simulation" + espressomd.assert_features(['WCA', 'ELECTROSTATICS']) +-assert setuptools.version.pkg_resources.packaging.specifiers.SpecifierSet('>=0.10.1').contains(pint.__version__), \ ++assert pkg_resources.packaging.specifiers.SpecifierSet('>=0.10.1').contains(pint.__version__), \ + f'pint version {pint.__version__} is too old: several numpy operations can cast away the unit' + + +diff --git a/testsuite/python/unittest_decorators.py b/testsuite/python/unittest_decorators.py +index 109f89cc8d7..a9a0e5200c4 100644 +--- a/testsuite/python/unittest_decorators.py ++++ b/testsuite/python/unittest_decorators.py +@@ -19,7 +19,7 @@ + + import sys + import importlib +-import setuptools ++import pkg_resources + import unittest + + import espressomd +@@ -74,7 +74,7 @@ def skipIfUnmetModuleVersionRequirement(module, version_requirement): + _module = importlib.import_module(module) + except ImportError: + return skipIfMissingModules(module) +- if not setuptools.version.pkg_resources.packaging.specifiers.SpecifierSet( ++ if not pkg_resources.packaging.specifiers.SpecifierSet( + version_requirement).contains(_module.__version__): + return unittest.skip( + "Skipping test: version requirement not met for module {}".format(module)) diff --git a/easybuild/easyconfigs/e/ETE/ETE-3.1.3-foss-2022b.eb b/easybuild/easyconfigs/e/ETE/ETE-3.1.3-foss-2022b.eb new file mode 100644 index 00000000000..1a1837b76f1 --- /dev/null +++ b/easybuild/easyconfigs/e/ETE/ETE-3.1.3-foss-2022b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'ETE' +version = '3.1.3' + +homepage = 'http://etetoolkit.org' +description = """A Python framework for the analysis and visualization of trees""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://pypi.python.org/packages/source/e/ete3'] +sources = ['ete3-%(version)s.tar.gz'] +patches = ['ETE-3.1.2-foss-2021b_fix_binpath.patch'] +checksums = [ + {'ete3-3.1.3.tar.gz': '06a3b7fa8ed90187b076a8dbbe5b1b62acee94201d3c6e822f55f449601ef6f2'}, + {'ETE-3.1.2-foss-2021b_fix_binpath.patch': 'f71d1135e87e1035736f67b92ebcfebd2ae4d57e48f45e25c1a6144c60f11fbd'}, +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('lxml', '4.9.2'), + ('PyQt5', '5.15.7'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'ete3'} + +sanity_check_paths = { + 'files': ['bin/ete3'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/e/ETE/ETE-3.1.3-foss-2023a.eb b/easybuild/easyconfigs/e/ETE/ETE-3.1.3-foss-2023a.eb new file mode 100644 index 00000000000..be10b633633 --- /dev/null +++ b/easybuild/easyconfigs/e/ETE/ETE-3.1.3-foss-2023a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'ETE' +version = '3.1.3' + +homepage = 'http://etetoolkit.org' +description = """A Python framework for the analysis and visualization of trees""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://pypi.python.org/packages/source/e/ete3'] +sources = ['ete3-%(version)s.tar.gz'] +patches = ['ETE-3.1.2-foss-2021b_fix_binpath.patch'] +checksums = [ + {'ete3-3.1.3.tar.gz': '06a3b7fa8ed90187b076a8dbbe5b1b62acee94201d3c6e822f55f449601ef6f2'}, + {'ETE-3.1.2-foss-2021b_fix_binpath.patch': 'f71d1135e87e1035736f67b92ebcfebd2ae4d57e48f45e25c1a6144c60f11fbd'}, +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('lxml', '4.9.2'), + ('PyQt5', '5.15.10'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'ete3'} + +sanity_check_paths = { + 'files': ['bin/ete3'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.0.eb new file mode 100644 index 00000000000..b719705413e --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.0.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.9.0' + +homepage = 'https://easybuilders.github.io/easybuild' +description = """EasyBuild is a software build and installation framework + written in Python that allows you to install software in a structured, + repeatable and robust way.""" + +toolchain = SYSTEM + +source_urls = [ + # easybuild-framework + 'https://files.pythonhosted.org/packages/13/53/816fd9cabba920ab7457c4a9dba3225ede9cca7284ec910c5216e98ae3d2/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/6c/fb/86e8d0e3a7e7b4ec5c2953b369f0bcf452a024b2504fa1fa1b9065ab8955/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/6c/65/fb99bd1e1786d24c9bb93bffe7f534c147ff26e806f501b76677c541b861/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + {'easybuild-framework-4.9.0.tar.gz': 'a708437d49570b778ab7f98a0504ac4fa3185d93d31515becd8dee652a6919b2'}, + {'easybuild-easyblocks-4.9.0.tar.gz': 'feb930d927803ed10a26233051973ca016f17e4ff9df213228ff9f90ad96cc3d'}, + {'easybuild-easyconfigs-4.9.0.tar.gz': '767f8d1d03fd4b9eb4d063d5f386f4284136d3efa7ef0b11b3d3d34a2f2040f9'}, +] + +# order matters a lot, to avoid having dependencies auto-resolved (--no-deps easy_install option doesn't work?) +# EasyBuild is a (set of) Python packages, so it depends on Python +# usually, we want to use the system Python, so no actual Python dependency is listed +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +local_pyshortver = '.'.join(SYS_PYTHON_VERSION.split('.')[:2]) + +sanity_check_paths = { + 'files': ['bin/eb'], + 'dirs': ['lib/python%s/site-packages' % local_pyshortver], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/EggLib/EggLib-3.3.0-GCC-13.2.0.eb b/easybuild/easyconfigs/e/EggLib/EggLib-3.3.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..e145d952fb9 --- /dev/null +++ b/easybuild/easyconfigs/e/EggLib/EggLib-3.3.0-GCC-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'EggLib' +version = '3.3.0' + +homepage = 'https://egglib.org' +description = """EggLib is a C++/Python library and program package for evolutionary genetics and genomics.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['781b8e01d16762026b18514687be40acf68f97cdd975ea670854d74d2f8bd5c5'] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/egglib-config', 'bin/egglib-test'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["egglib-config --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/Elmer/Elmer-9.0-DCRComplexSolve.patch b/easybuild/easyconfigs/e/Elmer/Elmer-9.0-DCRComplexSolve.patch new file mode 100644 index 00000000000..e2823334326 --- /dev/null +++ b/easybuild/easyconfigs/e/Elmer/Elmer-9.0-DCRComplexSolve.patch @@ -0,0 +1,431 @@ +Backport to 9.0 to allow compile with foss/2022b compiler. +See history of https://github.com/ElmerCSC/elmerfem/commits/devel/fem/src/modules/DCRComplexSolve.F90 +and commit "Try to fix some strange compile errors appearing after all these years in DCRComplexSolve.F90" +https://github.com/ElmerCSC/elmerfem/commit/54fd87054f687305644b92d0525a3f0cd4423a93 +--- fem/src/modules/DCRComplexSolve.F90.orig 2023-12-15 10:28:53.729618181 +0100 ++++ fem/src/modules/DCRComplexSolve.F90 2023-12-15 10:28:58.846691361 +0100 +@@ -205,7 +205,7 @@ + CALL Info( 'DCRComplexSolve', Message, Level=4 ) + CALL Info( 'DCRComplexSolve', '-------------------------------------', Level=4 ) + CALL Info( 'DCRComplexSolve', ' ', Level=4 ) +- CALL Info( 'DCRComplexSolve', 'Starting Assmebly', Level=4 ) ++ CALL Info( 'DCRComplexSolve', 'Starting Assembly', Level=4 ) + + CALL InitializeToZero( StiffMatrix, ForceVector ) + ! +@@ -426,14 +426,14 @@ + SUBROUTINE InputTensor( Tensor, IsScalar, Name, Material, n, NodeIndexes ) + !------------------------------------------------------------------------------ + REAL(KIND=dp) :: Tensor(:,:,:) +- INTEGER :: n, NodeIndexes(:) ++ INTEGER :: i, n, NodeIndexes(:) + LOGICAL :: IsScalar + CHARACTER(LEN=*) :: Name + TYPE(ValueList_t), POINTER :: Material + !------------------------------------------------------------------------------ + LOGICAL :: FirstTime = .TRUE., stat + REAL(KIND=dp), POINTER :: Hwrk(:,:,:) +- ++ INTEGER :: n1,n2,t1 + SAVE FirstTime, Hwrk + !------------------------------------------------------------------------------ + IF ( FirstTime ) THEN +@@ -444,30 +444,33 @@ + Tensor = 0.0d0 + + CALL ListGetRealArray( Material, Name, Hwrk, n, NodeIndexes, stat ) +- IsScalar = SIZE(HWrk,1) == 1 .AND. SIZE(HWrk,2) == 1 ++ n1 = MIN(SIZE(HWrk,1),3) ++ n2 = MIN(SIZE(Hwrk,2),3) ++ IsScalar = (n1==1 .AND. n2==1) + + IF ( .NOT. stat ) RETURN + +- IF ( SIZE(Hwrk,1) == 1 ) THEN +- +- DO i=1,MIN(3,SIZE(Hwrk,2)) +- Tensor( i,i,1:n ) = Hwrk( 1,1,1:n ) +- END DO +- +- ELSE IF ( SIZE(Hwrk,2) == 1 ) THEN +- +- DO i=1,MIN(3,SIZE(Hwrk,1)) +- Tensor(i,i,1:n) = Hwrk(i,1,1:n) +- END DO +- ++ IF ( IsScalar ) THEN ++ t1 = SIZE(Tensor,1) ++ DO i=1,t1 ++ Tensor(i,i,1:n) = Hwrk(1,1,1:n) ++ END DO + ELSE +- +- DO i=1,MIN(3,SIZE(Hwrk,1)) +- DO j=1,MIN(3,SIZE(Hwrk,2)) ++ IF ( n1 == 1 ) THEN ++ DO i=1,n2 ++ Tensor( i,i,1:n ) = Hwrk( 1,i,1:n ) ++ END DO ++ ELSE IF ( n2 == 1 ) THEN ++ DO i=1,n1 ++ Tensor(i,i,1:n) = Hwrk(i,1,1:n) ++ END DO ++ ELSE ++ DO i=1,n1 ++ DO j=1,n2 + Tensor( i,j,1:n ) = Hwrk(i,j,1:n) +- END DO +- END DO +- ++ END DO ++ END DO ++ END IF + END IF + !------------------------------------------------------------------------------ + END SUBROUTINE InputTensor +@@ -485,7 +488,8 @@ + !------------------------------------------------------------------------------ + LOGICAL :: FirstTime = .TRUE., stat + REAL(KIND=dp), POINTER :: Hwrk(:,:,:) +- ++ INTEGER :: i ++ INTEGER :: n1,n2 + SAVE FirstTime, Hwrk + !------------------------------------------------------------------------------ + IF ( FirstTime ) THEN +@@ -496,22 +500,20 @@ + Tensor = 0.0d0 + + CALL ListGetRealArray( Material, Name, Hwrk, n, NodeIndexes, stat ) +- IsScalar = SIZE(HWrk,1) == 1 .AND. SIZE(HWrk,2) == 1 ++ n1 = MIN(SIZE(HWrk,1),3) ++ n2 = MIN(SIZE(HWrk,2),3) ++ IsScalar = (n1==1 .AND. n2==1) + + IF ( .NOT. stat ) RETURN +- +- IF ( SIZE(Hwrk,1) == 1 ) THEN +- +- DO i=1,MIN(3,SIZE(Hwrk,2)) +- Tensor( i,1:n ) = Hwrk( 1,1,1:n ) ++ ++ IF ( n1 == 1 ) THEN ++ DO i=1,n2 ++ Tensor( i,1:n ) = Hwrk( 1,i,1:n ) + END DO +- + ELSE +- +- DO i=1,MIN(3,SIZE(Hwrk,1)) ++ DO i=1,n1 + Tensor( i,1:n ) = Hwrk( i,1,1:n ) + END DO +- + END IF + !------------------------------------------------------------------------------ + END SUBROUTINE InputVector +@@ -1061,20 +1063,20 @@ + + !------------------------------------------------------------------------------ + +-contains ++ CONTAINS + + !------------------------------------------------------------------------------ + SUBROUTINE InputVector( Tensor, IsScalar, Name, Material, n, NodeIndexes ) + !------------------------------------------------------------------------------ + REAL(KIND=dp) :: Tensor(:,:) +- INTEGER :: n, NodeIndexes(:) ++ INTEGER :: i, n, NodeIndexes(:) + LOGICAL :: IsScalar + CHARACTER(LEN=*) :: Name + TYPE(ValueList_t), POINTER :: Material + !------------------------------------------------------------------------------ + LOGICAL :: FirstTime = .TRUE., stat + REAL(KIND=dp), POINTER :: Hwrk(:,:,:) +- ++ INTEGER :: n1,n2 + SAVE FirstTime, Hwrk + !------------------------------------------------------------------------------ + IF ( FirstTime ) THEN +@@ -1085,22 +1087,20 @@ + Tensor = 0.0d0 + + CALL ListGetRealArray( Material, Name, Hwrk, n, NodeIndexes, stat ) +- IsScalar = SIZE(HWrk,1) == 1 .AND. SIZE(HWrk,2) == 1 ++ n1 = MIN(SIZE(HWrk,1),3) ++ n2 = MIN(SIZE(HWrk,2),3) ++ IsScalar = (n1==1 .AND. n2==1) + + IF ( .NOT. stat ) RETURN + +- IF ( SIZE(Hwrk,1) == 1 ) THEN +- +- DO i=1,MIN(3,SIZE(Hwrk,2)) ++ IF ( n1==1 ) THEN ++ DO i=1,n2 + Tensor( i,1:n ) = Hwrk( 1,1,1:n ) + END DO +- + ELSE +- +- DO i=1,MIN(3,SIZE(Hwrk,1)) ++ DO i=1,n1 + Tensor( i,1:n ) = Hwrk( i,1,1:n ) + END DO +- + END IF + !------------------------------------------------------------------------------ + END SUBROUTINE InputVector +@@ -1127,7 +1127,6 @@ + + INTEGER :: i,j,k,l,n,t,DIM,En,Pn + LOGICAL :: stat, GotIt +-! REAL(KIND=dp), POINTER :: Hwrk(:,:,:) + + REAL(KIND=dp) :: Grad(3,3), Normal(3), EdgeLength, Jump, JumpReal, JumpImag, & + GradReal(3,3),GradImag(3,3) +@@ -1148,17 +1147,6 @@ + + TYPE(GaussIntegrationPoints_t), TARGET :: IntegStuff + +-! LOGICAL :: First = .TRUE. +-! SAVE Hwrk, First +-!------------------------------------------------------------------------------ +- +-! Initialize: +-! ----------- +- +-! IF ( First ) THEN +-! First = .FALSE. +-! NULLIFY( Hwrk ) +-! END IF + + SELECT CASE( CurrentCoordinateSystem() ) + CASE( AxisSymmetric, CylindricSymmetric ) +@@ -1361,20 +1349,20 @@ + Temperature, Pressure ) + !------------------------------------------------------------------------------ + +-contains ++ CONTAINS + + !------------------------------------------------------------------------------ + SUBROUTINE InputTensor( Tensor, IsScalar, Name, Material, n, NodeIndexes ) + !------------------------------------------------------------------------------ + REAL(KIND=dp) :: Tensor(:,:,:) +- INTEGER :: n, NodeIndexes(:) ++ INTEGER :: i, n, NodeIndexes(:) + LOGICAL :: IsScalar + CHARACTER(LEN=*) :: Name + TYPE(ValueList_t), POINTER :: Material + !------------------------------------------------------------------------------ + LOGICAL :: FirstTime = .TRUE., stat + REAL(KIND=dp), POINTER :: Hwrk(:,:,:) +- ++ INTEGER :: n1,n2 + SAVE FirstTime, Hwrk + !------------------------------------------------------------------------------ + IF ( FirstTime ) THEN +@@ -1385,30 +1373,27 @@ + Tensor = 0.0d0 + + CALL ListGetRealArray( Material, Name, Hwrk, n, NodeIndexes, stat ) +- IsScalar = SIZE(HWrk,1) == 1 .AND. SIZE(HWrk,2) == 1 + +- IF ( .NOT. stat ) RETURN ++ n1 = MIN(SIZE(HWrk,1),3) ++ n2 = MIN(SIZE(Hwrk,2),3) ++ IsScalar = (n1==1 .AND. n2==1) + +- IF ( SIZE(Hwrk,1) == 1 ) THEN ++ IF ( .NOT. stat ) RETURN + +- DO i=1,MIN(3,SIZE(Hwrk,2)) ++ IF ( n1 == 1 ) THEN ++ DO i=1,n2 + Tensor( i,i,1:n ) = Hwrk( 1,1,1:n ) + END DO +- +- ELSE IF ( SIZE(Hwrk,2) == 1 ) THEN +- +- DO i=1,MIN(3,SIZE(Hwrk,1)) ++ ELSE IF ( n2 == 1 ) THEN ++ DO i=1,n1 + Tensor(i,i,1:n) = Hwrk(i,1,1:n) + END DO +- + ELSE +- +- DO i=1,MIN(3,SIZE(Hwrk,1)) +- DO j=1,MIN(3,SIZE(Hwrk,2)) ++ DO i=1,n1 ++ DO j=1,n2 + Tensor( i,j,1:n ) = Hwrk(i,j,1:n) + END DO + END DO +- + END IF + !------------------------------------------------------------------------------ + END SUBROUTINE InputTensor +@@ -1419,14 +1404,14 @@ + SUBROUTINE InputVector( Tensor, IsScalar, Name, Material, n, NodeIndexes ) + !------------------------------------------------------------------------------ + REAL(KIND=dp) :: Tensor(:,:) +- INTEGER :: n, NodeIndexes(:) ++ INTEGER :: i, n, NodeIndexes(:) + LOGICAL :: IsScalar + CHARACTER(LEN=*) :: Name + TYPE(ValueList_t), POINTER :: Material + !------------------------------------------------------------------------------ + LOGICAL :: FirstTime = .TRUE., stat + REAL(KIND=dp), POINTER :: Hwrk(:,:,:) +- ++ INTEGER :: n1,n2 + SAVE FirstTime, Hwrk + !------------------------------------------------------------------------------ + IF ( FirstTime ) THEN +@@ -1437,22 +1422,20 @@ + Tensor = 0.0d0 + + CALL ListGetRealArray( Material, Name, Hwrk, n, NodeIndexes, stat ) +- IsScalar = SIZE(HWrk,1) == 1 .AND. SIZE(HWrk,2) == 1 ++ n1 = MIN(SIZE(HWrk,1),3) ++ n2 = MIN(SIZE(Hwrk,2),3) + ++ IsScalar = (n1==1 .AND. n2==1) + IF ( .NOT. stat ) RETURN + +- IF ( SIZE(Hwrk,1) == 1 ) THEN +- +- DO i=1,MIN(3,SIZE(Hwrk,2)) ++ IF ( n1 == 1 ) THEN ++ DO i=1,n2 + Tensor( i,1:n ) = Hwrk( 1,1,1:n ) + END DO +- + ELSE +- +- DO i=1,MIN(3,SIZE(Hwrk,1)) ++ DO i=1,n1 + Tensor( i,1:n ) = Hwrk( i,1,1:n ) + END DO +- + END IF + !------------------------------------------------------------------------------ + END SUBROUTINE InputVector +@@ -1497,9 +1480,6 @@ + LOGICAL :: notScalar = .TRUE. + TYPE( ValueList_t ), POINTER :: Material + TYPE(GaussIntegrationPoints_t), TARGET :: IntegStuff +- +-! LOGICAL :: First = .TRUE. +-! SAVE Hwrk, First + !------------------------------------------------------------------------------ + + ! Initialize: +@@ -1720,14 +1700,14 @@ + SUBROUTINE InputTensor( Tensor, IsScalar, Name, Material, n, NodeIndexes ) + !------------------------------------------------------------------------------ + REAL(KIND=dp) :: Tensor(:,:,:) +- INTEGER :: n, NodeIndexes(:) ++ INTEGER :: i, n, NodeIndexes(:) + LOGICAL :: IsScalar + CHARACTER(LEN=*) :: Name + TYPE(ValueList_t), POINTER :: Material + !------------------------------------------------------------------------------ + LOGICAL :: FirstTime = .TRUE., stat + REAL(KIND=dp), POINTER :: Hwrk(:,:,:) +- ++ INTEGER :: n1,n2 + SAVE FirstTime, Hwrk + !------------------------------------------------------------------------------ + IF ( FirstTime ) THEN +@@ -1738,30 +1718,27 @@ + Tensor = 0.0d0 + + CALL ListGetRealArray( Material, Name, Hwrk, n, NodeIndexes, stat ) +- IsScalar = SIZE(HWrk,1) == 1 .AND. SIZE(HWrk,2) == 1 +- +- IF ( .NOT. stat ) RETURN + +- IF ( SIZE(Hwrk,1) == 1 ) THEN ++ n1 = MIN(SIZE(HWrk,1),3) ++ n2 = MIN(SIZE(HWrk,2),3) ++ IsScalar = (n1==1 .AND. n2==1) + +- DO i=1,MIN(3,SIZE(Hwrk,2)) ++ IF ( .NOT. stat ) RETURN ++ ++ IF ( n1 == 1 ) THEN ++ DO i=1,n2 + Tensor( i,i,1:n ) = Hwrk( 1,1,1:n ) + END DO +- +- ELSE IF ( SIZE(Hwrk,2) == 1 ) THEN +- +- DO i=1,MIN(3,SIZE(Hwrk,1)) ++ ELSE IF ( n2 == 1 ) THEN ++ DO i=1,n1 + Tensor(i,i,1:n) = Hwrk(i,1,1:n) + END DO +- + ELSE +- +- DO i=1,MIN(3,SIZE(Hwrk,1)) +- DO j=1,MIN(3,SIZE(Hwrk,2)) ++ DO i=1,n1 ++ DO j=1,n2 + Tensor( i,j,1:n ) = Hwrk(i,j,1:n) + END DO + END DO +- + END IF + !------------------------------------------------------------------------------ + END SUBROUTINE InputTensor +@@ -1772,14 +1749,14 @@ + SUBROUTINE InputVector( Tensor, IsScalar, Name, Material, n, NodeIndexes ) + !------------------------------------------------------------------------------ + REAL(KIND=dp) :: Tensor(:,:) +- INTEGER :: n, NodeIndexes(:) ++ INTEGER :: i, n, NodeIndexes(:) + LOGICAL :: IsScalar + CHARACTER(LEN=*) :: Name + TYPE(ValueList_t), POINTER :: Material + !------------------------------------------------------------------------------ + LOGICAL :: FirstTime = .TRUE., stat + REAL(KIND=dp), POINTER :: Hwrk(:,:,:) +- ++ INTEGER :: n1, n2 + SAVE FirstTime, Hwrk + !------------------------------------------------------------------------------ + IF ( FirstTime ) THEN +@@ -1790,22 +1767,20 @@ + Tensor = 0.0d0 + + CALL ListGetRealArray( Material, Name, Hwrk, n, NodeIndexes, stat ) +- IsScalar = SIZE(HWrk,1) == 1 .AND. SIZE(HWrk,2) == 1 ++ n1 = MIN(SIZE(HWrk,1),3) ++ n2 = MIN(SIZE(HWrk,2),3) + ++ IsScalar = (n1 == 1 .AND. n2 == 1 ) + IF ( .NOT. stat ) RETURN + +- IF ( SIZE(Hwrk,1) == 1 ) THEN +- +- DO i=1,MIN(3,SIZE(Hwrk,2)) ++ IF ( n1 == 1 ) THEN ++ DO i=1,n2 + Tensor( i,1:n ) = Hwrk( 1,1,1:n ) + END DO +- + ELSE +- +- DO i=1,MIN(3,SIZE(Hwrk,1)) ++ DO i=1,n1 + Tensor( i,1:n ) = Hwrk( i,1,1:n ) + END DO +- + END IF + !------------------------------------------------------------------------------ + END SUBROUTINE InputVector diff --git a/easybuild/easyconfigs/e/Elmer/Elmer-9.0-Qwt-6.2-Fix.patch b/easybuild/easyconfigs/e/Elmer/Elmer-9.0-Qwt-6.2-Fix.patch new file mode 100644 index 00000000000..74e7c145848 --- /dev/null +++ b/easybuild/easyconfigs/e/Elmer/Elmer-9.0-Qwt-6.2-Fix.patch @@ -0,0 +1,27 @@ +Fix for recent Qwt +See PR https://github.com/ElmerCSC/elmerfem/pull/294 ( Compatibility with Qwt 6.2. Fix for #293 #294 ) +and commit https://github.com/ElmerCSC/elmerfem/commit/48e9430ccb858ca5bda28b967a0c84b51e2404b2 +--- ElmerGUI/Application/src/convergenceview.h.orig 2020-11-10 20:52:44.000000000 +0100 ++++ ElmerGUI/Application/src/convergenceview.h 2023-12-15 11:13:53.627242099 +0100 +@@ -51,8 +51,8 @@ + #include + #include + #include +-/*#include <-- deprecated in Qwt6, using qwt_compat.h instead*/ +-#include ++/*#include <-- deprecated in Qwt6, using qwt_compat.h instead ++#include <-- Removed in Qwt 6.2 */ + #include + #include + +@@ -76,8 +76,8 @@ + + private: + int d_count; +- QwtArray d_x; +- QwtArray d_y; ++ QVector d_x; ++ QVector d_y; + }; + + class Curve diff --git a/easybuild/easyconfigs/e/Elmer/Elmer-9.0-foss-2022b.eb b/easybuild/easyconfigs/e/Elmer/Elmer-9.0-foss-2022b.eb new file mode 100644 index 00000000000..8b541bcdd0e --- /dev/null +++ b/easybuild/easyconfigs/e/Elmer/Elmer-9.0-foss-2022b.eb @@ -0,0 +1,51 @@ +easyblock = 'CMakeMake' + +name = 'Elmer' +version = '9.0' + +homepage = 'https://www.csc.fi/web/elmer/elmer' +description = """Elmer is an open source multiphysical simulation software mainly developed by +CSC - IT Center for Science (CSC). Elmer includes physical models of fluid dynamics, structural +mechanics, electromagnetics, heat transfer and acoustics, for example. These are described by +partial differential equations which Elmer solves by the Finite Element Method (FEM).""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'opt': True, 'optarch': True} + +source_urls = ['https://github.com/ElmerCSC/elmerfem/archive/'] +sources = ['release-%(version)s.tar.gz'] +patches = ['Elmer-9.0-DCRComplexSolve.patch', 'Elmer-9.0-Qwt-6.2-Fix.patch', 'Elmer-9.0-renderarea-Qt5.patch'] +checksums = [ + {'release-9.0.tar.gz': '08c5bf261e87ff37456c1aa0372db3c83efabe4473ea3ea0b8ec66f5944d1aa0'}, + {'Elmer-9.0-DCRComplexSolve.patch': '456e9b255c4cebffd04c1243001a284fcdbda27cb586640f3f852c67511881eb'}, + {'Elmer-9.0-Qwt-6.2-Fix.patch': 'c21b83364e08d2cd8bf3f2d62dfd16ed4f9bc478b8808cf36ecffa5174247b32'}, + {'Elmer-9.0-renderarea-Qt5.patch': '66c185f4e15ce738b85887b138258e70d94d7ae786e52b863624a4b538761639'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Hypre', '2.27.0'), + ('MUMPS', '5.6.1', '-metis'), + ('Qt5', '5.15.7'), + ('Qwt', '6.2.0'), +] + +configopts = '-DWITH_ELMERGUI:BOOL=TRUE -DWITH_QT5:BOOL=TRUE ' +configopts += '-DWITH_MPI:BOOL=TRUE ' +configopts += '-DBLAS_LIBRARIES="-L$EBVARBLAS_LAPACK_INC_DIR $EBVARLIBBLAS" ' +configopts += '-DLAPACK_LIBRARIES="-L$EBVARBLAS_LAPACK_INC_DIR $EBVARLIBLAPACK" ' +configopts += '-DSCALAPACK_LIBRARIES="-L$EBVARSCALAPACK_LIB_DIR $EBVARLIBSCALAPACK" ' + +sanity_check_paths = { + 'files': ['lib/elmersolver/libelmersolver.so'] + + ['bin/%s' % x for x in ['elmerf90', 'ElmerGrid', 'elmerld', 'ElmerSolver', + 'ElmerSolver_mpi', 'GebhardtFactors', 'matc', 'Mesh2D', 'ViewFactors']], + 'dirs': ['share/elmersolver/include'] +} + +sanity_check_commands = ["ElmerSolver -v"] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/e/Elmer/Elmer-9.0-renderarea-Qt5.patch b/easybuild/easyconfigs/e/Elmer/Elmer-9.0-renderarea-Qt5.patch new file mode 100644 index 00000000000..643e538daac --- /dev/null +++ b/easybuild/easyconfigs/e/Elmer/Elmer-9.0-renderarea-Qt5.patch @@ -0,0 +1,14 @@ +Fix for recent Qt5 +See https://github.com/ElmerCSC/elmerfem/issues/233 +and https://github.com/ElmerCSC/elmerfem/commit/e057b0d46a6d1708a0d322bc73d70594a63de447 +history for https://github.com/ElmerCSC/elmerfem/commits/devel/ElmerGUI/Application/twod/renderarea.cpp +--- ElmerGUI/Application/twod/renderarea.cpp.orig 2020-11-10 20:52:44.000000000 +0100 ++++ ElmerGUI/Application/twod/renderarea.cpp 2023-12-15 11:43:20.493498704 +0100 +@@ -38,6 +38,7 @@ + * * + *****************************************************************************/ + #include ++#include + #include + #include + #include diff --git a/easybuild/easyconfigs/e/EnergyPlus/EnergyPlus-23.2.0-foss-2022a.eb b/easybuild/easyconfigs/e/EnergyPlus/EnergyPlus-23.2.0-foss-2022a.eb new file mode 100644 index 00000000000..fd505046f57 --- /dev/null +++ b/easybuild/easyconfigs/e/EnergyPlus/EnergyPlus-23.2.0-foss-2022a.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'EnergyPlus' +version = '23.2.0' + +homepage = 'https://energyplus.net/' + +description = """EnergyPlus is a whole building energy simulation program that engineers, architects, and researchers + use to model both energy consumption—for heating, cooling, ventilation, lighting and plug and process loads—and +water use in buildings.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': False, 'openmp': True} + +source_urls = ['https://github.com/NREL/%(name)s/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f4df81d8b233ee511276d471c5754b5e9de3080128b8162cf47d72349d549315'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('git', '2.36.0', '-nodocs'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('X11', '20220504'), +] + +configopts = '-DBUILD_FORTRAN=yes -DLINK_WITH_PYTHON=yes ' + +install_target_subdir = 'bin' + +postinstallcmds = ['ln -s ${EBROOTPYTHON}/lib/python%(pyshortver)s %(installdir)s/bin/python_standard_lib'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [ + 'bin', + 'bin/python_standard_lib', + ], +} + +sanity_check_commands = [ + 'energyplus --help', + 'energyplus-%(version)s --help', + 'ConvertInputFormat --help', +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/e/EpiSCORE/EpiSCORE-0.9.5-20220621-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/e/EpiSCORE/EpiSCORE-0.9.5-20220621-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..0f291cf4317 --- /dev/null +++ b/easybuild/easyconfigs/e/EpiSCORE/EpiSCORE-0.9.5-20220621-foss-2022a-R-4.2.1.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'EpiSCORE' +local_commit = '4f7daef' +# see DESCRIPTION to determine version, +# but also take date of last commit into account (since version isn't always bumped) +version = '0.9.5-20220621' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/aet21/EpiSCORE' +description = "Epigenetic cell-type deconvolution from Single-Cell Omic Reference profiles" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/aet21/EpiSCORE/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['85ce52efe0555295ceaab79518244bcbea8c3b7d454f84c74b99e577f56e1481'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('presto', '1.0.0-20230113', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/EveryBeam/EveryBeam-0.5.2-foss-2023b.eb b/easybuild/easyconfigs/e/EveryBeam/EveryBeam-0.5.2-foss-2023b.eb new file mode 100644 index 00000000000..bec1bf004e7 --- /dev/null +++ b/easybuild/easyconfigs/e/EveryBeam/EveryBeam-0.5.2-foss-2023b.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'EveryBeam' +version = '0.5.2' + +homepage = 'https://everybeam.readthedocs.io/' +description = """Library that provides the antenna response pattern for several instruments, +such as LOFAR (and LOBES), SKA (OSKAR), MWA, JVLA, etc.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +sources = [ + { + 'filename': '%(name)s-v%(version)s.tar.gz', + # Repo uses git submodules, which are not included in the release tarballs. + # Thus, we let EasyBuild download directly from the git repository. + 'git_config': { + 'url': 'https://git.astron.nl/RD', + 'repo_name': '%(name)s', + 'tag': 'v%(version)s', + 'clone_into': '%(name)s', + 'recursive': True + } + }, +] +checksums = [None] + +builddependencies = [ + ('CMake', '3.27.6'), + ('wget', '1.21.4'), +] +dependencies = [ + ('casacore', '3.5.0'), + ('Boost', '1.83.0'), + ('CFITSIO', '4.3.1'), + ('WCSLIB', '7.11'), + ('GSL', '2.7'), + ('HDF5', '1.14.3'), + ('Python', '3.11.5'), + ('libxml2', '2.11.5'), +] + + +sanity_check_paths = { + 'files': ['include/%(name)s/beamformer.h', 'lib/libeverybeam.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/e/ExpressBetaDiversity/ExpressBetaDiversity-1.0.10-GCC-12.3.0.eb b/easybuild/easyconfigs/e/ExpressBetaDiversity/ExpressBetaDiversity-1.0.10-GCC-12.3.0.eb new file mode 100644 index 00000000000..f78daf5fb08 --- /dev/null +++ b/easybuild/easyconfigs/e/ExpressBetaDiversity/ExpressBetaDiversity-1.0.10-GCC-12.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'ExpressBetaDiversity' +version = '1.0.10' + +homepage = 'https://github.com/donovan-h-parks/ExpressBetaDiversity' +description = """Taxon- and phylogenetic-based beta diversity measures.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'donovan-h-parks' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['c3ee0894ed0beea42f7668e531e53d01f4c19374d0dfd287cb400a68241c6c03'] + +dependencies = [ + ('Python', '3.11.3'), +] + +prebuildopts = "cd source && " +# fix wrong regex pattern which makes: FutureWarning: split() requires a non-empty pattern match. +prebuildopts += "sed -i '36 s/*/+/' dep.py && " +# force use python from dependencies not the one on a node +buildopts = "DEP='python dep.py'" + +files_to_copy = [ + 'bin', + 'unit-tests', + (['scripts/*'], 'bin') +] + +sanity_check_paths = { + 'files': ['bin/ExpressBetaDiversity'], + 'dirs': ['unit-tests'], +} + +sanity_check_commands = [ + 'ExpressBetaDiversity --help', + 'convertToEBD.py --help', + # Unit tests need to be executed from the bin directory. + # See source/UnitTests.cpp:112: std::string seqCountFile = "../unit-tests/SimpleDataMatrix.env"; + 'cd bin && ExpressBetaDiversity -u', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/ExtremeLy/ExtremeLy-2.3.0-foss-2022a.eb b/easybuild/easyconfigs/e/ExtremeLy/ExtremeLy-2.3.0-foss-2022a.eb new file mode 100644 index 00000000000..4e50e4c9059 --- /dev/null +++ b/easybuild/easyconfigs/e/ExtremeLy/ExtremeLy-2.3.0-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'ExtremeLy' +version = '2.3.0' + +homepage = 'https://github.com/SURYA-LAMICHANEY/ExtremeLy' +description = """A python package for Extreme Value Analysis.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('lmoments3', '1.0.6'), + ('scikit-extremes', '2022.4.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('seaborn', '0.13.2', { + 'checksums': ['93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7'], + }), + ('evt', '0.0.2', { + 'source_tmpl': 'evt-%(version)s-py3-none-any.whl', + 'checksums': ['3552d6cc1113bceb521d918f606781a45283a4b759f6982ff38b7e1dcdf3bb22'], + }), + (name, version, { + 'modulename': 'ExtremeLy', + 'checksums': ['03c92bc174794208fd7d2494bee74cf7c7073a94621a714fc43b5d32c9ef4095'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/eSpeak-NG/eSpeak-NG-1.51-gfbf-2023a.eb b/easybuild/easyconfigs/e/eSpeak-NG/eSpeak-NG-1.51-gfbf-2023a.eb new file mode 100644 index 00000000000..b00262893a2 --- /dev/null +++ b/easybuild/easyconfigs/e/eSpeak-NG/eSpeak-NG-1.51-gfbf-2023a.eb @@ -0,0 +1,50 @@ +easyblock = 'ConfigureMake' + +name = 'eSpeak-NG' +version = '1.51' + +homepage = 'https://github.com/espeak-ng/espeak-ng' +description = """ +The eSpeak NG is a compact open source software text-to-speech synthesizer +for Linux, Windows, Android and other operating systems. +It supports more than 100 languages and accents. +It is based on the eSpeak engine created by Jonathan Duddington. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +source_urls = ['https://github.com/espeak-ng/espeak-ng/archive'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-1.50_sonic_fftw.patch', + '%(name)s-1.50_mbrola_location.patch', +] +checksums = [ + 'f0e028f695a8241c4fa90df7a8c8c5d68dcadbdbc91e758a97e594bbb0a3bdbf', # 1.50.tar.gz + 'dc34e14ef4b8bc174c94ad220cbf35b80e6183298d24883cf252507154ef4ee4', # eSpeak-NG-1.50_sonic_fftw.patch + '1bf9bb98f1fd35ddbd373b504c3215641db532093fc5dd44099a820b80c76f83', # eSpeak-NG-1.50_mbrola_location.patch +] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [ + ('sonic', '20180202'), + ('MBROLA', '3.3', '-voices-20200330'), +] + +preconfigopts = './autogen.sh &&' + +configopts = '--disable-dependency-tracking' + +maxparallel = 1 +sanity_check_paths = { + 'files': ['bin/%sspeak%s' % (x, y) for x in ['', 'e'] for y in ['', '-ng']] + + ['include/espeak%s/speak_lib.h' % x for x in ['', '-ng']] + + ['include/espeak-ng/%s.h' % x for x in ['encoding', 'espeak_ng']] + + ['lib/libespeak%s' % x for x in ['.la', '-ng.a', '-ng.%s' % SHLIB_EXT]], + 'dirs': ['lib/pkgconfig'] +} + +sanity_check_commands = ['%sspeak%s --version' % (x, y) for x in ['', 'e'] for y in ['', '-ng']] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2022b.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2022b.eb new file mode 100644 index 00000000000..5488a82841b --- /dev/null +++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2022b.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'ecCodes' +version = '2.31.0' + +homepage = 'https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home' +description = """ecCodes is a package developed by ECMWF which provides an application programming interface and + a set of tools for decoding and encoding messages in the following formats: WMO FM-92 GRIB edition 1 and edition 2, + WMO FM-94 BUFR edition 3 and edition 4, WMO GTS abbreviated header (only decoding).""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'usempi': False} + +source_urls = ['https://github.com/ecmwf/eccodes/archive/refs/tags/'] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': '%(namelower)s-%(version)s.tar.gz'}] +checksums = ['cb4cd3bab9cebd85a00397e12ce8e4a579b2f0a25aaf6df763436cf37db063e1'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('ecBuild', '3.8.0', '', SYSTEM), +] +dependencies = [ + ('netCDF', '4.9.0'), + ('JasPer', '4.0.0'), + ('libjpeg-turbo', '2.1.4'), + ('libpng', '1.6.38'), + ('zlib', '1.2.12'), + ('libaec', '1.0.6'), +] + +# Python bindings are provided by a separate package 'eccodes-python' +configopts = "-DENABLE_NETCDF=ON -DENABLE_PNG=ON -DENABLE_PYTHON=OFF -DENABLE_JPG=ON " +configopts += "-DENABLE_JPG_LIBJASPER=ON -DENABLE_ECCODES_THREADS=ON" + + +sanity_check_paths = { + 'files': ['bin/bufr_compare', 'bin/bufr_copy', 'bin/bufr_dump', 'bin/bufr_filter', 'bin/bufr_get', 'bin/bufr_ls', + 'bin/grib_compare', 'bin/grib_copy', 'bin/grib_dump', 'bin/grib_filter', 'bin/grib_get', 'bin/grib_ls', + 'bin/gts_compare', 'bin/gts_copy', 'bin/gts_dump', 'bin/gts_filter', 'bin/gts_get', 'bin/gts_ls', + 'bin/metar_compare', 'bin/metar_copy', 'bin/metar_dump', 'bin/metar_filter', 'bin/metar_get', + 'bin/metar_ls', 'bin/codes_count', 'bin/codes_info', 'bin/codes_split_file', + 'lib/libeccodes_f90.%s' % SHLIB_EXT, 'lib/libeccodes.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2023b.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2023b.eb new file mode 100644 index 00000000000..298c5b7134a --- /dev/null +++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2023b.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'ecCodes' +version = '2.31.0' + +homepage = 'https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home' +description = """ecCodes is a package developed by ECMWF which provides an application programming interface and + a set of tools for decoding and encoding messages in the following formats: WMO FM-92 GRIB edition 1 and edition 2, + WMO FM-94 BUFR edition 3 and edition 4, WMO GTS abbreviated header (only decoding).""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'usempi': False} + +source_urls = ['https://github.com/ecmwf/eccodes/archive/refs/tags/'] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': '%(namelower)s-%(version)s.tar.gz'}] +checksums = ['cb4cd3bab9cebd85a00397e12ce8e4a579b2f0a25aaf6df763436cf37db063e1'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('ecBuild', '3.8.0', '', SYSTEM), +] +dependencies = [ + ('netCDF', '4.9.2'), + ('JasPer', '4.0.0'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.40'), + ('zlib', '1.2.13'), + ('libaec', '1.0.6'), +] + +# Python bindings are provided by a separate package 'eccodes-python' +configopts = "-DENABLE_NETCDF=ON -DENABLE_PNG=ON -DENABLE_PYTHON=OFF -DENABLE_JPG=ON " +configopts += "-DENABLE_JPG_LIBJASPER=ON -DENABLE_ECCODES_THREADS=ON" + + +sanity_check_paths = { + 'files': ['bin/bufr_compare', 'bin/bufr_copy', 'bin/bufr_dump', 'bin/bufr_filter', 'bin/bufr_get', 'bin/bufr_ls', + 'bin/grib_compare', 'bin/grib_copy', 'bin/grib_dump', 'bin/grib_filter', 'bin/grib_get', 'bin/grib_ls', + 'bin/gts_compare', 'bin/gts_copy', 'bin/gts_dump', 'bin/gts_filter', 'bin/gts_get', 'bin/gts_ls', + 'bin/metar_compare', 'bin/metar_copy', 'bin/metar_dump', 'bin/metar_filter', 'bin/metar_get', + 'bin/metar_ls', 'bin/codes_count', 'bin/codes_info', 'bin/codes_split_file', + 'lib/libeccodes_f90.%s' % SHLIB_EXT, 'lib/libeccodes.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-12.3.0.eb b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-12.3.0.eb new file mode 100644 index 00000000000..5eb1f74e9d2 --- /dev/null +++ b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'edlib' +version = '1.3.9' + +homepage = 'https://martinsos.github.io/edlib' +description = "Lightweight, super fast library for sequence alignment using edit (Levenshtein) distance." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cogapp', '3.3.0', { + 'checksums': ['1be95183f70282422d594fa42426be6923070a4bd8335621f6347f3aeee81db0'], + }), + (name, version, { + 'source_urls': ['https://github.com/Martinsos/edlib/archive/'], + 'source_tmpl': 'python-%(version)s.tar.gz', + # fixes `edlib.bycython.cpp:198:12: fatal error: longintrepr.h: No such file or directory` + # see https://github.com/Martinsos/edlib/issues/217#issuecomment-1736234091 + 'preinstallopts': 'cd bindings/python && make && python -m cogapp -d -o README.rst README-tmpl.rst && ', + 'checksums': ['6506eee9b93bf461ccc3cd239096707d0b86a5cbe5af08e82e7bd616271d55c6'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/einops/einops-0.7.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/e/einops/einops-0.7.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b9f4dea04b5 --- /dev/null +++ b/easybuild/easyconfigs/e/einops/einops-0.7.0-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'einops' +version = '0.7.0' + +homepage = 'https://einops.rocks/' +description = """ +Flexible and powerful tensor operations for readable and reliable code. +Supports numpy, pytorch, tensorflow, jax, and others.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b2b04ad6081a3b227080c9bf5e3ace7160357ff03043cd66cc5b2319eb7031d1'] + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/enchant-2/enchant-2-2.6.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/e/enchant-2/enchant-2-2.6.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..af01c621328 --- /dev/null +++ b/easybuild/easyconfigs/e/enchant-2/enchant-2-2.6.5-GCCcore-12.3.0.eb @@ -0,0 +1,49 @@ +# Updated from enchant-1.6.1-intel-2017a.eb +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'enchant-2' +version = '2.6.5' + +homepage = 'https://github.com/AbiWord/enchant' +description = """Enchant aims to provide a simple but comprehensive abstraction for dealing +with different spell checking libraries in a consistent way. A client, such +as a text editor or word processor, need not know anything about a specific +spell-checker, and since all back-ends are plugins, new spell-checkers can +be added without needing any change to the program using Enchant.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/AbiWord/enchant/releases/download/v%(version)s'] +sources = ['enchant-%(version)s.tar.gz'] +checksums = ['9e8fd28cb65a7b6da3545878a5c2f52a15f03c04933a5ff48db89fe86845728e'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('M4', '1.4.19'), + ('pkgconf', '1.9.5'), +] + +preconfigopts = "autoreconf -vfi && " + +dependencies = [ + ('hunspell', '1.7.2'), + ('GLib', '2.77.1'), +] + +buildopts = "LIBTOOL='libtool --tag=CC'" + +sanity_check_commands = [ + 'enchant-2 -v', + 'enchant-lsmod-2 -v', +] + +sanity_check_paths = { + 'files': ['bin/enchant-2', 'bin/enchant-lsmod-2', + 'lib/libenchant-2.a', 'lib/libenchant-2.%s' % SHLIB_EXT], + 'dirs': ['include/enchant-2', 'lib/enchant-2'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0-foss-2023a.eb b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0-foss-2023a.eb new file mode 100644 index 00000000000..552e826a3a2 --- /dev/null +++ b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0-foss-2023a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'epiScanpy' +version = '0.4.0' + +homepage = 'https://github.com/colomemaria/episcanpy' +description = """EpiScanpy is a toolkit to analyse single-cell open chromatin +(scATAC-seq) and single-cell DNA methylation (for example scBS-seq) +data. EpiScanpy is the epigenomic extension of the very popular scRNA-seq +analysis tool Scanpy (Genome Biology, 2018) [Wolf18].""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Seaborn', '0.13.2'), + ('scanpy', '1.9.8'), # includes anndata + ('Pysam', '0.22.0'), + ('scikit-learn', '1.3.1'), + ('statsmodels', '0.14.1'), + ('numba', '0.58.1'), + ('python-igraph', '0.11.4'), + ('tbb', '2021.11.0'), +] + +exts_list = [ + ('bamnostic', '1.1.10', { + 'checksums': ['2f7e7e5cb693c5f933c5b5c3fde49c6c8dee62b608ebd13a4604401573e37017'], + }), + ('legacy_api_wrap', '1.4', { + 'checksums': ['92dfa274cedb26d6e6f70fac85c856fbdcc05058066656d76a665fb4bf11b785'], + }), + ('kneed', '0.8.5', { + 'checksums': ['a4847ac4f1d04852fea278d5de7aa8bfdc3beb7fbca4a182fec0f0efee43f4b1'], + }), + ('episcanpy', version, { + # strip out tbb as required dependency, to ensure that 'pip check' passes + 'preinstallopts': "sed -i 's/tbb//' requirements.txt && ", + 'checksums': ['95739149db60521b0a14e4579f8ba87d410126ffb7b916abbc2d1aff3df40ce3'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/evince/evince-45.0-GCC-12.3.0.eb b/easybuild/easyconfigs/e/evince/evince-45.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..1e47ac5530e --- /dev/null +++ b/easybuild/easyconfigs/e/evince/evince-45.0-GCC-12.3.0.eb @@ -0,0 +1,63 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MesonNinja' + +name = 'evince' +version = '45.0' + +homepage = 'https://wiki.gnome.org/Apps/Evince' +description = """Evince is a document viewer for multiple document formats. The + goal of evince is to replace the multiple document viewers that exist on the + GNOME Desktop with a single simple application. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://ftp.gnome.org/pub/GNOME/sources/%(name)s/45'] +sources = [SOURCE_TAR_XZ] +checksums = ['d18647d4275cbddf0d32817b1d04e307342a85be914ec4dad2d8082aaf8aa4a8'] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), + ('GI-DocGen', '2023.3'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('GLib', '2.77.1'), + ('GTK3', '3.24.37'), + ('libhandy', '1.8.2'), + ('ITSTool', '2.0.7'), + ('Gdk-Pixbuf', '2.42.10'), + ('cairo', '1.17.8'), + ('zlib', '1.2.13'), + ('GObject-Introspection', '1.76.1'), + ('GStreamer', '1.22.5'), + ('gspell', '1.12.2'), + ('libspectre', '0.2.12'), + ('libarchive', '3.6.2'), + ('poppler', '23.09.0'), + ('Ghostscript', '10.01.2'), + ('LibTIFF', '4.5.0'), + ('libgxps', '0.3.2'), + ('DBus', '1.15.4'), + ('DjVuLibre', '3.5.28'), + ('desktop-file-utils', '0.27'), + # optional: kpathsea (path searching library for TeX-related files) +] + +_bins = ['bin/%%(name)s%s' % x for x in ['', '-previewer', '-thumbnailer']] +_incs = ['include/evince', 'lib/evince', 'lib/pkgconfig'] +_libs = ['lib/%s.%s' % (x, SHLIB_EXT) for x in ['libevdocument3', 'libevview3']] + ['libexec/evinced'] + +sanity_check_paths = { + 'files': _bins + _libs, + 'dirs': _incs, +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/e/expecttest/expecttest-0.1.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.5-GCCcore-12.3.0.eb index f7a501bcaa2..a32a4481fae 100644 --- a/easybuild/easyconfigs/e/expecttest/expecttest-0.1.5-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.5-GCCcore-12.3.0.eb @@ -16,10 +16,10 @@ checksums = ['5b3a6a165250860f5a14199f9c59461752beb3b45d48b93347d9afc7293a611c'] builddependencies = [ ('binutils', '2.40'), + ('poetry', '1.5.1'), ] dependencies = [ ('Python', '3.11.3'), - ('poetry', '1.5.1'), ] download_dep_fail = True diff --git a/easybuild/easyconfigs/e/expecttest/expecttest-0.2.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/e/expecttest/expecttest-0.2.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..299cb627a4c --- /dev/null +++ b/easybuild/easyconfigs/e/expecttest/expecttest-0.2.1-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'expecttest' +version = '0.2.1' + +homepage = 'https://github.com/ezyang/expecttest' +description = """This library implements expect tests (also known as "golden" tests). Expect tests are a method of + writing tests where instead of hard-coding the expected output of a test, you run the test to get the output, and + the test framework automatically populates the expected output. If the output of the test changes, you can rerun + the test with the environment variable EXPECTTEST_ACCEPT=1 to automatically update the expected output.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e52b1cf8a6f84506e6962a0bbdd248ea442124d826e849f263ec1c322ebb73f5'] + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.6.1'), +] +dependencies = [ + ('Python', '3.11.5'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/FDS/FDS-6.8.0-intel-2022b.eb b/easybuild/easyconfigs/f/FDS/FDS-6.8.0-intel-2022b.eb new file mode 100644 index 00000000000..a8d35e94b26 --- /dev/null +++ b/easybuild/easyconfigs/f/FDS/FDS-6.8.0-intel-2022b.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'FDS' +version = '6.8.0' + +homepage = 'https://pages.nist.gov/fds-smv' +description = """Fire Dynamics Simulator (FDS) is a large-eddy simulation (LES) code for low-speed flows, + with an emphasis on smoke and heat transport from fires.""" + +toolchain = {'name': 'intel', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} + +source_urls = ['https://github.com/firemodels/fds/archive/'] +sources = ['FDS-%(version)s.tar.gz'] +checksums = ['d8213d706bb36300ca5fdc9a7884fa4610e2820338de23212dd19de75d8e0704'] + +unpack_options = '--strip-components=1' + +start_dir = 'Build' + +# just run make in the install dir +skipsteps = ['configure', 'install'] +buildininstalldir = True + +buildopts = 'impi_intel_linux_openmp &&' +buildopts += 'cd %(installdir)s/Build && ln -s fds_impi_intel_linux_openmp fds' + +modextrapaths = {'PATH': 'Build'} + +sanity_check_paths = { + 'files': ['Build/fds'], + 'dirs': [], +} + +sanity_check_commands = [ + "fds 2>&1 | grep 'MPI Enabled;'", + "fds 2>&1 | grep 'OpenMP Enabled;'", +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/f/FFAVES/FFAVES-2022.11.1-foss-2022a.eb b/easybuild/easyconfigs/f/FFAVES/FFAVES-2022.11.1-foss-2022a.eb new file mode 100644 index 00000000000..27f977391e0 --- /dev/null +++ b/easybuild/easyconfigs/f/FFAVES/FFAVES-2022.11.1-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'FFAVES' +version = '2022.11.1' +local_commit = '2c1fa89' + +homepage = 'https://github.com/aradley/FFAVES' +description = """Functional Feature Amplification Via Entropy Sorting (FFAVES). +Use FFAVES to amplify the signal of groups of co-regulating genes in an unsupervised, multivariate manner. +By amplifying the signal of genes with correlated expression, while filtering out genes that are randomly expressed, +we can identify a subset of genes more predictive of different cell types. +The output of FFAVES can then be used in our second algorithm, entropy sort feature weighting (ESFW), +to create a ranked list of genes that are most likely to pertain to distinct +sub-populations of cells in an scRNA-seq dataset. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('dill', '0.3.8', { + 'checksums': ['3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca'], + }), + ('multiprocess', '0.70.16', { + 'checksums': ['161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1'], + }), + (name, version, { + 'preinstallopts': "sed -i 's/==/>=/' requirements.txt && ", + 'source_urls': ['https://github.com/aradley/FFAVES/archive/'], + 'sources': [{'download_filename': '2c1fa89.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['b833cc26cc60ad44c48d1b5712ce32b0ceb7f8d7876c06466514f79d357e4f83'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ffaves.py', 'get_gprof', 'get_objgraph', 'undill']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb index d03b85f906a..9b777550c09 100644 --- a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb +++ b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb @@ -17,19 +17,19 @@ description = "Finite Field Linear Algebra Subroutines / Package" toolchain = {'version': '2016a', 'name': 'foss'} -sources = ['v%(version)s.zip'] source_urls = ['https://github.com/linbox-team/fflas-ffpack/archive'] +sources = ['v%(version)s.zip'] +checksums = ['4110e72004f88e9d6f90e503129a4ef7a3bd55b55aec992e109b3647a8445fa2'] builddependencies = [ ('Autotools', '20150215'), ] dependencies = [ - ('GMP', '6.1.0'), ('Givaro', '4.0.1'), ] preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " -configopts = '--with-gmp=$EBROOTGMP --with-givaro=$EBROOTGIVARO' +configopts = '--with-givaro=$EBROOTGIVARO' configopts += ' --with-blas-cflags="-I$BLAS_INC_DIR" --with-blas-libs="-L$BLAS_LIB_DIR $LIBBLAS" --enable-openmp' sanity_check_paths = { diff --git a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2022a.eb b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2022a.eb index 75c22cfa096..be9707946a7 100644 --- a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2022a.eb +++ b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2022a.eb @@ -21,13 +21,13 @@ source_urls = ['https://github.com/linbox-team/fflas-ffpack/releases/download/v% sources = [SOURCELOWER_TAR_GZ] checksums = ['dafb4c0835824d28e4f823748579be6e4c8889c9570c6ce9cce1e186c3ebbb23'] +builddependencies = [('pkgconf', '1.8.0')] dependencies = [ - ('GMP', '6.2.1'), ('Givaro', '4.2.0'), ] configopts = '--with-blas-libs="$LIBBLAS_MT" --with-blas-cflags="-I$BLAS_INC_DIR" ' -configopts += '--with-gmp=$EBROOTGMP --with-givaro=$EBROOTGIVARO --enable-openmp' +configopts += '--enable-openmp' buildopts = " && make autotune " diff --git a/easybuild/easyconfigs/f/FLINT/FLINT-3.1.1-gfbf-2023b.eb b/easybuild/easyconfigs/f/FLINT/FLINT-3.1.1-gfbf-2023b.eb new file mode 100644 index 00000000000..c5063ad3ef4 --- /dev/null +++ b/easybuild/easyconfigs/f/FLINT/FLINT-3.1.1-gfbf-2023b.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'FLINT' +version = '3.1.1' + +homepage = 'https://www.flintlib.org/' + +description = """FLINT (Fast Library for Number Theory) is a C library in support of computations + in number theory. Operations that can be performed include conversions, arithmetic, computing GCDs, + factoring, solving linear systems, and evaluating special functions. In addition, FLINT provides + various low-level routines for fast arithmetic. FLINT is extensively documented and tested.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/flintlib/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['161f81d0a809408daab36ec79ba89380346dc3195d3671f97106f1b8774f653a'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('Python', '3.11.5'), +] + +dependencies = [ + ('GMP', '6.3.0'), + ('MPFR', '4.2.1'), + ('NTL', '11.5.1'), +] + +# Make flexiblas the first to be found and used to avoid linking openblas. +preconfigopts = 'sed -i "s/PATH_SUFFIXES openblas/PATH_SUFFIXES flexiblas openblas/g;' +preconfigopts += 's/accelerate openblas/accelerate flexiblas openblas/g" ' +preconfigopts += '%(builddir)s/%(namelower)s-%(version)s/CMake/FindCBLAS.cmake && ' + +configopts = '-DWITH_NTL=on -DBUILD_TESTING=yes' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1-foss-2021a.eb b/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1-foss-2021a.eb index 490c55164b6..418940cf74a 100644 --- a/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1-foss-2021a.eb +++ b/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1-foss-2021a.eb @@ -52,30 +52,38 @@ dependencies = [ ('GSL', '2.7'), ('Qwt', '6.2.0'), ('h5py', '3.2.1'), + ('NiBabel', '3.2.1'), ] -modextrapaths = {'PYTHONPATH': ['fsl/lib/python%(pyshortver)s/site-packages']} - -# The executable files 'imglob' and 'imcp' come from fslpy exts_defaultclass = 'PythonPackage' exts_default_options = { + 'buildininstalldir': False, + 'source_urls': [PYPI_LOWER_SOURCE], 'download_dep_fail': True, 'use_pip': True, } exts_list = [ + ('dataclasses', '0.8', { + 'checksums': ['8479067f342acf957dc82ec415d355ab5edb7e7646b90dc6e2fd1d96ad084c97'], + 'preinstallopts': "sed -i '/python_requires/d' setup.py && ", + }), + # The executable files 'imglob' and 'imcp' come from fslpy ('fslpy', '3.5.3', { - 'installopts': '--prefix=%(installdir)s/fsl', - 'source_urls': ['https://pypi.python.org/packages/source/f/fslpy/'], 'checksums': ['f80ef8b7b49f475bfb71946619d33c118a7cbbe106c72f7777aaf14d9e261530'], + 'installopts': '--prefix=%(installdir)s/fsl', }), ] +modextrapaths = { + 'PYTHONPATH': ['fsl/lib/python%(pyshortver)s/site-packages', 'lib/python%(pyshortver)s/site-packages'], +} + modextravars = { 'FSLOUTPUTTYPE': 'NIFTI_GZ', 'FSLMULTIFILEQUIT': 'TRUE', 'FSLTCLSH': 'tclsh', - 'FSLWISH': 'wish8.6' + 'FSLWISH': 'wish8.6', } moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..24ad8b0638c --- /dev/null +++ b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CmdCp' + +name = 'FastTree' +version = '2.1.11' + +homepage = 'http://www.microbesonline.org/fasttree/' +description = """FastTree infers approximately-maximum-likelihood phylogenetic trees from alignments of nucleotide + or protein sequences. FastTree can handle alignments with up to a million of sequences in a reasonable amount of + time and memory. """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'openmp': True} + +# HTTPS cert error: +# hostname 'www.microbesonline.org' doesn't match either of 'genomics.lbl.gov', 'mojave.qb3.berkeley.edu', ... +source_urls = ['http://www.microbesonline.org/fasttree/'] +sources = [{'filename': '%(name)s-%(version)s.c', 'extract_cmd': 'cp %s FastTree.c'}] +checksums = ['9026ae550307374be92913d3098f8d44187d30bea07902b9dcbfb123eaa2050f'] + +builddependencies = [('binutils', '2.40')] + +cmds_map = [('%(name)s-%(version)s.c', '$CC -DOPENMP $CFLAGS $LIBS %%(source)s -o %(name)s')] + +files_to_copy = [(['FastTree'], 'bin')] + +# as FastTree is built with OpenMP, the correct binary is FastTreeMP +# the FastTree binary should normally be built without OpenMP, but let’s keep it as is for backward compatibility +# see http://www.microbesonline.org/fasttree/#OpenMP +postinstallcmds = ['cd %(installdir)s/bin && ln -s FastTree FastTreeMP'] + +sanity_check_paths = { + 'files': ['bin/FastTree'], + 'dirs': [], +} + +sanity_check_commands = ['FastTree 2>&1 | grep "FastTree Version %(version)s"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/Fastaq/Fastaq-3.17.0-GCC-12.3.0.eb b/easybuild/easyconfigs/f/Fastaq/Fastaq-3.17.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..c16c2a13ab3 --- /dev/null +++ b/easybuild/easyconfigs/f/Fastaq/Fastaq-3.17.0-GCC-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'Fastaq' +version = '3.17.0' + +homepage = 'https://github.com/sanger-pathogens/Fastaq' +description = "Python3 scripts to manipulate FASTA and FASTQ files." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'sanger-pathogens' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-docker3.tar.gz'] +checksums = ['f65235f5d89f4621cf8e15676448e17d85620c05096cb6413134c4e29717ff5f'] + +dependencies = [ + ('Python', '3.11.3'), + ('SAMtools', '1.18'), + ('gzip', '1.12'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_commands = ['fastaq version'] + +options = {'modulename': 'pyfastaq'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/Fiona/Fiona-1.9.5-foss-2023a.eb b/easybuild/easyconfigs/f/Fiona/Fiona-1.9.5-foss-2023a.eb new file mode 100644 index 00000000000..070bd33e7e9 --- /dev/null +++ b/easybuild/easyconfigs/f/Fiona/Fiona-1.9.5-foss-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Fiona' +version = '1.9.5' + +homepage = 'https://github.com/Toblerity/Fiona' +description = """Fiona is designed to be simple and dependable. It focuses on reading and writing data +in standard Python IO style and relies upon familiar Python types and protocols such as files, dictionaries, +mappings, and iterators instead of classes specific to OGR. Fiona can read and write real-world data using +multi-layered GIS formats and zipped virtual file systems and integrates readily with other Python GIS +packages such as pyproj, Rtree, and Shapely.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('GDAL', '3.7.1'), + ('Shapely', '2.0.1'), # optional for 'calc' extras +] + +use_pip = True + +exts_list = [ + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('munch', '4.0.0', { + 'checksums': ['542cb151461263216a4e37c3fd9afc425feeaf38aaa3025cd2a981fadb422235'], + }), + ('fiona', version, { + 'use_pip_extras': 'calc', + 'checksums': ['99e2604332caa7692855c2ae6ed91e1fffdf9b59449aa8032dd18e070e59a2f7'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/fio'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["fio --help"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/Flask/Flask-3.0.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/Flask/Flask-3.0.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..8050132f2f6 --- /dev/null +++ b/easybuild/easyconfigs/f/Flask/Flask-3.0.0-GCCcore-13.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'Flask' +version = '3.0.0' + +homepage = 'https://www.palletsprojects.com/p/flask/' +description = """ +Flask is a lightweight WSGI web application framework. It is designed to make +getting started quick and easy, with the ability to scale up to complex +applications. +This module includes the Flask extensions: Flask-Cors""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('itsdangerous', '2.1.2', { + 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], + }), + ('werkzeug', '3.0.1', { + 'checksums': ['507e811ecea72b18a404947aded4b3390e1db8f826b494d76550ef45bb3b1dcc'], + }), + ('asgiref', '3.7.2', { + 'checksums': ['9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed'], + }), + ('blinker', '1.7.0', { + 'checksums': ['e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182'], + }), + ('flask', version, { + 'checksums': ['cfadcdb638b609361d29ec22360d6070a77d7463dcb3ab08d2c2f2f168845f58'], + }), + ('Flask-Cors', '4.0.0', { + 'checksums': ['f268522fcb2f73e2ecdde1ef45e2fd5c71cc48fe03cffb4b441c6d1b40684eb0'], + }), + ('cachelib', '0.10.2', { + 'checksums': ['593faeee62a7c037d50fc835617a01b887503f972fb52b188ae7e50e9cb69740'], + }), + ('Flask-Session', '0.5.0', { + 'checksums': ['190875e6aebf2953c6803d42379ef3b934bc209ef8ef006f97aecb08f5aaeb86'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['%(namelower)s --version'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/Flye/Flye-2.9.3-GCC-10.3.0.eb b/easybuild/easyconfigs/f/Flye/Flye-2.9.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..906ac5fc08c --- /dev/null +++ b/easybuild/easyconfigs/f/Flye/Flye-2.9.3-GCC-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'Flye' +version = '2.9.3' + +homepage = 'https://github.com/fenderglass/Flye' +description = """Flye is a de novo assembler for long and noisy reads, such as those produced by PacBio + and Oxford Nanopore Technologies.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/fenderglass/Flye/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['09580390ed0558c131ca0b836a2374d3cc7993cba2a6500024c2ee1d96666edc'] + +dependencies = [('Python', '3.9.5')] + +download_dep_fail = True +use_pip = True + +if ARCH == "aarch64": + preinstallopts = 'export arm_neon=1 && export aarch64=1 && ' + +sanity_check_paths = { + 'files': ['bin/flye'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['%(namelower)s --help'] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/Flye/Flye-2.9.3-GCC-12.3.0.eb b/easybuild/easyconfigs/f/Flye/Flye-2.9.3-GCC-12.3.0.eb new file mode 100644 index 00000000000..efd15addcca --- /dev/null +++ b/easybuild/easyconfigs/f/Flye/Flye-2.9.3-GCC-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'Flye' +version = '2.9.3' + +homepage = 'https://github.com/fenderglass/Flye' +description = """Flye is a de novo assembler for long and noisy reads, such as those produced by PacBio + and Oxford Nanopore Technologies.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/fenderglass/Flye/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['09580390ed0558c131ca0b836a2374d3cc7993cba2a6500024c2ee1d96666edc'] + +dependencies = [('Python', '3.11.3')] + +download_dep_fail = True +use_pip = True + +if ARCH == "aarch64": + preinstallopts = 'export arm_neon=1 && export aarch64=1 && ' + +sanity_check_paths = { + 'files': ['bin/flye'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['%(namelower)s --help'] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FragGeneScan/FragGeneScan-1.31-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FragGeneScan/FragGeneScan-1.31-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..915a307b6e7 --- /dev/null +++ b/easybuild/easyconfigs/f/FragGeneScan/FragGeneScan-1.31-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'FragGeneScan' +version = '1.31' + +homepage = 'https://omics.informatics.indiana.edu/FragGeneScan/' +description = "FragGeneScan is an application for finding (fragmented) genes in short reads." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s%(version)s.tar.gz'] +checksums = ['cd3212d0f148218eb3b17d24fcd1fc897fb9fee9b2c902682edde29f895f426c'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Perl', '5.34.1')] + +fix_perl_shebang_for = ['*.pl'] + +prebuildopts = "make clean && " +buildopts = 'CC="$CC" CFLAG="$CFLAGS" fgs && chmod -R go+rx *.pl train example' + +files_to_copy = ['FragGeneScan', 'run_FragGeneScan.pl', 'example', 'train'] + +modextrapaths = {'PATH': ['']} + +sanity_check_paths = { + 'files': ['FragGeneScan', 'run_FragGeneScan.pl'], + 'dirs': ['example', 'train'], +} + +sanity_check_commands = [ + './run_FragGeneScan.pl help', + './run_FragGeneScan.pl -genome=./example/NC_000913.fna -out=./example/NC_000913-fgs -complete=1 -train=complete' +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3a9b6a21f3a --- /dev/null +++ b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'FreeImage' +version = '3.18.0' + +homepage = 'http://freeimage.sourceforge.net' +description = """FreeImage is an Open Source library project for developers who would like to support popular graphics +image formats like PNG, BMP, JPEG, TIFF and others as needed by today's multimedia applications. FreeImage is easy to +use, fast, multithreading safe.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'cstd': 'c++14'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s3180.zip'] +patches = ['%(name)s-%(version)s-fix-makefile.patch'] +checksums = [ + 'f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd', # FreeImage3180.zip + '3eaa1eb9562ccfd0cb95a37879bb7e3e8c745166596d75af529478181ef006a0', # %(name)s-%(version)s-fix-makefile.patch +] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('zlib', '1.2.13')] + +skipsteps = ['configure'] + +buildopts = ['', '-f Makefile.fip'] + +installopts = [ + "INCDIR=%(installdir)s/include INSTALLDIR=%(installdir)s/lib", + "-f Makefile.fip INCDIR=%(installdir)s/include INSTALLDIR=%(installdir)s/lib", +] + +_incs = ['include/FreeImage%s.h' % x for x in ['', 'Plus']] +_libs = ['lib/libfreeimage%s.%s' % (x, y) for x in ['', 'plus'] for y in ['a', SHLIB_EXT]] + +sanity_check_paths = { + 'files': _incs + _libs, + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.2.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.2.0.eb index 40e6ff91575..c0dd7325a8b 100644 --- a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.2.0.eb @@ -23,8 +23,6 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -configopts = '--disable-docs' - sanity_check_paths = { 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.3.0.eb index a278d8bd820..5dd93a16d83 100644 --- a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.3.0.eb @@ -24,8 +24,6 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -configopts = '--disable-docs' - sanity_check_paths = { 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-11.2.0.eb index 4a4084cbfb1..89ac34d49c8 100644 --- a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-11.2.0.eb @@ -21,8 +21,6 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -configopts = '--disable-docs' - sanity_check_paths = { 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.5-GCCcore-7.3.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.5-GCCcore-7.3.0.eb index 5fd4aec115d..ee4077cbb69 100644 --- a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.5-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.5-GCCcore-7.3.0.eb @@ -24,8 +24,6 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -configopts = '--disable-docs' - sanity_check_paths = { 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.5-GCCcore-8.2.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.5-GCCcore-8.2.0.eb index 952a02c3f63..e33daa77d33 100644 --- a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.5-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.5-GCCcore-8.2.0.eb @@ -24,8 +24,6 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -configopts = '--disable-docs' - sanity_check_paths = { 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.5-GCCcore-8.3.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.5-GCCcore-8.3.0.eb index 6c4115fc4e1..213a98ebd30 100644 --- a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.5-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.5-GCCcore-8.3.0.eb @@ -23,8 +23,6 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -configopts = '--disable-docs' - sanity_check_paths = { 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.9-GCCcore-9.3.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.9-GCCcore-9.3.0.eb index cef1dc631bb..34132127d4a 100644 --- a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.9-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.9-GCCcore-9.3.0.eb @@ -23,8 +23,6 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -configopts = '--disable-docs' - sanity_check_paths = { 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/f/f90nml/f90nml-1.4.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/f90nml/f90nml-1.4.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b554f52d3e9 --- /dev/null +++ b/easybuild/easyconfigs/f/f90nml/f90nml-1.4.4-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'f90nml' +version = '1.4.4' + +homepage = 'https://github.com/marshallward/f90nml' +description = """A Python module and command line tool for parsing + Fortran namelist files""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['65e8e135779895245238cbf6be5b1b80d6c2b8c9350c9cdce6183a31bdfd7622'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('Python', '3.10.8'), + ('PyYAML', '6.0') +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/f90nml/f90nml-1.4.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/f90nml/f90nml-1.4.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..215dad71e8d --- /dev/null +++ b/easybuild/easyconfigs/f/f90nml/f90nml-1.4.4-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'f90nml' +version = '1.4.4' + +homepage = 'https://github.com/marshallward/f90nml' +description = """A Python module and command line tool for parsing + Fortran namelist files""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['65e8e135779895245238cbf6be5b1b80d6c2b8c9350c9cdce6183a31bdfd7622'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('PyYAML', '6.0.1') +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..caaa9fc53ff --- /dev/null +++ b/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +# Updated: Denis Kristak (INUITS) +# Updated: Petr Král (INUITS) + +easyblock = 'ConfigureMake' + +name = 'fastahack' +version = '1.0.0' + +homepage = 'https://github.com/ekg/fastahack' +description = """Utilities for indexing and sequence extraction from FASTA files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_build-libs.patch'] +checksums = [ + 'cc1c04729b0c8ba3647cbb7e15e2b490ce701d73773f30f5892d68c36a1dceae', # v1.0.0.tar.gz + '7f804486c6bafd9b1572cb5f86ff28dbebb4d6da551bde1091d6ff8f82748bf4', # fastahack-1.0.0_build-libs.patch +] + +builddependencies = [('binutils', '2.40')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/libfastahack.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fastjet-contrib/fastjet-contrib-1.053-gompi-2023a.eb b/easybuild/easyconfigs/f/fastjet-contrib/fastjet-contrib-1.053-gompi-2023a.eb new file mode 100644 index 00000000000..94b820e6902 --- /dev/null +++ b/easybuild/easyconfigs/f/fastjet-contrib/fastjet-contrib-1.053-gompi-2023a.eb @@ -0,0 +1,32 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'fastjet-contrib' +version = '1.053' + +homepage = 'https://fastjet.hepforge.org/contrib/' +description = """3rd party extensions of FastJet""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://fastjet.hepforge.org/contrib/downloads/'] +sources = ['fjcontrib-' + version + '.tar.gz'] +checksums = ['b12a248e0b143934c99e3b7c8dd83265122f6c6c09533c2a03df44f5eff1e6fa'] + +dependencies = [ + ('fastjet', '3.4.2') +] + +build_cmd_targets = ['', 'fragile-shared'] +install_cmd = "make install && make fragile-shared-install" + +sanity_check_paths = { + 'files': ['lib/libfastjetcontribfragile.%s' % SHLIB_EXT], + 'dirs': ['include/fastjet/contrib'] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/f/fastjet/fastjet-3.4.2-gompi-2023a.eb b/easybuild/easyconfigs/f/fastjet/fastjet-3.4.2-gompi-2023a.eb new file mode 100644 index 00000000000..36cf015e392 --- /dev/null +++ b/easybuild/easyconfigs/f/fastjet/fastjet-3.4.2-gompi-2023a.eb @@ -0,0 +1,43 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'fastjet' +version = '3.4.2' + +homepage = 'https://fastjet.fr/' +description = """A software package for jet finding in pp and e+e- collisions""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://fastjet.fr/repo/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['fastjet-3.4.0_excludeSISCone.patch'] +checksums = [ + {'fastjet-3.4.2.tar.gz': 'b3d33155b55ce43f420cd6d99b525acf7bdc2593a7bb7ea898a9ddb3d8ca38e3'}, + {'fastjet-3.4.0_excludeSISCone.patch': '698902b4c4d54873d640239461cccc036234986ae8d6a33ceb649462ade971d3'}, +] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('siscone', '3.0.6'), + ('CGAL', '5.6'), +] +configopts = '--enable-cgal-header-only --enable-pyext --enable-allplugins --enable-allcxxplugins ' +configopts += "--enable-shared" + +sanity_check_paths = { + 'files': ['lib/libfastjet.%s' % SHLIB_EXT, 'bin/fastjet-config'], + 'dirs': ['include/fastjet'], +} +sanity_check_commands = ["python -c 'import fastjet'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/f/fastp/fastp-0.23.4-GCC-12.3.0.eb b/easybuild/easyconfigs/f/fastp/fastp-0.23.4-GCC-12.3.0.eb new file mode 100644 index 00000000000..8e423ebec0f --- /dev/null +++ b/easybuild/easyconfigs/f/fastp/fastp-0.23.4-GCC-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'fastp' +version = '0.23.4' + +homepage = 'https://github.com/OpenGene/fastp' +description = """A tool designed to provide fast all-in-one preprocessing for FastQ files. + This tool is developed in C++ with multithreading supported to afford high performance.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +# https://github.com/OpenGene/fastp +github_account = 'OpenGene' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4fad6db156e769d46071add8a778a13a5cb5186bc1e1a5f9b1ffd499d84d72b5'] + +dependencies = [ + ('zlib', '1.2.13'), + ('libdeflate', '1.18'), + ('ISA-L', '2.30.0'), +] + +skipsteps = ['configure'] + +buildopts = ' CXX=${CXX}' + +preinstallopts = 'mkdir -p %(installdir)s/bin && ' + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/fastp'], + 'dirs': [], +} + +sanity_check_commands = [('fastp', '--help')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fastparquet/fastparquet-2023.4.0-gfbf-2022b.eb b/easybuild/easyconfigs/f/fastparquet/fastparquet-2023.4.0-gfbf-2022b.eb index edfd1ab8d11..2320c4b7539 100644 --- a/easybuild/easyconfigs/f/fastparquet/fastparquet-2023.4.0-gfbf-2022b.eb +++ b/easybuild/easyconfigs/f/fastparquet/fastparquet-2023.4.0-gfbf-2022b.eb @@ -12,23 +12,18 @@ toolchain = {'name': 'gfbf', 'version': '2022b'} builddependencies = [ ('patchelf', '0.17.2'), - ('Rust', '1.65.0'), # needed by maturin ] dependencies = [ ('Python', '3.10.8'), ('SciPy-bundle', '2023.02'), + ('maturin', '1.1.0'), ] use_pip = True sanity_pip_check = True exts_list = [ - ('maturin', '1.1.0', { - 'easyblock': 'CargoPythonPackage', - 'offline': False, - 'checksums': ['4650aeaa8debd004b55aae7afb75248cbd4d61cd7da2dcf4ead8b22b58cecae0'], - }), ('thrift', '0.16.0', { 'checksums': ['2b5b6488fcded21f9d312aa23c9ff6a0195d0f6ae26ddbd5ad9e3e25dfc14408'], }), diff --git a/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b816dabffd9 --- /dev/null +++ b/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'fermi-lite' +version = '20190320' +local_commit = 'b499514' + +homepage = 'https://github.com/lh3/fermi-lite' +description = """Standalone C library for assembling Illumina short reads in small regions.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = [ + '%(name)s-20190320_avoid-bwa-namespace-conflict.patch', + '%(name)s-20190320_build-shared-lib.patch', +] +checksums = [ + 'ea1230e298b8e7193a996b5aceeff7fea44ef00852b0b87d4fcb504bdca0e712', # b499514.tar.gz + # fermi-lite-20190320_avoid-bwa-namespace-conflict.patch + '27600733f1cea8b1d1503b1a67b9d41526e907c1b6321313ff51194e166c1842', + '43398559fbb3910d6d3d1a41af3fb16bf8f26bd7cc34176dfc9a068a551c3f50', # fermi-lite-20190320_build-shared-lib.patch +] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('zlib', '1.2.13')] + +prebuildopts = 'CFLAGS="$CFLAGS -fcommon"' + +parallel = 1 + +files_to_copy = [ + (['fml-asm'], 'bin'), + (['*.a', '*.%s*' % SHLIB_EXT], 'lib'), + (['*.h'], 'include/fml'), + 'test', +] + +sanity_check_paths = { + 'files': ['bin/fml-asm', 'lib/libfml.a', 'lib/libfml.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/festival/festival-2.5.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/festival/festival-2.5.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ee472d99bd1 --- /dev/null +++ b/easybuild/easyconfigs/f/festival/festival-2.5.0-GCCcore-12.3.0.eb @@ -0,0 +1,139 @@ +easyblock = 'ConfigureMake' + +name = 'festival' +version = '2.5.0' + +homepage = ['http://festvox.org/festival/'] + +description = """ +University of Edinburgh's Festival Speech Synthesis Systems is a free software +multi-lingual speech synthesis workbench that runs on multiple-platforms +offering black box text to speech, as well as an open architecture for +research in speech synthesis. +It designed as a component of large speech technology systems. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [ + 'http://festvox.org/packed/festival/%(version_major_minor)s', + 'http://festvox.org/packed/festival/%(version_major_minor)s/voices', +] +sources = [{ + 'filename': '%(name)s-%(version)s-release.tar.gz', + 'extract_cmd': 'tar xzf %s -C %(installdir)s --strip-components=1', +}] +local_sources = [ + 'festlex_CMU.tar.gz', + 'festlex_OALD.tar.gz', + 'festlex_POSLEX.tar.gz', + 'festvox_cmu_indic_ben_rm_cg.tar.gz', + 'festvox_cmu_indic_guj_ad_cg.tar.gz', + 'festvox_cmu_indic_guj_dp_cg.tar.gz', + 'festvox_cmu_indic_guj_kt_cg.tar.gz', + 'festvox_cmu_indic_hin_ab_cg.tar.gz', + 'festvox_cmu_indic_kan_plv_cg.tar.gz', + 'festvox_cmu_indic_mar_aup_cg.tar.gz', + 'festvox_cmu_indic_mar_slp_cg.tar.gz', + 'festvox_cmu_indic_pan_amp_cg.tar.gz', + 'festvox_cmu_indic_tam_sdr_cg.tar.gz', + 'festvox_cmu_indic_tel_kpn_cg.tar.gz', + 'festvox_cmu_indic_tel_sk_cg.tar.gz', + 'festvox_cmu_indic_tel_ss_cg.tar.gz', + 'festvox_cmu_us_aew_cg.tar.gz', + 'festvox_cmu_us_ahw_cg.tar.gz', + 'festvox_cmu_us_aup_cg.tar.gz', + 'festvox_cmu_us_awb_cg.tar.gz', + 'festvox_cmu_us_axb_cg.tar.gz', + 'festvox_cmu_us_bdl_cg.tar.gz', + 'festvox_cmu_us_clb_cg.tar.gz', + 'festvox_cmu_us_eey_cg.tar.gz', + 'festvox_cmu_us_fem_cg.tar.gz', + 'festvox_cmu_us_gka_cg.tar.gz', + 'festvox_cmu_us_jmk_cg.tar.gz', + 'festvox_cmu_us_ksp_cg.tar.gz', + 'festvox_cmu_us_ljm_cg.tar.gz', + 'festvox_cmu_us_lnh_cg.tar.gz', + 'festvox_cmu_us_rms_cg.tar.gz', + 'festvox_cmu_us_rxr_cg.tar.gz', + 'festvox_cmu_us_slp_cg.tar.gz', + 'festvox_cmu_us_slt_cg.tar.gz', + 'festvox_kallpc16k.tar.gz', + 'festvox_rablpc16k.tar.gz', +] +for local_x in local_sources: + local_newfilename = local_x.split('.') + local_newfilename[0] = local_newfilename[0] + '-%(version)s' + sources.append({ + 'download_filename': local_x, + 'filename': '.'.join(local_newfilename), + 'extract_cmd': 'tar xzf %s -C %(installdir)s --strip-components=1', + }) + +patches = ['%(name)s-%(version)s_speech_tools.patch'] +checksums = [ + '4c9007426b125290599d931df410e2def51e68a8aeebd89b4a61c7c96c09a4b4', # festival-2.5.0-release.tar.gz + 'c19430919bca45d5368cd4c82af6153fbcc96a487ebd30b78b5f3c08718b7c07', # festlex_CMU.tar.gz + 'e33a345390d4c76f8b987b06a5332bcdd0b168cf67c95ddc3270f9163cbe61f8', # festlex_OALD.tar.gz + 'e7c6e3642dbd5b0d64942bc015a986fdd6244a79e51ec2e8309e63d569e49ea3', # festlex_POSLEX.tar.gz + '56e2144d5eed6c89a451789ef7f37346dd351efdbb86a0fa650432a19b07367f', # festvox_cmu_indic_ben_rm_cg.tar.gz + '4a0ac2d1b15cd41108be803e23f11911be953b50733848a8e67428c642e02ba9', # festvox_cmu_indic_guj_ad_cg.tar.gz + '1a4e17d67db50a6d81f7860b64acc8d41245f6f763ccff4c9386ab9ae9923910', # festvox_cmu_indic_guj_dp_cg.tar.gz + '666017d8d64737c4fd70b72ab6cf846fd8e13de290a5ba494bd1697249a16e9d', # festvox_cmu_indic_guj_kt_cg.tar.gz + '60318e160d994d5174168cc94467c776de81426f91c4f8003206cff953cb79bd', # festvox_cmu_indic_hin_ab_cg.tar.gz + 'd87f4ea342e7cb37e90ddf49dde37f19c1470b3c5a09d00cef3212108107cb31', # festvox_cmu_indic_kan_plv_cg.tar.gz + '0c7509203483fc97c04b670127b20c2d51723b3a16517124e22d095f379cca7f', # festvox_cmu_indic_mar_aup_cg.tar.gz + 'f3be7241d35db1e18d652e2cfa4cb69bae038c3d21c59ed3ce365487894f0d46', # festvox_cmu_indic_mar_slp_cg.tar.gz + 'f1e9238c6b8646a2a252ab855f5773c8ebdf8b3df909e0bbe4a99d7b830a4f3e', # festvox_cmu_indic_pan_amp_cg.tar.gz + '9a4c088ce3bdbf17867d5df918fc3868597061380ae8daf896ce99d33723e570', # festvox_cmu_indic_tam_sdr_cg.tar.gz + '43ad700a82a270530dda44fd4a89b34429c37723cdde130faece4811723ff72b', # festvox_cmu_indic_tel_kpn_cg.tar.gz + '0ee102e8093a549171f5e4ff826ebf3f9eaf84e7d43259777e38cafe4c4b6eea', # festvox_cmu_indic_tel_sk_cg.tar.gz + 'b2e56ca4722e3d025d831fd1eef679ffbf00fe165b68a44a5596321411ffa1f0', # festvox_cmu_indic_tel_ss_cg.tar.gz + '5d9555580b95324fa734b7771c95dced44e7903510358481d24e4fe5c961111c', # festvox_cmu_us_aew_cg.tar.gz + '906492478bd86b5201f72ffe701279b98b3ba94ae74816a0d7f2ba20bc2b5bf7', # festvox_cmu_us_ahw_cg.tar.gz + '455476e1c5246d90aac090a06afa5a4e90c801aebace6fe357900c8e095be826', # festvox_cmu_us_aup_cg.tar.gz + 'b2adbdfeda0cba289bb4da68dd14114d3eb3e7f72049cc8d2cbdfb2df39f6934', # festvox_cmu_us_awb_cg.tar.gz + '172c826df9c8f49ecb03f997749b207a23de8678dcf13706709104c2c597ebfb', # festvox_cmu_us_axb_cg.tar.gz + '1dc6792af9e2c1660a46fe499aa67af4affa665a0bdc08207cc11719baa62f6d', # festvox_cmu_us_bdl_cg.tar.gz + '11c82d1c18ce3db6fb11ca788cc5d84f69f9346aff77c7495f50005d6b042148', # festvox_cmu_us_clb_cg.tar.gz + 'af8590f7c1ba7d5dba22ff52c30a7bb3f55592eabca9615cd712fa4da8f83e13', # festvox_cmu_us_eey_cg.tar.gz + 'f8788c2af4838bb90e0a859f38da66c95961bdff2572001d5a019a2127c74306', # festvox_cmu_us_fem_cg.tar.gz + '47cf21a96adfcad398bd28b4d2548493a2055f75e53cf71344eef3aebc03ab59', # festvox_cmu_us_gka_cg.tar.gz + '711db388bc500331cfda86a46a72193ca1e2c9dc7d5ef16dfc86827e499946f2', # festvox_cmu_us_jmk_cg.tar.gz + '3b8098ac30995ce245d518c5b8fee825917428cb3ebe0409a0b415c919bdd35f', # festvox_cmu_us_ksp_cg.tar.gz + 'aec062c3d0c30719dd7e3e9ee4c427cbaad5e47550e28af2e9f151a41dcad852', # festvox_cmu_us_ljm_cg.tar.gz + 'ece81f42379feba4c392ad723fb68374aff9cd78f57cf629f624b0bd0c928d08', # festvox_cmu_us_lnh_cg.tar.gz + '3167afa3a6ffb5bbc305c94a1e6b671e40783a87a49372fce04c54942872c421', # festvox_cmu_us_rms_cg.tar.gz + 'bf362b6f270b1a4c76be981c3e8bd862fbb17a64e971e5b4a84d970ed5ecec42', # festvox_cmu_us_rxr_cg.tar.gz + 'f1d8e601c9631dfb7f8bd05c341d9fce8899dc9547ed9a652c8ded6ab854de9a', # festvox_cmu_us_slp_cg.tar.gz + '78cb93e361ab016fd23833c56853ddf21e2f1356310f54eed1c09a9755ce9f43', # festvox_cmu_us_slt_cg.tar.gz + '809c4ab5ed9e4df4a658b58d5c56fe35055723f00d81a238168f5a1ebdaed08c', # festvox_kallpc16k.tar.gz + 'ecd14b77c528e94dfb076e44050102fe8fba57e5fe813acf78a66629317f52a5', # festvox_rablpc16k.tar.gz + '0716ea33c8eccee435ab08464657af2ec2b64cf02409cddb868f8ad869e7e172', # festival-2.5.0_speech_tools.patch +] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('speech_tools', '2.5.0'), +] + +# LIBS environmental variable interfers $EBROOTSPEECH_TOOLS/libs/Makefile +# line 61: LIBS_ABS=$(subst $(TOP),$$(EST_HOME),$(LIBS)) +prebuildopts = 'unset LIBS &&' + +buildininstalldir = True + +maxparallel = 1 + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/festival%s' % x for x in ['', '_client']] + + ['lib/%s.scm' % x for x in ['siod', 'web', 'cstr', 'fringe']], + 'dirs': ['lib/voices', 'lib/dicts/cmu', 'lib/dicts/oald'] +} + +sanity_check_commands = ['festival%s --version' % x for x in ['', '_client']] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/fftlib/fftlib-20170628-gompi-2022a.eb b/easybuild/easyconfigs/f/fftlib/fftlib-20170628-gompi-2022a.eb new file mode 100644 index 00000000000..9661081a3f2 --- /dev/null +++ b/easybuild/easyconfigs/f/fftlib/fftlib-20170628-gompi-2022a.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'fftlib' +version = '20170628' +local_commit = '44c5fa0' + +homepage = 'https://github.com/flwende/fftlib' +description = """A library that intercepts FFTW calls and adds features on top of it. + In particular, it enables FFT plan reuse when there are multiple calls for the same geometry.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'openmp': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/flwende/fftlib/archive/'] +sources = [{'download_filename': '%s.zip' % local_commit, 'filename': SOURCE_ZIP}] +checksums = ['f73dffeaf5c2e6972a5bc67d11ec28390f9eda281a7cb47edc1ee2fe394ed057'] + +dependencies = [('FFTW', '3.3.10')] + +local_options = "-DFFTLIB_THREADSAFE " # use this when multiple threads access fftlib +# local_options += "-DFFTLIB_USE_MKL " # use symbols from MKL's fft library +# local_options += "-DFFTLIB_BYPASS " # bypass fftlib's internal logic +# local_options += "-DFFTLIB_OWN_LOCK " # use fftlib's reader/writer lock +# local_options += "-DFFTLIB_UNSAFE_OPT " # activate unsafe optimizations in fftlib +# local_options += "-DFFTLIB_DEBUG " # print debug messages (infos and warnings) +# local_options += "-DFFTLIB_WARNINGS_ONLY " # print warnings only +# local_options += "-DFFTLIB_COMPOSED_FFT " # split 3d FFT computation into 2d+1d FFT + +start_dir = 'src' + +parallel = False + +build_cmd = "$CXX $CXXFLAGS -I../include -I$EBROOTFFTW/include %s -c fftlib.cpp -o fftlib.o" % local_options + +files_to_copy = [(['fftlib.o'], 'lib')] + +sanity_check_paths = { + 'files': ['lib/fftlib.o'], + 'dirs': ["."] +} + +# this should be prepended to $LIBFFT(_MT) when building applications in order to intercept their FFT calls +modextravars = {'FFTLIB': "%(installdir)s/lib/fftlib.o -lgomp -lstdc++ -ldl"} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fgbio/fgbio-1.3.0.eb b/easybuild/easyconfigs/f/fgbio/fgbio-1.3.0.eb index cd6783ca518..b6d55a922a0 100644 --- a/easybuild/easyconfigs/f/fgbio/fgbio-1.3.0.eb +++ b/easybuild/easyconfigs/f/fgbio/fgbio-1.3.0.eb @@ -22,21 +22,21 @@ cmds_map = [( '.*', 'sed -i \'s/scala.sys.process.Process("git rev-parse --short HEAD").lineStream.head/"%(version)s"/\' version.sbt' ' && sbt --sbt-dir "$TMPDIR/sbt" assembly --ivy "$TMPDIR/ivy2"' - ' && echo -e \'#!/bin/bash\\ncd $(dirname $0) && exec java -jar ../lib/fgbio-%(version)s.jar "$@"\' >> fbgio' - ' && chmod +x fbgio' + ' && echo -e \'#!/bin/bash\\nexec java -jar "${EBROOTFGBIO}/lib/%(name)s-%(version)s.jar" "$@"\' >> %(name)s' + ' && chmod +x %(name)s' )] files_to_copy = [ - (['fbgio'], 'bin'), - (['target/scala-*/fgbio-%(version)s.jar'], 'lib'), + (['%(name)s'], 'bin'), + (['target/scala-*/%(name)s-%(version)s.jar'], 'lib'), ] sanity_check_paths = { - 'files': ['bin/fbgio', 'lib/fgbio-%(version)s.jar'], + 'files': ['bin/%(name)s', 'lib/%(name)s-%(version)s.jar'], 'dirs': [], } # --help, --version, ... all exit with status code one, so we need to check the output -sanity_check_commands = ['fbgio --help 2>&1 | grep -q Version'] +sanity_check_commands = ['%(name)s --help 2>&1 | grep -q Version'] moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/file/file-5.43-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/file/file-5.43-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9c5e6cc3591 --- /dev/null +++ b/easybuild/easyconfigs/f/file/file-5.43-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'file' +version = '5.43' + +homepage = 'https://www.darwinsys.com/file/' +description = """The file command is 'a file type guesser', that is, a command-line tool + that tells you in words what kind of data a file contains.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['ftp://ftp.astron.com/pub/file/'] +sources = [SOURCE_TAR_GZ] +checksums = ['8c8015e91ae0e8d0321d94c78239892ef9dbc70c4ade0008c0e95894abfb1991'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] + +preconfigopts = "autoreconf -f -i && " + +sanity_check_paths = { + 'files': ['bin/file', 'include/magic.h', 'lib/libmagic.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..caddc6c090f --- /dev/null +++ b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +# Updated: Denis Kristak (INUITS) +# Updated: Petr Král (INUITS) + +easyblock = 'ConfigureMake' + +name = 'filevercmp' +version = '20191210' +local_commit = 'df20dcc' + +homepage = 'https://github.com/ekg/filevercmp' +description = """filevercmp function as in sort --version-sort.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = ['%(name)s-%(version)s_build-libs.patch'] +checksums = [ + '89835829a7829f7a25783b2cf9d482f1e3c794703343c9214c15c66a8c7f4aae', # df20dcc.tar.gz + '051438f76dd04219abfb283f61101c04d748407031e180b7ae3841344416ec4f', # filevercmp-20191210_build-libs.patch +] + +builddependencies = [('binutils', '2.40')] + +skipsteps = ['configure'] + +installopts = 'DESTDIR="" PREFIX=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/libfilevercmp.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s abca bcac'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fineRADstructure/fineRADstructure-20210514-GCC-12.3.0.eb b/easybuild/easyconfigs/f/fineRADstructure/fineRADstructure-20210514-GCC-12.3.0.eb new file mode 100644 index 00000000000..77c8fd539f6 --- /dev/null +++ b/easybuild/easyconfigs/f/fineRADstructure/fineRADstructure-20210514-GCC-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'fineRADstructure' +version = '20210514' + +homepage = 'http://cichlid.gurdon.cam.ac.uk/fineRADstructure.html' +description = "A package for population structure inference from RAD-seq data" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/millanek/fineRADstructure/archive/'] +sources = [{'download_filename': '5896b9e.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['4f22232bb79dd7b589a1c8a389d7cca23372ea52f55205392ce9ce8f80aea5b2'] + +dependencies = [ + ('GSL', '2.7'), +] + + +_bins = ['finestructure', 'RADpainter'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': [], +} +sanity_check_commands = ["%s -h" % x for x in _bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fio/fio-3.36-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/fio/fio-3.36-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b8f16f6e6be --- /dev/null +++ b/easybuild/easyconfigs/f/fio/fio-3.36-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'fio' +version = '3.36' + +homepage = 'https://github.com/axboe/fio' +docurls = 'https://fio.readthedocs.io/en/latest/index.html' +description = 'Flexible I/O tester' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'axboe' +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b34b8f3c5cd074c09ea487ffe3f444e95565c214b34a73042f35b00cbaab0e17'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/fio'], + 'dirs': ['bin', 'man', 'share'], +} + +sanity_check_commands = ['fio -h'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/flatbuffers/flatbuffers-23.5.26-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-23.5.26-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..24ebbda011a --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-23.5.26-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeNinja' + +name = 'flatbuffers' +version = '23.5.26' + +homepage = 'https://github.com/google/flatbuffers/' +description = """FlatBuffers: Memory Efficient Serialization Library""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/flatbuffers/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['1cce06b17cddd896b6d73cc047e36a254fb8df4d7ea18a46acf16c4c0cd3f3f3'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), + ('Python', '3.11.5'), +] + +configopts = '-DFLATBUFFERS_ENABLE_PCH=ON ' + +sanity_check_paths = { + 'files': ['include/flatbuffers/flatbuffers.h', 'bin/flatc', 'lib/libflatbuffers.a'], + 'dirs': ['lib/cmake'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/fmt/fmt-10.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/fmt/fmt-10.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..718920c630a --- /dev/null +++ b/easybuild/easyconfigs/f/fmt/fmt-10.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'fmt' +version = '10.2.0' + +homepage = 'http://fmtlib.net/' +description = "fmt (formerly cppformat) is an open-source formatting library." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/fmtlib/fmt/releases/download/%(version)s/'] +sources = ['fmt-%(version)s.zip'] +checksums = ['8a942861a94f8461a280f823041cde8f620a6d8b0e0aacc98c15bb5a9dd92399'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +sanity_check_paths = { + 'files': ['lib/libfmt.a'], + 'dirs': ['include/fmt', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/freebayes/freebayes-1.3.7-gfbf-2023a-R-4.3.2.eb b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.7-gfbf-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..9c7ff736b2e --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.7-gfbf-2023a-R-4.3.2.eb @@ -0,0 +1,54 @@ +easyblock = 'MesonNinja' + +name = 'freebayes' +version = '1.3.7' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/freebayes/freebayes' +description = "Bayesian haplotype-based genetic polymorphism discovery and genotyping." + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-1.3.7_find-external-libs.patch', + '%(name)s-1.3.7_fix-includes.patch', + '%(name)s-1.3.6_install-libs-headers.patch', +] +checksums = [ + {'v1.3.7.tar.gz': '89c2202aaa82925bc6a49e04df593e5ef3b1547b3b514efcbd490a54d8ad200b'}, + {'freebayes-1.3.7_find-external-libs.patch': 'ef1acb874b51e6efe077e2d2769892082c38f880e09eac1b0987b02ee4a59beb'}, + {'freebayes-1.3.7_fix-includes.patch': '7a3f8ab89f59ed77150ca5d70eb5dc6fe5780f9a17229c69c762288eafc935b7'}, + {'freebayes-1.3.6_install-libs-headers.patch': '5ba006ca6956905bbd81107a17e02287c515890ee25884c444ebf5b95da1caae'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('R', '4.3.2'), + ('parallel', '20230722'), + ('libffi', '3.4.4'), + ('VCFtools', '0.1.16'), + ('vcflib', '1.0.9', versionsuffix), + ('SeqLib', '1.2.0'), +] + +configopts = "-Dprefer_system_deps=true --buildtype release" + +sanity_check_paths = { + 'files': ['bin/freebayes', 'bin/bamleftalign', 'scripts/freebayes-parallel'], + 'dirs': [], +} + +sanity_check_commands = ["freebayes --help"] + +modextrapaths = {'PATH': ['scripts']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/freebayes/freebayes-1.3.7_find-external-libs.patch b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.7_find-external-libs.patch new file mode 100644 index 00000000000..fd806aa0735 --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.7_find-external-libs.patch @@ -0,0 +1,48 @@ +Author: Jasper Grimm (UoY) +Switch to cc.find_library to search for libraries in LD_LIBRARY_PATH +Add dependencies on fastahack, smithwaterman +diff -Nru freebayes-1.3.6.orig/meson.build freebayes-1.3.6_p1/meson.build +--- freebayes-1.3.6.orig/meson.build 2022-01-21 09:38:32.000000000 +0000 ++++ freebayes-1.3.6_p1/meson.build 2022-03-29 12:46:15.000000000 +0100 +@@ -32,8 +32,10 @@ + if get_option('prefer_system_deps') + htslib_dep = dependency('htslib', static: static_build, required: false) + tabixpp_dep = cc.find_library('tabixpp', static: static_build, required: false) +- vcflib_dep = dependency('libvcflib', static: static_build, required: false) +- seqlib_dep = dependency('libseqlib', static: static_build, required: false) ++ vcflib_dep = cc.find_library('vcflib', static: static_build, required: false) ++ seqlib_dep = cc.find_library('seqlib', static: static_build, required: false) ++ fastahack_dep = cc.find_library('fastahack', required : false) ++ sw_dep = cc.find_library('sw', required : false) + else + # uses the local git submodules + htslib_dep = dependency('', required : false) +@@ -221,7 +223,7 @@ + include_directories : incdir, + cpp_args : extra_cpp_args, + dependencies : [zlib_dep, lzma_dep, thread_dep, htslib_dep, tabixpp_dep, +- vcflib_dep, seqlib_dep], ++ vcflib_dep, seqlib_dep, fastahack_dep, sw_dep], + install : false, + ) + +@@ -237,7 +239,8 @@ + cpp_args : extra_cpp_args, + link_args: link_arguments, + dependencies: [zlib_dep, lzma_dep, thread_dep, +- htslib_dep, tabixpp_dep, vcflib_dep, seqlib_dep], ++ htslib_dep, tabixpp_dep, vcflib_dep, seqlib_dep, ++ fastahack_dep, sw_dep], + link_with : freebayes_lib, + install: true + ) +@@ -248,7 +251,8 @@ + cpp_args : extra_cpp_args, + link_args: link_arguments, + dependencies: [zlib_dep, lzma_dep, thread_dep, +- htslib_dep, vcflib_dep, seqlib_dep], ++ htslib_dep, vcflib_dep, seqlib_dep, ++ fastahack_dep, sw_dep], + link_with : freebayes_lib, + install: true + ) diff --git a/easybuild/easyconfigs/f/freebayes/freebayes-1.3.7_fix-includes.patch b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.7_fix-includes.patch new file mode 100644 index 00000000000..1a84f0489b1 --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.7_fix-includes.patch @@ -0,0 +1,174 @@ +Created by Jasper Grimm (UoY) +Patch include statements to match installed include hierarchy + +Adapted to 1.3.7, Åke Sandgren +diff -ru freebayes-1.3.7.orig/src/Allele.cpp freebayes-1.3.7/src/Allele.cpp +--- freebayes-1.3.7.orig/src/Allele.cpp 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/Allele.cpp 2024-01-15 14:13:47.699765112 +0100 +@@ -1,5 +1,5 @@ + #include "Allele.h" +-#include "multichoose.h" ++#include "multichoose/multichoose.h" + #include "TryCatch.h" + + +diff -ru freebayes-1.3.7.orig/src/AlleleParser.cpp freebayes-1.3.7/src/AlleleParser.cpp +--- freebayes-1.3.7.orig/src/AlleleParser.cpp 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/AlleleParser.cpp 2024-01-15 14:14:31.443396494 +0100 +@@ -1,9 +1,9 @@ + #include "AlleleParser.h" +-#include "multichoose.h" // includes generic functions, so it must be included here ++#include "multichoose/multichoose.h" // includes generic functions, so it must be included here + // otherwise we will get a linker error + // see: http://stackoverflow.com/questions/36039/templates-spread-across-multiple-files + // http://www.cplusplus.com/doc/tutorial/templates/ "Templates and Multi-file projects" +-#include "multipermute.h" ++#include "multichoose/multipermute.h" + #include "Logging.h" + + using namespace std; +diff -ru freebayes-1.3.7.orig/src/AlleleParser.h freebayes-1.3.7/src/AlleleParser.h +--- freebayes-1.3.7.orig/src/AlleleParser.h 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/AlleleParser.h 2024-01-15 14:15:03.027130346 +0100 +@@ -13,7 +13,7 @@ + #include + #include + #include +-#include "split.h" ++#include "fastahack/split.h" + #include // XXX workaround for a missing include in vcflib's join.h + #include "join.h" + +diff -ru freebayes-1.3.7.orig/src/BedReader.cpp freebayes-1.3.7/src/BedReader.cpp +--- freebayes-1.3.7.orig/src/BedReader.cpp 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/BedReader.cpp 2024-01-15 14:15:34.242867296 +0100 +@@ -7,11 +7,11 @@ + #include + #include + #include +-#include "split.h" ++#include "fastahack/split.h" + #include "Utility.h" + #include "BedReader.h" + #include "Logging.h" +-#include "../intervaltree/IntervalTree.h" ++#include "intervaltree/IntervalTree.h" + + using namespace std; + +diff -ru freebayes-1.3.7.orig/src/BedReader.h freebayes-1.3.7/src/BedReader.h +--- freebayes-1.3.7.orig/src/BedReader.h 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/BedReader.h 2024-01-15 14:15:57.538658059 +0100 +@@ -9,8 +9,8 @@ + #include + #include + #include +-#include "../intervaltree/IntervalTree.h" +-#include "split.h" ++#include "intervaltree/IntervalTree.h" ++#include "fastahack/split.h" + + using namespace std; + +diff -ru freebayes-1.3.7.orig/src/Bias.h freebayes-1.3.7/src/Bias.h +--- freebayes-1.3.7.orig/src/Bias.h 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/Bias.h 2024-01-15 14:16:09.778547984 +0100 +@@ -7,7 +7,7 @@ + #include + #include + #include +-#include "split.h" ++#include "fastahack/split.h" + + using namespace std; + +diff -ru freebayes-1.3.7.orig/src/CNV.h freebayes-1.3.7/src/CNV.h +--- freebayes-1.3.7.orig/src/CNV.h 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/CNV.h 2024-01-15 14:16:27.602387691 +0100 +@@ -10,7 +10,7 @@ + #include + #include + #include +-#include "split.h" ++#include "fastahack/split.h" + + using namespace std; + +diff -ru freebayes-1.3.7.orig/src/Contamination.h freebayes-1.3.7/src/Contamination.h +--- freebayes-1.3.7.orig/src/Contamination.h 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/Contamination.h 2024-01-15 14:16:44.546235315 +0100 +@@ -8,7 +8,7 @@ + #include + #include + #include +-#include "split.h" ++#include "fastahack/split.h" + + using namespace std; + +diff -ru freebayes-1.3.7.orig/src/DataLikelihood.cpp freebayes-1.3.7/src/DataLikelihood.cpp +--- freebayes-1.3.7.orig/src/DataLikelihood.cpp 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/DataLikelihood.cpp 2024-01-15 14:17:30.629820891 +0100 +@@ -1,6 +1,6 @@ + #include "DataLikelihood.h" +-#include "multichoose.h" +-#include "multipermute.h" ++#include "multichoose/multichoose.h" ++#include "multichoose/multipermute.h" + #include "Logging.h" + + long double +diff -ru freebayes-1.3.7.orig/src/FBFasta.h freebayes-1.3.7/src/FBFasta.h +--- freebayes-1.3.7.orig/src/FBFasta.h 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/FBFasta.h 2024-01-15 14:17:54.405607067 +0100 +@@ -16,10 +16,10 @@ + #include + #include + #include +-#include "LargeFileSupport.h" ++#include "fastahack/LargeFileSupport.h" + #include "Utility.h" + #include +-#include "split.h" ++#include "fastahack/split.h" + #include + #include + #include +diff -ru freebayes-1.3.7.orig/src/freebayes.cpp freebayes-1.3.7/src/freebayes.cpp +--- freebayes-1.3.7.orig/src/freebayes.cpp 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/freebayes.cpp 2024-01-15 14:18:13.669433822 +0100 +@@ -30,8 +30,8 @@ + #include "Utility.h" + #include "SegfaultHandler.h" + +-#include "multichoose.h" +-#include "multipermute.h" ++#include "multichoose/multichoose.h" ++#include "multichoose/multipermute.h" + + #include "Genotype.h" + #include "DataLikelihood.h" +diff -ru freebayes-1.3.7.orig/src/Genotype.cpp freebayes-1.3.7/src/Genotype.cpp +--- freebayes-1.3.7.orig/src/Genotype.cpp 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/Genotype.cpp 2024-01-15 14:18:31.973269211 +0100 +@@ -1,6 +1,6 @@ + #include "Genotype.h" +-#include "multichoose.h" +-#include "multipermute.h" ++#include "multichoose/multichoose.h" ++#include "multichoose/multipermute.h" + + + vector Genotype::uniqueAlleles(void) { +diff -ru freebayes-1.3.7.orig/src/Parameters.h freebayes-1.3.7/src/Parameters.h +--- freebayes-1.3.7.orig/src/Parameters.h 2023-02-12 04:55:52.000000000 +0100 ++++ freebayes-1.3.7/src/Parameters.h 2024-01-15 14:18:55.093061290 +0100 +@@ -9,7 +9,7 @@ + #include + #include + #include +-#include "split.h" ++#include "fastahack/split.h" + #include "version_git.h" + #include "Utility.h" + diff --git a/easybuild/easyconfigs/f/fsom/fsom-20151117-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/fsom/fsom-20151117-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e35176f1207 --- /dev/null +++ b/easybuild/easyconfigs/f/fsom/fsom-20151117-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +# Updated: Denis Kristak (INUITS) +# Updated: Petr Král (INUITS) + +easyblock = 'ConfigureMake' + +name = 'fsom' +version = '20151117' +local_commit = '56695e1' + +homepage = 'https://github.com/ekg/fsom' +description = """A tiny C library for managing SOM (Self-Organizing Maps) neural networks.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'ekg' + +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] + +patches = [ + '%(name)s-%(version)s_build-libs.patch', + '%(name)s-20141119_fix-abs-overload.patch' +] + +checksums = [ + '1ba3360985be781bb9f79d974705c86e7bb0719cb83638955e113b5dd83ec8dd', # 56695e1.tar.gz + 'd4e19b2db054cc5d3153ceba88ad2b11e5143e3a3c243103ce1e6994a83c43fe', # fsom-20151117_build-libs.patch + '54dd6ae76033535fe1b0231142d8bd41a815950dc3fd269dc321f698d4973639', # fsom-20141119_fix-abs-overload.patch +] + +builddependencies = [('binutils', '2.40')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/libfsom.%s' % SHLIB_EXT], + 'dirs': [], +} +sanity_check_commands = ["%(name)s --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fugue/fugue-0.8.7-foss-2022a.eb b/easybuild/easyconfigs/f/fugue/fugue-0.8.7-foss-2022a.eb new file mode 100644 index 00000000000..fd5d8ef5c47 --- /dev/null +++ b/easybuild/easyconfigs/f/fugue/fugue-0.8.7-foss-2022a.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonBundle' + +name = 'fugue' +version = '0.8.7' +homepage = 'https://github.com/fugue-project/fugue' +description = """Fugue is a unified interface for distributed computing that +lets users execute Python, Pandas, and SQL code on Spark, Dask, and Ray with minimal rewrites. + +Fugue is most commonly used for: + +Parallelizing or scaling existing Python and Pandas code by bringing it to +Spark, Dask, or Ray with minimal rewrites. +Using FugueSQL to define end-to-end workflows on top of Pandas, Spark, and Dask DataFrames. +FugueSQL is an enhanced SQL interface that can invoke Python code. +""" +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.23.1'), +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Arrow', '8.0.0'), +] + + +exts_list = [ + ('adagio', '0.2.4', { + 'checksums': ['e58abc4539184a65faf9956957d3787616bedeb1303ac5c9b1a201d8af6b87d7'], + }), + ('fugue-sql-antlr', '0.2.0', { + 'checksums': ['e15433aaf09502c5b0423019d9fa93e161172ceb08e7bd27af0175dadf3cf552'], + }), + ('antlr4-python3-runtime', '4.11.1', { + 'modulename': 'antlr4', + 'checksums': ['a53de701312f9bdacc5258a6872cd6c62b90d3a90ae25e494026f76267333b60'], + }), + ('fs', '2.4.16', { + 'checksums': ['ae97c7d51213f4b70b6a958292530289090de3a7e15841e108fbe144f069d313'], + }), + ('fsspec', '2023.12.2', { + 'checksums': ['8548d39e8810b59c38014934f6b31e57f40c1b20f911f4cc2b85389c7e9bf0cb'], + }), + ('qpd', '0.4.4', { + 'checksums': ['e0ed05b88e321ea9935874377bda11339c90f1469f34344e9b41d16b8088e136'], + }), + ('sqlglot', '20.9.0', { + 'checksums': ['0b62ea136dcd5835d1a003e598d834ace36dfc1104d5cbabf5a1429993105de4'], + }), + ('triad', '0.9.4', { + 'checksums': ['580658b7b88f7a1f71be5e69282d2e13dcbfacbb126a4a576187be2b2e673e20'], + }), + (name, version, { + 'checksums': ['4c56946de46083778cdd6ec5b91ac5d37a847164c80790771edc6832bb9a260d'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GATK/GATK-4.5.0.0-GCCcore-12.3.0-Java-17.eb b/easybuild/easyconfigs/g/GATK/GATK-4.5.0.0-GCCcore-12.3.0-Java-17.eb new file mode 100644 index 00000000000..6f2cb5f5183 --- /dev/null +++ b/easybuild/easyconfigs/g/GATK/GATK-4.5.0.0-GCCcore-12.3.0-Java-17.eb @@ -0,0 +1,55 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 Cyprus Institute / CaSToRC, University of Luxembourg / LCSB +# Authors:: George Tsouloupas , Fotis Georgatos , +# Kenneth Hoste (UGent) +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# Modified by: Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Modified for version 4.0.5.1 by: Ruben van Dijk, University of Groningen +# Modified for version 4.2.3.0 by: J. Sassmannshausen / GSTT +# Modified for version 4.4.0.0 by: Thomas Eylenbosch / Gluo NV +## + +easyblock = 'Tarball' + +name = 'GATK' +version = '4.5.0.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.broadinstitute.org/gatk/' +description = """The Genome Analysis Toolkit or GATK is a software package developed at the Broad Institute + to analyse next-generation resequencing data. The toolkit offers a wide variety of tools, + with a primary focus on variant discovery and genotyping as well as strong emphasis on + data quality assurance. Its robust architecture, powerful processing engine and + high-performance computing features make it capable of taking on projects of any size.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/broadinstitute/gatk/releases/download/%(version)s/'] +sources = ['gatk-%(version)s.zip'] +checksums = ['dc1a4471e8bb566397db9894ca18acbf8f40f3fc312c8fad9a8c5390c218e916'] + +dependencies = [ + ('Java', '17', '', SYSTEM), + ('Python', '3.11.3'), +] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['gatk'], + 'dirs': [], +} + +sanity_check_commands = [ + "gatk --help", + "gatk --list", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb index 7f9079c65c0..26437d79b56 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb @@ -17,7 +17,6 @@ source_urls = [ 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies 'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies 'https://libisl.sourceforge.io/', # fallback URL for isl - 'http://isl.gforge.inria.fr/', # original HTTP source for ISL 'https://sourceware.org/pub/newlib/', # for newlib 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb index b89321338eb..b9512e90cc6 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb @@ -17,7 +17,6 @@ source_urls = [ 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies 'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies 'https://libisl.sourceforge.io/', # fallback URL for isl - 'http://isl.gforge.inria.fr/', # original HTTP source for ISL 'https://sourceware.org/pub/newlib/', # for newlib 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb index 56cebe7e95f..69d454317bb 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb @@ -17,7 +17,6 @@ source_urls = [ 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies 'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies 'https://libisl.sourceforge.io/', # fallback URL for isl - 'http://isl.gforge.inria.fr/', # original HTTP source for ISL 'https://sourceware.org/pub/newlib/', # for newlib 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0.eb index bfbba25110c..38ef50f122c 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0.eb @@ -38,6 +38,7 @@ patches = [ 'GCCcore-12.1.0_fix-Wuninitialized-in-AVX-headers.patch', 'GCCcore-12.2.0_fix-avx512-misoptimization.patch', 'GCCcore-12.2.0_fix-vectorizer.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', ] checksums = [ {'gcc-12.1.0.tar.gz': 'e88a004a14697bbbaba311f38a938c716d9a652fd151aaaa4cf1b5b99b90e2de'}, @@ -57,6 +58,7 @@ checksums = [ {'GCCcore-12.2.0_fix-avx512-misoptimization.patch': 'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'}, {'GCCcore-12.2.0_fix-vectorizer.patch': '0b76fc379308fd189ee39c4a3a49facacf8ede08dbec4280f289341083f1632b'}, + {'GCCcore-12.x_riscv_multiarch_support.patch': '92fc2b17b6943611a657904500fbf3db8160eddbcea320828d4a50a885e2778f'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0.eb index 77c3d798705..50d5b1bcd9c 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0.eb @@ -39,6 +39,7 @@ patches = [ 'GCCcore-12.2.0_fix-avx512-misoptimization.patch', 'GCCcore-12.2.0_fix-vectorizer.patch', 'GCCcore-12.2.0_improve-cuda-compatibility.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', ] checksums = [ {'gcc-12.2.0.tar.gz': 'ac6b317eb4d25444d87cf29c0d141dedc1323a1833ec9995211b13e1a851261c'}, @@ -60,6 +61,7 @@ checksums = [ {'GCCcore-12.2.0_fix-vectorizer.patch': '0b76fc379308fd189ee39c4a3a49facacf8ede08dbec4280f289341083f1632b'}, {'GCCcore-12.2.0_improve-cuda-compatibility.patch': '91d00122554b56381592229398540e63baa26d03633292a7fdf338407a4a62d5'}, + {'GCCcore-12.x_riscv_multiarch_support.patch': '92fc2b17b6943611a657904500fbf3db8160eddbcea320828d4a50a885e2778f'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.3.0.eb index 91dd99aa90d..222f1b68dc8 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.3.0.eb @@ -36,6 +36,8 @@ patches = [ 'GCCcore-12.1.0_fix-double-destruct.patch', 'GCCcore-12.2.0_fix-avx512-misoptimization.patch', 'GCCcore-12.2.0_improve-cuda-compatibility.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', + 'GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch', ] checksums = [ {'gcc-12.3.0.tar.gz': '11275aa7bb34cd8ab101d01b341015499f8d9466342a2574ece93f954d92273b'}, @@ -52,6 +54,9 @@ checksums = [ 'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'}, {'GCCcore-12.2.0_improve-cuda-compatibility.patch': '91d00122554b56381592229398540e63baa26d03633292a7fdf338407a4a62d5'}, + {'GCCcore-12.x_riscv_multiarch_support.patch': '92fc2b17b6943611a657904500fbf3db8160eddbcea320828d4a50a885e2778f'}, + {'GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch': + 'e1d63e04bf494a2f79346ac7454372f117b63288cc18c68876a5b8bdc453cf88'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.x_riscv_multiarch_support.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.x_riscv_multiarch_support.patch new file mode 100644 index 00000000000..ba981cea95c --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.x_riscv_multiarch_support.patch @@ -0,0 +1,33 @@ +https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=47f95bc4be4eb14730ab3eaaaf8f6e71fda47690 +https://gcc.gnu.org/PR106271 + +From 47f95bc4be4eb14730ab3eaaaf8f6e71fda47690 Mon Sep 17 00:00:00 2001 +From: Raphael Moreira Zinsly +Date: Tue, 22 Aug 2023 11:37:04 -0600 +Subject: [PATCH] RISC-V: Add multiarch support on riscv-linux-gnu + +This adds multiarch support to the RISC-V port so that bootstraps work with +Debian out-of-the-box. Without this patch the stage1 compiler is unable to +find headers/libraries when building the stage1 runtime. + +This is functionally (and possibly textually) equivalent to Debian's fix for +the same problem. + +gcc/ + * config/riscv/t-linux: Add MULTIARCH_DIRNAME. +--- + gcc/config/riscv/t-linux | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux +index 216d2776a18..a6f64f88d25 100644 +--- a/gcc/config/riscv/t-linux ++++ b/gcc/config/riscv/t-linux +@@ -1,3 +1,5 @@ + # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/ + MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) + MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) ++ ++MULTIARCH_DIRNAME := $(call if_multiarch,$(firstword $(subst -, ,$(target)))-linux-gnu) +-- +2.39.3 diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.1.0.eb index 6b8e8a19de6..d44266b72bf 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.1.0.eb @@ -35,6 +35,8 @@ patches = [ 'GCCcore-9.3.0_gmp-c99.patch', 'GCCcore-12.1.0_fix-double-destruct.patch', 'GCCcore-12.2.0_fix-avx512-misoptimization.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', + 'GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch', ] checksums = [ {'gcc-13.1.0.tar.gz': 'bacd4c614d8bd5983404585e53478d467a254249e0f1bb747c8bc6d787bd4fa2'}, @@ -49,6 +51,9 @@ checksums = [ {'GCCcore-12.1.0_fix-double-destruct.patch': '2e09c125318b6c15ec60f1807d77fb7d1f32b64a4e5d1c9a3da89ba2ca738d35'}, {'GCCcore-12.2.0_fix-avx512-misoptimization.patch': 'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'}, + {'GCCcore-12.x_riscv_multiarch_support.patch': '92fc2b17b6943611a657904500fbf3db8160eddbcea320828d4a50a885e2778f'}, + {'GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch': + 'e1d63e04bf494a2f79346ac7454372f117b63288cc18c68876a5b8bdc453cf88'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0.eb index 85c2772cbfa..2876160159d 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0.eb @@ -35,6 +35,9 @@ patches = [ 'GCCcore-9.3.0_gmp-c99.patch', 'GCCcore-12.1.0_fix-double-destruct.patch', 'GCCcore-12.2.0_fix-avx512-misoptimization.patch', + 'GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', + 'GCCcore-13.2.0_fix-unguarded-is_convertible-builtin.patch', ] checksums = [ {'gcc-13.2.0.tar.gz': '8cb4be3796651976f94b9356fa08d833524f62420d6292c5033a9a26af315078'}, @@ -49,6 +52,11 @@ checksums = [ {'GCCcore-12.1.0_fix-double-destruct.patch': '2e09c125318b6c15ec60f1807d77fb7d1f32b64a4e5d1c9a3da89ba2ca738d35'}, {'GCCcore-12.2.0_fix-avx512-misoptimization.patch': 'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'}, + {'GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch': + 'e1d63e04bf494a2f79346ac7454372f117b63288cc18c68876a5b8bdc453cf88'}, + {'GCCcore-12.x_riscv_multiarch_support.patch': '92fc2b17b6943611a657904500fbf3db8160eddbcea320828d4a50a885e2778f'}, + {'GCCcore-13.2.0_fix-unguarded-is_convertible-builtin.patch': + '8650d6d4f41e32e9f5f23272d27a6d6adce3cd46ff44483f160b1d3bd92b1dbd'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0_fix-unguarded-is_convertible-builtin.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0_fix-unguarded-is_convertible-builtin.patch new file mode 100644 index 00000000000..4e752516115 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0_fix-unguarded-is_convertible-builtin.patch @@ -0,0 +1,43 @@ +Source: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113241 + +From 4c66513656775d551db36b53c253cf236f0eeba8 Mon Sep 17 00:00:00 2001 +From: Jonathan Wakely +Date: Fri, 5 Jan 2024 12:03:22 +0000 +Subject: [PATCH] libstdc++: Do not use __is_convertible unconditionally + [PR113241] + +The new __is_convertible built-in should only be used after checking +that it's supported. + +libstdc++-v3/ChangeLog: + + PR libstdc++/113241 + * include/std/type_traits (is_convertible_v): Guard use of + built-in with preprocessor check. + +(cherry picked from commit 57fa5b60bbbf8038b8a699d2bcebd2a9b2e29aa4) +--- + libstdc++-v3/include/std/type_traits | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits +index 2bd607a8b8f..2b05e371953 100644 +--- a/libstdc++-v3/include/std/type_traits ++++ b/libstdc++-v3/include/std/type_traits +@@ -3359,8 +3359,13 @@ template + #endif + template + inline constexpr bool is_base_of_v = __is_base_of(_Base, _Derived); ++#if __has_builtin(__is_convertible) + template + inline constexpr bool is_convertible_v = __is_convertible(_From, _To); ++#else ++template ++ inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value; ++#endif + template + inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value; + template +-- +2.39.3 + diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch new file mode 100644 index 00000000000..909afb10f3f --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch @@ -0,0 +1,114 @@ +This patch fixes an issue where the tree-vectorization fails due to an internal compiler error in [60/11858] +compute_live_loop_exits on SVE capable AARCH64 architectures +First encountered on a neoverse_v1 build at https://github.com/EESSI/software-layer/pull/479#issuecomment-1957091774 +Upstream issue https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111478 +Upstream fix from https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=e5f1956498251a4973d52c8aad3faf34d0443169 +Known to work are 13.2.1, 14.0, so the fix probably already made it in there + +The second patch is a dependency to make the first one work, as it implements the *-operator used in last_stmt = *si + +From: Richard Biener +Date: Fri, 10 Nov 2023 11:39:11 +0000 (+0100) +Subject: tree-optimization/110221 - SLP and loop mask/len +X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=e5f1956498251a4973d52c8aad3faf34d0443169;hp=a5922427c29fad177251d89cc946d1c5bfc135eb + +tree-optimization/110221 - SLP and loop mask/len + +The following fixes the issue that when SLP stmts are internal defs +but appear invariant because they end up only using invariant defs +then they get scheduled outside of the loop. This nice optimization +breaks down when loop masks or lens are applied since those are not +explicitly tracked as dependences. The following makes sure to never +schedule internal defs outside of the vectorized loop when the +loop uses masks/lens. + + PR tree-optimization/110221 + * tree-vect-slp.cc (vect_schedule_slp_node): When loop + masking / len is applied make sure to not schedule + intenal defs outside of the loop. + + * gfortran.dg/pr110221.f: New testcase. +--- + +diff --git a/gcc/testsuite/gfortran.dg/pr110221.f b/gcc/testsuite/gfortran.dg/pr110221.f +new file mode 100644 +index 000000000000..8b57384313a7 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/pr110221.f +@@ -0,0 +1,17 @@ ++C PR middle-end/68146 ++C { dg-do compile } ++C { dg-options "-O2 -w" } ++C { dg-additional-options "-mavx512f --param vect-partial-vector-usage=2" { target avx512f } } ++ SUBROUTINE CJYVB(V,Z,V0,CBJ,CDJ,CBY,CYY) ++ IMPLICIT DOUBLE PRECISION (A,B,G,O-Y) ++ IMPLICIT COMPLEX*16 (C,Z) ++ DIMENSION CBJ(0:*),CDJ(0:*),CBY(0:*) ++ N=INT(V) ++ CALL GAMMA2(VG,GA) ++ DO 65 K=1,N ++ CBY(K)=CYY ++65 CONTINUE ++ CDJ(0)=V0/Z*CBJ(0)-CBJ(1) ++ DO 70 K=1,N ++70 CDJ(K)=-(K+V0)/Z*CBJ(K)+CBJ(K-1) ++ END +diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc +index 3e5814c3a319..80e279d8f506 100644 +--- a/gcc/tree-vect-slp.cc ++++ b/gcc/tree-vect-slp.cc +@@ -9081,6 +9081,16 @@ vect_schedule_slp_node (vec_info *vinfo, + /* Emit other stmts after the children vectorized defs which is + earliest possible. */ + gimple *last_stmt = NULL; ++ if (auto loop_vinfo = dyn_cast (vinfo)) ++ if (LOOP_VINFO_FULLY_MASKED_P (loop_vinfo) ++ || LOOP_VINFO_FULLY_WITH_LENGTH_P (loop_vinfo)) ++ { ++ /* But avoid scheduling internal defs outside of the loop when ++ we might have only implicitly tracked loop mask/len defs. */ ++ gimple_stmt_iterator si ++ = gsi_after_labels (LOOP_VINFO_LOOP (loop_vinfo)->header); ++ last_stmt = *si; ++ } + bool seen_vector_def = false; + FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (node), i, child) + if (SLP_TREE_DEF_TYPE (child) == vect_internal_def) + + +From c39cdd9e654540f74cd2478019c40f1611554a44 Mon Sep 17 00:00:00 2001 +From: Richard Biener +Date: Tue, 18 Apr 2023 16:58:26 +0200 +Subject: [PATCH] Add operator* to gimple_stmt_iterator and gphi_iterator + +This allows STL style iterator dereference. It's the same +as gsi_stmt () or .phi (). + + * gimple-iterator.h (gimple_stmt_iterator::operator*): Add. + (gphi_iterator::operator*): Likewise. +--- + gcc/gimple-iterator.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/gcc/gimple-iterator.h b/gcc/gimple-iterator.h +index 38352aa95af62..b709923f00dfa 100644 +--- a/gcc/gimple-iterator.h ++++ b/gcc/gimple-iterator.h +@@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see + + struct gimple_stmt_iterator + { ++ gimple *operator * () const { return ptr; } ++ + /* Sequence node holding the current statement. */ + gimple_seq_node ptr; + +@@ -38,6 +40,8 @@ struct gimple_stmt_iterator + /* Iterator over GIMPLE_PHI statements. */ + struct gphi_iterator : public gimple_stmt_iterator + { ++ gphi *operator * () const { return as_a (ptr); } ++ + gphi *phi () const + { + return as_a (ptr); diff --git a/easybuild/easyconfigs/g/GCTA/GCTA-1.94.1-gfbf-2023a.eb b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.1-gfbf-2023a.eb new file mode 100644 index 00000000000..ce5b24cd584 --- /dev/null +++ b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.1-gfbf-2023a.eb @@ -0,0 +1,70 @@ +# Author: Jasper Grimm (UoY) +# Updated to 1.94.1. J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMakeCp' + +name = 'GCTA' +version = '1.94.1' +_plink_commit = '3744540' + +homepage = 'https://yanglab.westlake.edu.cn/software/gcta/' +description = """ +GCTA (Genome-wide Complex Trait Analysis) is a software package, which was + initially developed to estimate the proportion of phenotypic variance explained + by all genome-wide SNPs for a complex trait but has been extensively extended + for many other analyses of data from genome-wide association studies (GWASs). +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [ + { + 'source_urls': ['https://github.com/jianyangqt/gcta/archive'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'source_urls': ['https://github.com/zhilizheng/plink-ng/archive'], + 'download_filename': '%s.tar.gz' % _plink_commit, + 'filename': 'plink-ng-%s.tar.gz' % _plink_commit, + 'extract_cmd': "tar xzvf %%s --strip-components 1 -C gcta-%s/submods/plink-ng" % version, + }, +] +patches = [ + 'GCTA-1.94.0beta_allow-BLAS-selection.patch', + 'GCTA-1.94.0beta_lapack-compatibility.patch', +] +checksums = [ + {'GCTA-1.94.1.tar.gz': 'd38841587bef016d7885cc1b3287d7ed0373bd370674130e814e2c5e6a90bfbf'}, + {'plink-ng-3744540.tar.gz': 'a7c70c237d49d64fc1668ced373036c09b41d7c61d0b8b24b47e2fb76474455d'}, + {'GCTA-1.94.0beta_allow-BLAS-selection.patch': '320a5d82d12cf453f1396b228723ac18dc98e32bc459394dd4d712fc16b24747'}, + {'GCTA-1.94.0beta_lapack-compatibility.patch': '643282a2e2c02fc683431b673a4623a498129870431481d33d33e19a509026ce'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + # Eigen and SpectrA are header-only C++ libraries + ('Eigen', '3.4.0'), + ('SpectrA', '1.0.1'), +] + +dependencies = [ + ('Boost', '1.82.0'), + ('SQLite', '3.42.0'), + ('zstd', '1.5.5'), + ('GSL', '2.7'), +] + +preconfigopts = 'EIGEN3_INCLUDE_DIR=$EBROOTEIGEN/include SPECTRA_LIB=$EBROOTSPECTRA/include' +preconfigopts += ' BOOST_LIB=$EBROOTBOOST/include ' + +files_to_copy = [(['gcta64'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/gcta64'], + 'dirs': [], +} + +sanity_check_commands = ["gcta64 | grep -e 'Analysis started'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GD/GD-2.71-GCCcore-9.3.0.eb b/easybuild/easyconfigs/g/GD/GD-2.71-GCCcore-9.3.0.eb index a54301ab868..dbaba6f514a 100644 --- a/easybuild/easyconfigs/g/GD/GD-2.71-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/g/GD/GD-2.71-GCCcore-9.3.0.eb @@ -44,8 +44,8 @@ exts_list = [ ] sanity_check_paths = { - 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s.pm'], - 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s'], + 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/%(name)s.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/%(name)s'], } modextrapaths = { diff --git a/easybuild/easyconfigs/g/GD/GD-2.73-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GD/GD-2.73-GCCcore-10.3.0.eb index bf13eba9f37..d796bd89fa9 100644 --- a/easybuild/easyconfigs/g/GD/GD-2.73-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GD/GD-2.73-GCCcore-10.3.0.eb @@ -46,8 +46,8 @@ exts_list = [ ] sanity_check_paths = { - 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s.pm'], - 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s'], + 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/%(name)s.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/%(name)s'], } modextrapaths = { diff --git a/easybuild/easyconfigs/g/GD/GD-2.75-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GD/GD-2.75-GCCcore-11.3.0.eb index d889cb7d1f5..fa02d657bb3 100644 --- a/easybuild/easyconfigs/g/GD/GD-2.75-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GD/GD-2.75-GCCcore-11.3.0.eb @@ -46,8 +46,8 @@ exts_list = [ ] sanity_check_paths = { - 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s.pm'], - 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s'], + 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/%(name)s.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/%(name)s'], } modextrapaths = { diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018a-Python-3.6.4.eb index 2e8050c472a..c7f37f1aa94 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018a-Python-3.6.4.eb @@ -39,7 +39,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-2.7.15.eb index a3955f02fc6..f7577ef499c 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-2.7.15.eb @@ -39,7 +39,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-3.6.6.eb index 4d5e8a3b166..450fe377a43 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-3.6.6.eb @@ -39,7 +39,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-intel-2018b-Python-3.6.6.eb index 2523cf04fa3..663815587cf 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-intel-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-intel-2018b-Python-3.6.6.eb @@ -39,7 +39,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-2.7.15.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-2.7.15.eb index 5eb2654fceb..5e3bbcfce52 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-2.7.15.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-2.7.15.eb @@ -42,7 +42,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-3.7.2.eb index c40f8400229..4d2a96f6f1c 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-3.7.2.eb @@ -42,7 +42,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-2.7.15.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-2.7.15.eb index 0aa81a50d9a..1352000d7b6 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-2.7.15.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-2.7.15.eb @@ -46,7 +46,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' prebuildopts = "export LDSHARED='icc -shared' && " modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-3.7.2.eb index 141c37f1165..9bcb96c48ae 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-3.7.2.eb @@ -46,7 +46,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' prebuildopts = "export LDSHARED='icc -shared' && " modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-foss-2019b-Python-3.7.4.eb index 1d2268d9ecd..9080eca50a1 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-foss-2019b-Python-3.7.4.eb @@ -45,7 +45,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-fosscuda-2019b-Python-3.7.4.eb index 8cbf568debb..233ccbc1518 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-fosscuda-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-fosscuda-2019b-Python-3.7.4.eb @@ -46,7 +46,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' # GPU support configopts += ' --with-opencl=yes' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-intel-2019b-Python-3.7.4.eb index 34d6ebadafb..b63353818cb 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-intel-2019b-Python-3.7.4.eb @@ -45,7 +45,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' prebuildopts = "export LDSHARED='icc -shared' && " diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-foss-2020a-Python-3.8.2.eb index e30c6613eda..761fe352c83 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-foss-2020a-Python-3.8.2.eb @@ -48,7 +48,7 @@ configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-intel-2020a-Python-3.8.2.eb index 572bd3e1396..107318804f2 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-intel-2020a-Python-3.8.2.eb @@ -48,7 +48,7 @@ configopts += ' --without-hdf4 --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETC configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' prebuildopts = 'export LDSHARED="$CC -shared" && ' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb index 6babf890be5..e251ec038b9 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb @@ -33,7 +33,6 @@ dependencies = [ ('libxml2', '2.9.13'), ('libpng', '1.6.37'), ('libjpeg-turbo', '2.1.3'), - ('JasPer', '2.0.33'), ('LibTIFF', '4.3.0'), ('zlib', '1.2.12'), ('cURL', '7.83.0'), @@ -50,10 +49,12 @@ preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' -configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' +configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' +maxparallel = 100 + modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2-foss-2022b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2-foss-2022b.eb index 7e3c17c850f..c293d01731d 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2-foss-2022b.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2-foss-2022b.eb @@ -35,7 +35,6 @@ dependencies = [ ('libxml2', '2.10.3'), ('libpng', '1.6.38'), ('libjpeg-turbo', '2.1.4'), - ('JasPer', '4.0.0'), ('LibTIFF', '4.4.0'), ('zlib', '1.2.12'), ('cURL', '7.86.0'), diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.7.1-foss-2023a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.7.1-foss-2023a.eb index 721bd3a5e34..92bfe549e74 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.7.1-foss-2023a.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.7.1-foss-2023a.eb @@ -36,7 +36,6 @@ dependencies = [ ('libxml2', '2.11.4'), ('libpng', '1.6.39'), ('libjpeg-turbo', '2.1.5.1'), - ('JasPer', '4.0.0'), ('LibTIFF', '4.5.0'), ('zlib', '1.2.13'), ('cURL', '8.0.1'), diff --git a/easybuild/easyconfigs/g/GDGraph/GDGraph-1.56-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GDGraph/GDGraph-1.56-GCCcore-11.3.0.eb index 512c17dc89d..c2bce301db6 100644 --- a/easybuild/easyconfigs/g/GDGraph/GDGraph-1.56-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GDGraph/GDGraph-1.56-GCCcore-11.3.0.eb @@ -53,12 +53,12 @@ exts_list = [ sanity_check_paths = { 'files': ['bin/bdf2gdfont.pl'], - 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi', 'man'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi', 'man'], } modextrapaths = {'PERL5LIB': [ 'lib/perl5/site_perl/%(perlver)s', - 'lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi', + 'lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi', ]} moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GHC/GHC-9.2.2-x86_64.eb b/easybuild/easyconfigs/g/GHC/GHC-9.2.2-x86_64.eb index 4ae171a8b3c..e09ebe9ff50 100644 --- a/easybuild/easyconfigs/g/GHC/GHC-9.2.2-x86_64.eb +++ b/easybuild/easyconfigs/g/GHC/GHC-9.2.2-x86_64.eb @@ -53,7 +53,7 @@ components = [ '8c471fc2b1961a6e6e5981b7f7b3512e7fe58fcb04461aa4520157d4c1159998', '027f7bd5876b761b48db624ddbdd106fa1c535dfb2752ef5a0eddeb2a8896cfd', ], - 'preconfigopts': "export CPPFLAGS='-P' && ", + 'preconfigopts': 'export CPPFLAGS="-P" CXXFLAGS="$CXXFLAGS -std=c++14" && ', 'configopts': ' --with-shared --enable-overwrite --with-termlib=tinfo', }), (name, version, { diff --git a/easybuild/easyconfigs/g/GHC/GHC-9.4.6-x86_64.eb b/easybuild/easyconfigs/g/GHC/GHC-9.4.6-x86_64.eb new file mode 100644 index 00000000000..51f75cd3a9a --- /dev/null +++ b/easybuild/easyconfigs/g/GHC/GHC-9.4.6-x86_64.eb @@ -0,0 +1,84 @@ +# This is a binary install that requires a './configure' and 'make install' steps for GHC. +# We pull the centos7 binary tarball as is the one built against oldest system libs, +# making it upwards compatible with newer distros. +# +# To get a functional 'ghc' binary on the SYSTEM toolchain we need +# gmp headers and ncurses libtinfo.so.5, to avoid requiring extra OS deps for them +# we include them in this bundle. +# Binaries obtained with ghc do not require them, so it should be possible to use this bundle +# just as builddep among different toolchains. +# +# For details, see the PR discussion: +# https://github.com/easybuilders/easybuild-easyconfigs/pull/11310 + +easyblock = 'Bundle' + +name = 'GHC' +version = '9.4.6' +versionsuffix = '-x86_64' + +homepage = 'https://haskell.org/ghc/' +description = """The Glorious/Glasgow Haskell Compiler""" + +toolchain = SYSTEM + +builddependencies = [ + ('binutils', '2.40'), + ('M4', '1.4.19') +] + +default_easyblock = 'ConfigureMake' + +local_distro_tarball = 'centos7' + +default_component_specs = { + 'start_dir': '%(namelower)s-%(version)s', +} +components = [ + ('GMP', '6.2.1', { + 'source_urls': [GNU_SOURCE], + 'sources': [SOURCELOWER_TAR_BZ2], + 'checksums': ['eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'], + 'configopts': ' --enable-cxx', + 'start_dir': '%(namelower)s-%(version)s', + }), + ('ncurses', '5.9', { + 'source_urls': [GNU_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'patches': [ + 'ncurses-%(version)s_configure_darwin.patch', + 'ncurses-%(version)s_fix-missing-const.patch', + ], + 'checksums': [ + '9046298fb440324c9d4135ecea7879ffed8546dd1b58e59430ea07a4633f563b', + '8c471fc2b1961a6e6e5981b7f7b3512e7fe58fcb04461aa4520157d4c1159998', + '027f7bd5876b761b48db624ddbdd106fa1c535dfb2752ef5a0eddeb2a8896cfd', + ], + 'preconfigopts': "export CPPFLAGS='-P -std=c++14' && ", + 'configopts': ' --with-shared --enable-overwrite --with-termlib=tinfo', + }), + (name, version, { + 'source_urls': ['https://downloads.haskell.org/~ghc/%(version)s/'], + 'sources': ['%%(namelower)s-%%(version)s-x86_64-%s-linux.tar.xz' % local_distro_tarball], + 'checksums': ['13bac0c0cbcfe75982d8b08c51dd5e50116d7760474a07b97bd82a0bd5c2ec18'], + # ghc-8.6.5-x86_64-centos7-linux.tar.xz + 'skipsteps': ['build'], + 'preinstallopts': 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ', + 'start_dir': '%(namelower)s-%(version)s-x86_64-unknown-linux', + }), +] + +local_ncurses_libs = ["form", "menu", "ncurses", "panel", "tinfo"] + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (x, y) for x in ['gmp', 'gmpxx'] for y in [SHLIB_EXT, 'a']] + + ['include/gmp.h', 'include/gmpxx.h'] + + ['lib/lib%s%s.a' % (x, y) for x in local_ncurses_libs for y in ['', '_g']] + + ['lib/lib%s.%s' % (x, y) for x in local_ncurses_libs for y in [SHLIB_EXT]] + + ['bin/ghc', 'bin/ghci', 'bin/ghc-pkg', 'bin/runghc', 'bin/runhaskell'], + 'dirs': ['bin', 'lib', 'share', 'include'], +} + +sanity_check_commands = ['ghc --version'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GI-DocGen/GI-DocGen-2023.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GI-DocGen/GI-DocGen-2023.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d098c3c3cbc --- /dev/null +++ b/easybuild/easyconfigs/g/GI-DocGen/GI-DocGen-2023.3-GCCcore-12.3.0.eb @@ -0,0 +1,51 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'PythonBundle' + +name = 'GI-DocGen' +version = '2023.3' + +homepage = 'https://gitlab.gnome.org/GNOME/gi-docgen' +description = """ +GI-DocGen is a document generator for GObject-based libraries. GObject is +the base type system of the GNOME project. GI-Docgen reuses the +introspection data generated by GObject-based libraries to generate the API +reference of these libraries, as well as other ancillary documentation. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'use_pip': True, +} + +exts_list = [ + ('Markdown', '3.5.2', { + 'checksums': ['e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8'], + }), + ('typogrify', '2.0.7', { + 'checksums': ['8be4668cda434163ce229d87ca273a11922cb1614cb359970b7dc96eed13cb38'], + }), + ('smartypants', '1.8.3', { + 'checksums': ['36dd37a573c74b68ba3614f52ebab0ec7a7ffe4255b7da9c4de46cda3c2e9e68'], + }), + ('gi-docgen', version, { + 'modulename': 'gidocgen', + 'checksums': ['977616bcc0e2735bb596c71e8eb34533526680740c666e87f9dfc323acd488f0'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GIMIC/GIMIC-2.2.1-foss-2022a.eb b/easybuild/easyconfigs/g/GIMIC/GIMIC-2.2.1-foss-2022a.eb new file mode 100644 index 00000000000..42e999a8fe0 --- /dev/null +++ b/easybuild/easyconfigs/g/GIMIC/GIMIC-2.2.1-foss-2022a.eb @@ -0,0 +1,68 @@ +easyblock = "CMakeMake" + +name = 'GIMIC' +version = '2.2.1' + +homepage = 'https://gimic.readthedocs.io' +description = """The GIMIC program calculates magnetically induced currents in molecules. + You need to provide this program with a density matrix in atomic-orbital (AO) basis + and three (effective) magnetically perturbed AO density matrices in the proper format. +Currently ACES2, Turbomole, G09, QChem, FERMION++, and LSDalton can produce these matrices.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'qmcurrents' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['GIMIC-%(version)s_fix-install-prefix.patch'] +checksums = [ + {'v2.2.1.tar.gz': '57672db21f4038b13743e9cca7861a877f8221e5929d931210fa7114284e0731'}, + {'GIMIC-2.2.1_fix-install-prefix.patch': '6e09bcebc2756a00a75ff6b16cde52124a339bdeb9781b1da004618837ee68b8'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), +] + +# allow mismatches (old GCC behaviour up to version 9) +preconfigopts = 'FCFLAGS="$FCFLAGS -fallow-argument-mismatch" ' +# enable OpenMP and disable MPI (see qmcurrents/gimic#169) +configopts = '-DENABLE_OPENMP=ON -DENABLE_MPI=OFF ' +# enable numerical libraries in this toolchain +configopts += '-DENABLE_MKL_FLAG=OFF -DENABLE_BLAS=ON -DENABLE_LAPACK=ON ' +configopts += '-DPYTHON_VERSION=%(pyshortver)s ' + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, +} +exts_list = [ + ('pyparsing', '2.4.7', { + 'checksums': ['c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1'], + }), +] + +modextrapaths = { + 'PYTHONPATH': ['bin/QCTools', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_paths = { + 'files': ['bin/gimic', 'lib/libgimic2.a'], + 'dirs': ['include', 'bin/QCTools', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['gimic --help'] + +# Sometimes building in parallel leads to error +maxparallel = 1 + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GIMIC/GIMIC-2.2.1_fix-install-prefix.patch b/easybuild/easyconfigs/g/GIMIC/GIMIC-2.2.1_fix-install-prefix.patch new file mode 100644 index 00000000000..8a3a505b28c --- /dev/null +++ b/easybuild/easyconfigs/g/GIMIC/GIMIC-2.2.1_fix-install-prefix.patch @@ -0,0 +1,10 @@ +# Obey CMAKE_INSTALL_PREFIX +# July 10th 2018 by B. Hajgato (Free University Brussels - VUB) +--- cmake/custom/own.cmake.orig 2018-04-20 09:44:47.000000000 +0200 ++++ cmake/custom/own.cmake 2018-07-10 16:08:05.999455805 +0200 +@@ -1,4 +1,4 @@ +-set(CMAKE_INSTALL_PREFIX ${PROJECT_BINARY_DIR}) ++#set(CMAKE_INSTALL_PREFIX ${PROJECT_BINARY_DIR}) + + include(GNUInstallDirs) + diff --git a/easybuild/easyconfigs/g/GKlib-METIS/GKlib-METIS-5.1.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GKlib-METIS/GKlib-METIS-5.1.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c5aade36177 --- /dev/null +++ b/easybuild/easyconfigs/g/GKlib-METIS/GKlib-METIS-5.1.1-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +# This is needed to install newer versions of DGL. +# The main reason is that the specific version of METIS used in DGL needs is as a +# third party software and newer versions of DGL don't have that included any more. +# Author: J. Sassmannshausen (Imperial College Londoni/UK) + +easyblock = 'CMakeMake' + +name = 'GKlib-METIS' +version = '5.1.1' + +homepage = 'https://github.com/KarypisLab/GKlib' +description = """A library of various helper routines and frameworks used by +many of the lab's software""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [ + { + 'source_urls': ['https://github.com/KarypisLab/GKlib/archive'], + 'download_filename': 'METIS-v%(version)s-DistDGL-0.5.tar.gz', + 'filename': '%(name)s-v%(version)s-DistDGL-0.5.tar.gz', + } +] +checksums = ['52aa0d383d42360f4faa0ae9537ba2ca348eeab4db5f2dfd6343192d0ff4b833'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +sanity_check_commands = ['gkgraph -help'] + +sanity_check_paths = { + 'files': ['bin/gkgraph'], + 'dirs': ['lib', 'include'], +} + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/g/GLFW/GLFW-3.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GLFW/GLFW-3.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4a154fbe1ee --- /dev/null +++ b/easybuild/easyconfigs/g/GLFW/GLFW-3.4-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'GLFW' +version = '3.4' + +homepage = 'https://www.glfw.org' +description = """GLFW is an Open Source, multi-platform library for OpenGL, +OpenGL ES and Vulkan development on the desktop""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['c038d34200234d071fae9345bc455e4a8f2f544ab60150765d7704e08f3dac01'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] +dependencies = [ + ('Wayland', '1.22.0'), + ('X11', '20221110'), +] + +# build both static and shared libraries +configopts = [ + '-DBUILD_SHARED_LIBS=OFF', + '-DBUILD_SHARED_LIBS=ON', +] + + +sanity_check_paths = { + 'files': ['include/%(name)s/glfw3.h', 'include/%(name)s/glfw3native.h'] + + ['lib/libglfw3.a', 'lib/libglfw.%s' % SHLIB_EXT, 'lib/pkgconfig/glfw3.pc'], + 'dirs': ['include/%(name)s', 'lib/cmake/glfw3', 'lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b14dcd3409e --- /dev/null +++ b/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'GLPK' +version = '5.0' + +homepage = 'https://www.gnu.org/software/glpk/' +description = """The GLPK (GNU Linear Programming Kit) package is intended for + solving large-scale linear programming (LP), + mixed integer programming (MIP), and other related problems. + It is a set of routines written in ANSI C + and organized in the form of a callable library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4a1013eebb50f728fc601bdd833b0b2870333c3b3e5a816eeba921d95bec6f15'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('GMP', '6.3.0'), +] + +configopts = '--with-gmp' + + +sanity_check_paths = { + 'files': ['bin/glpsol', 'include/%(namelower)s.h', 'lib/libglpk.a', 'lib/libglpk.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["glpsol --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GPAW-setups/GPAW-setups-24.1.0.eb b/easybuild/easyconfigs/g/GPAW-setups/GPAW-setups-24.1.0.eb new file mode 100644 index 00000000000..5736c4abcec --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW-setups/GPAW-setups-24.1.0.eb @@ -0,0 +1,27 @@ +easyblock = 'Tarball' + +name = 'GPAW-setups' +version = '24.1.0' + +homepage = 'https://wiki.fysik.dtu.dk/gpaw/' +description = """PAW setups for the GPAW Density Functional Theory package. +Users can install setups manually using 'gpaw install-data' or use setups from this package. +The versions of GPAW and GPAW-setups can be intermixed. + +Compared to version 0.9.20000, version 24.1.0 contains an new improved Cr setup with 14 electrons, +which can be manually selected. Otherwise no changes are made, so no results will change. +""" + +toolchain = SYSTEM +source_urls = ['https://wiki.fysik.dtu.dk/gpaw-files/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['314d43168f7b57a2d942855d3d5ad21da9ef74e772d37343d416305113a95c23'] + +modextrapaths = {'GPAW_SETUP_PATH': ''} + +moduleclass = 'chem' + +sanity_check_paths = { + 'files': ['H.LDA.gz'], + 'dirs': [] +} diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-foss-2023a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-foss-2023a.eb index 25eca6c86b9..60828cc4f31 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-foss-2023a.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-foss-2023a.eb @@ -31,7 +31,7 @@ dependencies = [ ('libvdwxc', '0.4.0'), ('ELPA', '2023.05.001'), ('PyYAML', '6.0'), - ('GPAW-setups', '0.9.20000', '', SYSTEM), + ('GPAW-setups', '24.1.0', '', SYSTEM), ] prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_foss.py' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-foss-2022a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-foss-2022a.eb new file mode 100644 index 00000000000..42c48960ad7 --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-foss-2022a.eb @@ -0,0 +1,49 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '24.1.0' + +homepage = 'https://wiki.fysik.dtu.dk/gpaw/' +description = """GPAW is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW) + method and the atomic simulation environment (ASE). It uses real-space uniform grids and multigrid methods or + atom-centered basis-functions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': False} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + ('GPAW-20.1.0-Add-Easybuild-configuration-files.patch', 1), +] +checksums = [ + {'gpaw-24.1.0.tar.gz': '14150bdc4b098060164b569699577ff57769a42783d79d37c9eb6cfe9cd506ea'}, + {'GPAW-20.1.0-Add-Easybuild-configuration-files.patch': + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('ASE', '3.22.1'), + ('libxc', '5.2.3'), + ('libvdwxc', '0.4.0'), + ('ELPA', '2021.11.001'), + ('PyYAML', '6.0'), + ('GPAW-setups', '0.9.20000', '', SYSTEM), +] + +prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_foss.py' +preinstallopts = prebuildopts + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/gpaw%s' % x for x in ['', '-analyse-basis', '-basis', '-plot-parallel-timings', + '-runscript', '-setup', '-upfplot']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-foss-2023a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-foss-2023a.eb new file mode 100644 index 00000000000..f8e05080924 --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-foss-2023a.eb @@ -0,0 +1,50 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '24.1.0' + +homepage = 'https://wiki.fysik.dtu.dk/gpaw/' +description = """GPAW is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW) + method and the atomic simulation environment (ASE). It uses real-space uniform grids and multigrid methods or + atom-centered basis-functions.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True, 'openmp': False} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + ('GPAW-20.1.0-Add-Easybuild-configuration-files.patch', 1), +] +checksums = [ + {'gpaw-24.1.0.tar.gz': '14150bdc4b098060164b569699577ff57769a42783d79d37c9eb6cfe9cd506ea'}, + {'GPAW-20.1.0-Add-Easybuild-configuration-files.patch': + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15'}, +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('ASE', '3.22.1'), + ('libxc', '6.2.2'), + ('libvdwxc', '0.4.0'), + ('ELPA', '2023.05.001'), + ('PyYAML', '6.0'), + ('GPAW-setups', '24.1.0', '', SYSTEM), +] + +prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_foss.py' +preinstallopts = prebuildopts + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/gpaw%s' % x for x in ['', '-analyse-basis', '-basis', '-plot-parallel-timings', + '-runscript', '-setup', '-upfplot']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-intel-2022a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-intel-2022a.eb new file mode 100644 index 00000000000..739c9c2b18b --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-intel-2022a.eb @@ -0,0 +1,48 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '24.1.0' + +homepage = 'https://wiki.fysik.dtu.dk/gpaw/' +description = """GPAW is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW) + method and the atomic simulation environment (ASE). It uses real-space uniform grids and multigrid methods or + atom-centered basis-functions.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': False} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + ('GPAW-20.1.0-Add-Easybuild-configuration-files.patch', 1), +] +checksums = [ + {'gpaw-24.1.0.tar.gz': '14150bdc4b098060164b569699577ff57769a42783d79d37c9eb6cfe9cd506ea'}, + {'GPAW-20.1.0-Add-Easybuild-configuration-files.patch': + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('ASE', '3.22.1'), + ('libxc', '5.2.3'), + ('ELPA', '2021.11.001'), + ('PyYAML', '6.0'), + ('GPAW-setups', '0.9.20000', '', SYSTEM), +] + +prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_intel.py' +preinstallopts = prebuildopts + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/gpaw%s' % x for x in ['', '-analyse-basis', '-basis', '-plot-parallel-timings', + '-runscript', '-setup', '-upfplot']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-intel-2023a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-intel-2023a.eb new file mode 100644 index 00000000000..b71f0cbdd6e --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-intel-2023a.eb @@ -0,0 +1,49 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '24.1.0' + +homepage = 'https://wiki.fysik.dtu.dk/gpaw/' +description = """GPAW is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW) + method and the atomic simulation environment (ASE). It uses real-space uniform grids and multigrid methods or + atom-centered basis-functions.""" + +toolchain = {'name': 'intel', 'version': '2023a'} +toolchainopts = {'usempi': True, 'openmp': False} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + ('GPAW-20.1.0-Add-Easybuild-configuration-files.patch', 1), +] +checksums = [ + {'gpaw-24.1.0.tar.gz': '14150bdc4b098060164b569699577ff57769a42783d79d37c9eb6cfe9cd506ea'}, + {'GPAW-20.1.0-Add-Easybuild-configuration-files.patch': + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15'}, +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('ASE', '3.22.1'), + ('libxc', '6.2.2'), + ('ELPA', '2023.05.001'), + ('PyYAML', '6.0'), + ('GPAW-setups', '24.1.0', '', SYSTEM), +] + +prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_intel.py' +preinstallopts = prebuildopts + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/gpaw%s' % x for x in ['', '-analyse-basis', '-basis', '-plot-parallel-timings', + '-runscript', '-setup', '-upfplot']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GRASP-suite/GRASP-suite-2023-05-09-Java-17.eb b/easybuild/easyconfigs/g/GRASP-suite/GRASP-suite-2023-05-09-Java-17.eb new file mode 100644 index 00000000000..8182799823d --- /dev/null +++ b/easybuild/easyconfigs/g/GRASP-suite/GRASP-suite-2023-05-09-Java-17.eb @@ -0,0 +1,38 @@ +easyblock = 'JAR' + +name = 'GRASP-suite' +version = '2023-05-09' +local_commit = '97cceec' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://github.com/bodenlab/GRASP-suite/' + +description = """GRASP-suite is a collection of tools and tutorials to perform and +analyse ancestral sequence reconstruction.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/bodenlab/GRASP-suite/raw/%s/content/project/graspcmd/archive/' % local_commit] +sources = [{ + "download_filename": "bnkit.jar", + "filename": "%(name)s-%(version)s.jar", +}] +checksums = ['7ee4cbc9f23857c8c7cf3e6bd0dde962d9a244974d955aac92212b5b5e29a385'] + +dependencies = [('Java', '17')] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + "echo '#!/bin/sh' > %(installdir)s/bin/grasp", + "echo 'java -jar -Xmx16g %(installdir)s/%(name)s-%(version)s.jar $@' >> %(installdir)s/bin/grasp", + "chmod a+rx %(installdir)s/bin/grasp" +] + +sanity_check_commands = ["grasp -h"] + +sanity_check_paths = { + 'files': ['bin/grasp', '%(name)s-%(version)s.jar'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GRASS/GRASS-7.8.3-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/g/GRASS/GRASS-7.8.3-fosscuda-2019b-Python-3.7.4.eb index 5d64776f29d..cfb982cda75 100644 --- a/easybuild/easyconfigs/g/GRASS/GRASS-7.8.3-fosscuda-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GRASS/GRASS-7.8.3-fosscuda-2019b-Python-3.7.4.eb @@ -41,7 +41,6 @@ dependencies = [ ('PROJ', '6.2.1'), ('SQLite', '3.29.0'), ('freetype', '2.10.1'), - ('FFmpeg', '4.2.1'), ('LibTIFF', '4.0.10'), ('cairo', '1.16.0'), ('X11', '20190717'), @@ -52,21 +51,18 @@ dependencies = [ ] preconfigopts = "sed -e 's/-lblas/$LIBBLAS/g' -e 's/-llapack/$LIBLAPACK/g' -i configure && " -configopts = '--enable-64bit ' -configopts += '--enable-largefile=yes ' +configopts = '--enable-largefile=yes ' configopts += '--with-cairo=yes ' configopts += '--with-cxx ' -configopts += '--with-ffmpeg --with-ffmpeg-libs=$EBROOTFFMPEG/lib --with-ffmpeg-includes=$EBROOTFFMPEG/include/* ' configopts += '--with-fftw --with-fftw-libs=$EBROOTFFTW/lib --with-fftw-includes=$EBROOTFFTW/include ' configopts += '--with-freetype ' configopts += '--with-freetype-libs=$EBROOTFREETYPE/lib --with-freetype-includes=$EBROOTFREETYPE/include ' configopts += '--with-geos=$EBROOTGEOS/bin/geos-config ' -configopts += '--without-glw ' configopts += '--with-lapack ' -configopts += '--with-lapack-lib=$LAPACK_LIB_DIR ' +configopts += '--with-lapack-libs=$LAPACK_LIB_DIR ' configopts += '--with-lapack-includes=$LAPACK_INC_DIR ' configopts += '--with-blas ' -configopts += '--with-blas-lib=$BLAS_LIB_DIR ' +configopts += '--with-blas-libs=$BLAS_LIB_DIR ' configopts += '--with-blas-includes=$BLAS_INC_DIR ' configopts += '--with-netcdf=$EBROOTNETCDF/bin/nc-config ' configopts += '--without-odbc ' @@ -75,19 +71,17 @@ configopts += '--with-openmp ' configopts += '--with-png ' configopts += '--with-png-libs="$EBROOTLIBPNG/lib $EBROOTZLIB/lib" --with-png-includes=$EBROOTLIBPNG/include ' configopts += '--without-postgres ' -configopts += '--with-proj --with-proj-libs=$EBROOTPROJ/lib ' +configopts += '--with-proj-libs=$EBROOTPROJ/lib ' configopts += '--with-proj-includes=$EBROOTPROJ/include --with-proj-share=$EBROOTPROJ/share/proj ' configopts += '--with-pthread ' -configopts += '--with-python ' configopts += '--with-readline ' configopts += '--with-readline-libs=$EBROOTLIBREADLINE/lib --with-readline-includes=$EBROOTLIBREADLINE/include ' -configopts += '--with-spatialite ' configopts += '--with-sqlite ' configopts += '--with-tiff-libs=$EBROOTLIBTIFF/lib --with-tiff-includes=$EBROOTLIBTIFF/include ' configopts += '--with-wxwidgets=$EBROOTWXPYTHON/bin/wx-config ' configopts += '--with-x ' -configopts += '--with-zlib --with-zlib-libs=$EBROOTZLIB/lib --with-zlib-includes=$EBROOTZLIB/include ' -configopts += '--with-bzlib --with-bzlib-libs=$EBROOTBZIP2/lib --with-ibzlib-includes=$EBROOTBZIP2/include ' +configopts += '--with-zlib-libs=$EBROOTZLIB/lib --with-zlib-includes=$EBROOTZLIB/include ' +configopts += '--with-bzlib --with-bzlib-libs=$EBROOTBZIP2/lib --with-bzlib-includes=$EBROOTBZIP2/include ' configopts += '--with-zstd --with-zstd-libs=$EBROOTZSTD/lib --with-zstd-includes=$EBROOTZSTD/include ' sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0-foss-2021b.eb b/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0-foss-2021b.eb index 064972b3a7c..97d62f13261 100644 --- a/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0-foss-2021b.eb +++ b/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0-foss-2021b.eb @@ -40,7 +40,6 @@ dependencies = [ ('PROJ', '8.1.0'), ('SQLite', '3.36'), ('freetype', '2.11.0'), - ('FFmpeg', '4.3.2'), ('LibTIFF', '4.3.0'), ('cairo', '1.16.0'), ('X11', '20210802'), @@ -52,21 +51,18 @@ dependencies = [ preconfigopts = "sed -e 's/-lblas/$LIBBLAS/g' -e 's/-llapack/$LIBLAPACK/g' -i configure && " -configopts = '--enable-64bit ' -configopts += '--enable-largefile=yes ' +configopts = '--enable-largefile=yes ' configopts += '--with-cairo=yes ' configopts += '--with-cxx ' -configopts += '--with-ffmpeg --with-ffmpeg-libs=$EBROOTFFMPEG/lib --with-ffmpeg-includes=$EBROOTFFMPEG/include/* ' configopts += '--with-fftw --with-fftw-libs=$EBROOTFFTW/lib --with-fftw-includes=$EBROOTFFTW/include ' configopts += '--with-freetype ' configopts += '--with-freetype-libs=$EBROOTFREETYPE/lib --with-freetype-includes=$EBROOTFREETYPE/include ' configopts += '--with-geos=$EBROOTGEOS/bin/geos-config ' -configopts += '--without-glw ' configopts += '--with-lapack ' -configopts += '--with-lapack-lib=$LAPACK_LIB_DIR ' +configopts += '--with-lapack-libs=$LAPACK_LIB_DIR ' configopts += '--with-lapack-includes=$LAPACK_INC_DIR ' configopts += '--with-blas ' -configopts += '--with-blas-lib=$BLAS_LIB_DIR ' +configopts += '--with-blas-libs=$BLAS_LIB_DIR ' configopts += '--with-blas-includes=$BLAS_INC_DIR ' configopts += '--with-netcdf=$EBROOTNETCDF/bin/nc-config ' configopts += '--without-odbc ' @@ -75,19 +71,17 @@ configopts += '--with-openmp ' configopts += '--with-png ' configopts += '--with-png-libs="$EBROOTLIBPNG/lib $EBROOTZLIB/lib" --with-png-includes=$EBROOTLIBPNG/include ' configopts += '--without-postgres ' -configopts += '--with-proj --with-proj-libs=$EBROOTPROJ/lib ' +configopts += '--with-proj-libs=$EBROOTPROJ/lib ' configopts += '--with-proj-includes=$EBROOTPROJ/include --with-proj-share=$EBROOTPROJ/share/proj ' configopts += '--with-pthread ' -configopts += '--with-python ' configopts += '--with-readline ' configopts += '--with-readline-libs=$EBROOTLIBREADLINE/lib --with-readline-includes=$EBROOTLIBREADLINE/include ' -configopts += '--with-spatialite ' configopts += '--with-sqlite ' configopts += '--with-tiff-libs=$EBROOTLIBTIFF/lib --with-tiff-includes=$EBROOTLIBTIFF/include ' configopts += '--with-wxwidgets=$EBROOTWXWIDGET/bin/wx-config ' configopts += '--with-x ' -configopts += '--with-zlib --with-zlib-libs=$EBROOTZLIB/lib --with-zlib-includes=$EBROOTZLIB/include ' -configopts += '--with-bzlib --with-bzlib-libs=$EBROOTBZIP2/lib --with-ibzlib-includes=$EBROOTBZIP2/include ' +configopts += '--with-zlib-libs=$EBROOTZLIB/lib --with-zlib-includes=$EBROOTZLIB/include ' +configopts += '--with-bzlib --with-bzlib-libs=$EBROOTBZIP2/lib --with-bzlib-includes=$EBROOTBZIP2/include ' configopts += '--with-zstd --with-zstd-libs=$EBROOTZSTD/lib --with-zstd-includes=$EBROOTZSTD/include ' postinstallcmds = [ diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3-foss-2023a-CUDA-12.1.1-PLUMED-2.9.0.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3-foss-2023a-CUDA-12.1.1-PLUMED-2.9.0.eb new file mode 100644 index 00000000000..0dd91c1da83 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3-foss-2023a-CUDA-12.1.1-PLUMED-2.9.0.eb @@ -0,0 +1,101 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2016 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, +# Ghent University / The Francis Crick Institute +# Authors:: +# * Wiktor Jurkowski +# * Fotis Georgatos +# * George Tsouloupas +# * Kenneth Hoste +# * Adam Huffman +# * Ake Sandgren +# * J. Sassmannshausen +# * Dugan Witherick +# * Christoph Siegert +# License:: MIT/GPL + +name = 'GROMACS' +version = '2023.3' +_plumedver = '2.9.0' +_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = _cuda_suffix + '-PLUMED-%s' % _plumedver + +homepage = 'https://www.gromacs.org' +description = """ +GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the +Newtonian equations of motion for systems with hundreds to millions of +particles. + +This is a GPU enabled build, containing both MPI and threadMPI builds +for both single and double precision. + +It also contains the gmxapi extension for the single precision MPI build +next to PLUMED.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True, 'usempi': True, 'extra_cxxflags': '-fpermissive'} + +source_urls = [ + 'https://ftp.gromacs.org/pub/gromacs/', + 'ftp://ftp.gromacs.org/pub/gromacs/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch', + '%(name)s-2023.1_fix_tests_for_gmx_thread_mpi.patch', + '%(name)s-%(version)s_skip_test_for_plumed.patch', +] +checksums = [ + {'gromacs-2023.3.tar.gz': '4ec8f8d0c7af76b13f8fd16db8e2c120e749de439ae9554d9f653f812d78d1cb'}, + {'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch': + '7f41bda16c9c2837624265dda4be252f655d1288ddc4486b1a2422af30d5d199'}, + {'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch': + '6df844bb3bbc51180446a3595c61a4ef195e5f975533a04cef76841aa763aec1'}, + {'GROMACS-2023.3_skip_test_for_plumed.patch': '6c541ee74f71f6a63950134d9d0e3afb176a2e25e76e017b4d1986a59163c083'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('scikit-build', '0.17.6'), + ('Doxygen', '1.9.7'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('UCX-CUDA', '1.14.1', _cuda_suffix), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('networkx', '3.1'), + ('mpi4py', '3.1.4'), + ('PLUMED', _plumedver), +] + +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -fpermissive" ' + +# PLUMED 2.9.0 is compatible with GROMACS 2023; 2023.3 seems to work fine too +ignore_plumed_version_check = True + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('gmxapi', '0.4.2', { + 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', + 'source_tmpl': 'gromacs-2023.3.tar.gz', + 'start_dir': 'python_packaging/gmxapi', + 'checksums': ['4ec8f8d0c7af76b13f8fd16db8e2c120e749de439ae9554d9f653f812d78d1cb'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3_skip_test_for_plumed.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3_skip_test_for_plumed.patch new file mode 100644 index 00000000000..d50dc00f45c --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3_skip_test_for_plumed.patch @@ -0,0 +1,26 @@ +Skip test checking output of 'mdrun -h' when patched with PLUMED +Author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur gromacs-2023.3.orig/src/programs/mdrun/tests/CMakeLists.txt gromacs-2023.3/src/programs/mdrun/tests/CMakeLists.txt +--- gromacs-2023.3.orig/src/programs/mdrun/tests/CMakeLists.txt 2023-10-19 10:40:01.000000000 +0200 ++++ gromacs-2023.3/src/programs/mdrun/tests/CMakeLists.txt 2024-01-13 12:01:40.289374738 +0100 +@@ -49,20 +49,6 @@ + # To avoid running into test timeouts, some end-to-end tests of mdrun + # functionality are split off. This can be rearranged in future as we + # see fit. +-set(testname "MdrunOutputTests") +-set(exename "mdrun-output-test") +- +-gmx_add_gtest_executable(${exename} +- CPP_SOURCE_FILES +- compressed_x_output.cpp +- helpwriting.cpp +- outputfiles.cpp +- trajectory_writing.cpp +- # pseudo-library for code for mdrun +- $ +- ) +-target_link_libraries(${exename} PRIVATE mdrun_test_infrastructure) +-gmx_register_gtest_test(${testname} ${exename} OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS QUICK_GPU_TEST) + + set(testname "MdrunModulesTests") + set(exename "mdrun-modules-test") diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb new file mode 100644 index 00000000000..20a40cd3952 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb @@ -0,0 +1,87 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2016 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, +# Ghent University / The Francis Crick Institute +# Authors:: +# * Wiktor Jurkowski +# * Fotis Georgatos +# * George Tsouloupas +# * Kenneth Hoste +# * Adam Huffman +# * Ake Sandgren +# * J. Sassmannshausen +# * Dugan Witherick +# * Christoph Siegert +# License:: MIT/GPL + +name = 'GROMACS' +version = '2024.1' + +homepage = 'https://www.gromacs.org' +description = """ +GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the +Newtonian equations of motion for systems with hundreds to millions of +particles. + +This is a CPU only build, containing both MPI and threadMPI binaries +for both single and double precision. + +It also contains the gmxapi extension for the single precision MPI build. +""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = [ + 'https://ftp.gromacs.org/pub/gromacs/', + 'ftp://ftp.gromacs.org/pub/gromacs/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch', + 'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch', +] +checksums = [ + {'gromacs-2024.1.tar.gz': '937d8f12a36fffbf2af7add71adbb5aa5c5537892d46c9a76afbecab1aa0aac7'}, + {'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch': + '7f41bda16c9c2837624265dda4be252f655d1288ddc4486b1a2422af30d5d199'}, + {'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch': + '6df844bb3bbc51180446a3595c61a4ef195e5f975533a04cef76841aa763aec1'}, +] + +builddependencies = [ + ('CMake', '3.27.6'), + ('scikit-build', '0.17.6'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('networkx', '3.2.1'), + ('mpi4py', '3.1.5'), +] + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('gmxapi', '0.4.2', { + 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', + 'source_tmpl': 'gromacs-2023.3.tar.gz', + 'start_dir': 'python_packaging/gmxapi', + 'checksums': ['4ec8f8d0c7af76b13f8fd16db8e2c120e749de439ae9554d9f653f812d78d1cb'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-13.2.0.eb b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-13.2.0.eb new file mode 100644 index 00000000000..0b2ef39668b --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-13.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'GSL' +version = '2.7' + +homepage = 'https://www.gnu.org/software/gsl/' +description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gsl-config', 'gsl-histogram', 'gsl-randist']] + + ['include/gsl/gsl_types.h'] + + ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['gsl', 'gslcblas']], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/GSL/GSL-2.7-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/g/GSL/GSL-2.7-intel-compilers-2022.1.0.eb new file mode 100644 index 00000000000..a4157c5f2fa --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.7-intel-compilers-2022.1.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'GSL' +version = '2.7' + +homepage = 'https://www.gnu.org/software/gsl/' +description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gsl-config', 'gsl-histogram', 'gsl-randist']] + + ['include/gsl/gsl_types.h'] + + ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['gsl', 'gslcblas']], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.3.2-foss-2023a.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.3.2-foss-2023a.eb new file mode 100644 index 00000000000..7bc18e6624c --- /dev/null +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.3.2-foss-2023a.eb @@ -0,0 +1,46 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'GTDB-Tk' +version = '2.3.2' + +homepage = 'https://github.com/Ecogenomics/GTDBTk' +description = "A toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('DendroPy', '4.6.1'), + ('matplotlib', '3.7.2'), + ('prodigal', '2.6.3'), + ('HMMER', '3.4'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('FastANI', '1.34'), + ('FastTree', '2.1.11'), + ('Mash', '2.3'), + ('tqdm', '4.66.1'), + ('pydantic', '1.10.13'), +] + +use_pip = True + +exts_list = [ + ('gtdbtk', version, { + 'checksums': ['80efd31e10007d835f56a3d6fdf039a59db3b6ba4be26b234692da5e688aa99f'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/gtdbtk'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["gtdbtk --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GTK+/GTK+-3.22.30-fosscuda-2018b.eb b/easybuild/easyconfigs/g/GTK+/GTK+-3.22.30-fosscuda-2018b.eb index e6dffd21301..d14f21d65ca 100644 --- a/easybuild/easyconfigs/g/GTK+/GTK+-3.22.30-fosscuda-2018b.eb +++ b/easybuild/easyconfigs/g/GTK+/GTK+-3.22.30-fosscuda-2018b.eb @@ -32,7 +32,7 @@ dependencies = [ ('X11', '20180604'), ] -configopts = "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility " +configopts = "--disable-silent-rules --disable-glibtest --enable-introspection=yes" sanity_check_paths = { 'files': ['bin/gtk-update-icon-cache', 'lib/libgtk-%%(version_major)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.13-GCCcore-8.3.0.eb b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.13-GCCcore-8.3.0.eb index 6b3ef66990e..b4bf155e5eb 100644 --- a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.13-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.13-GCCcore-8.3.0.eb @@ -44,7 +44,7 @@ components = [ (name, version, { 'source_urls': [FTPGNOME_SOURCE], 'checksums': ['4c775c38cf1e3c534ef0ca52ca6c7a890fe169981af66141c713e054e68930a9'], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], diff --git a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.17-GCCcore-9.3.0.eb b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.17-GCCcore-9.3.0.eb index 9397344d1d9..0358455beba 100644 --- a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.17-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.17-GCCcore-9.3.0.eb @@ -44,7 +44,7 @@ components = [ (name, version, { 'source_urls': [FTPGNOME_SOURCE], 'checksums': ['f210255b221cb0f0db3e7b21399983b715c9dda6eb1e5c2f7fdf38f4f1b6bac0'], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], diff --git a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.23-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.23-GCCcore-10.2.0.eb index 9eaad73eab7..627eb4f9fe9 100644 --- a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.23-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.23-GCCcore-10.2.0.eb @@ -44,7 +44,7 @@ components = [ (name, version, { 'source_urls': [FTPGNOME_SOURCE], 'checksums': ['5d864d248357a2251545b3387b35942de5f66e4c66013f0962eb5cb6f8dae2b1'], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], diff --git a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.8-GCCcore-8.2.0.eb b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.8-GCCcore-8.2.0.eb index a5c540dc54c..c001cac630a 100644 --- a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.8-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.8-GCCcore-8.2.0.eb @@ -33,7 +33,7 @@ dependencies = [ ('FriBidi', '1.0.5'), ] -configopts = "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility " +configopts = "--disable-silent-rules --disable-glibtest --enable-introspection=yes" sanity_check_paths = { 'files': ['bin/gtk-update-icon-cache', 'lib/libgtk-%%(version_major)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.29-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.29-GCCcore-10.3.0.eb index 646bff77c6a..764e62264ce 100644 --- a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.29-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.29-GCCcore-10.3.0.eb @@ -44,7 +44,7 @@ components = [ ('GTK+', version, { 'source_urls': [FTPGNOME_SOURCE], 'checksums': ['f57ec4ade8f15cab0c23a80dcaee85b876e70a8823d9105f067ce335a8268caa'], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], diff --git a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.31-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.31-GCCcore-11.2.0.eb index f4bdb729cdb..3e7711b6758 100644 --- a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.31-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.31-GCCcore-11.2.0.eb @@ -42,7 +42,7 @@ default_component_specs = { components = [ ('GTK+', version, { 'source_urls': [FTPGNOME_SOURCE], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", 'checksums': ['423c3e7fdb4c459ee889e35fd4d71fd2623562541c1041b11c07e5ad1ff10bf9'], }), ('hicolor-icon-theme', '0.17', { diff --git a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.33-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.33-GCCcore-11.3.0.eb index ec127c882ec..46df16bd25a 100644 --- a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.33-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.33-GCCcore-11.3.0.eb @@ -42,7 +42,7 @@ default_component_specs = { components = [ ('GTK+', version, { 'source_urls': [FTPGNOME_SOURCE], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", 'checksums': ['588b06522e25d1579e989b6f9d8a1bdbf2fe13cde01a04e904ff346a225e7801'], }), ('hicolor-icon-theme', '0.17', { diff --git a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb index f00f26786b0..09011131966 100644 --- a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb @@ -45,7 +45,7 @@ components = [ 'checksums': ['ec10fe6d712ef0b3c63b5f932639c9d1ae99fce94f500f6f06965629fef60bd1'], # fix packaging issue, see https://gitlab.gnome.org/GNOME/gtk/-/issues/5355 'preconfigopts': "mv testsuite/gtk/gtkresources.c gtk/ && ", - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], diff --git a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.39-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.39-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a0bbb9d094a --- /dev/null +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.39-GCCcore-13.2.0.eb @@ -0,0 +1,72 @@ +easyblock = 'Bundle' + +name = 'GTK3' +version = '3.24.39' + +homepage = 'https://developer.gnome.org/gtk3/stable/' +description = """GTK+ is the primary library used to construct user interfaces in GNOME. It + provides all the user interface controls, or widgets, used in a common + graphical application. Its object-oriented API allows you to construct + user interfaces without dealing with the low-level details of drawing and + device interaction. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), + ('GObject-Introspection', '1.78.1'), +] + +dependencies = [ + ('ATK', '2.38.0'), + ('at-spi2-atk', '2.38.0'), + ('cairo', '1.18.0'), + ('Gdk-Pixbuf', '2.42.10'), + ('GLib', '2.78.1'), + ('Pango', '1.51.0'), + ('libepoxy', '1.5.10'), + ('X11', '20231019'), + ('FriBidi', '1.0.13'), + ('Wayland', '1.22.0'), +] + +default_easyblock = 'MesonNinja' + +default_component_specs = { + 'sources': [SOURCELOWER_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('GTK+', version, { + 'source_urls': [FTPGNOME_SOURCE], + 'checksums': ['1cac3e566b9b2f3653a458c08c2dcdfdca9f908037ac03c9d8564b4295778d79'], + }), + ('hicolor-icon-theme', '0.17', { + 'easyblock': 'ConfigureMake', + 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], + 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], + }), + ('adwaita-icon-theme', '45.0', { + 'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'], + 'checksums': ['2442bfb06f4e6cc95bf6e2682fdff98fa5eddc688751b9d6215c623cb4e42ff1'], + }), +] + +postinstallcmds = ['gtk-update-icon-cache'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gtk3-demo', 'gtk3-demo-application', 'gtk3-icon-browser', 'gtk3-widget-factory', + 'gtk-builder-tool', 'gtk-launch', 'gtk-query-immodules-3.0', 'gtk-query-settings', + 'gtk-update-icon-cache']] + + ['lib/%s-%%(version_major)s.%s' % (x, SHLIB_EXT) for x in ['libgailutil', 'libgdk', 'libgtk']], + 'dirs': ['include/%s-%%(version_major)s.0' % x for x in ['gail', 'gtk']] + + ['share/icons/hicolor', 'share/icons/Adwaita'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GUIDANCE/GUIDANCE-2.02-GCC-12.3.0.eb b/easybuild/easyconfigs/g/GUIDANCE/GUIDANCE-2.02-GCC-12.3.0.eb new file mode 100644 index 00000000000..212a640042c --- /dev/null +++ b/easybuild/easyconfigs/g/GUIDANCE/GUIDANCE-2.02-GCC-12.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'GUIDANCE' +version = '2.02' + +homepage = 'https://taux.evolseq.net/guidance/' +description = """ +GUIDANCE is a software package for aligning biological sequences (DNA or +amino acids) using either MAFFT, PRANK, or CLUSTALW, and calculating +confidence scores for each column, sequence and residue in the alignment.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://taux.evolseq.net/guidance/static/download/'] +sources = ['%(namelower)s.v%(version)s.tar.gz'] +checksums = ['825e105dde526759fb5bda1cd539b24db0b90b8b586f26b1df74d9c5abaa7844'] + +dependencies = [ + ('Perl', '5.36.1'), + ('BioPerl', '1.7.8'), + ('Ruby', '3.3.0'), + ('MAFFT', '7.520', '-with-extensions'), + ('PRANK', '170427'), + ('ClustalW2', '2.1'), + ('MUSCLE', '5.1.0'), + ('PAGAN2', '1.53_20230824', '-linux64', SYSTEM), +] + +files_to_copy = ['programs', 'www'] + +_bins = ['isEqualTree', 'msa_set_score', 'removeTaxa', 'semphy'] + +postinstallcmds = [ + 'cd %(installdir)s && mkdir bin && cd bin' + ' && ' + ' && '.join(['ln -s ../programs/%s/%s' % (x, x) for x in _bins]) +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': [], +} + +sanity_check_commands = ['msa_set_score -h', 'semphy -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Gblocks/Gblocks-0.91b.eb b/easybuild/easyconfigs/g/Gblocks/Gblocks-0.91b.eb index efb17d72c5d..aa6af8aad5d 100644 --- a/easybuild/easyconfigs/g/Gblocks/Gblocks-0.91b.eb +++ b/easybuild/easyconfigs/g/Gblocks/Gblocks-0.91b.eb @@ -3,12 +3,12 @@ easyblock = 'Tarball' name = 'Gblocks' version = '0.91b' -homepage = 'http://molevol.cmima.csic.es/castresana/Gblocks.html' +homepage = 'https://www.biologiaevolutiva.org/jcastresana/Gblocks.html' description = "Selection of conserved blocks from multiple alignments for their use in phylogenetic analysis" toolchain = SYSTEM -source_urls = ['http://molevol.cmima.csic.es/castresana/Gblocks/'] +source_urls = ['https://www.biologiaevolutiva.org/jcastresana/Gblocks/'] sources = [{ 'filename': 'Gblocks_Linux64_%(version)s.tar.Z', 'extract_cmd': 'tar xfz %s' diff --git a/easybuild/easyconfigs/g/GenomeComb/GenomeComb-0.106.0-x86_64.eb b/easybuild/easyconfigs/g/GenomeComb/GenomeComb-0.106.0-x86_64.eb new file mode 100644 index 00000000000..ac7291f9249 --- /dev/null +++ b/easybuild/easyconfigs/g/GenomeComb/GenomeComb-0.106.0-x86_64.eb @@ -0,0 +1,29 @@ +easyblock = 'PackedBinary' + +name = 'GenomeComb' +version = '0.106.0' +versionsuffix = '-x86_64' + +description = """ +Genomecomb is a package designed to analyze, combine, annotate and query genome +as well as transcriptome sequencing data. +""" +homepage = 'https://github.com/derijkp/genomecomb' + +toolchain = SYSTEM + +source_urls = ['https://github.com/derijkp/genomecomb/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-Linux-x86_64.tar.gz'] +checksums = ['bf238688b8f060e5f93a748941e80f024e8c24e760906a6bc6e050de1cd9a2ae'] + +sanity_check_paths = { + 'files': ['cg', 'cedit', 'ctable', 'tclsh8.5', 'apps/cg/cg.tcl'], + 'dirs': ['bin', 'exts/genomecomb0.x', ] +} + +sanity_check_commands = [ + ('cg', 'help'), + ('cg', 'version samtools') +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Gerris/Gerris-20131206-gompi-2023a.eb b/easybuild/easyconfigs/g/Gerris/Gerris-20131206-gompi-2023a.eb new file mode 100644 index 00000000000..935d3835a63 --- /dev/null +++ b/easybuild/easyconfigs/g/Gerris/Gerris-20131206-gompi-2023a.eb @@ -0,0 +1,67 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Authors:: David Quigley (University of Warwick) +# License:: MIT/GPL +# $Id$ +# +## +easyblock = 'Bundle' + +name = 'Gerris' +version = '20131206' + +homepage = 'http://gfs.sourceforge.net/wiki/index.php/Main_Page' +description = """Gerris is a Free Software program for the solution of the partial + differential equations describing fluid flow""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +builddependencies = [ + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('GLib', '2.77.1'), # for GTS + ('gnuplot', '5.4.8'), # for gfsplot +] + +components = [ + ('GTS', '121130', { + 'easyblock': 'ConfigureMake', + 'source_urls': ['https://gts.sourceforge.net/tarballs/'], + 'sources': ['gts-snapshot-%(version)s.tar.gz'], + 'checksums': ['c23f72ab74bbf65599f8c0b599d6336fabe1ec2a09c19b70544eeefdc069b73b'], + 'start_dir': 'gts-snapshot-%(version)s', + }), + (name, version, { + 'easyblock': 'ConfigureMake', + 'source_urls': ['http://gerris.dalembert.upmc.fr/gerris/tarballs'], + 'sources': ['gerris-snapshot-131206.tar.gz'], + 'checksums': ['d5346a362b104ccc858c4b79938727d56c4654b103c268e54cf3aa56d0b55b39'], + 'start_dir': 'gerris-snapshot-%s' % version[2:], + 'preconfigopts': "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ", + 'prebuildopts': "sed -i 's/MPI_Errhandler_set/MPI_Comm_set_errhandler/g' src/init.c && ", + }), +] + +sanity_check_paths = { + 'files': ['bin/gerris2D', 'bin/gerris3D', 'bin/gfscompare2D', 'bin/gfscompare3D', + 'bin/gfsjoin', 'bin/gfsjoin2D', 'bin/gfsjoin3D', + 'include/gfs.h', 'include/gts.h', 'include/gtsconfig.h', + 'lib/libgfs2D.a', 'lib/libgfs2D.%s' % SHLIB_EXT, + 'lib/libgfs3D.a', 'lib/libgfs3D.%s' % SHLIB_EXT, 'lib/libgts.%s' % SHLIB_EXT], + 'dirs': ['share/gerris', 'include/gerris'] +} + +sanity_check_commands = [ + "gerris2D -h", + "gerris3D -h", + "gfscompare2D -h", + "gfscompare3D -h", + "gfsjoin -h", + "gfsjoin2D -h", + "gfsjoin3D -h", +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.02.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.02.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..61620daade7 --- /dev/null +++ b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.02.1-GCCcore-13.2.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'Ghostscript' +version = '10.02.1' + +homepage = 'https://ghostscript.com' +description = """Ghostscript is a versatile processor for PostScript data with the ability to render PostScript to + different targets. It used to be part of the cups printing stack, but is no longer used for that.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs%s/' % version.replace('.', ''), +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e429e4f5b01615a4f0f93a4128e8a1a4d932dff983b1774174c79c0630717ad9'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('libpng', '1.6.40'), + ('freetype', '2.13.2'), + ('libjpeg-turbo', '3.0.1'), + ('expat', '2.5.0'), + ('GLib', '2.78.1'), + ('cairo', '1.18.0'), + ('LibTIFF', '4.6.0'), + ('GTK3', '3.24.39'), +] + +# Do not use local copies of zlib, jpeg, freetype, and png +preconfigopts = 'mv zlib zlib.no && mv jpeg jpeg.no && mv freetype freetype.no && ' +preconfigopts += 'mv libpng libpng.no && export LIBS="$LIBS -L$EBROOTZLIB/lib -lz" && ' +configopts = "--with-system-libtiff --enable-dynamic --disable-hidden-visibility" + +# also build and install shared libs +build_cmd_targets = ['', 'so'] +installopts = 'soinstall' + +postinstallcmds = [ + # install header files + "mkdir -p %(installdir)s/include/%(namelower)s", + "install -v -m644 base/*.h %(installdir)s/include/%(namelower)s", + "install -v -m644 psi/*.h %(installdir)s/include/%(namelower)s", +] + +sanity_check_paths = { + 'files': ['bin/gs', 'lib/libgs.%s' % SHLIB_EXT], + 'dirs': ['lib/%(namelower)s', 'include/%(namelower)s', 'share/man'], +} + +sanity_check_commands = ["gs --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GitPython/GitPython-3.1.42-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GitPython/GitPython-3.1.42-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4f2c260be8e --- /dev/null +++ b/easybuild/easyconfigs/g/GitPython/GitPython-3.1.42-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'GitPython' +version = '3.1.42' + +homepage = 'https://gitpython.readthedocs.org' +description = """ GitPython is a python library used to interact with Git repositories """ + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), + ('git', '2.42.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('smmap', '5.0.1', { + 'checksums': ['dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62'], + }), + ('gitdb', '4.0.11', { + 'checksums': ['bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b'], + }), + (name, version, { + 'modulename': 'git', + 'checksums': ['2d99869e0fef71a73cbd242528105af1d6c1b108c60dfabd994bf292f76c3ceb'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8-intel-2021a.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8-intel-2021a.eb index 7959aad80fa..e4e9eeba6c6 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8-intel-2021a.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8-intel-2021a.eb @@ -14,8 +14,8 @@ sources = ['v%(version)s/ga-%(version)s.tar.gz'] checksums = ['64df7d1ea4053d24d84ca361e67a6f51c7b17ed7d626cb18a9fbc759f4a078ac'] configopts = ' --with-mpi --enable-i8' -configopts += ' --with-blas8="-L$MLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' -configopts += ' --with-scalapack8="L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' +configopts += ' --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' +configopts += ' --with-scalapack="-L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' configopts += '-lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"' # select armci network as (Comex) MPI-1 two-sided diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.1-intel-2022a.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.1-intel-2022a.eb index f2b34303ae9..5015406bc10 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.1-intel-2022a.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.1-intel-2022a.eb @@ -14,8 +14,8 @@ sources = ['v%(version)s/ga-%(version)s.tar.gz'] checksums = ['844639b52444f839854cf9735203a76a9052fd485f2d4eae70d21d03a7ecaade'] configopts = ' --with-mpi --enable-i8' -configopts += ' --with-blas8="-L$MLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' -configopts += ' --with-scalapack8="L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' +configopts += ' --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' +configopts += ' --with-scalapack="-L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' configopts += '-lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"' # select armci network as (Comex) MPI-1 two-sided diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2022a.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2022a.eb index 435986d2ef9..9c3e9f7dbf8 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2022a.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2022a.eb @@ -14,8 +14,8 @@ sources = ['v%(version)s/ga-%(version)s.tar.gz'] checksums = ['51599e4abfe36f05cecfaffa33be19efbe9e9fa42d035fd3f866469b663c22a2'] configopts = ' --with-mpi --enable-i8' -configopts += ' --with-blas8="-L$MLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' -configopts += ' --with-scalapack8="L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' +configopts += ' --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' +configopts += ' --with-scalapack="-L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' configopts += '-lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"' # select armci network as (Comex) MPI-1 two-sided diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2023a.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2023a.eb index 04f7174a29a..f3e14181a88 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2023a.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2023a.eb @@ -14,8 +14,8 @@ sources = ['v%(version)s/ga-%(version)s.tar.gz'] checksums = ['51599e4abfe36f05cecfaffa33be19efbe9e9fa42d035fd3f866469b663c22a2'] configopts = ' --with-mpi --enable-i8' -configopts += ' --with-blas8="-L$MLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' -configopts += ' --with-scalapack8="L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' +configopts += ' --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' +configopts += ' --with-scalapack="-L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' configopts += '-lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"' # select armci network as (Comex) MPI-1 two-sided diff --git a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.2-GCCcore-10.3.0.eb index fad3ae66a6f..4ace65def06 100644 --- a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.2-GCCcore-10.3.0.eb @@ -17,14 +17,17 @@ source_urls = ['https://www.gnupg.org/ftp/gcrypt/gnutls/v%(version_major_minor)s sources = [SOURCELOWER_TAR_XZ] checksums = ['646e6c5a9a185faa4cea796d378a1ba8e1148dbb197ca6605f95986a25af2752'] -builddependencies = [('binutils', '2.36.1')] +builddependencies = [ + ('binutils', '2.36.1'), + ('pkgconf', '1.8.0'), +] dependencies = [ ('GMP', '6.2.1'), ('nettle', '3.7.2'), ('Guile', '2.2.7'), ('libtasn1', '4.17.0'), - ('libidn', '1.36'), + ('libidn2', '2.3.0'), ('p11-kit', '0.24.0'), ('zlib', '1.2.11'), ('zstd', '1.4.9'), @@ -32,7 +35,8 @@ dependencies = [ configopts = "--with-guile-site-dir=%(installdir)s/lib/guile --enable-openssl-compatibility " configopts += "--with-guile-site-ccache-dir=%(installdir)s/lib/guile/site-ccache " -configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions" +configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions " +configopts += "--with-idn --with-p11-kit --without-tpm" sanity_check_paths = { 'files': ['bin/%s' % x for x in ['certtool', 'gnutls-cli', 'gnutls-cli-debug', diff --git a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb index ea03e7cd2dc..bd61ab588dd 100644 --- a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb @@ -17,14 +17,17 @@ source_urls = ['https://www.gnupg.org/ftp/gcrypt/gnutls/v%(version_major_minor)s sources = [SOURCELOWER_TAR_XZ] checksums = ['fc59c43bc31ab20a6977ff083029277a31935b8355ce387b634fa433f8f6c49a'] -builddependencies = [('binutils', '2.37')] +builddependencies = [ + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] dependencies = [ ('GMP', '6.2.1'), ('nettle', '3.7.3'), ('Guile', '3.0.7'), ('libtasn1', '4.18.0'), - ('libidn', '1.38'), + ('libidn2', '2.3.2'), ('p11-kit', '0.24.1'), ('zlib', '1.2.11'), ('zstd', '1.5.0'), @@ -32,7 +35,8 @@ dependencies = [ configopts = "--with-guile-site-dir=%(installdir)s/lib/guile --enable-openssl-compatibility " configopts += "--with-guile-site-ccache-dir=%(installdir)s/lib/guile/site-ccache " -configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions" +configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions " +configopts += "--with-idn --with-p11-kit --without-tpm --without-tpm2" sanity_check_paths = { 'files': ['bin/%s' % x for x in ['certtool', 'gnutls-cli', 'gnutls-cli-debug', diff --git a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-11.3.0.eb index 8660253cc57..259078c2228 100644 --- a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-11.3.0.eb @@ -17,14 +17,17 @@ source_urls = ['https://www.gnupg.org/ftp/gcrypt/gnutls/v%(version_major_minor)s sources = [SOURCELOWER_TAR_XZ] checksums = ['c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114'] -builddependencies = [('binutils', '2.38')] +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] dependencies = [ ('GMP', '6.2.1'), ('nettle', '3.8'), ('Guile', '3.0.8'), ('libtasn1', '4.19.0'), - ('libidn', '1.41'), + ('libidn2', '2.3.2'), ('p11-kit', '0.24.1'), ('zlib', '1.2.12'), ('zstd', '1.5.2'), @@ -32,7 +35,8 @@ dependencies = [ configopts = "--with-guile-site-dir=%(installdir)s/lib/guile --enable-openssl-compatibility " configopts += "--with-guile-site-ccache-dir=%(installdir)s/lib/guile/site-ccache " -configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions" +configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions " +configopts += "--with-idn --with-p11-kit --with-zlib --with-zstd --without-brotli --without-tpm --without-tpm2" sanity_check_paths = { 'files': ['bin/%s' % x for x in ['certtool', 'gnutls-cli', 'gnutls-cli-debug', diff --git a/easybuild/easyconfigs/g/Go/Go-1.21.6.eb b/easybuild/easyconfigs/g/Go/Go-1.21.6.eb new file mode 100644 index 00000000000..7db3587245f --- /dev/null +++ b/easybuild/easyconfigs/g/Go/Go-1.21.6.eb @@ -0,0 +1,29 @@ +easyblock = 'Tarball' + +name = 'Go' +version = '1.21.6' + +homepage = 'https://www.golang.org' +description = """Go is an open source programming language that makes it easy to build + simple, reliable, and efficient software.""" + +toolchain = SYSTEM + +source_urls = ['https://storage.googleapis.com/golang/'] +local_archs = {'aarch64': 'arm64', 'x86_64': 'amd64'} +sources = ['go%%(version)s.linux-%s.tar.gz' % local_archs[ARCH]] +checksums = [{ + 'go%(version)s.linux-amd64.tar.gz': '3f934f40ac360b9c01f616a9aa1796d227d8b0328bf64cb045c7b8c4ee9caea4', + 'go%(version)s.linux-arm64.tar.gz': 'e2e8aa88e1b5170a0d495d7d9c766af2b2b6c6925a8f8956d834ad6b4cacbd9a', +}] + +sanity_check_paths = { + 'files': ['bin/go', 'bin/gofmt'], + 'dirs': ['api', 'doc', 'lib', 'pkg'], +} + +sanity_check_commands = ["go help"] + +modextravars = {'GOROOT': '%(installdir)s'} + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/Go/Go-1.22.1.eb b/easybuild/easyconfigs/g/Go/Go-1.22.1.eb new file mode 100644 index 00000000000..0432c4bc21e --- /dev/null +++ b/easybuild/easyconfigs/g/Go/Go-1.22.1.eb @@ -0,0 +1,29 @@ +easyblock = 'Tarball' + +name = 'Go' +version = '1.22.1' + +homepage = 'https://www.golang.org' +description = """Go is an open source programming language that makes it easy to build + simple, reliable, and efficient software.""" + +toolchain = SYSTEM + +source_urls = ['https://storage.googleapis.com/golang/'] +local_archs = {'aarch64': 'arm64', 'x86_64': 'amd64'} +sources = ['go%%(version)s.linux-%s.tar.gz' % local_archs[ARCH]] +checksums = [{ + 'go%(version)s.linux-amd64.tar.gz': 'aab8e15785c997ae20f9c88422ee35d962c4562212bb0f879d052a35c8307c7f', + 'go%(version)s.linux-arm64.tar.gz': 'e56685a245b6a0c592fc4a55f0b7803af5b3f827aaa29feab1f40e491acf35b8', +}] + +sanity_check_paths = { + 'files': ['bin/go', 'bin/gofmt'], + 'dirs': ['api', 'doc', 'lib', 'pkg'], +} + +sanity_check_commands = ["go help"] + +modextravars = {'GOROOT': '%(installdir)s'} + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/Gradle/Gradle-8.6-Java-17.eb b/easybuild/easyconfigs/g/Gradle/Gradle-8.6-Java-17.eb new file mode 100644 index 00000000000..d3224761b29 --- /dev/null +++ b/easybuild/easyconfigs/g/Gradle/Gradle-8.6-Java-17.eb @@ -0,0 +1,30 @@ +easyblock = 'PackedBinary' + +name = 'Gradle' +version = '8.6' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://gradle.org' +description = """Complete Gradle install. +From mobile apps to microservices, from small startups to big enterprises, +Gradle helps teams build, automate and deliver better software, faster. +""" + +toolchain = SYSTEM + +source_urls = ['https://services.gradle.org/distributions'] +sources = ['gradle-%(version)s-all.zip'] +checksums = ['85719317abd2112f021d4f41f09ec370534ba288432065f4b477b6a3b652910d'] + +dependencies = [ + ('Java', '17'), +] + +sanity_check_paths = { + 'files': ['bin/gradle'], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-5.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-5.0.0-GCCcore-11.3.0.eb index a2f44ff0ff8..10a270e5598 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-5.0.0-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-5.0.0-GCCcore-11.3.0.eb @@ -51,17 +51,21 @@ dependencies = [ preconfigopts = './autogen.sh NOCONFIG && ' -configopts = '--enable-python%s=yes ' % local_pyver_major -configopts += '--enable-guile=no --enable-lua=no --enable-ocaml=no ' -configopts += '--enable-r=no --enable-ruby=no --enable-php=no ' -# Use ltdl from libtool in EB -configopts += '--enable-ltdl --without-included-ltdl --disable-ltdl-install ' -configopts += '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib ' -# Override the hardcoded paths to Java libraries -configopts += '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux ' -configopts += '--with-javalibdir=$JAVA_HOME/lib' -configopts += '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib' -configopts += '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib' +_copts = [ + '--enable-python%s=yes' % local_pyver_major, + '--enable-guile=no --enable-lua=no --enable-ocaml=no', + '--enable-r=no --enable-ruby=no --enable-php=no', + # Use ltdl from libtool in EB + '--enable-ltdl --without-included-ltdl --disable-ltdl-install', + '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib', + # Override the hardcoded paths to Java libraries + '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux', + '--with-javalibdir=$JAVA_HOME/lib', + '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib', + '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib', +] + +configopts = ' '.join(_copts) prebuildopts = 'qmake -o cmd/gvedit/qMakefile cmd/gvedit/gvedit.pro && ' diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.2.0.eb index aa04b6e837c..c21c34aba1d 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.2.0.eb @@ -50,17 +50,21 @@ dependencies = [ preconfigopts = './autogen.sh NOCONFIG && ' -configopts = '--enable-python%s=yes ' % local_pyver_major -configopts += '--enable-guile=no --enable-lua=no --enable-ocaml=no ' -configopts += '--enable-r=no --enable-ruby=no --enable-php=no ' -# Use ltdl from libtool in EB -configopts += '--enable-ltdl --without-included-ltdl --disable-ltdl-install ' -configopts += '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib ' -# Override the hardcoded paths to Java libraries -configopts += '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux ' -configopts += '--with-javalibdir=$JAVA_HOME/lib' -configopts += '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib' -configopts += '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib' +_copts = [ + '--enable-python%s=yes' % local_pyver_major, + '--enable-guile=no --enable-lua=no --enable-ocaml=no', + '--enable-r=no --enable-ruby=no --enable-php=no', + # Use ltdl from libtool in EB + '--enable-ltdl --without-included-ltdl --disable-ltdl-install', + '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib', + # Override the hardcoded paths to Java libraries + '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux', + '--with-javalibdir=$JAVA_HOME/lib', + '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib', + '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib', +] + +configopts = ' '.join(_copts) prebuildopts = 'qmake -o cmd/gvedit/qMakefile cmd/gvedit/gvedit.pro && ' diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.3.0.eb index 9f0b7753a7f..f6cb4095265 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.3.0.eb @@ -50,17 +50,21 @@ dependencies = [ preconfigopts = './autogen.sh NOCONFIG && ' -configopts = '--enable-python%s=yes ' % local_pyver_major -configopts += '--enable-guile=no --enable-lua=no --enable-ocaml=no ' -configopts += '--enable-r=no --enable-ruby=no --enable-php=no ' -# Use ltdl from libtool in EB -configopts += '--enable-ltdl --without-included-ltdl --disable-ltdl-install ' -configopts += '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib ' -# Override the hardcoded paths to Java libraries -configopts += '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux ' -configopts += '--with-javalibdir=$JAVA_HOME/lib' -configopts += '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib' -configopts += '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib' +_copts = [ + '--enable-python%s=yes' % local_pyver_major, + '--enable-guile=no --enable-lua=no --enable-ocaml=no', + '--enable-r=no --enable-ruby=no --enable-php=no', + # Use ltdl from libtool in EB + '--enable-ltdl --without-included-ltdl --disable-ltdl-install', + '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib', + # Override the hardcoded paths to Java libraries + '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux', + '--with-javalibdir=$JAVA_HOME/lib', + '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib', + '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib', +] + +configopts = ' '.join(_copts) prebuildopts = 'qmake -o cmd/gvedit/qMakefile cmd/gvedit/gvedit.pro && ' diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022a.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-11.3.0.eb similarity index 90% rename from easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022a.eb rename to easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-11.3.0.eb index 580d4e0bffd..83d43fa2522 100644 --- a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022a.eb +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-11.3.0.eb @@ -12,8 +12,9 @@ A "greenlet", on the other hand, is a still more primitive notion of micro-threa scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. """ -toolchain = {'name': 'foss', 'version': '2022a'} +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +builddependencies = [('binutils', '2.38')] dependencies = [('Python', '3.10.4')] use_pip = True diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022b.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.2.0.eb similarity index 90% rename from easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022b.eb rename to easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.2.0.eb index 41e17923eb3..5c3a5d69c9d 100644 --- a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022b.eb +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.2.0.eb @@ -12,8 +12,9 @@ A "greenlet", on the other hand, is a still more primitive notion of micro-threa scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. """ -toolchain = {'name': 'foss', 'version': '2022b'} +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +builddependencies = [('binutils', '2.39')] dependencies = [('Python', '3.10.8')] use_pip = True diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f65f36ac930 --- /dev/null +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'Greenlet' +version = '2.0.2' + +homepage = 'https://github.com/python-greenlet/greenlet' + +description = """The greenlet package is a spin-off of Stackless, a version of CPython that +supports micro-threads called "tasklets". Tasklets run pseudo-concurrently (typically in a single +or a few OS-level threads) and are synchronized with data exchanges on "channels". +A "greenlet", on the other hand, is a still more primitive notion of micro-thread with no implicit +scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.3')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-3.0.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-3.0.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e596c78a961 --- /dev/null +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-3.0.2-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'Greenlet' +version = '3.0.2' + +homepage = 'https://github.com/python-greenlet/greenlet' + +description = """The greenlet package is a spin-off of Stackless, a version of CPython that +supports micro-threads called "tasklets". Tasklets run pseudo-concurrently (typically in a single +or a few OS-level threads) and are synchronized with data exchanges on "channels". +A "greenlet", on the other hand, is a still more primitive notion of micro-thread with no implicit +scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.3')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1c1129bc47266d83444c85a8e990ae22688cf05fb20d7951fd2866007c2ba9bc'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-3.0.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-3.0.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b57510fde43 --- /dev/null +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-3.0.3-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'Greenlet' +version = '3.0.3' + +homepage = 'https://github.com/python-greenlet/greenlet' + +description = """The greenlet package is a spin-off of Stackless, a version of CPython that +supports micro-threads called "tasklets". Tasklets run pseudo-concurrently (typically in a single +or a few OS-level threads) and are synchronized with data exchanges on "channels". +A "greenlet", on the other hand, is a still more primitive notion of micro-thread with no implicit +scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.5')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/Gurobi/Gurobi-11.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/Gurobi/Gurobi-11.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5003e385333 --- /dev/null +++ b/easybuild/easyconfigs/g/Gurobi/Gurobi-11.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,61 @@ +name = 'Gurobi' +version = '11.0.0' + +homepage = 'https://www.gurobi.com' +description = """The Gurobi Optimizer is a state-of-the-art solver for mathematical programming. +The solvers in the Gurobi Optimizer were designed from the ground up to exploit modern +architectures and multi-core processors, using the most advanced implementations of the +latest algorithms.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://packages.gurobi.com/%(version_major_minor)s/'] +sources = ['gurobi%(version)s_linux64.tar.gz'] +patches = ['Gurobi-11.0.0_use-eb-python-gurobi-shell.patch'] +checksums = [ + {'gurobi11.0.0_linux64.tar.gz': '6a1ec7499b230aea0542bc893bf0642ae8ce983dd5ef0c37cb3a253d827ce634'}, + {'Gurobi-11.0.0_use-eb-python-gurobi-shell.patch': + '566473a3ba4e35b0e74595368f9f4133fc4a3c97cca84154c4b938645786e663'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('gurobipy', '11.0.0', { + 'sources': ['gurobipy-%(version)s-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_%(arch)s.whl'], + 'checksums': [{ + 'gurobipy-%(version)s-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_aarch64.whl': + '096f63ca02fbe810bae25311be598c9d8c5874362e85eac46ef0a4fdb3eaf96b', + 'gurobipy-%(version)s-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl': + 'a98abda1cb45f548fff17370eb30cc6e187d04edc5d9984a68d194491598a993', + }], + }), +] + +# remove bundled Python interpreter in favour of the dependency in EB +postinstallcmds = ['rm %(installdir)s/bin/python*'] + +# license is mandatory for installation +# use EB_GUROBI_LICENSE_FILE environment variable, or +# uncomment and modify the following variable: +# license_file = '/path/to/my-license-file' + +modloadmsg = """Gurobi shell based on Python %(pyver)s can be launched with command `gurobi.sh` +Gurobi Python Interface can be loaded in Python %(pyver)s with 'import gurobipy' +""" + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/Gurobi/Gurobi-11.0.0_use-eb-python-gurobi-shell.patch b/easybuild/easyconfigs/g/Gurobi/Gurobi-11.0.0_use-eb-python-gurobi-shell.patch new file mode 100644 index 00000000000..84bb93258be --- /dev/null +++ b/easybuild/easyconfigs/g/Gurobi/Gurobi-11.0.0_use-eb-python-gurobi-shell.patch @@ -0,0 +1,17 @@ +Use the Python environement from EB in the Guroby Python shell +author: Alex Domingo (Vrije Universiteit Brussel), ported to Gurobi 11.0.0 by Kenneth Hoste (HPC-UGent) +--- gurobi1100/linux64/bin/gurobi.sh.orig 2024-02-12 19:31:52.884375084 +0100 ++++ gurobi1100/linux64/bin/gurobi.sh 2024-02-12 19:37:00.624272524 +0100 +@@ -7,10 +7,6 @@ + echo + fi + +-PATH=$GUROBI_HOME/bin:$PATH;export PATH +-LD_LIBRARY_PATH=$GUROBI_HOME/lib:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH +-PYTHONHOME=$GUROBI_HOME;export PYTHONHOME ++PYTHONSTARTUP=$EBROOTGUROBI/lib/gurobi.py;export PYTHONSTARTUP + +-PYTHONSTARTUP=$PYTHONHOME/lib/gurobi.py;export PYTHONSTARTUP +- +-$PYTHONHOME/bin/python3.11 "$@" ++$EBROOTPYTHON/bin/python "$@" diff --git a/easybuild/easyconfigs/g/gRPC/gRPC-1.62.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gRPC/gRPC-1.62.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6928ae22440 --- /dev/null +++ b/easybuild/easyconfigs/g/gRPC/gRPC-1.62.1-GCCcore-13.2.0.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'gRPC' +version = '1.62.1' + +homepage = 'https://grpc.io/' +description = """gRPC is a modern, open source, high-performance remote procedure call (RPC) +framework that can run anywhere. gRPC enables client and server applications to +communicate transparently, and simplifies the building of connected systems.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +github_account = 'grpc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['c9f9ae6e4d6f40464ee9958be4068087881ed6aa37e30d0e64d40ed7be39dd01'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('Abseil', '20240116.1'), + ('c-ares', '1.27.0'), + ('protobuf', '25.3'), + ('zlib', '1.2.13'), + ('RE2', '2024-03-01'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += "-DgRPC_ABSL_PROVIDER=package " +configopts += "-DgRPC_CARES_PROVIDER=package " +configopts += "-DgRPC_PROTOBUF_PROVIDER=package " +configopts += "-DgRPC_RE2_PROVIDER=package " +configopts += "-DgRPC_SSL_PROVIDER=package " +configopts += "-DgRPC_ZLIB_PROVIDER=package " + +_grpc_plugins = ['cpp', 'csharp', 'node', 'objective_c', 'php', 'python', 'ruby'] + +sanity_check_paths = { + 'files': ['bin/grpc_%s_plugin' % x for x in _grpc_plugins] + + ['lib/libgrpc.%s' % SHLIB_EXT, 'lib/libgrpc++.%s' % SHLIB_EXT], + 'dirs': ['include/grpc', 'include/grpc++', 'include/grpcpp'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gawk/gawk-5.3.0-GCC-12.2.0.eb b/easybuild/easyconfigs/g/gawk/gawk-5.3.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..f006f242595 --- /dev/null +++ b/easybuild/easyconfigs/g/gawk/gawk-5.3.0-GCC-12.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'gawk' +version = '5.3.0' + +homepage = 'https://www.gnu.org/software/gawk' +description = """The awk utility interprets a special-purpose programming language that makes it possible to handle +simple data-reformatting jobs with just a few lines of code.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['378f8864ec21cfceaa048f7e1869ac9b4597b449087caf1eb55e440d30273336'] + +sanity_check_paths = { + 'files': ['bin/gawk'], + 'dirs': [], +} + +sanity_check_commands = ["gawk --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gawk/gawk-5.3.0-GCC-13.2.0.eb b/easybuild/easyconfigs/g/gawk/gawk-5.3.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..11cfb94968b --- /dev/null +++ b/easybuild/easyconfigs/g/gawk/gawk-5.3.0-GCC-13.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'gawk' +version = '5.3.0' + +homepage = 'https://www.gnu.org/software/gawk' +description = """The awk utility interprets a special-purpose programming language that makes it possible to handle +simple data-reformatting jobs with just a few lines of code.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['378f8864ec21cfceaa048f7e1869ac9b4597b449087caf1eb55e440d30273336'] + +sanity_check_paths = { + 'files': ['bin/gawk'], + 'dirs': [], +} + +sanity_check_commands = ["gawk --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gcsfs/gcsfs-2023.12.2.post1-foss-2023a.eb b/easybuild/easyconfigs/g/gcsfs/gcsfs-2023.12.2.post1-foss-2023a.eb new file mode 100644 index 00000000000..b74e4bba675 --- /dev/null +++ b/easybuild/easyconfigs/g/gcsfs/gcsfs-2023.12.2.post1-foss-2023a.eb @@ -0,0 +1,87 @@ +easyblock = "PythonBundle" + +name = 'gcsfs' +version = '2023.12.2.post1' + +homepage = 'https://github.com/fsspec/gcsfs' +description = """Pythonic file-system interface for Google Cloud Storage.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.7.1')] + +dependencies = [ + ('Python', '3.11.3'), + ('aiohttp', '3.8.5'), + ('protobuf-python', '4.24.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('googleapis-common-protos', '1.62.0', { + 'modulename': 'google.api.annotations_pb2', + 'checksums': ['83f0ece9f94e5672cced82f592d2a5edf527a96ed1794f0bab36d5735c996277'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('pyasn1-modules', '0.3.0', { + 'source_tmpl': 'pyasn1_modules-%(version)s.tar.gz', + 'checksums': ['5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c'], + }), + ('cachetools', '5.3.2', { + 'checksums': ['086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('google-resumable-media', '2.7.0', { + 'modulename': 'google.resumable_media', + 'checksums': ['5f18f5fa9836f4b083162064a1c2c98c17239bfda9ca50ad970ccf905f3e625b'], + }), + ('google-crc32c', '1.5.0', { + 'modulename': 'google_crc32c', + 'checksums': ['89284716bc6a5a415d4eaa11b1726d2d60a0cd12aadf5439828353662ede9dd7'], + }), + ('g', '0.0.3', { + 'checksums': ['988738c40b80bc382a2bfc776e86b616867601a882729296a1902c9c9e7cc4d6'], + }), + ('google-cloud-core', '2.4.1', { + 'modulename': 'google.cloud.environment_vars', + 'checksums': ['9b7749272a812bde58fff28868d0c5e2f585b82f37e09a1f6ed2d4d10f134073'], + }), + ('google-api-core', '2.15.0', { + 'modulename': 'google.api_core', + 'checksums': ['abc978a72658f14a2df1e5e12532effe40f94f868f6e23d95133bd6abcca35ca'], + }), + ('decorator', '5.1.1', { + 'checksums': ['637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330'], + }), + ('fsspec', '2023.12.2', { + 'checksums': ['8548d39e8810b59c38014934f6b31e57f40c1b20f911f4cc2b85389c7e9bf0cb'], + }), + ('google-auth', '2.26.2', { + 'modulename': 'google.auth', + 'checksums': ['97327dbbf58cccb58fc5a1712bba403ae76668e64814eb30f7316f7e27126b81'], + }), + ('google-auth-oauthlib', '1.2.0', { + 'checksums': ['292d2d3783349f2b0734a0a0207b1e1e322ac193c2c09d8f7c613fb7cc501ea8'], + }), + ('google-cloud-storage', '2.14.0', { + 'modulename': 'google.cloud.storage', + 'checksums': ['2d23fcf59b55e7b45336729c148bb1c464468c69d5efbaee30f7201dd90eb97e'], + }), + ('requests', '2.31.0', { + 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], + }), + (name, version, { + 'checksums': ['e38b7e59580a1e490d62d55a47cba33b49a941b01917c3d6f6cfd2563371ab7b'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/geocube/geocube-0.4.3-foss-2023a.eb b/easybuild/easyconfigs/g/geocube/geocube-0.4.3-foss-2023a.eb new file mode 100644 index 00000000000..037c1876aba --- /dev/null +++ b/easybuild/easyconfigs/g/geocube/geocube-0.4.3-foss-2023a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'geocube' +version = '0.4.3' + +homepage = 'https://corteva.github.io/geocube' +description = "Tool to convert geopandas vector data into rasterized xarray data." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('geopandas', '0.14.2'), + ('rasterio', '1.3.9'), + ('rioxarray', '0.15.0'), +] + +use_pip = True + +exts_list = [ + ('cachetools', '5.3.1', { + 'checksums': ['dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b'], + }), + ('odc-geo', '0.4.1', { + 'modulename': 'odc.geo', + 'checksums': ['0b04d0835e783685f128453e4b4169d86d322632887bfee9c7dbde364a3c324d'], + }), + (name, version, { + 'checksums': ['d0deebbcd2cd169d466ef8f9e6419c8ee23914d10e00b8f7bd73f9bed468a0fb'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/geopandas/geopandas-0.14.2-foss-2023a.eb b/easybuild/easyconfigs/g/geopandas/geopandas-0.14.2-foss-2023a.eb new file mode 100644 index 00000000000..5ba4ab4b612 --- /dev/null +++ b/easybuild/easyconfigs/g/geopandas/geopandas-0.14.2-foss-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'geopandas' +version = '0.14.2' + +homepage = 'https://geopandas.org' +description = """GeoPandas is a project to add support for geographic data to pandas objects. +It currently implements GeoSeries and GeoDataFrame types which are subclasses of pandas.Series +and pandas.DataFrame respectively. GeoPandas objects can act on shapely geometry objects and +perform geometric operations.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('Shapely', '2.0.1'), + ('Fiona', '1.9.5'), + ('pyproj', '3.6.0'), + ('matplotlib', '3.7.2'), # optional + ('psycopg2', '2.9.9'), # optional + ('SQLAlchemy', '2.0.25'), # optional + ('networkx', '3.1'), # needed by mapclassify + ('scikit-learn', '1.3.1'), # needed by mapclassify + ('numba', '0.58.1'), # optional, numba extra in mapclassify +] + +use_pip = True + +exts_list = [ + ('mapclassify', '2.6.1', { + 'checksums': ['4441798d55a051e75206bf46dccfc8a8f8323aac8596d19961d11660c98677ca'], + 'use_pip_extras': 'numba', + }), + (name, version, { + 'checksums': ['6e71d57b8376f9fdc9f1c3aa3170e7e420e91778de854f51013ae66fd371ccdb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/geopy/geopy-2.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/geopy/geopy-2.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c04a5817a0c --- /dev/null +++ b/easybuild/easyconfigs/g/geopy/geopy-2.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'geopy' +version = '2.4.1' + +homepage = 'https://geopy.readthedocs.io/' +description = """geopy is a Python client for several popular geocoding web services. +geopy makes it easy for Python developers to locate the coordinates of +addresses, cities, countries, and landmarks across the globe using third-party +geocoders and other data sources.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True + +exts_list = [ + ('geographiclib', '2.0', { + 'checksums': ['f7f41c85dc3e1c2d3d935ec86660dc3b2c848c83e17f9a9e51ba9d5146a15859'], + }), + (name, version, { + 'checksums': ['50283d8e7ad07d89be5cb027338c6365a32044df3ae2556ad3f52f4840b3d0d1'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..576ab189247 --- /dev/null +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'gflags' +version = '2.2.2' + +homepage = 'https://github.com/gflags/gflags' +description = """ +The gflags package contains a C++ library that implements commandline flags +processing. It includes built-in support for standard types such as string +and the ability to define flags in the source file in which they are used. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gflags/gflags/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON' + +sanity_check_paths = { + 'files': ['bin/gflags_completions.sh'] + + ['lib/%s' % x for x in ['libgflags.%s' % SHLIB_EXT, 'libgflags_nothreads.%s' % SHLIB_EXT, + 'libgflags.a', 'libgflags_nothreads.a']] + + ['include/gflags/gflags_completions.h'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/git-annex/git-annex-10.20230802-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/git-annex/git-annex-10.20230802-GCCcore-12.2.0.eb index e5c29a0e6bb..2e2696826f6 100644 --- a/easybuild/easyconfigs/g/git-annex/git-annex-10.20230802-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/g/git-annex/git-annex-10.20230802-GCCcore-12.2.0.eb @@ -10,9 +10,10 @@ power and distributed nature of git to bear on your large files with git-annex." toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +builddependencies = [('binutils', '2.39')] + dependencies = [ ('GHC', '9.2.2', '-x86_64', SYSTEM), - ('GCC', '12.2.0', '', SYSTEM), ('Stack', '2.11.1', '-x86_64', SYSTEM), ('git', '2.38.1', '-nodocs'), ] diff --git a/easybuild/easyconfigs/g/git-annex/git-annex-10.20230802-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/git-annex/git-annex-10.20230802-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6b6af7f9eba --- /dev/null +++ b/easybuild/easyconfigs/g/git-annex/git-annex-10.20230802-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'MakeCp' + +name = 'git-annex' +version = '10.20230802' + +homepage = 'https://git-annex.branchable.com' +description = """git-annex allows managing large files with git, without storing the file contents in git. It can sync, +backup, and archive your data, offline and online. Checksums and encryption keep your data safe and secure. Bring the +power and distributed nature of git to bear on your large files with git-annex.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40') +] + +dependencies = [ + ('GHC', '9.4.6', '-x86_64', SYSTEM), + ('Stack', '2.13.1', '-x86_64', SYSTEM), + ('git', '2.41.0', '-nodocs'), +] + +sources = [{ + 'git_config': {'url': 'git://git-annex.branchable.com', + 'repo_name': '%(name)s', + 'tag': '%(version)s', + 'clone_into': '%(name)s-%(version)s', + }, + 'filename': '%(name)s-%(version)s.tar.gz', +}] + +checksums = [None] + +prebuildopts = "stack setup && stack build && " +buildopts = "install-bins BUILDER=stack PREFIX=%(builddir)s" + +files_to_copy = [ + (['git-annex', 'git-annex-shell'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/git-annex', 'bin/git-annex-shell'], + 'dirs': [], +} + +sanity_check_commands = ['git-annex version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/git-lfs/git-lfs-3.4.1.eb b/easybuild/easyconfigs/g/git-lfs/git-lfs-3.4.1.eb new file mode 100644 index 00000000000..eb4d2a3d366 --- /dev/null +++ b/easybuild/easyconfigs/g/git-lfs/git-lfs-3.4.1.eb @@ -0,0 +1,28 @@ +easyblock = 'MakeCp' + +name = 'git-lfs' +version = '3.4.1' + +homepage = 'https://git-lfs.github.com' +description = """Git Large File Storage (LFS) replaces large files such as audio + samples, videos, datasets, and graphics with text pointers inside Git, while + storing the file contents on a remote server like GitHub.com""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/git-lfs/git-lfs/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['2a36239d7968ae18e1ba2820dc664c4ef753f10bf424f98bccaf44d527f19a17'] + +builddependencies = [('Go', '1.21.6')] + +files_to_copy = [(['bin/%(name)s'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/git-lfs'], + 'dirs': [], +} + +sanity_check_commands = ["git-lfs --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/git-lfs/git-lfs-3.5.1.eb b/easybuild/easyconfigs/g/git-lfs/git-lfs-3.5.1.eb new file mode 100644 index 00000000000..2f12a414e2c --- /dev/null +++ b/easybuild/easyconfigs/g/git-lfs/git-lfs-3.5.1.eb @@ -0,0 +1,26 @@ +easyblock = 'GoPackage' + +name = 'git-lfs' +version = '3.5.1' + +homepage = 'https://git-lfs.github.com' +description = """Git Large File Storage (LFS) replaces large files such as audio + samples, videos, datasets, and graphics with text pointers inside Git, while + storing the file contents on a remote server like GitHub.com""" + +toolchain = SYSTEM + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d682a12c0bc48d08d28834dd0d575c91d53dd6c6db63c45c2db7c3dd2fb69ea4'] + +builddependencies = [('Go', '1.22.1')] + +sanity_check_paths = { + 'files': ['bin/git-lfs'], + 'dirs': [], +} + +sanity_check_commands = ["git-lfs --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.5-GCC-13.2.0.eb b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.5-GCC-13.2.0.eb new file mode 100644 index 00000000000..351a3aa10ef --- /dev/null +++ b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.5-GCC-13.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'gmpy2' +version = '2.1.5' + +homepage = 'https://github.com/aleaxit/gmpy' +description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['bc297f1fd8c377ae67a4f493fc0f926e5d1b157e5c342e30a4d84dc7b9f95d96'] + +dependencies = [ + ('Python', '3.11.5'), + ('GMP', '6.3.0'), + ('MPFR', '4.2.1'), + ('MPC', '1.3.1'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gperftools/gperftools-2.14-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/gperftools/gperftools-2.14-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..3b659f0b9c8 --- /dev/null +++ b/easybuild/easyconfigs/g/gperftools/gperftools-2.14-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'gperftools' +version = '2.14' + +homepage = 'https://github.com/gperftools/gperftools' +description = """ +gperftools is a collection of a high-performance multi-threaded malloc() +implementation, plus some pretty nifty performance analysis tools. +Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'gperftools' +source_urls = [GITHUB_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['ab456a74af2f57a3ee6c20462f73022d11f7ffc22e470fc06dec39692c0ee5f3'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), +] + +dependencies = [ + ('libunwind', '1.6.2'), +] + +preconfigopts = "autoreconf -f -i && " +configopts = '--enable-libunwind' + +sanity_check_paths = { + 'files': ['bin/pprof', 'lib/libprofiler.a', 'lib/libprofiler.%s' % SHLIB_EXT, + 'lib/libtcmalloc.a', 'lib/libtcmalloc.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/graph-tool/graph-tool-2.55-foss-2022a.eb b/easybuild/easyconfigs/g/graph-tool/graph-tool-2.55-foss-2022a.eb new file mode 100644 index 00000000000..4abdda53cdf --- /dev/null +++ b/easybuild/easyconfigs/g/graph-tool/graph-tool-2.55-foss-2022a.eb @@ -0,0 +1,57 @@ +# Author J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'graph-tool' +version = '2.55' + +homepage = 'https://graph-tool.skewed.de/' +description = """Graph-tool is an efficient Python module for manipulation and + statistical analysis of graphs (a.k.a. networks). Contrary to + most other python modules with similar functionality, the core + data structures and algorithms are implemented in C++, making + extensive use of template metaprogramming, based heavily on + the Boost Graph Library. This confers it a level of + performance that is comparable (both in memory usage and + computation time) to that of a pure C/C++ library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'cstd': 'c++17'} + +source_urls = ['https://downloads.skewed.de/%(name)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['75728e55b774af734954cd48f3d80ba64cf08864ef6143408f3a7422474834b4'] + +builddependencies = [ + ('gawk', '5.1.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Boost.Python', '1.79.0'), + ('expat', '2.4.8'), + ('CGAL', '4.14.3'), + ('sparsehash', '2.0.4'), + ('matplotlib', '3.5.2'), + ('PyCairo', '1.21.0'), + ('cairomm', '1.16.2'), + ('PyGObject', '3.42.1'), + ('GTK3', '3.24.33'), +] + +configopts = '--enable-openmp --with-cgal=$EBROOTCGAL --with-boost=$EBROOTBOOST ' +configopts += '--with-boost-python=boost_python310 ' +configopts += '--with-python-module-path=%(installdir)s/lib/python%(pyshortver)s/site-packages ' + + +sanity_check_paths = { + 'files': ['lib/python%(pyshortver)s/site-packages/graph_tool/all.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/graph_tool/include', 'share'], +} + +sanity_check_commands = ["python -c 'from graph_tool.all import graph_draw'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/groff/groff-1.23.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/groff/groff-1.23.0-GCCcore-13.2.0.eb index f280bc24144..dccb74c587a 100644 --- a/easybuild/easyconfigs/g/groff/groff-1.23.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/g/groff/groff-1.23.0-GCCcore-13.2.0.eb @@ -18,8 +18,6 @@ builddependencies = [ ('M4', '1.4.19'), ] -configopts = '--with-doc=no' - sanity_check_paths = { 'files': ['bin/groff', 'bin/nroff', 'bin/troff'], 'dirs': ['lib/groff', 'share'], diff --git a/easybuild/easyconfigs/g/gspell/gspell-1.12.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gspell/gspell-1.12.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d8589535afb --- /dev/null +++ b/easybuild/easyconfigs/g/gspell/gspell-1.12.2-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'ConfigureMake' + +name = 'gspell' +version = '1.12.2' + +homepage = 'https://gitlab.gnome.org/GNOME/gspell' +description = "gspell provides a flexible API to add spell-checking to a GTK application." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['b4e993bd827e4ceb6a770b1b5e8950fce3be9c8b2b0cbeb22fdf992808dd2139'] + +builddependencies = [ + ('binutils', '2.40'), + ('Vala', '0.56.14'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('GLib', '2.77.1'), + ('GTK3', '3.24.37'), + ('GObject-Introspection', '1.76.1'), + ('enchant-2', '2.6.5'), +] + +configopts = '--enable-introspection --enable-vala' + +sanity_check_paths = { + 'files': ['bin/%(name)s-app1', 'lib/lib%%(name)s-1.%s' % SHLIB_EXT], + 'dirs': ['include/%(name)s-1'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HDF-EOS2/HDF-EOS2-3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/HDF-EOS2/HDF-EOS2-3.0-GCCcore-11.3.0.eb index 6faf7065a64..58e32a5f2b2 100644 --- a/easybuild/easyconfigs/h/HDF-EOS2/HDF-EOS2-3.0-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/h/HDF-EOS2/HDF-EOS2-3.0-GCCcore-11.3.0.eb @@ -28,7 +28,9 @@ dependencies = [ preconfigopts = 'export CC="$EBROOTHDF/bin/h4cc -Df2cFortran" && ' -configopts = "--with-szlib=$EBROOTSZIP --enable-install-include" +# `--enable-install-include`` mentioned at https://hdfeos.org/software/hdfeos.php +# but not available, likely the default and the option removed. Recheck in next release! +configopts = "--with-szlib=$EBROOTSZIP " sanity_check_paths = { 'files': ['include/HdfEosDef.h', 'lib/libGctp.a', 'lib/libhdfeos.a'], diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.16-2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.16-2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6f54f50d488 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.16-2-GCCcore-13.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'ConfigureMake' + +name = 'HDF' +version = '4.2.16-2' + +homepage = 'https://www.hdfgroup.org/products/hdf4/' +description = """ + HDF (also known as HDF4) is a library and multi-object file format for + storing and managing data between machines. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://www.hdfgroup.org/ftp/%(name)s/releases/%(name)s%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] + +checksums = [ + 'a24b18312d421686031c2d66635f7d5abb2fe879f8a182b7e02797b0da8d1f6c', # %(namelower)s-%(version)s.tar.gz +] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] +dependencies = [ + ('libjpeg-turbo', '3.0.1'), + ('Szip', '2.1.1'), + ('zlib', '1.2.13'), + ('libtirpc', '1.3.4'), +] + +preconfigopts = "LIBS='-ltirpc' " + +local_common_configopts = '--with-szlib=$EBROOTSZIP CFLAGS="$CFLAGS -I$EBROOTLIBTIRPC/include/tirpc" ' +local_common_configopts += '--includedir=%(installdir)s/include/%(namelower)s ' + +configopts = [ + local_common_configopts, + # Cannot build shared libraries and Fortran... + # https://trac.osgeo.org/gdal/wiki/HDF#IncompatibilitywithNetCDFLibraries + # netcdf must be disabled to allow HDF to be used by GDAL + local_common_configopts + "--enable-shared --disable-fortran --disable-netcdf", +] + + +sanity_check_paths = { + 'files': ['bin/h4cc', 'bin/ncdump', 'lib/libdf.a', 'lib/libhdf4.settings', 'lib/libmfhdf.a', 'lib/libmfhdf.so'], + 'dirs': ['include/%(namelower)s'], +} + +sanity_check_commands = [ + "h4cc --help", + "ncdump -V", +] + +modextrapaths = {'CPATH': 'include/%(namelower)s'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-gompi-2023b.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-gompi-2023b.eb new file mode 100644 index 00000000000..f2aab3663a3 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-gompi-2023b.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.3' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['09cdb287aa7a89148c1638dd20891fdbae08102cf433ef128fd345338aa237c7'] + +# replace src include path with installation dir for $H5BLD_CPPFLAGS +_regex = 's, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g' +postinstallcmds = ['sed -i -r "%s" %%(installdir)s/bin/%s' % (_regex, x) for x in ['h5c++', 'h5pcc']] + +dependencies = [ + ('zlib', '1.2.13'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-iimpi-2023b.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-iimpi-2023b.eb new file mode 100644 index 00000000000..77fa0c12ab9 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-iimpi-2023b.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.3' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'iimpi', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['09cdb287aa7a89148c1638dd20891fdbae08102cf433ef128fd345338aa237c7'] + +# replace src include path with installation dir for $H5BLD_CPPFLAGS +_regex = 's, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g' +postinstallcmds = ['sed -i -r "%s" %%(installdir)s/bin/%s' % (_regex, x) for x in ['h5c++', 'h5pcc']] + +dependencies = [ + ('zlib', '1.2.13'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HF-Datasets/HF-Datasets-2.18.0-gfbf-2023a.eb b/easybuild/easyconfigs/h/HF-Datasets/HF-Datasets-2.18.0-gfbf-2023a.eb new file mode 100644 index 00000000000..6b7fb2bd5be --- /dev/null +++ b/easybuild/easyconfigs/h/HF-Datasets/HF-Datasets-2.18.0-gfbf-2023a.eb @@ -0,0 +1,52 @@ +easyblock = "PythonBundle" + +name = 'HF-Datasets' +version = '2.18.0' + +homepage = 'https://github.com/huggingface/datasets' +description = """ +The largest hub of ready-to-use datasets for ML models with fast, easy-to-use and efficient +data manipulation tools. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # for fsspec + ('SciPy-bundle', '2023.07'), + ('aiohttp', '3.8.5'), + ('dill', '0.3.7'), + ('Arrow', '14.0.1'), + ('PyYAML', '6.0'), + ('tqdm', '4.66.1'), + ('python-xxhash', '3.4.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('multiprocess', '0.70.15', { + 'checksums': ['f20eed3036c0ef477b07a4177cf7c1ba520d9a2677870a4f47fe026f0cd6787e'], + }), + ('huggingface-hub', '0.21.4', { + 'sources': ['huggingface_hub-%(version)s.tar.gz'], + 'checksums': ['e1f4968c93726565a80edf6dc309763c7b546d0cfe79aa221206034d50155531'], + }), + ('datasets', version, { + 'patches': [ + 'datasets-2.18.0_use-patched-pyarrow.patch', + 'datasets-2.18.0_add-option-to-use-softfilelock.patch', + ], + 'checksums': [ + {'datasets-2.18.0.tar.gz': 'cdf8b8c6abf7316377ba4f49f9589a4c74556d6b481afd0abd2284f3d69185cb'}, + {'datasets-2.18.0_use-patched-pyarrow.patch': + 'a42f23c94f3f4935aae7a01aebd04bacae518537ecb674efeb94d5af7a296061'}, + {'datasets-2.18.0_add-option-to-use-softfilelock.patch': + '18f3a3f3735afcbf9f4c19a2bd5bdb7221ca5ad13a36748df42404764a8cd0fc'}, + ], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HF-Datasets/datasets-2.18.0_add-option-to-use-softfilelock.patch b/easybuild/easyconfigs/h/HF-Datasets/datasets-2.18.0_add-option-to-use-softfilelock.patch new file mode 100644 index 00000000000..3dd607edc40 --- /dev/null +++ b/easybuild/easyconfigs/h/HF-Datasets/datasets-2.18.0_add-option-to-use-softfilelock.patch @@ -0,0 +1,29 @@ +This adds the possibility to control if FileLock of SoftFileLock is used with an environment variable. + +Useful in case the filesystem doesn't support filelocking, but can probably +lead to problems if you are not careful in how you use it. +https://github.com/huggingface/datasets/issues/6744 + +Author: Viktor Rehnberg vikren@chalmers.se (Chalmers University of Technology) + +diff --git a/src/datasets/utils/_filelock.py b/src/datasets/utils/_filelock.py +index 19620e6e..58f41a02 100644 +--- a/src/datasets/utils/_filelock.py ++++ b/src/datasets/utils/_filelock.py +@@ -18,11 +18,15 @@ + import os + + from filelock import FileLock as FileLock_ +-from filelock import UnixFileLock ++from filelock import SoftFileLock, UnixFileLock + from filelock import __version__ as _filelock_version + from packaging import version + + ++if os.getenv('HF_USE_SOFTFILELOCK', 'false').lower() in ('true', '1'): ++ FileLock_ = SoftFileLock ++ ++ + class FileLock(FileLock_): + """ + A `filelock.FileLock` initializer that handles long paths. diff --git a/easybuild/easyconfigs/h/HF-Datasets/datasets-2.18.0_use-patched-pyarrow.patch b/easybuild/easyconfigs/h/HF-Datasets/datasets-2.18.0_use-patched-pyarrow.patch new file mode 100644 index 00000000000..a05e05880bb --- /dev/null +++ b/easybuild/easyconfigs/h/HF-Datasets/datasets-2.18.0_use-patched-pyarrow.patch @@ -0,0 +1,32 @@ +pyarrow-hotfix is not needed as long as pyarrow>=14.0.1 + +Author: Viktor Rehnberg (vikren@chalmers.se) Chalmers University of Technology + +diff --git a/setup.py b/setup.py +index 5564cada..b04351a0 100644 +--- a/setup.py ++++ b/setup.py +@@ -113,10 +113,8 @@ REQUIRED_PKGS = [ + # We use numpy>=1.17 to have np.random.Generator (Dataset shuffling) + "numpy>=1.17", + # Backend and serialization. +- # Minimum 12.0.0 to be able to concatenate extension arrays +- "pyarrow>=12.0.0", +- # As long as we allow pyarrow < 14.0.1, to fix vulnerability CVE-2023-47248 +- "pyarrow-hotfix", ++ # Minimum 14.0.1 to fix vulnerability CVE-2023-47248 ++ "pyarrow>=14.0.1", + # For smart caching dataset processing + "dill>=0.3.0,<0.3.9", # tmp pin until dill has official support for determinism see https://github.com/uqfoundation/dill/issues/19 + # For performance gains with apache arrow +diff --git a/src/datasets/features/features.py b/src/datasets/features/features.py +index c2c7d8ff..2d061d85 100644 +--- a/src/datasets/features/features.py ++++ b/src/datasets/features/features.py +@@ -32,7 +32,6 @@ import pandas as pd + import pyarrow as pa + import pyarrow.compute as pc + import pyarrow.types +-import pyarrow_hotfix # noqa: F401 # to fix vulnerability on pyarrow<14.0.1 + from pandas.api.extensions import ExtensionArray as PandasExtensionArray + from pandas.api.extensions import ExtensionDtype as PandasExtensionDtype diff --git a/easybuild/easyconfigs/h/HeFFTe/HeFFTe-2.4.0-foss-2023b.eb b/easybuild/easyconfigs/h/HeFFTe/HeFFTe-2.4.0-foss-2023b.eb new file mode 100644 index 00000000000..63cedb53c47 --- /dev/null +++ b/easybuild/easyconfigs/h/HeFFTe/HeFFTe-2.4.0-foss-2023b.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'HeFFTe' +version = '2.4.0' + +homepage = 'https://icl.utk.edu/fft' +description = "Highly Efficient FFT for Exascale (HeFFTe) library" + +toolchain = {'name': 'foss', 'version': '2023b'} + +source_urls = ['https://github.com/icl-utk-edu/heffte/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['02310fb4f9688df02f7181667e61c3adb7e38baf79611d80919d47452ff7881d'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +build_shared_libs = True + +configopts = "-DHeffte_ENABLE_FFTW=ON -DFFTW_ROOT=$EBROOTFFTW -DHeffte_ENABLE_CUDA=OFF -DHeffte_ENABLE_MKL=OFF" + +sanity_check_paths = { + 'files': ['lib/libheffte.%s' % SHLIB_EXT], + 'dirs': ['include', 'lib/cmake/Heffte', 'share/heffte/examples'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/HepMC3/HepMC3-3.2.6-GCC-12.3.0.eb b/easybuild/easyconfigs/h/HepMC3/HepMC3-3.2.6-GCC-12.3.0.eb new file mode 100644 index 00000000000..294a54e451d --- /dev/null +++ b/easybuild/easyconfigs/h/HepMC3/HepMC3-3.2.6-GCC-12.3.0.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'CMakeMake' + +name = 'HepMC3' +version = '3.2.6' + +homepage = 'http://hepmc.web.cern.ch/hepmc/' +description = """HepMC is a standard for storing Monte Carlo event data.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://hepmc.web.cern.ch/hepmc/releases/'] +sources = [SOURCE_TAR_GZ] +checksums = ['248f3b5b36dd773844cbe73d51f60891458334b986b259754c59dbf4bbf1d525'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3') +] + +configopts = '-DHEPMC3_ENABLE_ROOTIO=OFF -Dmomentum=GEV -Dlength=MM ' +configopts += '-DHEPMC3_ENABLE_PYTHON=ON ' +configopts += '-DHEPMC3_Python_SITEARCH311=%(installdir)s/lib/python%(pyshortver)s/site-packages' + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libHepMC3.%s' % SHLIB_EXT], + 'dirs': ['include/HepMC3'] +} +sanity_check_commands = ["python -c 'import pyHepMC3'"] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/h/Hydra/Hydra-1.3.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/Hydra/Hydra-1.3.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b337a4b9f63 --- /dev/null +++ b/easybuild/easyconfigs/h/Hydra/Hydra-1.3.2-GCCcore-12.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'Hydra' +version = '1.3.2' + +homepage = "https://hydra.cc/" +description = """ +Hydra is an open-source Python framework that simplifies the development of +research and other complex applications. The key feature is the ability to +dynamically create a hierarchical configuration by composition and override it +through config files and the command line. The name Hydra comes from its +ability to run multiple similar jobs - much like a Hydra with multiple heads. +""" + +github_account = 'facebookresearch' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('Java', '17', '', SYSTEM), # needed by ANTLR runtime +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('PyYAML', '6.0'), # needed by omegaconf +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('antlr4-python3-runtime', '4.9', { + 'modulename': 'antlr4', + 'checksums': ['02d9afb720c13c52b336234286966cdf5aff704f230a513e635adb0d94de97ae'], + }), + ('omegaconf', '2.3.0', { + 'checksums': ['d5d4b6d29955cc50ad50c46dc269bcd92c6e00f5f90d23ab5fee7bfca4ba4cc7'], + }), + + ('hydra', version, { + 'source_urls': ['https://github.com/%(github_account)s/%(namelower)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['3f0f14305e9c6ae4b1dbcba344fe09dd0fc79c0a0656470c249f4f7ca46bf471'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-12.3.0.eb index 85919d3f2b7..5f163a17137 100644 --- a/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-12.3.0.eb @@ -21,18 +21,6 @@ use_pip = True sanity_pip_check = True exts_list = [ - ('tomli', '2.0.1', { - 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], - }), - ('packaging', '23.1', { - 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], - }), - ('setuptools_scm', '7.1.0', { - 'checksums': ['6c508345a771aad7d56ebff0e70628bf2b0ec7573762be9960214730de278f27'], - }), - ('typing_extensions', '4.6.3', { - 'checksums': ['d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5'], - }), ('pathspec', '0.11.1', { 'checksums': ['2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687'], }), diff --git a/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb index 765badccfff..c12f3b9d965 100644 --- a/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb @@ -21,18 +21,6 @@ use_pip = True sanity_pip_check = True exts_list = [ - ('tomli', '2.0.1', { - 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], - }), - ('packaging', '23.2', { - 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], - }), - ('setuptools-scm', '8.0.4', { - 'checksums': ['b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7'], - }), - ('typing_extensions', '4.8.0', { - 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], - }), ('pathspec', '0.11.2', { 'checksums': ['e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3'], }), diff --git a/easybuild/easyconfigs/h/hdWGCNA/hdWGCNA-0.3.00-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/h/hdWGCNA/hdWGCNA-0.3.00-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..fbee4bfaee9 --- /dev/null +++ b/easybuild/easyconfigs/h/hdWGCNA/hdWGCNA-0.3.00-foss-2023a-R-4.3.2.eb @@ -0,0 +1,51 @@ +easyblock = 'Bundle' + +name = 'hdWGCNA' +version = '0.3.00' +versionsuffix = '-R-%(rver)s' +local_biocver = '3.16' + +homepage = 'https://smorabit.github.io/hdWGCNA/' +description = """hdWGCNA is an R package for performing weighted gene co-expression network analysis (WGCNA) in high + dimensional transcriptomics data such as single-cell RNA-seq or spatial transcriptomics. hdWGCNA is highly modular + and can construct context-specific co-expression networks across cellular and spatial hierarchies. hdWGNCA identifies + modules of highly co-expressed genes and provides context for these modules via statistical testing and biological + knowledge sources. hdWGCNA uses datasets formatted as Seurat objects.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + +exts_defaultclass = 'RPackage' +exts_default_options = { + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], +} + +exts_list = [ + ('tester', '0.1.7', { + 'checksums': ['b9c645119c21c69450f3d366c911ed92ac7c14ef61652fd676a38fb9d420b5f4'], + }), + (name, version, { + 'source_urls': ['https://github.com/smorabit/hdWGCNA/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5ef9980f6d25b41af17ebad76722766db72fb8162d5ae7af4565893d26c9ed1f'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/hiredis/hiredis-1.2.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/hiredis/hiredis-1.2.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..81201ae4c9b --- /dev/null +++ b/easybuild/easyconfigs/h/hiredis/hiredis-1.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +# Author: Alexander Grund (TU Dresden) +# Based on EC by J. Sassmannshausen (Imperial College London) + +easyblock = 'CMakeMake' + +name = 'hiredis' +version = '1.2.0' + +homepage = 'https://github.com/redis/hiredis' +description = """Hiredis is a minimalistic C client library for the Redis database. + +It is minimalistic because it just adds minimal support for the protocol, +but at the same time it uses a high level printf-alike API in order to +make it much higher level than otherwise suggested by its minimal code base +and the lack of explicit bindings for every Redis command.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'redis' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['82ad632d31ee05da13b537c124f819eb88e18851d9cb0c30ae0552084811588c'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['lib/libhiredis.a', 'lib/libhiredis.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hiredis/hiredis-1.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/hiredis/hiredis-1.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c8967f81a57 --- /dev/null +++ b/easybuild/easyconfigs/h/hiredis/hiredis-1.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +# Author: Alexander Grund (TU Dresden) +# Based on EC by J. Sassmannshausen (Imperial College London) + +easyblock = 'CMakeMake' + +name = 'hiredis' +version = '1.2.0' + +homepage = 'https://github.com/redis/hiredis' +description = """Hiredis is a minimalistic C client library for the Redis database. + +It is minimalistic because it just adds minimal support for the protocol, +but at the same time it uses a high level printf-alike API in order to +make it much higher level than otherwise suggested by its minimal code base +and the lack of explicit bindings for every Redis command.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +github_account = 'redis' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['82ad632d31ee05da13b537c124f819eb88e18851d9cb0c30ae0552084811588c'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['lib/libhiredis.a', 'lib/libhiredis.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hmmlearn/hmmlearn-0.3.0-gfbf-2023a.eb b/easybuild/easyconfigs/h/hmmlearn/hmmlearn-0.3.0-gfbf-2023a.eb new file mode 100644 index 00000000000..a975c36d225 --- /dev/null +++ b/easybuild/easyconfigs/h/hmmlearn/hmmlearn-0.3.0-gfbf-2023a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'hmmlearn' +version = '0.3.0' + +homepage = 'https://github.com/hmmlearn/hmmlearn' +description = "hmmlearn is a set of algorithms for unsupervised learning and inference of Hidden Markov Models" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d13a91ea3695df881465e3d36132d7eef4e84d483f4ba538a4b46e24b5ea100f'] + +dependencies = [ + ('Python', '3.11.3'), + ('scikit-learn', '1.3.1'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/hunspell/hunspell-1.7.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/hunspell/hunspell-1.7.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..785dc7f2320 --- /dev/null +++ b/easybuild/easyconfigs/h/hunspell/hunspell-1.7.2-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +# Contribution from Imperial College London/UK +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'hunspell' +version = '1.7.2' + +homepage = 'https://hunspell.github.io/' +description = """Hunspell is a spell checker and morphological analyzer +library and program designed for languages with rich morphology and +complex word compounding or character encoding.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/hunspell/hunspell/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['69fa312d3586c988789266eaf7ffc9861d9f6396c31fc930a014d551b59bbd6e'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('gettext', '0.21.1'), +] + +preconfigopts = "autoreconf -vfi && " + +sanity_check_commands = [ + 'hunspell -h', +] + +sanity_check_paths = { + 'files': ['bin/hunspell', 'lib/libhunspell-%(version_major_minor)s.a', + 'lib/libhunspell-%%(version_major_minor)s.%s' % SHLIB_EXT, 'lib/pkgconfig/hunspell.pc'], + 'dirs': ['include/hunspell'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.0.2-GCCcore-8.2.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.0.2-GCCcore-8.2.0.eb index 72e874914ce..8cfa41cb0c5 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.0.2-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.0.2-GCCcore-8.2.0.eb @@ -35,8 +35,7 @@ dependencies = [ ('libpciaccess', '0.14'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.0.3-GCCcore-8.3.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.0.3-GCCcore-8.3.0.eb index 78cc42f4ed7..c9c64f7bbfc 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.0.3-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.0.3-GCCcore-8.3.0.eb @@ -35,8 +35,7 @@ dependencies = [ ('libpciaccess', '0.14'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.1.0-GCCcore-9.2.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.1.0-GCCcore-9.2.0.eb index ed6d9b15b31..4abf2d989ab 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.1.0-GCCcore-9.2.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.1.0-GCCcore-9.2.0.eb @@ -35,8 +35,7 @@ dependencies = [ ('libpciaccess', '0.16'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.2.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.2.0-GCCcore-10.2.0.eb index ddabd3a7381..f3d9db107b4 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.2.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.2.0-GCCcore-10.2.0.eb @@ -35,8 +35,7 @@ dependencies = [ ('libpciaccess', '0.16'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.2.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.2.0-GCCcore-9.3.0.eb index a109e5d7a9b..a4faff0a428 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.2.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.2.0-GCCcore-9.3.0.eb @@ -35,8 +35,7 @@ dependencies = [ ('libpciaccess', '0.16'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.4.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.4.1-GCCcore-10.3.0.eb index d107ffdc713..c073323d16a 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.4.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.4.1-GCCcore-10.3.0.eb @@ -38,8 +38,7 @@ dependencies = [ ('libpciaccess', '0.16'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.5.0-GCCcore-11.2.0.eb index 8f1e093450f..273bef65c43 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.5.0-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.5.0-GCCcore-11.2.0.eb @@ -35,8 +35,7 @@ dependencies = [ ('libpciaccess', '0.16'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.7.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.7.1-GCCcore-11.3.0.eb index 6b7a745c08c..15cba2b35a9 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.7.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.7.1-GCCcore-11.3.0.eb @@ -32,8 +32,7 @@ dependencies = [ ('libpciaccess', '0.16'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.8.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.8.0-GCCcore-12.2.0.eb index f6483901c2b..e1493dc0953 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.8.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.8.0-GCCcore-12.2.0.eb @@ -32,8 +32,7 @@ dependencies = [ ('libpciaccess', '0.17'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.9.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.9.1-GCCcore-12.3.0.eb index f3d054d78d2..f454c0bc263 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.9.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.9.1-GCCcore-12.3.0.eb @@ -32,8 +32,7 @@ dependencies = [ ('libpciaccess', '0.17'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.9.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.9.2-GCCcore-13.2.0.eb index 274d96ba85d..e0816fd2d78 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.9.2-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.9.2-GCCcore-13.2.0.eb @@ -32,8 +32,7 @@ dependencies = [ ('libpciaccess', '0.17'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/i/IDG/IDG-1.2.0-foss-2023b.eb b/easybuild/easyconfigs/i/IDG/IDG-1.2.0-foss-2023b.eb new file mode 100644 index 00000000000..1efa1555344 --- /dev/null +++ b/easybuild/easyconfigs/i/IDG/IDG-1.2.0-foss-2023b.eb @@ -0,0 +1,59 @@ +easyblock = 'CMakeMake' + +name = 'IDG' +version = '1.2.0' + +homepage = 'https://idg.readthedocs.io/' +description = """Image Domain Gridding (IDG) is a fast method for convolutional resampling (gridding/degridding) +of radio astronomical data (visibilities). Direction dependent effects (DDEs) or A-tems can be applied +in the gridding process. +The algorithm is described in "Image Domain Gridding: a fast method for convolutional resampling of visibilities", +Van der Tol (2018). +The implementation is described in "Radio-astronomical imaging on graphics processors", Veenboer (2020). +Please cite these papers in publications using IDG. +""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +sources = [ + { + 'filename': '%(name)s-v%(version)s.tar.gz', + # Repo uses git submodules, which are not included in the release tarballs. + # Thus, we let EasyBuild download directly from the git repository. + 'git_config': { + 'url': 'https://gitlab.com/astron-idg', + 'repo_name': '%(name)s', + 'tag': '%(version)s', + 'clone_into': '%(name)s', + 'recursive': True + } + }, +] +patches = ['IDG-1.2.0_fix-for-xsimd-error-on-neoverse-v1.patch'] +checksums = [ + None, # checksum for git clone source is non-deterministic + # IDG-1.2.0_fix-for-xsimd-error-on-neoverse-v1.patch + '3811028d7757cd7085501bf3209f8eb526eafb67caf2950110a25a7a072df3c1', +] + +builddependencies = [ + ('CMake', '3.27.6'), +] +dependencies = [ + ('Boost', '1.83.0'), + ('Python', '3.11.5'), +] + + +configopts = "-DBUILD_WITH_MPI=ON -DBUILD_WITH_PYTHON=ON " +configopts += "-DBUILD_WITH_DEMOS=ON " + +sanity_check_paths = { + 'files': [ + 'include/%(namelower)s-api.h', 'include/%(namelower)s.h', + 'lib/libidg.%s' % SHLIB_EXT, 'lib/libidg-api.%s' % SHLIB_EXT, + ], + 'dirs': ['include', 'lib', 'lib64'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/IDG/IDG-1.2.0_fix-for-xsimd-error-on-neoverse-v1.patch b/easybuild/easyconfigs/i/IDG/IDG-1.2.0_fix-for-xsimd-error-on-neoverse-v1.patch new file mode 100644 index 00000000000..619cd243570 --- /dev/null +++ b/easybuild/easyconfigs/i/IDG/IDG-1.2.0_fix-for-xsimd-error-on-neoverse-v1.patch @@ -0,0 +1,104 @@ +# Fix for XSIMD build error on Neoverse V1 +# See: https://github.com/xtensor-stack/xsimd/issues/1005 and https://github.com/xtensor-stack/xsimd/commit/1d8536b +# Mar 11th 2024 by T. Kok (SURF) +--- IDG.orig/external/aocommon/CMake/FetchXTensor.cmake 2024-03-11 11:27:53.254059321 +0100 ++++ IDG/external/aocommon/CMake/FetchXTensor.cmake 2024-03-11 11:28:41.974412520 +0100 +@@ -1,35 +1,68 @@ +-#Allow overriding XTensor versions +-if (NOT XTL_GIT_TAG) +- set(XTL_GIT_TAG 0.7.4) ++#Allow overriding XTensor versions, e.g., for testing a new version in DP3. ++#For avoiding ODR violations, repositories that use aocommon should not override ++#these versions in their master branch. That way, the XTensor versions will ++#be equal in all repositories. ++if (NOT xtl_GIT_TAG) ++ set(xtl_GIT_TAG b3d0091a77af52f1b479b5b768260be4873aa8a7) + endif() +-if (NOT XSIMD_GIT_TAG) +- set(XSIMD_GIT_TAG 8.1.0) ++if (NOT xsimd_GIT_TAG) ++ set(xsimd_GIT_TAG 1d8536b393171b899031f01b7c2d63858b05665c) + endif() +-if (NOT XTENSOR_GIT_TAG) +- set(XTENSOR_GIT_TAG 0.24.2) ++if (NOT xtensor_GIT_TAG) ++ set(xtensor_GIT_TAG 0.24.2) ++endif() ++if (NOT xtensor-blas_GIT_TAG) ++ set(xtensor-blas_GIT_TAG 0.20.0) ++endif() ++if (NOT xtensor-fftw_GIT_TAG) ++ set(xtensor-fftw_GIT_TAG e6be85a376624da10629b6525c81759e02020308) ++endif() ++ ++# By default, only load the basic 'xtensor' and 'xtl' modules. ++if (NOT XTENSOR_LIBRARIES) ++ set(XTENSOR_LIBRARIES xtl xtensor) # Load xtl first, since xtensor uses it. + endif() + + include(FetchContent) + +-FetchContent_Declare( +- xtl +- GIT_REPOSITORY https://github.com/xtensor-stack/xtl.git +- GIT_SHALLOW TRUE +- GIT_TAG ${XTL_GIT_TAG}) +-FetchContent_Declare( +- xsimd +- GIT_REPOSITORY https://github.com/xtensor-stack/xsimd.git +- GIT_SHALLOW TRUE +- GIT_TAG ${XSMID_GIT_TAG}) +-FetchContent_Declare( +- xtensor +- GIT_REPOSITORY https://github.com/xtensor-stack/xtensor.git +- GIT_SHALLOW TRUE +- GIT_TAG ${XTENSOR_GIT_TAG}) +- +-# Ensure XTensor headers are included as system headers. +-foreach(LIB xtl;xsimd;xtensor) +- FetchContent_MakeAvailable(${LIB}) +- get_target_property(IID ${LIB} INTERFACE_INCLUDE_DIRECTORIES) +- set_target_properties(${LIB} PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${IID}") +-endforeach() +\ No newline at end of file ++foreach(LIB ${XTENSOR_LIBRARIES}) ++ set(XT_GIT_TAG "${${LIB}_GIT_TAG}") ++ if (NOT XT_GIT_TAG) ++ message(FATAL_ERROR "Unknown git tag for XTensor library '${LIB}'") ++ endif() ++ ++ # Checking out a specific git commit hash does not (always) work when ++ # GIT_SHALLOW is TRUE. See the documentation for GIT_TAG in ++ # https://cmake.org/cmake/help/latest/module/ExternalProject.html ++ # -> If the GIT_TAG is a commit hash, use a non-shallow clone. ++ string(LENGTH "${XT_GIT_TAG}" XT_TAG_LENGTH) ++ set(XT_SHALLOW TRUE) ++ if(XT_TAG_LENGTH EQUAL 40 AND XT_GIT_TAG MATCHES "^[0-9a-f]+$") ++ set(XT_SHALLOW FALSE) ++ endif() ++ ++ FetchContent_Declare( ++ ${LIB} ++ GIT_REPOSITORY https://github.com/xtensor-stack/${LIB}.git ++ GIT_SHALLOW ${XT_SHALLOW} ++ GIT_TAG ${XT_GIT_TAG}) ++ ++ if ("${LIB}" STREQUAL "xtensor-fftw") ++ # Unlike the other libraries, xtensor-fftw does not define a CMake target. ++ # Its CMakeLists.txt also loads FFTW using custom options. ++ # -> Do not build this library, and define an INTERFACE target manually. ++ FetchContent_GetProperties(${LIB}) ++ if(NOT ${${LIB}_POPULATED}) ++ FetchContent_Populate(${LIB}) ++ endif() ++ add_library(${LIB} INTERFACE) ++ target_include_directories(${LIB} SYSTEM INTERFACE "${${LIB}_SOURCE_DIR}/include") ++ else() ++ FetchContent_MakeAvailable(${LIB}) ++ # Ensure XTensor headers are included as system headers. ++ get_target_property(IID ${LIB} INTERFACE_INCLUDE_DIRECTORIES) ++ set_target_properties(${LIB} PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${IID}") ++ endif() ++ ++endforeach() ++ diff --git a/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.2.7-gompi-2023a.eb b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.2.7-gompi-2023a.eb new file mode 100644 index 00000000000..eeb83687517 --- /dev/null +++ b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.2.7-gompi-2023a.eb @@ -0,0 +1,57 @@ +# Updated to v2.1.3 by +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'CMakeMake' + +name = 'IQ-TREE' +version = '2.2.2.7' + +# HTTPS is not working +homepage = 'http://www.iqtree.org/' +description = """Efficient phylogenomic software by maximum likelihood""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +# Including 'usempi' will take precedence and override IQTREE_FLAGS and produces only 'iqtree-mpi' binary + +source_urls = ['https://github.com/iqtree/iqtree2/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'IQ-TREE-2.1.2_use_EB_LSD2.patch', + 'IQ-TREE-2.2.1_fix-mpi.patch', +] +checksums = [ + {'v2.2.2.7.tar.gz': '407a1a56d352ba9c2152a1d708cd29db872a41c252fbdc7acd8e0de0da8af008'}, + {'IQ-TREE-2.1.2_use_EB_LSD2.patch': 'daa2ab12d44e26eb5607c4ed6acb9d970e230a83dabcf21461f37bc48263b816'}, + {'IQ-TREE-2.2.1_fix-mpi.patch': '9ead6808efd11d4c01dd265cca6094cffd6377746d3b2fc84b43d2faeee0777c'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Eigen', '3.4.0'), +] +dependencies = [ + ('zlib', '1.2.13'), + ('Boost', '1.82.0'), + ('LSD2', '2.4.1'), +] + +local_conf_opts = ' -DUSE_LSD2=ON ' +configopts = [ + '-DIQTREE_FLAGS=omp' + local_conf_opts, + '-DIQTREE_FLAGS=mpi -DCMAKE_C_COMPILER="$MPICC" -DCMAKE_CXX_COMPILER="$MPICXX"' + local_conf_opts, +] + +sanity_check_paths = { + 'files': ['bin/iqtree2', 'bin/iqtree2-mpi'], + 'dirs': [], +} + +sanity_check_commands = [ + "iqtree2 --help", + "mkdir -p $TMPDIR/{test-omp,test-mpi}", + "cd $TMPDIR/test-omp && cp -a %(installdir)s/example.phy . && iqtree2 -s example.phy -redo", + "cd $TMPDIR/test-mpi && cp -a %(installdir)s/example.phy . && mpirun -np 1 iqtree2-mpi -s example.phy -redo", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/ISA-L/ISA-L-2.31.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.31.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6ea1385fff1 --- /dev/null +++ b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.31.0-GCCcore-13.2.0.eb @@ -0,0 +1,46 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'ISA-L' +version = '2.31.0' + +homepage = 'https://github.com/intel/isa-l' +description = "Intelligent Storage Acceleration Library" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +github_account = 'intel' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e218b7b2e241cfb8e8b68f54a6e5eed80968cc387c4b1af03708b54e9fb236f1'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +dependencies = [('NASM', '2.16.01')] + +preconfigopts = 'autoreconf -i -f &&' + +runtest = 'check' + +local_bins = ['bin/igzip'] +local_includes = ['include/%(namelower)s.h'] +local_includes += ['include/isa-l/%s.h' % i for i in ['crc64', 'crc', 'erasure_code', 'gf_vect_mul', 'igzip_lib', + 'mem_routines', 'raid', 'test']] +local_libs = ['lib/libisal.%s' % k for k in ['a', 'la', SHLIB_EXT]] + +sanity_check_paths = { + 'files': local_bins + local_includes + local_libs, + 'dirs': ['bin', 'include', 'lib', 'share'], +} + +sanity_check_commands = [ + "igzip --help", + "igzip --version", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/ITSTool/ITSTool-2.0.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/i/ITSTool/ITSTool-2.0.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6e664d89808 --- /dev/null +++ b/easybuild/easyconfigs/i/ITSTool/ITSTool-2.0.7-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'ITSTool' +version = '2.0.7' + +homepage = 'http://itstool.org/' +description = "ITS Tool allows you to translate your XML documents with PO files" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['http://files.itstool.org/itstool/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['6b9a7cd29a12bb95598f5750e8763cee78836a1a207f85b74d8b3275b27e87ca'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('libxml2-python', '2.11.4'), +] + +sanity_check_paths = { + 'files': ['bin/itstool'], + 'dirs': ['share/itstool/its', 'share/man'], +} +sanity_check_commands = ["itstool --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.11-14-GCCcore-10.3.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.11-14-GCCcore-10.3.0.eb index d7f3007a2f9..f066d79bcb2 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.11-14-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.11-14-GCCcore-10.3.0.eb @@ -25,6 +25,8 @@ dependencies = [ ('LibTIFF', '4.2.0'), ('LittleCMS', '2.12'), ('Pango', '1.48.5'), + ('pixman', '0.40.0'), + ('FriBidi', '1.0.10'), ] builddependencies = [ diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-37-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-37-GCCcore-11.3.0.eb index f4a6a273ca9..efff91588b0 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-37-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-37-GCCcore-11.3.0.eb @@ -21,6 +21,8 @@ dependencies = [ ('LibTIFF', '4.3.0'), ('LittleCMS', '2.13.1'), ('Pango', '1.50.7'), + ('pixman', '0.40.0'), + ('FriBidi', '1.0.12'), ] builddependencies = [ diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-4-GCCcore-11.2.0.eb index ff34f39886c..c3033c0d080 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-4-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-4-GCCcore-11.2.0.eb @@ -21,6 +21,8 @@ dependencies = [ ('LibTIFF', '4.3.0'), ('LittleCMS', '2.12'), ('Pango', '1.48.8'), + ('pixman', '0.40.0'), + ('FriBidi', '1.0.10'), ] builddependencies = [ diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-53-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-53-GCCcore-12.2.0.eb index 67ede6c655f..1ddf40ec50a 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-53-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-53-GCCcore-12.2.0.eb @@ -21,6 +21,8 @@ dependencies = [ ('LibTIFF', '4.4.0'), ('LittleCMS', '2.14'), ('Pango', '1.50.12'), + ('pixman', '0.42.2'), + ('FriBidi', '1.0.12'), ] builddependencies = [ diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-15-GCCcore-12.3.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-15-GCCcore-12.3.0.eb index 3b1b4500899..9504c227680 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-15-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-15-GCCcore-12.3.0.eb @@ -25,6 +25,8 @@ dependencies = [ ('LibTIFF', '4.5.0'), ('LittleCMS', '2.15'), ('Pango', '1.50.14'), + ('pixman', '0.42.2'), + ('FriBidi', '1.0.12'), ] configopts = "--with-gslib --with-x" diff --git a/easybuild/easyconfigs/i/IntelDAAL/IntelDAAL-2019.4.007.eb b/easybuild/easyconfigs/i/IntelDAAL/IntelDAAL-2019.4.007.eb index 41a1c7f018a..303563656f0 100644 --- a/easybuild/easyconfigs/i/IntelDAAL/IntelDAAL-2019.4.007.eb +++ b/easybuild/easyconfigs/i/IntelDAAL/IntelDAAL-2019.4.007.eb @@ -15,7 +15,7 @@ version = '2019.4.007' homepage = 'https://software.intel.com/en-us/daal' description = """ -Intel® Data Analytics Acceleration Library (Intel® DAAL) is the library of +Intel® Data Analytics Acceleration Library (Intel® DAAL) is the library of Intel® architecture optimized building blocks covering all stages of data analytics: data acquisition from a data source, preprocessing, transformation, data mining, modeling, validation, and decision making. @@ -34,8 +34,10 @@ local_tbb_dir = "linux/tbb" modextrapaths = { 'CPLUS_INCLUDE_PATH': local_daal_dir + '/include', - 'LIBRARY_PATH': local_daal_dir + '/lib/intel64_lin/lib', - 'LIBRARY_PATH': local_tbb_dir + '/lib/intel64_lin/gcc4.4/libtbb', + 'LIBRARY_PATH': [ + local_daal_dir + '/lib/intel64_lin/lib', + local_tbb_dir + '/lib/intel64_lin/gcc4.4/libtbb', + ], 'PATH': local_daal_dir + '/bin' } diff --git a/easybuild/easyconfigs/i/InterOp/InterOp-1.2.4-foss-2021a.eb b/easybuild/easyconfigs/i/InterOp/InterOp-1.2.4-foss-2021a.eb new file mode 100644 index 00000000000..6aa75a120c3 --- /dev/null +++ b/easybuild/easyconfigs/i/InterOp/InterOp-1.2.4-foss-2021a.eb @@ -0,0 +1,49 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'CMakeMake' + +name = 'InterOp' +version = '1.2.4' + +homepage = 'https://illumina.github.io/interop/' +description = """The Illumina InterOp libraries are a set of common routines used for +reading InterOp metric files produced by Illumina sequencers including NextSeq +1k/2k and NovaSeqX. These libraries are backwards compatible and capable of +supporting prior releases of the software, with one exception: GA systems have +been excluded.""" + +software_license = 'LicenseGPLv3' +toolchain = {'name': 'foss', 'version': '2021a'} + +github_account = 'Illumina' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e10ee79f476d40f40a1d4c73074ea58088d82700239b1a2ae9633235afe894c3'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('SWIG', '4.0.2'), + ('Doxygen', '1.9.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +sanity_check_paths = { + 'files': ["lib64/libinterop_fpic_lib.a", "lib64/libinterop_lib.a", "README.md"], + 'dirs': ['bin', 'include', 'lib64', 'share', 'lib64/python'] +} + +sanity_check_commands = ["imaging_table"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IonQuant/IonQuant-1.10.12-Java-11.eb b/easybuild/easyconfigs/i/IonQuant/IonQuant-1.10.12-Java-11.eb new file mode 100644 index 00000000000..31a90a21391 --- /dev/null +++ b/easybuild/easyconfigs/i/IonQuant/IonQuant-1.10.12-Java-11.eb @@ -0,0 +1,37 @@ +easyblock = 'Tarball' + +name = 'IonQuant' +version = '1.10.12' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://ionquant.nesvilab.org/' +description = """IonQuant is a fast and comprehensive tool for MS1 precursor intensity-based + quantification for timsTOF PASEF DDA and non-timsTOF (e.g., Orbitrap) data. It enables label-free + quantification with false discovery (FDR) controlled match-between-runs (MBR). It can also be used + for quantification in labelling-based experiments such as those involving SILAC, dimethyl, or similar + labelling strategies. IonQuant is available as part of FragPipe.""" + +toolchain = SYSTEM + +sources = ['%(name)s-%(version)s.zip'] +checksums = ['861a633ab815a34ea54e6e26f318e19b510b25cb8955f3daeb83d6d10c6938ea'] + +download_instructions = 'Manual download required, see https://msfragger.arsci.com/ionquant/' + +dependencies = [('Java', '11')] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + "echo '#!/bin/sh' > %(installdir)s/bin/%(namelower)s", + "echo 'java -jar %(installdir)s/%(name)s-%(version)s.jar $@' >> %(installdir)s/bin/%(namelower)s", + "chmod a+rx %(installdir)s/bin/%(namelower)s", +] + +sanity_check_paths = { + 'files': ['%(name)s-%(version)s.jar'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s | grep '^Usage'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/igraph/igraph-0.10.10-foss-2023a.eb b/easybuild/easyconfigs/i/igraph/igraph-0.10.10-foss-2023a.eb new file mode 100644 index 00000000000..6ed3462390c --- /dev/null +++ b/easybuild/easyconfigs/i/igraph/igraph-0.10.10-foss-2023a.eb @@ -0,0 +1,41 @@ +# Author: Denis Krišťák (INUITS) +# Modified: Jasper Grimm (UoY) +# Update: Pavel Tománek (INUITS) + +easyblock = 'CMakeMake' + +name = 'igraph' +version = '0.10.10' + +homepage = 'https://igraph.org' +description = """igraph is a collection of network analysis tools with the emphasis on +efficiency, portability and ease of use. igraph is open source and free. igraph can be +programmed in R, Python and C/C++.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/igraph/igraph/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['6148f2e72a183ef5cd08324cccc73fa9eb8e54bb5a96c7f8f3c0465432ec2404'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('GLPK', '5.0'), + ('libxml2', '2.11.4'), + ('zlib', '1.2.13'), + ('arpack-ng', '3.9.0'), +] + +# Build static and shared libraries +configopts = ["-DBUILD_SHARED_LIBS=OFF", "-DBUILD_SHARED_LIBS=ON"] + +sanity_check_paths = { + 'files': ['include/igraph/igraph.h'] + ['lib/libigraph.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/igvShiny/igvShiny-20240112-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/i/igvShiny/igvShiny-20240112-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..b91cc438bab --- /dev/null +++ b/easybuild/easyconfigs/i/igvShiny/igvShiny-20240112-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'igvShiny' +local_commit = '5bcdc51' +version = '20240112' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/gladkia/igvShiny' +description = "An htmlwidget version of igv, for RStudio and Shiny apps" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/gladkia/igvShiny/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['ad28f7bfc7b355fb6d2593f7fbe31068f9bdfa14244719df959b91f0a0057ddc'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +options = {'modulename': name} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/iimkl/iimkl-2023b.eb b/easybuild/easyconfigs/i/iimkl/iimkl-2023b.eb new file mode 100644 index 00000000000..ace03ea0976 --- /dev/null +++ b/easybuild/easyconfigs/i/iimkl/iimkl-2023b.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimkl' +version = '2023b' + +homepage = 'https://software.intel.com/en-us/intel-cluster-toolkit-compiler/' +description = """Intel C/C++ and Fortran compilers, alongside Intel Math Kernel Library (MKL).""" + +toolchain = SYSTEM + +local_comp_ver = '2023.2.1' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('imkl', '2023.2.0', '', SYSTEM), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/imutils/imutils-0.5.4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/i/imutils/imutils-0.5.4-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..7fe7ef3814e --- /dev/null +++ b/easybuild/easyconfigs/i/imutils/imutils-0.5.4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'imutils' +version = '0.5.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/jrosebr1/imutils' +description = """A series of convenience functions to make basic image processing operations such as translation, +rotation, resizing, skeletonization, and displaying Matplotlib images easier with OpenCV and Python.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['03827a9fca8b5c540305c0844a62591cf35a0caec199cb0f2f0a4a0fb15d8f24'] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('OpenCV', '4.6.0', versionsuffix + '-contrib'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.3-foss-2023a.eb b/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.3-foss-2023a.eb new file mode 100644 index 00000000000..d4d503e0de6 --- /dev/null +++ b/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.3-foss-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'infercnvpy' +version = '0.4.3' + +homepage = 'https://github.com/icbi-lab/infercnvpy' +description = "Infer copy number variation (CNV) from scRNA-seq data. Plays nicely with Scanpy." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('hatchling', '1.18.0')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('tqdm', '4.66.1'), + ('IPython', '8.14.0'), + ('leidenalg', '0.10.2'), + ('scanpy', '1.9.8'), + ('anndata', '0.10.5.post1'), +] + +use_pip = True + +exts_list = [ + ('gtfparse', '1.3.0', { + 'checksums': ['d957f18e5f70413f89a28ef83068c461b6407eb38fd30e99b8da3d69143527b1'], + }), + ('pyreadr', '0.4.7', { + 'checksums': ['901110d62b4bedaef288f4db81425fb696edc721fe2c34c1083f5fb11050a73c'], + }), + ('session_info', '1.0.0', { + 'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'], + }), + (name, version, { + 'checksums': ['2ca7230742fda1a0e7e0d9652d290e6b303b9c08ff37c1e7a8459b4b6ec5742b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/inflection/inflection-1.3.5-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/i/inflection/inflection-1.3.5-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..af8c45ca393 --- /dev/null +++ b/easybuild/easyconfigs/i/inflection/inflection-1.3.5-foss-2023a-R-4.3.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'inflection' +version = '1.3.5' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/dchristop/inflection' +description = """inflection is a package that finds the inflection point of a planar curve which is given as a data frame + of discrete (xi,yi) points""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/dchristop/inflection/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['8087db8d60310e7a73956f9c8b1e305a917ce67d47a74acf41dbe16b466dd3a4'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5888f2f29d0 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'intervaltree-python' +_modname = 'intervaltree' +version = '3.1.0' + +homepage = 'https://github.com/chaimleib/intervaltree' +description = """A mutable, self-balancing interval tree. Queries may be by + point, by range overlap, or by range containment. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/i/%s' % _modname] +sources = ['%s-%s.tar.gz' % (_modname, version)] +checksums = ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': _modname} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4934ceb72f3 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +# Author: Jasper Grimm (UoY) +# Update: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'intervaltree-python' +_modname = 'intervaltree' +version = '3.1.0' + +homepage = 'https://github.com/chaimleib/intervaltree' +description = """A mutable, self-balancing interval tree. Queries may be by + point, by range overlap, or by range containment. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/i/%s' % _modname] +sources = ['%s-%s.tar.gz' % (_modname, version)] +checksums = ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': _modname} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3e6a69dcf98 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +# Updated: Denis Kristak (INUITS) +# Updated: Petr Král (INUITS) + +easyblock = 'ConfigureMake' + +name = 'intervaltree' +version = '0.1' + +homepage = 'https://github.com/ekg/intervaltree' +description = """An interval tree can be used to efficiently find a set of numeric intervals + overlapping or containing another interval. This library provides a basic implementation of an + interval tree using C++ templates, allowing the insertion of arbitrary types into the tree. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix-numeric_limits.patch'] +checksums = [ + '7ba41f164a98bdcd570f1416fde1634b23d3b0d885b11ccebeec76f58810c307', # v0.1.tar.gz + '1d69caf35af86c0a55000e1bde3f9a0f19dd63d1d2b6bd48e4e5fecbb1aaa6b0', # intervaltree-0.1_fix-numeric_limits.patch +] + +builddependencies = [('binutils', '2.40')] + +skipsteps = ['configure'] + +preinstallopts = 'DESTDIR="" PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/interval_tree_test', 'include/intervaltree/IntervalTree.h'], + 'dirs': [], +} +sanity_check_commands = ["interval_tree_test"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/iperf/iperf-3.16.eb b/easybuild/easyconfigs/i/iperf/iperf-3.16.eb new file mode 100644 index 00000000000..7cda6dab033 --- /dev/null +++ b/easybuild/easyconfigs/i/iperf/iperf-3.16.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'iperf' +version = '3.16' + +homepage = 'https://software.es.net/iperf' +description = "iperf is a tool for active measurements of the maximum achievable bandwidth on IP networks." + +toolchain = SYSTEM + +source_urls = ['https://downloads.es.net/pub/iperf/'] +sources = [SOURCE_TAR_GZ] +checksums = ['cc740c6bbea104398cc3e466befc515a25896ec85e44a662d5f4a767b9cf713e'] + +dependencies = [ + ('OpenSSL', '1.1'), +] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s iperf3 iperf"] + +sanity_check_paths = { + 'files': ['bin/iperf', 'include/iperf_api.h', 'lib/libiperf.a', 'lib/libiperf.%s' % SHLIB_EXT], + 'dirs': ['share/man'] +} + +sanity_check_commands = ["iperf --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb new file mode 100644 index 00000000000..e3b6c4b7437 --- /dev/null +++ b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'ipympl' +version = '0.9.3' + +homepage = 'https://matplotlib.org/ipympl' +description = """Leveraging the Jupyter interactive widgets framework, ipympl enables the +interactive features of matplotlib in the Jupyter notebook and in JupyterLab. +Besides, the figure canvas element is a proper Jupyter interactive widget which +can be positioned in interactive widget layouts. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('JupyterLab', '4.0.5'), + ('matplotlib', '3.7.2'), + ('Pillow', '10.0.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['d113cd55891bafe9b27ef99b6dd111a87beb6bb2ae550c404292272103be8013'], + }), +] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/Java/Java-19.0.2.eb b/easybuild/easyconfigs/j/Java/Java-19.0.2.eb new file mode 100644 index 00000000000..f856b0a1fd7 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-19.0.2.eb @@ -0,0 +1,30 @@ +name = 'Java' +version = '19.0.2' +local_build = '7' + +homepage = 'https://openjdk.org' +description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy +Java applications on desktops and servers.""" + +toolchain = SYSTEM + +local_tarball_tmpl = 'OpenJDK%%(version_major)sU-jdk_%s_linux_hotspot_%%(version)s_%s.tar.gz' + +# Using the Adoptium Eclipse Temurin builds, recommended by https://whichjdk.com/#distributions + +source_urls = ['https://github.com/adoptium/temurin%%(version_major)s-binaries/releases/download/jdk-%%(version)s+%s/' + % local_build] +sources = [local_tarball_tmpl % ('%(jdkarch)s', local_build)] + +checksums = [ + { + local_tarball_tmpl % ('x64', local_build): + '3a3ba7a3f8c3a5999e2c91ea1dca843435a0d1c43737bd2f6822b2f02fc52165', + local_tarball_tmpl % ('aarch64', local_build): + '1c4be9aa173cb0deb0d215643d9509c8900e5497290b29eee4bee335fa57984f', + local_tarball_tmpl % ('ppc64le', local_build): + '173d1256dfb9d13d309b5390e6bdf72d143b512201b0868f9d349d5ed3d64072', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-19.eb b/easybuild/easyconfigs/j/Java/Java-19.eb new file mode 100644 index 00000000000..0738b439179 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-19.eb @@ -0,0 +1,14 @@ +easyblock = 'ModuleRC' + +name = 'Java' +version = '19' + +homepage = 'https://java.com/' +description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy +Java applications on desktops and servers.""" + +toolchain = SYSTEM + +dependencies = [('Java', '%(version)s.0.2')] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-21.0.2.eb b/easybuild/easyconfigs/j/Java/Java-21.0.2.eb new file mode 100644 index 00000000000..e96da822b0b --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-21.0.2.eb @@ -0,0 +1,30 @@ +name = 'Java' +version = '21.0.2' +local_build = '13' + +homepage = 'https://openjdk.org' +description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy +Java applications on desktops and servers.""" + +toolchain = SYSTEM + +local_tarball_tmpl = 'OpenJDK%%(version_major)sU-jdk_%s_linux_hotspot_%%(version)s_%s.tar.gz' + +# Using the Adoptium Eclipse Temurin builds, recommended by https://whichjdk.com/#distributions + +source_urls = ['https://github.com/adoptium/temurin%%(version_major)s-binaries/releases/download/jdk-%%(version)s+%s/' + % local_build] +sources = [local_tarball_tmpl % ('%(jdkarch)s', local_build)] + +checksums = [ + { + local_tarball_tmpl % ('x64', local_build): + '454bebb2c9fe48d981341461ffb6bf1017c7b7c6e15c6b0c29b959194ba3aaa5', + local_tarball_tmpl % ('aarch64', local_build): + '3ce6a2b357e2ef45fd6b53d6587aa05bfec7771e7fb982f2c964f6b771b7526a', + local_tarball_tmpl % ('ppc64le', local_build): + 'd08de863499d8851811c893e8915828f2cd8eb67ed9e29432a6b4e222d80a12f', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-21.eb b/easybuild/easyconfigs/j/Java/Java-21.eb new file mode 100644 index 00000000000..46e84105b35 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-21.eb @@ -0,0 +1,14 @@ +easyblock = 'ModuleRC' + +name = 'Java' +version = '21' + +homepage = 'https://java.com/' +description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy +Java applications on desktops and servers.""" + +toolchain = SYSTEM + +dependencies = [('Java', '%(version)s.0.2')] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-8.402.eb b/easybuild/easyconfigs/j/Java/Java-8.402.eb new file mode 100644 index 00000000000..d130041813b --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-8.402.eb @@ -0,0 +1,31 @@ +name = 'Java' +version = '8.402' +local_build = 'b06' + +homepage = 'http://openjdk.java.net' +description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy +Java applications on desktops and servers.""" + +toolchain = SYSTEM + +local_tarball_tmpl = 'OpenJDK8U-jdk_%s_linux_hotspot_%%(version_major)su%%(version_minor)s%s.tar.gz' + +# Using the Adoptium Eclipse Temurin builds, recommended by https://whichjdk.com/#distributions + +source_urls = ['https://github.com/adoptium/temurin8-binaries/releases/download/' + 'jdk%%(version_major)su%%(version_minor)s-%s/' % local_build] +sources = [local_tarball_tmpl % ('%(jdkarch)s', local_build)] + +checksums = [ + { + local_tarball_tmpl % ('x64', local_build): + 'fcfd08abe39f18e719e391f2fc37b8ac1053075426d10efac4cbf8969e7aa55e', + local_tarball_tmpl % ('aarch64', local_build): + '241a72d6f0051de30c71e7ade95b34cd85a249c8e5925bcc7a95872bee81fd84', + local_tarball_tmpl % ('ppc64le', local_build): + '64bc05cdffe827c84000177dca2eb4ff0a8ff0021889bb75abff3639d4f51838', + + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-8.eb b/easybuild/easyconfigs/j/Java/Java-8.eb index 854eccb56cb..759f3e84bbe 100644 --- a/easybuild/easyconfigs/j/Java/Java-8.eb +++ b/easybuild/easyconfigs/j/Java/Java-8.eb @@ -9,6 +9,6 @@ Java applications on desktops and servers.""" toolchain = SYSTEM -dependencies = [('Java', '%(version)s.362')] +dependencies = [('Java', '%(version)s.402')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.10.0-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.10.0-linux-x86_64.eb new file mode 100644 index 00000000000..6671e1cd4ff --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.10.0-linux-x86_64.eb @@ -0,0 +1,31 @@ +easyblock = 'Tarball' + +name = 'Julia' +version = '1.10.0' +versionsuffix = '-linux-x86_64' + +homepage = 'https://julialang.org' +description = "Julia is a high-level, high-performance dynamic programming language for numerical computing" + +toolchain = SYSTEM + +source_urls = ['https://julialang-s3.julialang.org/bin/linux/x64/%(version_major_minor)s/'] +sources = ['%(namelower)s-%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['a7298207f72f2b27b2ab1ce392a6ea37afbd1fbee0f1f8d190b054dcaba878fe'] + +sanity_check_paths = { + 'files': ['bin/julia', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] +} + +sanity_check_commands = ['julia --help'] + +modextrapaths_append = { + # Use default DEPOT_PATH where first entry is user's depot. + # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have + # those installations appended to DEPOT_PATH without disabling any of the default paths. + # Appending ':' to make sure we don't override the user's custom JULIA_DEPOT_PATH if set. + 'JULIA_DEPOT_PATH': ':', +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.6.0-linux-aarch64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.6.0-linux-aarch64.eb new file mode 100644 index 00000000000..225d86de75a --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.6.0-linux-aarch64.eb @@ -0,0 +1,34 @@ +## +# Author: Robert Mijakovic +## +# Updated by: rungitta +easyblock = 'Tarball' + +name = 'Julia' +version = '1.6.0' +versionsuffix = '-linux-aarch64' + +homepage = 'https://julialang.org' +description = "Julia is a high-level, high-performance dynamic programming language for numerical computing" + +toolchain = SYSTEM + +source_urls = ['https://julialang-s3.julialang.org/bin/linux/aarch64/%(version_major_minor)s/'] +sources = ['%(namelower)s-%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['0f496972d26cea88151204d03e6bd87702aa1ff983de3b1e4f320c48ef67325f'] + +sanity_check_paths = { + 'files': ['bin/julia', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] +} + +sanity_check_commands = ['julia --help'] + +modextravars = { + # Use default DEPOT_PATH where first entry is user's depot + # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have + # those installations appended to DEPOT_PATH without disabling any of the default paths + 'JULIA_DEPOT_PATH': ':', +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.2-GCCcore-12.3.0.eb index 6e978bce869..a83e3042286 100644 --- a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.2-GCCcore-12.3.0.eb @@ -11,8 +11,6 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} builddependencies = [ ('binutils', '2.40'), - ('setuptools-rust', '1.6.0'), # Needed for bcrypt - ('Rust', '1.70.0'), # Needed for bcrypt ] dependencies = [ ('Python', '3.11.3'), @@ -21,6 +19,7 @@ dependencies = [ ('configurable-http-proxy', '4.5.6'), ('OpenSSL', '1.1', '', SYSTEM), ('tornado', '6.3.2'), + ('bcrypt', '4.0.1'), ('PycURL', '7.45.2'), # optional, recommended with large number of users ] @@ -111,9 +110,6 @@ exts_list = [ ('onetimepass', '1.0.1', { 'checksums': ['a569dac076d6e3761cbc55e36952144a637ca1b075c6d509de1c1dbc5e7f6a27'], }), - ('bcrypt', '4.0.1', { - 'checksums': ['27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd'], - }), ('jupyterhub-nativeauthenticator', '1.2.0', { 'modulename': 'nativeauthenticator', 'checksums': ['826228e6e9ca37736361e2e60c5723e245ec72e34fdc42cc218fc54a67f968e1'], diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.3-GCCcore-12.2.0.eb index ce74a883802..aa4cce7aaca 100644 --- a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.3-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.3-GCCcore-12.2.0.eb @@ -68,10 +68,7 @@ exts_list = [ sanity_check_commands = ["jupyter lab --help"] -modextrapaths = { - 'JUPYTER_PATH': 'share/jupyter', - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} modextravars = { # only one path allowed as JUPYTERLAB_DIR 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb index 19c7e8a6710..cc3dbfb5a12 100644 --- a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb @@ -63,10 +63,7 @@ sanity_check_paths = { sanity_check_commands = ['jupyter lab --help'] -modextrapaths = { - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', - 'JUPYTER_PATH': 'share/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} modextravars = {'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab'} diff --git a/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.2-GCCcore-12.3.0.eb index 8fb29542706..ce1d02d63c1 100644 --- a/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.2-GCCcore-12.3.0.eb @@ -36,9 +36,6 @@ sanity_check_paths = { sanity_check_commands = ['jupyter notebook --help'] -modextrapaths = { - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', - 'JUPYTER_PATH': 'share/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.3-GCCcore-12.2.0.eb index 2202fae1e72..afe231a13cf 100644 --- a/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.3-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.3-GCCcore-12.2.0.eb @@ -36,9 +36,6 @@ sanity_check_paths = { sanity_check_commands = ['jupyter notebook --help'] -modextrapaths = { - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', - 'JUPYTER_PATH': 'share/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/json-c/json-c-0.17-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/json-c/json-c-0.17-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..03fa34a87b9 --- /dev/null +++ b/easybuild/easyconfigs/j/json-c/json-c-0.17-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'json-c' +version = '0.17' +local_suff = '-20230812' + +homepage = 'https://github.com/json-c/json-c' +description = """JSON-C implements a reference counting object model that allows you to easily construct JSON objects + in C, output them as JSON formatted strings and parse JSON formatted strings back into the C representation of JSON +objects.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/json-c/json-c/archive/'] +sources = ['json-c-%%(version)s%s.tar.gz' % local_suff] +checksums = ['024d302a3aadcbf9f78735320a6d5aedf8b77876c8ac8bbb95081ca55054c7eb'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +# disable using Valgrind during the tests to avoid failures caused by using an OS Valgrind +pretestopts = 'USE_VALGRIND=0 ' +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libjson-c.a', 'lib/libjson-c.%s' % SHLIB_EXT, 'lib/pkgconfig/json-c.pc'], + 'dirs': ['include/json-c'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-intel-compilers-2022.1.0.eb new file mode 100644 index 00000000000..ad4f0350f35 --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-intel-compilers-2022.1.0.eb @@ -0,0 +1,32 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'json-fortran' +version = '8.3.0' + +homepage = 'https://github.com/jacobwilliams/json-fortran' +description = "JSON-Fortran: A Modern Fortran JSON API" + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} + +source_urls = ['https://github.com/jacobwilliams/json-fortran/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['5fe9ad709a726416cec986886503e0526419742e288c4e43f63c1c22026d1e8a'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +configopts = '-DUSE_GNU_INSTALL_CONVENTION=TRUE' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libjsonfortran.a', 'lib/libjsonfortran.%s' % SHLIB_EXT, + 'include/json_module.mod', 'include/json_parameters.mod'], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.0-GCCcore-12.3.0.eb index 02d3f79c0cb..0eadab83cb0 100644 --- a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.0-GCCcore-12.3.0.eb @@ -35,6 +35,6 @@ sanity_check_paths = { } # Add the notebook extension to the search path for jupyter notebooks -modextrapaths = {'JUPYTER_PATH': 'share/jupyter/'} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-12.2.0.eb index 2b029331d33..c2b3d7a52c4 100644 --- a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-12.2.0.eb @@ -38,9 +38,6 @@ exts_list = [ }), ] -modextrapaths = { - 'JUPYTER_PATH': 'share/jupyter', - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.0.0-GCCcore-12.3.0.eb index 5c1a64b9090..96efada6218 100644 --- a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.0.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.0.0-GCCcore-12.3.0.eb @@ -37,9 +37,6 @@ exts_list = [ }), ] -modextrapaths = { - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', - 'JUPYTER_PATH': 'share/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server/jupyter-core-5.3.1_fix_jupyter_path.patch b/easybuild/easyconfigs/j/jupyter-server/jupyter-core-5.3.1_fix_jupyter_path.patch new file mode 100644 index 00000000000..3ad978d9646 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-core-5.3.1_fix_jupyter_path.patch @@ -0,0 +1,34 @@ +# Patch jupyter_core to help jupyter find the correct installation path. +# +# If jupyter is installed by EasyBuild, jupyter is not in the same place as python. +# `EB_ENV_JUPYTER_ROOT` is used to indicate where jupyter are and should be set to +# the instllation path in easyconfigs. +# Avoid using `ENV_JUPYTER_PATH` and `ENV_CONFIG_PATH`. Otherwise user configuration +# has lower priority and cannot save their own settings. +# Author: Chia-Jung Hsu, 2024-01-31 +diff --git a/jupyter_core/paths.py b/jupyter_core/paths.py +index a7bf051..b38589c 100644 +--- a/jupyter_core/paths.py ++++ b/jupyter_core/paths.py +@@ -225,7 +225,10 @@ else: + ] + + ENV_JUPYTER_PATH: List[str] = [os.path.join(sys.prefix, "share", "jupyter")] +- ++if os.environ.get("EB_ENV_JUPYTER_ROOT"): ++ EB_ENV_JUPYTER_ROOT = [p.rstrip(os.sep) for p in os.environ["EB_ENV_JUPYTER_ROOT"].split(os.pathsep)] ++ ENV_JUPYTER_PATH = [str(Path(p, "share", "jupyter")) for p in EB_ENV_JUPYTER_ROOT] ++ + + def jupyter_path(*subdirs: str) -> List[str]: + """Return a list of directories to search for data files +@@ -303,6 +306,9 @@ else: + "/etc/jupyter", + ] + ENV_CONFIG_PATH: List[str] = [os.path.join(sys.prefix, "etc", "jupyter")] ++if os.environ.get("EB_ENV_JUPYTER_ROOT"): ++ EB_ENV_JUPYTER_ROOT = [p.rstrip(os.sep) for p in os.environ["EB_ENV_JUPYTER_ROOT"].split(os.pathsep)] ++ ENV_CONFIG_PATH = [str(Path(p, "etc", "jupyter")) for p in EB_ENV_JUPYTER_ROOT] + + + def jupyter_config_path() -> List[str]: diff --git a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.0-GCCcore-12.2.0.eb index 371d6d3a26f..77484efe933 100644 --- a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.0-GCCcore-12.2.0.eb @@ -61,7 +61,12 @@ exts_list = [ 'checksums': ['8b97c6c1e1681b78cbc9424b138d880f0803c2254c5ebaabdde57bb6c62093f2'], }), ('jupyter_core', '5.3.1', { - 'checksums': ['5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba'], + 'patches': ['jupyter-core-5.3.1_fix_jupyter_path.patch'], + 'checksums': [ + {'jupyter_core-5.3.1.tar.gz': '5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba'}, + {'jupyter-core-5.3.1_fix_jupyter_path.patch': + '030f1beb91987eb7519360c6d0b5c999f8843f00bca6a170f9ea5d3667ee61e5'}, + ], }), ('fastjsonschema', '2.17.1', { 'checksums': ['f4eeb8a77cef54861dbf7424ac8ce71306f12cbb086c45131bcba2c6a4f726e3'], @@ -168,10 +173,7 @@ exts_list = [ }), ] -modextrapaths = { - 'JUPYTER_PATH': 'share/jupyter', - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} sanity_check_paths = { 'files': [ diff --git a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb index 76b36f7551f..53722e2f4cb 100644 --- a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb @@ -53,7 +53,12 @@ exts_list = [ 'checksums': ['9502a3cca51f4fac40b5feca985b6703a5c1f6ad815588a7ca9e285b9dca6757'], }), ('jupyter_core', '5.3.1', { - 'checksums': ['5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba'], + 'patches': ['jupyter-core-5.3.1_fix_jupyter_path.patch'], + 'checksums': [ + {'jupyter_core-5.3.1.tar.gz': '5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba'}, + {'jupyter-core-5.3.1_fix_jupyter_path.patch': + '030f1beb91987eb7519360c6d0b5c999f8843f00bca6a170f9ea5d3667ee61e5'}, + ], }), ('fastjsonschema', '2.18.0', { 'checksums': ['e820349dd16f806e4bd1467a138dced9def4bc7d6213a34295272a6cac95b5bd'], @@ -182,9 +187,6 @@ sanity_check_paths = { sanity_check_commands = ['jupyter --help'] -modextrapaths = { - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', - 'JUPYTER_PATH': 'share/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-4.0.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-4.0.3-GCCcore-12.3.0.eb index f3a22452bde..f096b4542fa 100644 --- a/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-4.0.3-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-4.0.3-GCCcore-12.3.0.eb @@ -37,9 +37,6 @@ sanity_check_paths = { 'dirs': ['lib/python%(pyshortver)s/site-packages', 'share/jupyter'], } -modextrapaths = { - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', - 'JUPYTER_PATH': 'share/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/k/KaHIP/KaHIP-3.16-gompi-2023a.eb b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.16-gompi-2023a.eb new file mode 100644 index 00000000000..f631384b680 --- /dev/null +++ b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.16-gompi-2023a.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'KaHIP' +version = '3.16' + +homepage = 'https://kahip.github.io/' +description = """The graph partitioning framework KaHIP -- Karlsruhe High Quality Partitioning.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/KaHIP/KaHIP/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b0ef72a26968d37d9baa1304f7a113b61e925966a15e86578d44e26786e76c75'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ["lib/libkahip_static.a", "lib/libkahip.%s" % SHLIB_EXT] + + ["lib/libparhip_interface_static.a", "lib/libparhip_interface.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["kaHIP_interface.h", "parhip_interface.h"]], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3332d0fc7f8 --- /dev/null +++ b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-13.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Kaleido' +version = '0.2.1' + +homepage = 'https://github.com/plotly/Kaleido' +description = "Fast static image export for web-based visualization libraries with zero dependencies" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = ['kaleido-%(version)s-py2.py3-none-manylinux1_%(arch)s.whl'] +checksums = ['aa21cf1bf1c78f8fa50a9f7d45e1003c387bd3d6fe0a767cfbbf344b95bdc3a8'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [('Python', '3.11.5')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..13e81b38941 --- /dev/null +++ b/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# this is a bug fix to make sure the symlinks in bin are not getting destroyed +# by Easybuild when it is tidying up +# This build also links updateTaxonomy.sh and updateAccessions.sh in the bin folder +# so users can install their own Taxonomy database + +easyblock = 'Tarball' + +name = 'KronaTools' +version = '2.8.1' + +homepage = 'https://github.com/marbl/Krona/wiki/KronaTools' +description = """Krona Tools is a set of scripts to create Krona charts from +several Bioinformatics tools as well as from text and XML files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/marbl/Krona/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar'] +checksums = ['f3ab44bf172e1f846e8977c7443d2e0c9676b421b26c50e91fa996d70a6bfd10'] + +dependencies = [('Perl', '5.36.0')] + +postinstallcmds = [ + "cd %(installdir)s && ./install.pl --prefix=%(installdir)s;", + "cd %(installdir)s/bin && ln -s ../updateAccessions.sh . && ln -s ../updateTaxonomy.sh .", +] + +sanity_check_paths = { + 'files': ['bin/ktClassifyBLAST', 'bin/ktImportBLAST', 'bin/ktImportTaxonomy', + 'bin/updateAccessions.sh', 'bin/updateTaxonomy.sh'], + 'dirs': ['data', 'img', 'scripts'], +} + +sanity_check_commands = [ + "updateAccessions.sh --help", + "ktImportText", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5de20f3fd77 --- /dev/null +++ b/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# this is a bug fix to make sure the symlinks in bin are not getting destroyed +# by Easybuild when it is tidying up +# This build also links updateTaxonomy.sh and updateAccessions.sh in the bin folder +# so users can install their own Taxonomy database + +easyblock = 'Tarball' + +name = 'KronaTools' +version = '2.8.1' + +homepage = 'https://github.com/marbl/Krona/wiki/KronaTools' +description = """Krona Tools is a set of scripts to create Krona charts from +several Bioinformatics tools as well as from text and XML files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/marbl/Krona/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar'] +checksums = ['f3ab44bf172e1f846e8977c7443d2e0c9676b421b26c50e91fa996d70a6bfd10'] + +dependencies = [('Perl', '5.36.1')] + +postinstallcmds = [ + "cd %(installdir)s && ./install.pl --prefix=%(installdir)s;", + "cd %(installdir)s/bin && ln -s ../updateAccessions.sh . && ln -s ../updateTaxonomy.sh .", +] + +sanity_check_paths = { + 'files': ['bin/ktClassifyBLAST', 'bin/ktImportBLAST', 'bin/ktImportTaxonomy', + 'bin/updateAccessions.sh', 'bin/updateTaxonomy.sh'], + 'dirs': ['data', 'img', 'scripts'], +} + +sanity_check_commands = [ + "updateAccessions.sh --help", + "ktImportText", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-intel-compilers-2023.1.0.eb new file mode 100644 index 00000000000..0f7148a4b8d --- /dev/null +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-intel-compilers-2023.1.0.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'kim-api' +version = '2.3.0' + +homepage = 'https://openkim.org/' +description = """Open Knowledgebase of Interatomic Models. + +KIM is an API and OpenKIM is a collection of interatomic models (potentials) for +atomistic simulations. This is a library that can be used by simulation programs +to get access to the models in the OpenKIM database. + +This EasyBuild only installs the API, the models can be installed with the +package openkim-models, or the user can install them manually by running + kim-api-collections-management install user MODELNAME +or + kim-api-collections-management install user OpenKIM +to install them all. + """ + +toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} + +source_urls = ['https://s3.openkim.org/kim-api/'] +sources = ['%(name)s-%(version)s.txz'] +checksums = ['93673bb8fbc0625791f2ee67915d1672793366d10cabc63e373196862c14f991'] + +dependencies = [ + ('CMake', '3.26.3'), # Also needed to install models, thus not just a builddependency. +] + +parallel = 1 +separate_build_dir = True + +modextravars = { + 'KIM_API_CMAKE_PREFIX_DIR': '%(installdir)s/lib64' +} + +sanity_check_paths = { + 'files': ['bin/kim-api-collections-management', 'lib64/libkim-api.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_fix-timestep-balance-example.patch b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_fix-timestep-balance-example.patch new file mode 100644 index 00000000000..0c56cd2b7d0 --- /dev/null +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_fix-timestep-balance-example.patch @@ -0,0 +1,32 @@ +reduce timestep to fix sanity check commands, +see https://github.com/lammps/lammps/commit/9b88ba595d0f05e384cbe6c94cd42870ad15f3bc + https://github.com/lammps/lammps/pull/3950 +diff -ru lammps-stable_2Aug2023_update2.orig/examples/balance/in.balance lammps-stable_2Aug2023_update2/examples/balance/in.balance +--- lammps-stable_2Aug2023_update2.orig/examples/balance/in.balance 2023-12-15 03:09:30.000000000 +0100 ++++ lammps-stable_2Aug2023_update2/examples/balance/in.balance 2024-02-07 14:53:43.792799526 +0100 +@@ -50,5 +50,6 @@ + + thermo_style custom step temp epair press f_10[3] f_10 + thermo 100 ++timestep 0.001 + + run 10000 +diff -ru lammps-stable_2Aug2023_update2.orig/examples/balance/in.balance.bond.fast lammps-stable_2Aug2023_update2/examples/balance/in.balance.bond.fast +--- lammps-stable_2Aug2023_update2.orig/examples/balance/in.balance.bond.fast 2023-12-15 03:09:30.000000000 +0100 ++++ lammps-stable_2Aug2023_update2/examples/balance/in.balance.bond.fast 2024-02-07 14:55:03.844643449 +0100 +@@ -59,5 +59,6 @@ + + thermo_style custom step temp epair press f_10[3] f_10 + thermo 100 ++timestep 0.001 + + run 10000 +diff -ru lammps-stable_2Aug2023_update2.orig/examples/balance/in.balance.bond.slow lammps-stable_2Aug2023_update2/examples/balance/in.balance.bond.slow +--- lammps-stable_2Aug2023_update2.orig/examples/balance/in.balance.bond.slow 2023-12-15 03:09:30.000000000 +0100 ++++ lammps-stable_2Aug2023_update2/examples/balance/in.balance.bond.slow 2024-02-07 14:55:29.673468900 +0100 +@@ -58,5 +58,6 @@ + + thermo_style custom step temp epair press f_10[3] f_10 + thermo 100 ++timestep 0.001 + + run 40000 \ No newline at end of file diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch new file mode 100644 index 00000000000..521b7f23c1e --- /dev/null +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch @@ -0,0 +1,41 @@ +Add option in install.py to install lammps python packages in a configurable location +diff -ru lammps-stable_2Aug2023_update2.orig/python/install.py lammps-stable_2Aug2023_update2/python/install.py +--- lammps-stable_2Aug2023_update2.orig/python/install.py 2023-12-15 03:09:30.000000000 +0100 ++++ lammps-stable_2Aug2023_update2/python/install.py 2024-02-07 11:07:35.404221000 +0100 +@@ -27,6 +27,8 @@ + help="path to a directory where the created wheel will be stored") + parser.add_argument("-v", "--versionfile", required=True, + help="path to the LAMMPS version.h source file") ++parser.add_argument("-i", "--installdir", required=True, ++ help= "path to site-packages in lammps module") + + args = parser.parse_args() + +@@ -70,6 +72,14 @@ + else: + args.versionfile = os.path.abspath(args.versionfile) + ++if args.installdir: ++ if not os.path.exists(args.installdir): ++ print("\nERROR: LAMMPS site-packages file at %s does not exist\n" % args.installdir) ++ parser.print_help() ++ sys.exit(1) ++ else: ++ args.installdir = os.path.abspath(args.installdir) ++ + olddir = os.path.abspath('.') + pythondir = os.path.abspath(os.path.join(args.package,'..')) + os.putenv('LAMMPS_VERSION_FILE',os.path.abspath(args.versionfile)) +@@ -145,6 +155,12 @@ + py_exe = sys.executable + + try: ++ txt = subprocess.check_output([py_exe, '-m', 'pip', 'install', '--force-reinstall', wheel, '--target', args.installdir], stderr=subprocess.STDOUT, shell=False) ++ print(txt) ++ sys.exit(0) ++except subprocess.CalledProcessError as err: ++ sys.exit(0) ++try: + txt = subprocess.check_output([py_exe, '-m', 'pip', 'install', '--force-reinstall', wheel], stderr=subprocess.STDOUT, shell=False) + print(txt.decode('UTF-8')) + sys.exit(0) diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1.eb new file mode 100644 index 00000000000..9290ba4ecb2 --- /dev/null +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1.eb @@ -0,0 +1,188 @@ +name = 'LAMMPS' +version = '2Aug2023_update2' +_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = '-kokkos' + _cuda_suffix + +homepage = 'https://www.lammps.org' +description = """LAMMPS is a classical molecular dynamics code, and an acronym +for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has +potentials for solid-state materials (metals, semiconductors) and soft matter +(biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be +used to model atoms or, more generically, as a parallel particle simulator at +the atomic, meso, or continuum scale. LAMMPS runs on single processors or in +parallel using message-passing techniques and a spatial-decomposition of the +simulation domain. The code is designed to be easy to modify or extend with new +functionality. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True, 'usempi': True} + +# 'https://github.com/lammps/lammps/archive/' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['stable_%(version)s.tar.gz'] +patches = [ + 'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch', + 'LAMMPS-2Aug2023_fix-timestep-balance-example.patch', +] +checksums = [ + {'stable_2Aug2023_update2.tar.gz': '3bcecabc9cad08d0a4e4d989b52d29c58505f7ead8ebacf43c9db8d9fd3d564a'}, + {'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch': + '723c944b62b9d28427d25e80a7a67049631702d344df49268a6846aa0cd0fe04'}, + {'LAMMPS-2Aug2023_fix-timestep-balance-example.patch': + '6f68387ced2b4bd0a06e4c3d31b0ffd47042476777d87d8a0ca6b19a4e6a1777'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), + ('archspec', '0.2.1'), +] +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('UCX-CUDA', '1.14.1', _cuda_suffix), + ('NCCL', '2.18.3', _cuda_suffix), + ('Python', '3.11.3'), + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('netCDF', '4.9.2'), + ('GSL', '2.7'), + ('zlib', '1.2.13'), + ('gzip', '1.12'), + ('cURL', '8.0.1'), + ('HDF5', '1.14.0'), + ('PCRE', '8.45'), + ('libxml2', '2.11.4'), + ('FFmpeg', '6.0'), + ('Voro++', '0.4.6'), + ('kim-api', '2.3.0'), + ('Eigen', '3.4.0'), + ('PLUMED', '2.9.0'), + ('SciPy-bundle', '2023.07'), + # VTK package is auto-disabled if this dep is not available + ('VTK', '9.3.0'), + # We use a custom build of MDI + ('MDI', '1.4.26'), +] +if ARCH == 'x86_64': + # TBB and ScaFaCos are an optional dependency when building on Intel arch + dependencies += [ + ('tbb', '2021.11.0'), + ('ScaFaCoS', '1.0.4'), + ] + +# To use additional custom configuration options, use the 'configopts' easyconfig parameter +# See docs and lammps easyblock for more information. +# https://github.com/lammps/lammps/blob/master/cmake/README.md#lammps-configuration-options + +# OpenMP-Kokkos build is default in the current easyblock. One can switch to serial backend of Kokkos, +# which is claimed to be faster in pure MPI calculations +# configopts = "-DKokkos_ENABLE_SERIAL=yes " + + +# packages auto-enabled by easyblock +# 'GPU' - if cuda package is present and kokkos is disabled +# 'KOKKOS' - if kokkos is enabled (by default) +# 'INTEL' - if builing on Intel CPU +# 'OPENMP' - if OpenMP swithed on in 'toolchainopts' + +# include the following extra packages into the build +general_packages = [ + 'AMOEBA', + 'ASPHERE', + 'ATC', + 'AWPMD', + 'BOCS', + 'BODY', + 'BPM', + 'BROWNIAN', + 'CG-DNA', + 'CG-SPICA', + 'CLASS2', + 'COLLOID', + 'COLVARS', + 'COMPRESS', + 'CORESHELL', + 'DIELECTRIC', + 'DIFFRACTION', + 'DIPOLE', + 'DPD-BASIC', + 'DPD-MESO', + 'DPD-REACT', + 'DPD-SMOOTH', + 'DRUDE', + 'EFF', + 'ELECTRODE', + 'EXTRA-COMPUTE', + 'EXTRA-DUMP', + 'EXTRA-FIX', + 'EXTRA-MOLECULE', + 'EXTRA-PAIR', + 'FEP', + 'GRANULAR', + 'H5MD', + 'INTERLAYER', + 'KIM', + 'KSPACE', + 'LATBOLTZ', + 'LEPTON', + 'MACHDYN', + 'MANIFOLD', + 'MANYBODY', + 'MC', + 'MDI', + 'MEAM', + 'MGPT', + 'MISC', + 'ML-IAP', + 'ML-PACE', + 'ML-POD', + 'ML-RANN', + 'ML-SNAP', + 'MOFFF', + 'MOLECULE', + 'MOLFILE', + 'MPIIO', + 'NETCDF', + 'OPT', + 'ORIENT', + 'PERI', + 'PHONON', + 'PLUGIN', + 'PLUMED', + 'POEMS', + 'PTM', + 'PYTHON', + 'QEQ', + 'QTB', + 'REACTION', + 'REAXFF', + 'REPLICA', + 'RIGID', + 'SCAFACOS', + 'SHOCK', + 'SMTBQ', + 'SPH', + 'SPIN', + 'SRD', + 'TALLY', + 'UEF', + 'VORONOI', + 'VTK', + 'YAFF', +] + +# Excluded packages due to requiring additional (non-trivial) deps +# - ADIOS +# - LATTE +# - MESONT (requires very large files downloaded during build) +# - ML-HDNNP (requires N2P2) +# - ML-QUIP +# - MSCG +# - QMMM (setup seems complex) + +# hardware-specific option +# note: only the highest capability will be used +# cuda_compute_capabilities = ['9.0'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2023a-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2023a-kokkos.eb new file mode 100644 index 00000000000..b966e16ba10 --- /dev/null +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2023a-kokkos.eb @@ -0,0 +1,180 @@ +name = 'LAMMPS' +version = '2Aug2023_update2' +versionsuffix = '-kokkos' + +homepage = 'https://www.lammps.org' +description = """LAMMPS is a classical molecular dynamics code, and an acronym +for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has +potentials for solid-state materials (metals, semiconductors) and soft matter +(biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be +used to model atoms or, more generically, as a parallel particle simulator at +the atomic, meso, or continuum scale. LAMMPS runs on single processors or in +parallel using message-passing techniques and a spatial-decomposition of the +simulation domain. The code is designed to be easy to modify or extend with new +functionality. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True, 'usempi': True} + +# 'https://github.com/lammps/lammps/archive/' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['stable_%(version)s.tar.gz'] +patches = [ + 'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch', + 'LAMMPS-2Aug2023_fix-timestep-balance-example.patch', +] +checksums = [ + {'stable_2Aug2023_update2.tar.gz': '3bcecabc9cad08d0a4e4d989b52d29c58505f7ead8ebacf43c9db8d9fd3d564a'}, + {'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch': + '723c944b62b9d28427d25e80a7a67049631702d344df49268a6846aa0cd0fe04'}, + {'LAMMPS-2Aug2023_fix-timestep-balance-example.patch': + '6f68387ced2b4bd0a06e4c3d31b0ffd47042476777d87d8a0ca6b19a4e6a1777'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), + ('archspec', '0.2.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('netCDF', '4.9.2'), + ('GSL', '2.7'), + ('zlib', '1.2.13'), + ('gzip', '1.12'), + ('cURL', '8.0.1'), + ('HDF5', '1.14.0'), + ('PCRE', '8.45'), + ('libxml2', '2.11.4'), + ('FFmpeg', '6.0'), + ('Voro++', '0.4.6'), + ('kim-api', '2.3.0'), + ('Eigen', '3.4.0'), + ('PLUMED', '2.9.0'), + ('SciPy-bundle', '2023.07'), + # VTK package is auto-disabled if this dep is not available + ('VTK', '9.3.0'), + # We use a custom build of MDI + ('MDI', '1.4.26'), +] +if ARCH == 'x86_64': + # TBB and ScaFaCos are an optional dependency when building on Intel arch + dependencies += [ + ('tbb', '2021.11.0'), + ('ScaFaCoS', '1.0.4'), + ] + +# To use additional custom configuration options, use the 'configopts' easyconfig parameter +# See docs and lammps easyblock for more information. +# https://github.com/lammps/lammps/blob/master/cmake/README.md#lammps-configuration-options + +# OpenMP-Kokkos build is default in the current easyblock. One can switch to serial backend of Kokkos, +# which is claimed to be faster in pure MPI calculations +# configopts = "-DKokkos_ENABLE_SERIAL=yes " + + +# packages auto-enabled by easyblock +# 'GPU' - if cuda package is present and kokkos is disabled +# 'KOKKOS' - if kokkos is enabled (by default) +# 'INTEL' - if builing on Intel CPU +# 'OPENMP' - if OpenMP swithed on in 'toolchainopts' + +# include the following extra packages into the build +general_packages = [ + 'AMOEBA', + 'ASPHERE', + 'ATC', + 'AWPMD', + 'BOCS', + 'BODY', + 'BPM', + 'BROWNIAN', + 'CG-DNA', + 'CG-SPICA', + 'CLASS2', + 'COLLOID', + 'COLVARS', + 'COMPRESS', + 'CORESHELL', + 'DIELECTRIC', + 'DIFFRACTION', + 'DIPOLE', + 'DPD-BASIC', + 'DPD-MESO', + 'DPD-REACT', + 'DPD-SMOOTH', + 'DRUDE', + 'EFF', + 'ELECTRODE', + 'EXTRA-COMPUTE', + 'EXTRA-DUMP', + 'EXTRA-FIX', + 'EXTRA-MOLECULE', + 'EXTRA-PAIR', + 'FEP', + 'GRANULAR', + 'H5MD', + 'INTERLAYER', + 'KIM', + 'KSPACE', + 'LATBOLTZ', + 'LEPTON', + 'MACHDYN', + 'MANIFOLD', + 'MANYBODY', + 'MC', + 'MDI', + 'MEAM', + 'MGPT', + 'MISC', + 'ML-IAP', + 'ML-PACE', + 'ML-POD', + 'ML-RANN', + 'ML-SNAP', + 'MOFFF', + 'MOLECULE', + 'MOLFILE', + 'MPIIO', + 'NETCDF', + 'OPT', + 'ORIENT', + 'PERI', + 'PHONON', + 'PLUGIN', + 'PLUMED', + 'POEMS', + 'PTM', + 'PYTHON', + 'QEQ', + 'QTB', + 'REACTION', + 'REAXFF', + 'REPLICA', + 'RIGID', + 'SCAFACOS', + 'SHOCK', + 'SMTBQ', + 'SPH', + 'SPIN', + 'SRD', + 'TALLY', + 'UEF', + 'VORONOI', + 'VTK', + 'YAFF', +] + +# Excluded packages due to requiring additional (non-trivial) deps +# - ADIOS +# - LATTE +# - MESONT (requires very large files downloaded during build) +# - ML-HDNNP (requires N2P2) +# - ML-QUIP +# - MSCG +# - QMMM (setup seems complex) + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/LASTZ/LASTZ-1.04.22-GCC-12.3.0.eb b/easybuild/easyconfigs/l/LASTZ/LASTZ-1.04.22-GCC-12.3.0.eb new file mode 100644 index 00000000000..bd9b31a13ac --- /dev/null +++ b/easybuild/easyconfigs/l/LASTZ/LASTZ-1.04.22-GCC-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'LASTZ' +version = '1.04.22' + +homepage = 'https://github.com/lastz/lastz' +description = """ LASTZ is a program for aligning DNA sequences, a pairwise aligner. Originally designed to handle + sequences the size of human chromosomes and from different species, it is also useful for sequences produced by NGS + sequencing technologies such as Roche 454. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['4c829603ba4aed7ddf64255b528cd88850e4557382fca29580d3576c25c5054a'] + +skipsteps = ['configure'] + +buildopts = "allowBackToBackGaps=ON" + +installopts = 'installDir=%(installdir)s/bin' + +sanity_check_paths = { + 'files': ['bin/lastz', 'bin/lastz_D'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LDC/LDC-1.36.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LDC/LDC-1.36.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9446457c803 --- /dev/null +++ b/easybuild/easyconfigs/l/LDC/LDC-1.36.0-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeNinja' + +name = 'LDC' +version = '1.36.0' + +homepage = 'https://wiki.dlang.org/LDC' +description = "The LLVM-based D Compiler" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/ldc-developers/ldc/releases/download/v%(version)s'] +sources = ['ldc-%(version)s-src.tar.gz'] +checksums = ['a00c79073123a887c17f446c7782a49556a3512a3d35ab676b7d53ae1bb8d6ef'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + # building LDC from source requires LDC + ('LDC', '1.24.0', '-%(arch)s', SYSTEM), +] + +dependencies = [ + ('LLVM', '16.0.6'), +] + +configopts = "-DLLVM_ROOT_DIR=$EBROOTLLVM" + +sanity_check_paths = { + 'files': ['bin/ldc2', 'bin/ldmd2'], + 'dirs': ['include/d', 'lib'], +} + +sanity_check_commands = [ + "ldc2 --help", + "ldmd2 --help", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..160bcf96383 --- /dev/null +++ b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-13.2.0.eb @@ -0,0 +1,45 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +# Updated: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'LERC' +version = '4.0.0' + +homepage = 'https://github.com/Esri/lerc' +description = """LERC is an open-source image or raster format which supports rapid encoding and decoding +for any pixel type (not just RGB or Byte). Users set the maximum compression error per pixel while encoding, +so the precision of the original input image is preserved (within user defined error bounds).""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/Esri/lerc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['91431c2b16d0e3de6cbaea188603359f87caed08259a645fd5a3805784ee30a0'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +configopts = '-DCMAKE_INSTALL_LIBDIR=lib' + +postinstallcmds = [ + # copy the LercTest source file to a LercTest subdir in the installation directory and compile it + # (needs to be done here instead of in the sanity check, else it won't work when RPATH linking is enabled) + "cd %(builddir)s/lerc-%(version)s/src/LercTest && sed -i -e 's@../LercLib/include/@@' main.cpp", + "mkdir %(installdir)s/LercTest", + "cp %(builddir)s/lerc-%(version)s/src/LercTest/main.cpp %(installdir)s/LercTest/main.cpp", + "cd %(installdir)s/LercTest && ${CXX} ${CXXFLAGS} main.cpp -o LercTest -I../include -L../lib -lLerc", +] + +sanity_check_commands = [ + "%(installdir)s/LercTest/LercTest", +] + +sanity_check_paths = { + 'files': ['include/Lerc_c_api.h', 'include/Lerc_types.h', 'lib/libLerc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-14.0.6-GCCcore-12.2.0-llvmlite.eb b/easybuild/easyconfigs/l/LLVM/LLVM-14.0.6-GCCcore-12.2.0-llvmlite.eb new file mode 100644 index 00000000000..fd2c5562a40 --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-14.0.6-GCCcore-12.2.0-llvmlite.eb @@ -0,0 +1,54 @@ +name = 'LLVM' +version = '14.0.6' +versionsuffix = '-llvmlite' + +homepage = "https://llvm.org/" +description = """The LLVM Core libraries provide a modern source- and target-independent + optimizer, along with code generation support for many popular CPUs + (as well as some less common ones!) These libraries are built around a well + specified code representation known as the LLVM intermediate representation + ("LLVM IR"). The LLVM Core libraries are well documented, and it is + particularly easy to invent your own language (or port an existing compiler) + to use LLVM as an optimizer and code generator. + + This version include patches for llvmlite / numba.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'cstd': 'gnu++11', 'pic': True} + +source_urls = ['https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/'] +sources = ['llvm-%(version)s.src.tar.xz'] + +# Patches from https://github.com/numba/llvmlite/raw/v0.41.1/conda-recipes/ but +# renamed to follow EasyBuild conventions. +patches = [ + 'LLVM-14.0.6-clear-gotoffsetmap.patch', + 'LLVM-14.0.6-svml.patch', +] +checksums = [ + {'llvm-14.0.6.src.tar.xz': '050922ecaaca5781fdf6631ea92bc715183f202f9d2f15147226f023414f619a'}, + {'LLVM-14.0.6-clear-gotoffsetmap.patch': '690c96dcbd0a81e11d87f02e740c4ef34a0c578be741aaa6559cc00a5349fabf'}, + {'LLVM-14.0.6-svml.patch': '59df18ea4af3479de42ecbc1c524d4106f4a55f23335a64c0f0d5433daaba1b7'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Python', '3.10.8'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['bin/llvm-ar', 'bin/FileCheck'], + 'dirs': ['include/llvm', 'include/llvm-c'], +} + +sanity_check_commands = ["llvm-ar --help"] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-14.0.6-GCCcore-12.3.0-llvmlite.eb b/easybuild/easyconfigs/l/LLVM/LLVM-14.0.6-GCCcore-12.3.0-llvmlite.eb new file mode 100644 index 00000000000..6ece6bfc09b --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-14.0.6-GCCcore-12.3.0-llvmlite.eb @@ -0,0 +1,54 @@ +name = 'LLVM' +version = '14.0.6' +versionsuffix = '-llvmlite' + +homepage = "https://llvm.org/" +description = """The LLVM Core libraries provide a modern source- and target-independent + optimizer, along with code generation support for many popular CPUs + (as well as some less common ones!) These libraries are built around a well + specified code representation known as the LLVM intermediate representation + ("LLVM IR"). The LLVM Core libraries are well documented, and it is + particularly easy to invent your own language (or port an existing compiler) + to use LLVM as an optimizer and code generator. + + This version include patches for llvmlite / numba.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'cstd': 'gnu++11', 'pic': True} + +source_urls = ['https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/'] +sources = ['llvm-%(version)s.src.tar.xz'] + +# Patches from https://github.com/numba/llvmlite/raw/v0.41.1/conda-recipes/ but +# renamed to follow EasyBuild conventions. +patches = [ + 'LLVM-14.0.6-clear-gotoffsetmap.patch', + 'LLVM-14.0.6-svml.patch', +] +checksums = [ + {'llvm-14.0.6.src.tar.xz': '050922ecaaca5781fdf6631ea92bc715183f202f9d2f15147226f023414f619a'}, + {'LLVM-14.0.6-clear-gotoffsetmap.patch': '690c96dcbd0a81e11d87f02e740c4ef34a0c578be741aaa6559cc00a5349fabf'}, + {'LLVM-14.0.6-svml.patch': '59df18ea4af3479de42ecbc1c524d4106f4a55f23335a64c0f0d5433daaba1b7'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('Python', '3.11.3'), +] + +dependencies = [ + ('ncurses', '6.4'), + ('zlib', '1.2.13'), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['bin/llvm-ar', 'bin/FileCheck'], + 'dirs': ['include/llvm', 'include/llvm-c'], +} + +sanity_check_commands = ["llvm-ar --help"] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-14.0.6-clear-gotoffsetmap.patch b/easybuild/easyconfigs/l/LLVM/LLVM-14.0.6-clear-gotoffsetmap.patch new file mode 100644 index 00000000000..239f4ab20c1 --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-14.0.6-clear-gotoffsetmap.patch @@ -0,0 +1,31 @@ +From 322c79fff224389b4df9f24ac22965867007c2fa Mon Sep 17 00:00:00 2001 +From: Graham Markall +Date: Mon, 13 Mar 2023 21:35:11 +0000 +Subject: [PATCH] RuntimeDyldELF: Clear the GOTOffsetMap when finalizing the + load + +This needs resetting so that stale entries are not left behind when the +GOT section and index are reset. + +See llvm/llvm#61402: RuntimeDyldELF doesn't clear GOTOffsetMap in +finalizeLoad(), leading to invalid GOT relocations on AArch64 - +https://github.com/llvm/llvm-project/issues/61402. +--- + llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/llvm-14.0.6.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/llvm-14.0.6.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp +index f92618afdff6..eb3c27a9406a 100644 +--- a/llvm-14.0.6.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp ++++ b/llvm-14.0.6.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp +@@ -2345,6 +2345,7 @@ Error RuntimeDyldELF::finalizeLoad(const ObjectFile &Obj, + } + } + ++ GOTOffsetMap.clear(); + GOTSectionID = 0; + CurrentGOTIndex = 0; + +-- +2.34.1 + diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-14.0.6-svml.patch b/easybuild/easyconfigs/l/LLVM/LLVM-14.0.6-svml.patch new file mode 100644 index 00000000000..c753d3f5971 --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-14.0.6-svml.patch @@ -0,0 +1,2194 @@ +From 9de32f5474f1f78990b399214bdbb6c21f8f098e Mon Sep 17 00:00:00 2001 +From: Ivan Butygin +Date: Sun, 24 Jul 2022 20:31:29 +0200 +Subject: [PATCH] Fixes vectorizer and extends SVML support + +Fixes vectorizer and extends SVML support +Patch was updated to fix SVML calling convention issues uncovered by llvm 10. +In previous versions of patch SVML calling convention was selected based on +compilation settings. So if you try to call 256bit vector function from avx512 +code function will be called with avx512 cc which is incorrect. To fix this +SVML cc was separated into 3 different cc for 128, 256 and 512bit vector lengths +which are selected based on actual input vector length. + +Original patch merged several fixes: + +1. https://reviews.llvm.org/D47188 patch fixes the problem with improper calls +to SVML library as it has non-standard calling conventions. So accordingly it +has SVML calling conventions definitions and code to set CC to the vectorized +calls. As SVML provides several implementations for the math functions we also +took into consideration fast attribute and select more fast implementation in +such case. This work is based on original Matt Masten's work. +Author: Denis Nagorny + +2. https://reviews.llvm.org/D53035 patch implements support to legalize SVML +calls by breaking down the illegal vector call instruction into multiple legal +vector call instructions during code generation. Currently the vectorizer does +not check legality of the generated SVML (or any VECLIB) call instructions, and +this can lead to potential problems even during vector type legalization. This +patch addresses this issue by adding a legality check during code generation and +replaces the illegal SVML call with corresponding legalized instructions. +(RFC: http://lists.llvm.org/pipermail/llvm-dev/2018-June/124357.html) +Author: Karthik Senthil + +diff --git a/llvm-14.0.6.src/include/llvm/Analysis/TargetLibraryInfo.h b/llvm-14.0.6.src/include/llvm/Analysis/TargetLibraryInfo.h +index 17d1e3f770c14..110ff08189867 100644 +--- a/llvm-14.0.6.src/include/llvm/Analysis/TargetLibraryInfo.h ++++ b/llvm-14.0.6.src/include/llvm/Analysis/TargetLibraryInfo.h +@@ -39,6 +39,12 @@ struct VecDesc { + NotLibFunc + }; + ++enum SVMLAccuracy { ++ SVML_DEFAULT, ++ SVML_HA, ++ SVML_EP ++}; ++ + /// Implementation of the target library information. + /// + /// This class constructs tables that hold the target library information and +@@ -157,7 +163,7 @@ class TargetLibraryInfoImpl { + /// Return true if the function F has a vector equivalent with vectorization + /// factor VF. + bool isFunctionVectorizable(StringRef F, const ElementCount &VF) const { +- return !getVectorizedFunction(F, VF).empty(); ++ return !getVectorizedFunction(F, VF, false).empty(); + } + + /// Return true if the function F has a vector equivalent with any +@@ -166,7 +172,10 @@ class TargetLibraryInfoImpl { + + /// Return the name of the equivalent of F, vectorized with factor VF. If no + /// such mapping exists, return the empty string. +- StringRef getVectorizedFunction(StringRef F, const ElementCount &VF) const; ++ std::string getVectorizedFunction(StringRef F, const ElementCount &VF, bool IsFast) const; ++ ++ Optional getVectorizedFunctionCallingConv( ++ StringRef F, const FunctionType &FTy, const DataLayout &DL) const; + + /// Set to true iff i32 parameters to library functions should have signext + /// or zeroext attributes if they correspond to C-level int or unsigned int, +@@ -326,8 +335,13 @@ class TargetLibraryInfo { + bool isFunctionVectorizable(StringRef F) const { + return Impl->isFunctionVectorizable(F); + } +- StringRef getVectorizedFunction(StringRef F, const ElementCount &VF) const { +- return Impl->getVectorizedFunction(F, VF); ++ std::string getVectorizedFunction(StringRef F, const ElementCount &VF, bool IsFast) const { ++ return Impl->getVectorizedFunction(F, VF, IsFast); ++ } ++ ++ Optional getVectorizedFunctionCallingConv( ++ StringRef F, const FunctionType &FTy, const DataLayout &DL) const { ++ return Impl->getVectorizedFunctionCallingConv(F, FTy, DL); + } + + /// Tests if the function is both available and a candidate for optimized code +diff --git a/llvm-14.0.6.src/include/llvm/AsmParser/LLToken.h b/llvm-14.0.6.src/include/llvm/AsmParser/LLToken.h +index 78ebb35e0ea4d..3ffb57db8b18b 100644 +--- a/llvm-14.0.6.src/include/llvm/AsmParser/LLToken.h ++++ b/llvm-14.0.6.src/include/llvm/AsmParser/LLToken.h +@@ -133,6 +133,9 @@ enum Kind { + kw_fastcc, + kw_coldcc, + kw_intel_ocl_bicc, ++ kw_intel_svmlcc128, ++ kw_intel_svmlcc256, ++ kw_intel_svmlcc512, + kw_cfguard_checkcc, + kw_x86_stdcallcc, + kw_x86_fastcallcc, +diff --git a/llvm-14.0.6.src/include/llvm/IR/CMakeLists.txt b/llvm-14.0.6.src/include/llvm/IR/CMakeLists.txt +index 0498fc269b634..23bb3de41bc1a 100644 +--- a/llvm-14.0.6.src/include/llvm/IR/CMakeLists.txt ++++ b/llvm-14.0.6.src/include/llvm/IR/CMakeLists.txt +@@ -20,3 +20,7 @@ tablegen(LLVM IntrinsicsX86.h -gen-intrinsic-enums -intrinsic-prefix=x86) + tablegen(LLVM IntrinsicsXCore.h -gen-intrinsic-enums -intrinsic-prefix=xcore) + tablegen(LLVM IntrinsicsVE.h -gen-intrinsic-enums -intrinsic-prefix=ve) + add_public_tablegen_target(intrinsics_gen) ++ ++set(LLVM_TARGET_DEFINITIONS SVML.td) ++tablegen(LLVM SVML.inc -gen-svml) ++add_public_tablegen_target(svml_gen) +diff --git a/llvm-14.0.6.src/include/llvm/IR/CallingConv.h b/llvm-14.0.6.src/include/llvm/IR/CallingConv.h +index fd28542465225..096eea1a8e19b 100644 +--- a/llvm-14.0.6.src/include/llvm/IR/CallingConv.h ++++ b/llvm-14.0.6.src/include/llvm/IR/CallingConv.h +@@ -252,6 +252,11 @@ namespace CallingConv { + /// M68k_INTR - Calling convention used for M68k interrupt routines. + M68k_INTR = 101, + ++ /// Intel_SVML - Calling conventions for Intel Short Math Vector Library ++ Intel_SVML128 = 102, ++ Intel_SVML256 = 103, ++ Intel_SVML512 = 104, ++ + /// The highest possible calling convention ID. Must be some 2^k - 1. + MaxID = 1023 + }; +diff --git a/llvm-14.0.6.src/include/llvm/IR/SVML.td b/llvm-14.0.6.src/include/llvm/IR/SVML.td +new file mode 100644 +index 0000000000000..5af710404c9d9 +--- /dev/null ++++ b/llvm-14.0.6.src/include/llvm/IR/SVML.td +@@ -0,0 +1,62 @@ ++//===-- Intel_SVML.td - Defines SVML call variants ---------*- tablegen -*-===// ++// ++// The LLVM Compiler Infrastructure ++// ++// This file is distributed under the University of Illinois Open Source ++// License. See LICENSE.TXT for details. ++// ++//===----------------------------------------------------------------------===// ++// ++// This file is used by TableGen to define the different typs of SVML function ++// variants used with -fveclib=SVML. ++// ++//===----------------------------------------------------------------------===// ++ ++class SvmlVariant; ++ ++def sin : SvmlVariant; ++def cos : SvmlVariant; ++def pow : SvmlVariant; ++def exp : SvmlVariant; ++def log : SvmlVariant; ++def acos : SvmlVariant; ++def acosh : SvmlVariant; ++def asin : SvmlVariant; ++def asinh : SvmlVariant; ++def atan2 : SvmlVariant; ++def atan : SvmlVariant; ++def atanh : SvmlVariant; ++def cbrt : SvmlVariant; ++def cdfnorm : SvmlVariant; ++def cdfnorminv : SvmlVariant; ++def cosd : SvmlVariant; ++def cosh : SvmlVariant; ++def erf : SvmlVariant; ++def erfc : SvmlVariant; ++def erfcinv : SvmlVariant; ++def erfinv : SvmlVariant; ++def exp10 : SvmlVariant; ++def exp2 : SvmlVariant; ++def expm1 : SvmlVariant; ++def hypot : SvmlVariant; ++def invsqrt : SvmlVariant; ++def log10 : SvmlVariant; ++def log1p : SvmlVariant; ++def log2 : SvmlVariant; ++def sind : SvmlVariant; ++def sinh : SvmlVariant; ++def sqrt : SvmlVariant; ++def tan : SvmlVariant; ++def tanh : SvmlVariant; ++ ++// TODO: SVML does not currently provide _ha and _ep variants of these fucnctions. ++// We should call the default variant of these functions in all cases instead. ++ ++// def nearbyint : SvmlVariant; ++// def logb : SvmlVariant; ++// def floor : SvmlVariant; ++// def fmod : SvmlVariant; ++// def ceil : SvmlVariant; ++// def trunc : SvmlVariant; ++// def rint : SvmlVariant; ++// def round : SvmlVariant; +diff --git a/llvm-14.0.6.src/lib/Analysis/CMakeLists.txt b/llvm-14.0.6.src/lib/Analysis/CMakeLists.txt +index aec84124129f4..98286e166fbe2 100644 +--- a/llvm-14.0.6.src/lib/Analysis/CMakeLists.txt ++++ b/llvm-14.0.6.src/lib/Analysis/CMakeLists.txt +@@ -150,6 +150,7 @@ add_llvm_component_library(LLVMAnalysis + DEPENDS + intrinsics_gen + ${MLDeps} ++ svml_gen + + LINK_LIBS + ${MLLinkDeps} +diff --git a/llvm-14.0.6.src/lib/Analysis/TargetLibraryInfo.cpp b/llvm-14.0.6.src/lib/Analysis/TargetLibraryInfo.cpp +index 02923c2c7eb14..83abde28a62a4 100644 +--- a/llvm-14.0.6.src/lib/Analysis/TargetLibraryInfo.cpp ++++ b/llvm-14.0.6.src/lib/Analysis/TargetLibraryInfo.cpp +@@ -110,6 +110,11 @@ bool TargetLibraryInfoImpl::isCallingConvCCompatible(Function *F) { + F->getFunctionType()); + } + ++static std::string svmlMangle(StringRef FnName, const bool IsFast) { ++ std::string FullName = FnName.str(); ++ return IsFast ? FullName : FullName + "_ha"; ++} ++ + /// Initialize the set of available library functions based on the specified + /// target triple. This should be carefully written so that a missing target + /// triple gets a sane set of defaults. +@@ -1876,8 +1881,9 @@ void TargetLibraryInfoImpl::addVectorizableFunctionsFromVecLib( + } + case SVML: { + const VecDesc VecFuncs[] = { +- #define TLI_DEFINE_SVML_VECFUNCS +- #include "llvm/Analysis/VecFuncs.def" ++ #define GET_SVML_VARIANTS ++ #include "llvm/IR/SVML.inc" ++ #undef GET_SVML_VARIANTS + }; + addVectorizableFunctions(VecFuncs); + break; +@@ -1897,20 +1903,51 @@ bool TargetLibraryInfoImpl::isFunctionVectorizable(StringRef funcName) const { + return I != VectorDescs.end() && StringRef(I->ScalarFnName) == funcName; + } + +-StringRef +-TargetLibraryInfoImpl::getVectorizedFunction(StringRef F, +- const ElementCount &VF) const { ++std::string TargetLibraryInfoImpl::getVectorizedFunction(StringRef F, ++ const ElementCount &VF, ++ bool IsFast) const { ++ bool FromSVML = ClVectorLibrary == SVML; + F = sanitizeFunctionName(F); + if (F.empty()) +- return F; ++ return F.str(); + std::vector::const_iterator I = + llvm::lower_bound(VectorDescs, F, compareWithScalarFnName); + while (I != VectorDescs.end() && StringRef(I->ScalarFnName) == F) { +- if (I->VectorizationFactor == VF) +- return I->VectorFnName; ++ if (I->VectorizationFactor == VF) { ++ if (FromSVML) { ++ return svmlMangle(I->VectorFnName, IsFast); ++ } ++ return I->VectorFnName.str(); ++ } + ++I; + } +- return StringRef(); ++ return std::string(); ++} ++ ++static CallingConv::ID getSVMLCallingConv(const DataLayout &DL, const FunctionType &FType) ++{ ++ assert(isa(FType.getReturnType())); ++ auto *VecCallRetType = cast(FType.getReturnType()); ++ auto TypeBitWidth = DL.getTypeSizeInBits(VecCallRetType); ++ if (TypeBitWidth == 128) { ++ return CallingConv::Intel_SVML128; ++ } else if (TypeBitWidth == 256) { ++ return CallingConv::Intel_SVML256; ++ } else if (TypeBitWidth == 512) { ++ return CallingConv::Intel_SVML512; ++ } else { ++ llvm_unreachable("Invalid vector width"); ++ } ++ return 0; // not reachable ++} ++ ++Optional ++TargetLibraryInfoImpl::getVectorizedFunctionCallingConv( ++ StringRef F, const FunctionType &FTy, const DataLayout &DL) const { ++ if (F.startswith("__svml")) { ++ return getSVMLCallingConv(DL, FTy); ++ } ++ return {}; + } + + TargetLibraryInfo TargetLibraryAnalysis::run(const Function &F, +diff --git a/llvm-14.0.6.src/lib/AsmParser/LLLexer.cpp b/llvm-14.0.6.src/lib/AsmParser/LLLexer.cpp +index e3bf41c9721b6..4f9dccd4e0724 100644 +--- a/llvm-14.0.6.src/lib/AsmParser/LLLexer.cpp ++++ b/llvm-14.0.6.src/lib/AsmParser/LLLexer.cpp +@@ -603,6 +603,9 @@ lltok::Kind LLLexer::LexIdentifier() { + KEYWORD(spir_kernel); + KEYWORD(spir_func); + KEYWORD(intel_ocl_bicc); ++ KEYWORD(intel_svmlcc128); ++ KEYWORD(intel_svmlcc256); ++ KEYWORD(intel_svmlcc512); + KEYWORD(x86_64_sysvcc); + KEYWORD(win64cc); + KEYWORD(x86_regcallcc); +diff --git a/llvm-14.0.6.src/lib/AsmParser/LLParser.cpp b/llvm-14.0.6.src/lib/AsmParser/LLParser.cpp +index 432ec151cf8ae..3bd6ee61024b8 100644 +--- a/llvm-14.0.6.src/lib/AsmParser/LLParser.cpp ++++ b/llvm-14.0.6.src/lib/AsmParser/LLParser.cpp +@@ -1781,6 +1781,9 @@ void LLParser::parseOptionalDLLStorageClass(unsigned &Res) { + /// ::= 'ccc' + /// ::= 'fastcc' + /// ::= 'intel_ocl_bicc' ++/// ::= 'intel_svmlcc128' ++/// ::= 'intel_svmlcc256' ++/// ::= 'intel_svmlcc512' + /// ::= 'coldcc' + /// ::= 'cfguard_checkcc' + /// ::= 'x86_stdcallcc' +@@ -1850,6 +1853,9 @@ bool LLParser::parseOptionalCallingConv(unsigned &CC) { + case lltok::kw_spir_kernel: CC = CallingConv::SPIR_KERNEL; break; + case lltok::kw_spir_func: CC = CallingConv::SPIR_FUNC; break; + case lltok::kw_intel_ocl_bicc: CC = CallingConv::Intel_OCL_BI; break; ++ case lltok::kw_intel_svmlcc128:CC = CallingConv::Intel_SVML128; break; ++ case lltok::kw_intel_svmlcc256:CC = CallingConv::Intel_SVML256; break; ++ case lltok::kw_intel_svmlcc512:CC = CallingConv::Intel_SVML512; break; + case lltok::kw_x86_64_sysvcc: CC = CallingConv::X86_64_SysV; break; + case lltok::kw_win64cc: CC = CallingConv::Win64; break; + case lltok::kw_webkit_jscc: CC = CallingConv::WebKit_JS; break; +diff --git a/llvm-14.0.6.src/lib/CodeGen/ReplaceWithVeclib.cpp b/llvm-14.0.6.src/lib/CodeGen/ReplaceWithVeclib.cpp +index 0ff045fa787e8..175651949ef85 100644 +--- a/llvm-14.0.6.src/lib/CodeGen/ReplaceWithVeclib.cpp ++++ b/llvm-14.0.6.src/lib/CodeGen/ReplaceWithVeclib.cpp +@@ -157,7 +157,7 @@ static bool replaceWithCallToVeclib(const TargetLibraryInfo &TLI, + // and the exact vector width of the call operands in the + // TargetLibraryInfo. + const std::string TLIName = +- std::string(TLI.getVectorizedFunction(ScalarName, VF)); ++ std::string(TLI.getVectorizedFunction(ScalarName, VF, CI.getFastMathFlags().isFast())); + + LLVM_DEBUG(dbgs() << DEBUG_TYPE << ": Looking up TLI mapping for `" + << ScalarName << "` and vector width " << VF << ".\n"); +diff --git a/llvm-14.0.6.src/lib/IR/AsmWriter.cpp b/llvm-14.0.6.src/lib/IR/AsmWriter.cpp +index 179754e275b03..c4e95752c97e8 100644 +--- a/llvm-14.0.6.src/lib/IR/AsmWriter.cpp ++++ b/llvm-14.0.6.src/lib/IR/AsmWriter.cpp +@@ -306,6 +306,9 @@ static void PrintCallingConv(unsigned cc, raw_ostream &Out) { + case CallingConv::X86_RegCall: Out << "x86_regcallcc"; break; + case CallingConv::X86_VectorCall:Out << "x86_vectorcallcc"; break; + case CallingConv::Intel_OCL_BI: Out << "intel_ocl_bicc"; break; ++ case CallingConv::Intel_SVML128: Out << "intel_svmlcc128"; break; ++ case CallingConv::Intel_SVML256: Out << "intel_svmlcc256"; break; ++ case CallingConv::Intel_SVML512: Out << "intel_svmlcc512"; break; + case CallingConv::ARM_APCS: Out << "arm_apcscc"; break; + case CallingConv::ARM_AAPCS: Out << "arm_aapcscc"; break; + case CallingConv::ARM_AAPCS_VFP: Out << "arm_aapcs_vfpcc"; break; +diff --git a/llvm-14.0.6.src/lib/IR/Verifier.cpp b/llvm-14.0.6.src/lib/IR/Verifier.cpp +index 989d01e2e3950..bae7382a36e13 100644 +--- a/llvm-14.0.6.src/lib/IR/Verifier.cpp ++++ b/llvm-14.0.6.src/lib/IR/Verifier.cpp +@@ -2457,6 +2457,9 @@ void Verifier::visitFunction(const Function &F) { + case CallingConv::Fast: + case CallingConv::Cold: + case CallingConv::Intel_OCL_BI: ++ case CallingConv::Intel_SVML128: ++ case CallingConv::Intel_SVML256: ++ case CallingConv::Intel_SVML512: + case CallingConv::PTX_Kernel: + case CallingConv::PTX_Device: + Assert(!F.isVarArg(), "Calling convention does not support varargs or " +diff --git a/llvm-14.0.6.src/lib/Target/X86/X86CallingConv.td b/llvm-14.0.6.src/lib/Target/X86/X86CallingConv.td +index 4dd8a6cdd8982..12e65521215e4 100644 +--- a/llvm-14.0.6.src/lib/Target/X86/X86CallingConv.td ++++ b/llvm-14.0.6.src/lib/Target/X86/X86CallingConv.td +@@ -498,6 +498,21 @@ def RetCC_X86_64 : CallingConv<[ + CCDelegateTo + ]>; + ++// Intel_SVML return-value convention. ++def RetCC_Intel_SVML : CallingConv<[ ++ // Vector types are returned in XMM0,XMM1 ++ CCIfType<[v4f32, v2f64], ++ CCAssignToReg<[XMM0,XMM1]>>, ++ ++ // 256-bit FP vectors ++ CCIfType<[v8f32, v4f64], ++ CCAssignToReg<[YMM0,YMM1]>>, ++ ++ // 512-bit FP vectors ++ CCIfType<[v16f32, v8f64], ++ CCAssignToReg<[ZMM0,ZMM1]>> ++]>; ++ + // This is the return-value convention used for the entire X86 backend. + let Entry = 1 in + def RetCC_X86 : CallingConv<[ +@@ -505,6 +520,10 @@ def RetCC_X86 : CallingConv<[ + // Check if this is the Intel OpenCL built-ins calling convention + CCIfCC<"CallingConv::Intel_OCL_BI", CCDelegateTo>, + ++ CCIfCC<"CallingConv::Intel_SVML128", CCDelegateTo>, ++ CCIfCC<"CallingConv::Intel_SVML256", CCDelegateTo>, ++ CCIfCC<"CallingConv::Intel_SVML512", CCDelegateTo>, ++ + CCIfSubtarget<"is64Bit()", CCDelegateTo>, + CCDelegateTo + ]>; +@@ -1064,6 +1083,30 @@ def CC_Intel_OCL_BI : CallingConv<[ + CCDelegateTo + ]>; + ++// X86-64 Intel Short Vector Math Library calling convention. ++def CC_Intel_SVML : CallingConv<[ ++ ++ // The SSE vector arguments are passed in XMM registers. ++ CCIfType<[v4f32, v2f64], ++ CCAssignToReg<[XMM0, XMM1, XMM2]>>, ++ ++ // The 256-bit vector arguments are passed in YMM registers. ++ CCIfType<[v8f32, v4f64], ++ CCAssignToReg<[YMM0, YMM1, YMM2]>>, ++ ++ // The 512-bit vector arguments are passed in ZMM registers. ++ CCIfType<[v16f32, v8f64], ++ CCAssignToReg<[ZMM0, ZMM1, ZMM2]>> ++]>; ++ ++def CC_X86_32_Intr : CallingConv<[ ++ CCAssignToStack<4, 4> ++]>; ++ ++def CC_X86_64_Intr : CallingConv<[ ++ CCAssignToStack<8, 8> ++]>; ++ + //===----------------------------------------------------------------------===// + // X86 Root Argument Calling Conventions + //===----------------------------------------------------------------------===// +@@ -1115,6 +1158,9 @@ def CC_X86_64 : CallingConv<[ + let Entry = 1 in + def CC_X86 : CallingConv<[ + CCIfCC<"CallingConv::Intel_OCL_BI", CCDelegateTo>, ++ CCIfCC<"CallingConv::Intel_SVML128", CCDelegateTo>, ++ CCIfCC<"CallingConv::Intel_SVML256", CCDelegateTo>, ++ CCIfCC<"CallingConv::Intel_SVML512", CCDelegateTo>, + CCIfSubtarget<"is64Bit()", CCDelegateTo>, + CCDelegateTo + ]>; +@@ -1227,3 +1273,27 @@ def CSR_SysV64_RegCall_NoSSE : CalleeSavedRegs<(add RBX, RBP, + (sequence "R%u", 12, 15))>; + def CSR_SysV64_RegCall : CalleeSavedRegs<(add CSR_SysV64_RegCall_NoSSE, + (sequence "XMM%u", 8, 15))>; ++ ++// SVML calling convention ++def CSR_32_Intel_SVML : CalleeSavedRegs<(add CSR_32_RegCall_NoSSE)>; ++def CSR_32_Intel_SVML_AVX512 : CalleeSavedRegs<(add CSR_32_Intel_SVML, ++ K4, K5, K6, K7)>; ++ ++def CSR_64_Intel_SVML_NoSSE : CalleeSavedRegs<(add RBX, RSI, RDI, RBP, RSP, R12, R13, R14, R15)>; ++ ++def CSR_64_Intel_SVML : CalleeSavedRegs<(add CSR_64_Intel_SVML_NoSSE, ++ (sequence "XMM%u", 8, 15))>; ++def CSR_Win64_Intel_SVML : CalleeSavedRegs<(add CSR_64_Intel_SVML_NoSSE, ++ (sequence "XMM%u", 6, 15))>; ++ ++def CSR_64_Intel_SVML_AVX : CalleeSavedRegs<(add CSR_64_Intel_SVML_NoSSE, ++ (sequence "YMM%u", 8, 15))>; ++def CSR_Win64_Intel_SVML_AVX : CalleeSavedRegs<(add CSR_64_Intel_SVML_NoSSE, ++ (sequence "YMM%u", 6, 15))>; ++ ++def CSR_64_Intel_SVML_AVX512 : CalleeSavedRegs<(add CSR_64_Intel_SVML_NoSSE, ++ (sequence "ZMM%u", 16, 31), ++ K4, K5, K6, K7)>; ++def CSR_Win64_Intel_SVML_AVX512 : CalleeSavedRegs<(add CSR_64_Intel_SVML_NoSSE, ++ (sequence "ZMM%u", 6, 21), ++ K4, K5, K6, K7)>; +diff --git a/llvm-14.0.6.src/lib/Target/X86/X86ISelLowering.cpp b/llvm-14.0.6.src/lib/Target/X86/X86ISelLowering.cpp +index 8bb7e81e19bbd..1780ce3fc6467 100644 +--- a/llvm-14.0.6.src/lib/Target/X86/X86ISelLowering.cpp ++++ b/llvm-14.0.6.src/lib/Target/X86/X86ISelLowering.cpp +@@ -3788,7 +3788,8 @@ void VarArgsLoweringHelper::forwardMustTailParameters(SDValue &Chain) { + // FIXME: Only some x86_32 calling conventions support AVX512. + if (Subtarget.useAVX512Regs() && + (is64Bit() || (CallConv == CallingConv::X86_VectorCall || +- CallConv == CallingConv::Intel_OCL_BI))) ++ CallConv == CallingConv::Intel_OCL_BI || ++ CallConv == CallingConv::Intel_SVML512))) + VecVT = MVT::v16f32; + else if (Subtarget.hasAVX()) + VecVT = MVT::v8f32; +diff --git a/llvm-14.0.6.src/lib/Target/X86/X86RegisterInfo.cpp b/llvm-14.0.6.src/lib/Target/X86/X86RegisterInfo.cpp +index 130cb61cdde24..9eec3b25ca9f2 100644 +--- a/llvm-14.0.6.src/lib/Target/X86/X86RegisterInfo.cpp ++++ b/llvm-14.0.6.src/lib/Target/X86/X86RegisterInfo.cpp +@@ -272,6 +272,42 @@ X86RegisterInfo::getRegPressureLimit(const TargetRegisterClass *RC, + } + } + ++namespace { ++std::pair getSVMLRegMaskAndSaveList( ++ bool Is64Bit, bool IsWin64, CallingConv::ID CC) { ++ assert(CC >= CallingConv::Intel_SVML128 && CC <= CallingConv::Intel_SVML512); ++ unsigned Abi = CC - CallingConv::Intel_SVML128 ; // 0 - 128, 1 - 256, 2 - 512 ++ ++ const std::pair Abi64[] = { ++ std::make_pair(CSR_64_Intel_SVML_RegMask, CSR_64_Intel_SVML_SaveList), ++ std::make_pair(CSR_64_Intel_SVML_AVX_RegMask, CSR_64_Intel_SVML_AVX_SaveList), ++ std::make_pair(CSR_64_Intel_SVML_AVX512_RegMask, CSR_64_Intel_SVML_AVX512_SaveList), ++ }; ++ ++ const std::pair AbiWin64[] = { ++ std::make_pair(CSR_Win64_Intel_SVML_RegMask, CSR_Win64_Intel_SVML_SaveList), ++ std::make_pair(CSR_Win64_Intel_SVML_AVX_RegMask, CSR_Win64_Intel_SVML_AVX_SaveList), ++ std::make_pair(CSR_Win64_Intel_SVML_AVX512_RegMask, CSR_Win64_Intel_SVML_AVX512_SaveList), ++ }; ++ ++ const std::pair Abi32[] = { ++ std::make_pair(CSR_32_Intel_SVML_RegMask, CSR_32_Intel_SVML_SaveList), ++ std::make_pair(CSR_32_Intel_SVML_RegMask, CSR_32_Intel_SVML_SaveList), ++ std::make_pair(CSR_32_Intel_SVML_AVX512_RegMask, CSR_32_Intel_SVML_AVX512_SaveList), ++ }; ++ ++ if (Is64Bit) { ++ if (IsWin64) { ++ return AbiWin64[Abi]; ++ } else { ++ return Abi64[Abi]; ++ } ++ } else { ++ return Abi32[Abi]; ++ } ++} ++} ++ + const MCPhysReg * + X86RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const { + assert(MF && "MachineFunction required"); +@@ -327,6 +363,11 @@ X86RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const { + return CSR_64_Intel_OCL_BI_SaveList; + break; + } ++ case CallingConv::Intel_SVML128: ++ case CallingConv::Intel_SVML256: ++ case CallingConv::Intel_SVML512: { ++ return getSVMLRegMaskAndSaveList(Is64Bit, IsWin64, CC).second; ++ } + case CallingConv::HHVM: + return CSR_64_HHVM_SaveList; + case CallingConv::X86_RegCall: +@@ -449,6 +490,11 @@ X86RegisterInfo::getCallPreservedMask(const MachineFunction &MF, + return CSR_64_Intel_OCL_BI_RegMask; + break; + } ++ case CallingConv::Intel_SVML128: ++ case CallingConv::Intel_SVML256: ++ case CallingConv::Intel_SVML512: { ++ return getSVMLRegMaskAndSaveList(Is64Bit, IsWin64, CC).first; ++ } + case CallingConv::HHVM: + return CSR_64_HHVM_RegMask; + case CallingConv::X86_RegCall: +diff --git a/llvm-14.0.6.src/lib/Target/X86/X86Subtarget.h b/llvm-14.0.6.src/lib/Target/X86/X86Subtarget.h +index 5d773f0c57dfb..6bdf5bc6f3fe9 100644 +--- a/llvm-14.0.6.src/lib/Target/X86/X86Subtarget.h ++++ b/llvm-14.0.6.src/lib/Target/X86/X86Subtarget.h +@@ -916,6 +916,9 @@ class X86Subtarget final : public X86GenSubtargetInfo { + case CallingConv::X86_ThisCall: + case CallingConv::X86_VectorCall: + case CallingConv::Intel_OCL_BI: ++ case CallingConv::Intel_SVML128: ++ case CallingConv::Intel_SVML256: ++ case CallingConv::Intel_SVML512: + return isTargetWin64(); + // This convention allows using the Win64 convention on other targets. + case CallingConv::Win64: +diff --git a/llvm-14.0.6.src/lib/Transforms/Utils/InjectTLIMappings.cpp b/llvm-14.0.6.src/lib/Transforms/Utils/InjectTLIMappings.cpp +index 047bf5569ded3..59897785f156c 100644 +--- a/llvm-14.0.6.src/lib/Transforms/Utils/InjectTLIMappings.cpp ++++ b/llvm-14.0.6.src/lib/Transforms/Utils/InjectTLIMappings.cpp +@@ -92,7 +92,7 @@ static void addMappingsFromTLI(const TargetLibraryInfo &TLI, CallInst &CI) { + + auto AddVariantDecl = [&](const ElementCount &VF) { + const std::string TLIName = +- std::string(TLI.getVectorizedFunction(ScalarName, VF)); ++ std::string(TLI.getVectorizedFunction(ScalarName, VF, CI.getFastMathFlags().isFast())); + if (!TLIName.empty()) { + std::string MangledName = + VFABI::mangleTLIVectorName(TLIName, ScalarName, CI.arg_size(), VF); +diff --git a/llvm-14.0.6.src/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm-14.0.6.src/lib/Transforms/Vectorize/LoopVectorize.cpp +index 46ff0994e04e7..f472af5e1a835 100644 +--- a/llvm-14.0.6.src/lib/Transforms/Vectorize/LoopVectorize.cpp ++++ b/llvm-14.0.6.src/lib/Transforms/Vectorize/LoopVectorize.cpp +@@ -712,6 +712,27 @@ class InnerLoopVectorizer { + virtual void printDebugTracesAtStart(){}; + virtual void printDebugTracesAtEnd(){}; + ++ /// Check legality of given SVML call instruction \p VecCall generated for ++ /// scalar call \p Call. If illegal then the appropriate legal instruction ++ /// is returned. ++ Value *legalizeSVMLCall(CallInst *VecCall, CallInst *Call); ++ ++ /// Returns the legal VF for a call instruction \p CI using TTI information ++ /// and vector type. ++ ElementCount getLegalVFForCall(CallInst *CI); ++ ++ /// Partially vectorize a given call \p Call by breaking it down into multiple ++ /// calls of \p LegalCall, decided by the variant VF \p LegalVF. ++ Value *partialVectorizeCall(CallInst *Call, CallInst *LegalCall, ++ unsigned LegalVF); ++ ++ /// Generate shufflevector instruction for a vector value \p V based on the ++ /// current \p Part and a smaller VF \p LegalVF. ++ Value *generateShuffleValue(Value *V, unsigned LegalVF, unsigned Part); ++ ++ /// Combine partially vectorized calls stored in \p CallResults. ++ Value *combinePartialVecCalls(SmallVectorImpl &CallResults); ++ + /// The original loop. + Loop *OrigLoop; + +@@ -4596,6 +4617,17 @@ static bool mayDivideByZero(Instruction &I) { + return !CInt || CInt->isZero(); + } + ++static void setVectorFunctionCallingConv(CallInst &CI, const DataLayout &DL, ++ const TargetLibraryInfo &TLI) { ++ Function *VectorF = CI.getCalledFunction(); ++ FunctionType *FTy = VectorF->getFunctionType(); ++ StringRef VFName = VectorF->getName(); ++ auto CC = TLI.getVectorizedFunctionCallingConv(VFName, *FTy, DL); ++ if (CC) { ++ CI.setCallingConv(*CC); ++ } ++} ++ + void InnerLoopVectorizer::widenCallInstruction(CallInst &I, VPValue *Def, + VPUser &ArgOperands, + VPTransformState &State) { +@@ -4664,9 +4696,246 @@ void InnerLoopVectorizer::widenCallInstruction(CallInst &I, VPValue *Def, + if (isa(V)) + V->copyFastMathFlags(CI); + ++ const DataLayout &DL = V->getModule()->getDataLayout(); ++ setVectorFunctionCallingConv(*V, DL, *TLI); ++ ++ // Perform legalization of SVML call instruction only if original call ++ // was not Intrinsic ++ if (!UseVectorIntrinsic && ++ (V->getCalledFunction()->getName()).startswith("__svml")) { ++ // assert((V->getCalledFunction()->getName()).startswith("__svml")); ++ LLVM_DEBUG(dbgs() << "LV(SVML): Vector call inst:"; V->dump()); ++ auto *LegalV = cast(legalizeSVMLCall(V, CI)); ++ LLVM_DEBUG(dbgs() << "LV: Completed SVML legalization.\n LegalV: "; ++ LegalV->dump()); ++ State.set(Def, LegalV, Part); ++ addMetadata(LegalV, &I); ++ } else { + State.set(Def, V, Part); + addMetadata(V, &I); ++ } ++ } ++} ++ ++//===----------------------------------------------------------------------===// ++// Implementation of functions for SVML vector call legalization. ++//===----------------------------------------------------------------------===// ++// ++// Unlike other VECLIBs, SVML needs to be used with target-legal ++// vector types. Otherwise, link failures and/or runtime failures ++// will occur. A motivating example could be - ++// ++// double *a; ++// float *b; ++// #pragma clang loop vectorize_width(8) ++// for(i = 0; i < N; ++i) { ++// a[i] = sin(i); // Legal SVML VF must be 4 or below on AVX ++// b[i] = cosf(i); // VF can be 8 on AVX since 8 floats can fit in YMM ++// } ++// ++// Current implementation of vector code generation in LV is ++// driven based on a single VF (in InnerLoopVectorizer::VF). This ++// inhibits the flexibility of adjusting/choosing different VF ++// for different instructions. ++// ++// Due to this limitation it is much more straightforward to ++// first generate the illegal sin8 (svml_sin8 for SVML vector ++// library) call and then legalize it than trying to avoid ++// generating illegal code from the beginning. ++// ++// A solution for this problem is to check legality of the ++// call instruction right after generating it in vectorizer and ++// if it is illegal we split the call arguments and issue multiple ++// calls to match the legal VF. This is demonstrated currently for ++// the SVML vector library calls (non-intrinsic version only). ++// ++// Future directions and extensions: ++// 1) This legalization example shows us that a good direction ++// for the VPlan framework would be to model the vector call ++// instructions in a way that legal VF for each call is chosen ++// correctly within vectorizer and illegal code generation is ++// avoided. ++// 2) This logic can also be extended to general vector functions ++// i.e. legalization OpenMP decalre simd functions. The ++// requirements needed for this will be documented soon. ++ ++Value *InnerLoopVectorizer::legalizeSVMLCall(CallInst *VecCall, ++ CallInst *Call) { ++ ElementCount LegalVF = getLegalVFForCall(VecCall); ++ ++ assert(LegalVF.getKnownMinValue() > 1 && ++ "Legal VF for SVML call must be greater than 1 to vectorize"); ++ ++ if (LegalVF == VF) ++ return VecCall; ++ else if (LegalVF.getKnownMinValue() > VF.getKnownMinValue()) ++ // TODO: handle case when we are underfilling vectors ++ return VecCall; ++ ++ // Legal VF for this SVML call is smaller than chosen VF, break it down into ++ // smaller call instructions ++ ++ // Convert args, types and return type to match legal VF ++ SmallVector NewTys; ++ SmallVector NewArgs; ++ ++ for (Value *ArgOperand : Call->args()) { ++ Type *Ty = ToVectorTy(ArgOperand->getType(), LegalVF); ++ NewTys.push_back(Ty); ++ NewArgs.push_back(UndefValue::get(Ty)); + } ++ ++ // Construct legal vector function ++ const VFShape Shape = ++ VFShape::get(*Call, LegalVF /*EC*/, false /*HasGlobalPred*/); ++ Function *LegalVectorF = VFDatabase(*Call).getVectorizedFunction(Shape); ++ assert(LegalVectorF != nullptr && "Can't create legal vector function."); ++ ++ LLVM_DEBUG(dbgs() << "LV(SVML): LegalVectorF: "; LegalVectorF->dump()); ++ ++ SmallVector OpBundles; ++ Call->getOperandBundlesAsDefs(OpBundles); ++ auto LegalV = std::unique_ptr(CallInst::Create(LegalVectorF, NewArgs, OpBundles)); ++ ++ if (isa(LegalV)) ++ LegalV->copyFastMathFlags(Call); ++ ++ const DataLayout &DL = VecCall->getModule()->getDataLayout(); ++ // Set SVML calling conventions ++ setVectorFunctionCallingConv(*LegalV, DL, *TLI); ++ ++ LLVM_DEBUG(dbgs() << "LV(SVML): LegalV: "; LegalV->dump()); ++ ++ Value *LegalizedCall = partialVectorizeCall(VecCall, LegalV.get(), LegalVF.getKnownMinValue()); ++ ++ LLVM_DEBUG(dbgs() << "LV(SVML): LegalizedCall: "; LegalizedCall->dump()); ++ ++ // Remove the illegal call from Builder ++ VecCall->eraseFromParent(); ++ ++ return LegalizedCall; ++} ++ ++ElementCount InnerLoopVectorizer::getLegalVFForCall(CallInst *CI) { ++ const DataLayout DL = CI->getModule()->getDataLayout(); ++ FunctionType *CallFT = CI->getFunctionType(); ++ // All functions that need legalization should have a vector return type. ++ // This is true for all SVML functions that are currently supported. ++ assert(isa(CallFT->getReturnType()) && ++ "Return type of call that needs legalization is not a vector."); ++ auto *VecCallRetType = cast(CallFT->getReturnType()); ++ Type *ElemType = VecCallRetType->getElementType(); ++ ++ unsigned TypeBitWidth = DL.getTypeSizeInBits(ElemType); ++ unsigned VectorBitWidth = TTI->getRegisterBitWidth(TargetTransformInfo::RGK_FixedWidthVector); ++ unsigned LegalVF = VectorBitWidth / TypeBitWidth; ++ ++ LLVM_DEBUG(dbgs() << "LV(SVML): Type Bit Width: " << TypeBitWidth << "\n"); ++ LLVM_DEBUG(dbgs() << "LV(SVML): Current VL: " << VF << "\n"); ++ LLVM_DEBUG(dbgs() << "LV(SVML): Vector Bit Width: " << VectorBitWidth ++ << "\n"); ++ LLVM_DEBUG(dbgs() << "LV(SVML): Legal Target VL: " << LegalVF << "\n"); ++ ++ return ElementCount::getFixed(LegalVF); ++} ++ ++// Partial vectorization of a call instruction is achieved by making clones of ++// \p LegalCall and overwriting its argument operands with shufflevector ++// equivalent decided based on \p LegalVF and current Part being filled. ++Value *InnerLoopVectorizer::partialVectorizeCall(CallInst *Call, ++ CallInst *LegalCall, ++ unsigned LegalVF) { ++ unsigned NumParts = VF.getKnownMinValue() / LegalVF; ++ LLVM_DEBUG(dbgs() << "LV(SVML): NumParts: " << NumParts << "\n"); ++ SmallVector CallResults; ++ ++ for (unsigned Part = 0; Part < NumParts; ++Part) { ++ auto *ClonedCall = cast(LegalCall->clone()); ++ ++ // Update the arg operand of cloned call to shufflevector ++ for (unsigned i = 0, ie = Call->arg_size(); i != ie; ++i) { ++ auto *NewOp = generateShuffleValue(Call->getArgOperand(i), LegalVF, Part); ++ ClonedCall->setArgOperand(i, NewOp); ++ } ++ ++ LLVM_DEBUG(dbgs() << "LV(SVML): ClonedCall: "; ClonedCall->dump()); ++ ++ auto *PartialVecCall = Builder.Insert(ClonedCall); ++ CallResults.push_back(PartialVecCall); ++ } ++ ++ return combinePartialVecCalls(CallResults); ++} ++ ++Value *InnerLoopVectorizer::generateShuffleValue(Value *V, unsigned LegalVF, ++ unsigned Part) { ++ // Example: ++ // Consider the following vector code - ++ // %1 = sitofp <4 x i32> %0 to <4 x double> ++ // %2 = call <4 x double> @__svml_sin4(<4 x double> %1) ++ // ++ // If the LegalVF is 2, we partially vectorize the sin4 call by invoking ++ // generateShuffleValue on the operand %1 ++ // If Part = 1, output value is - ++ // %shuffle = shufflevector <4 x double> %1, <4 x double> undef, <2 x i32> ++ // and if Part = 2, output is - ++ // %shuffle7 =shufflevector <4 x double> %1, <4 x double> undef, <2 x i32> ++ ++ assert(isa(V->getType()) && ++ "Cannot generate shuffles for non-vector values."); ++ SmallVector ShuffleMask; ++ Value *Undef = UndefValue::get(V->getType()); ++ ++ unsigned ElemIdx = Part * LegalVF; ++ ++ for (unsigned K = 0; K < LegalVF; K++) ++ ShuffleMask.push_back(static_cast(ElemIdx + K)); ++ ++ auto *ShuffleInst = ++ Builder.CreateShuffleVector(V, Undef, ShuffleMask, "shuffle"); ++ ++ return ShuffleInst; ++} ++ ++// Results of the calls executed by smaller legal call instructions must be ++// combined to match the original VF for later use. This is done by constructing ++// shufflevector instructions in a cumulative fashion. ++Value *InnerLoopVectorizer::combinePartialVecCalls( ++ SmallVectorImpl &CallResults) { ++ assert(isa(CallResults[0]->getType()) && ++ "Cannot combine calls with non-vector results."); ++ auto *CallType = cast(CallResults[0]->getType()); ++ ++ Value *CombinedShuffle; ++ unsigned NumElems = CallType->getElementCount().getKnownMinValue() * 2; ++ unsigned NumRegs = CallResults.size(); ++ ++ assert(NumRegs >= 2 && isPowerOf2_32(NumRegs) && ++ "Number of partial vector calls to combine must be a power of 2 " ++ "(atleast 2^1)"); ++ ++ while (NumRegs > 1) { ++ for (unsigned I = 0; I < NumRegs; I += 2) { ++ SmallVector ShuffleMask; ++ for (unsigned J = 0; J < NumElems; J++) ++ ShuffleMask.push_back(static_cast(J)); ++ ++ CombinedShuffle = Builder.CreateShuffleVector( ++ CallResults[I], CallResults[I + 1], ShuffleMask, "combined"); ++ LLVM_DEBUG(dbgs() << "LV(SVML): CombinedShuffle:"; ++ CombinedShuffle->dump()); ++ CallResults.push_back(CombinedShuffle); ++ } ++ ++ SmallVector::iterator Start = CallResults.begin(); ++ SmallVector::iterator End = Start + NumRegs; ++ CallResults.erase(Start, End); ++ ++ NumElems *= 2; ++ NumRegs /= 2; ++ } ++ ++ return CombinedShuffle; + } + + void LoopVectorizationCostModel::collectLoopScalars(ElementCount VF) { +diff --git a/llvm-14.0.6.src/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm-14.0.6.src/lib/Transforms/Vectorize/SLPVectorizer.cpp +index 644372483edde..342f018b92184 100644 +--- a/llvm-14.0.6.src/lib/Transforms/Vectorize/SLPVectorizer.cpp ++++ b/llvm-14.0.6.src/lib/Transforms/Vectorize/SLPVectorizer.cpp +@@ -6322,6 +6322,17 @@ Value *BoUpSLP::vectorizeTree(ArrayRef VL) { + return Vec; + } + ++static void setVectorFunctionCallingConv(CallInst &CI, const DataLayout &DL, ++ const TargetLibraryInfo &TLI) { ++ Function *VectorF = CI.getCalledFunction(); ++ FunctionType *FTy = VectorF->getFunctionType(); ++ StringRef VFName = VectorF->getName(); ++ auto CC = TLI.getVectorizedFunctionCallingConv(VFName, *FTy, DL); ++ if (CC) { ++ CI.setCallingConv(*CC); ++ } ++} ++ + Value *BoUpSLP::vectorizeTree(TreeEntry *E) { + IRBuilder<>::InsertPointGuard Guard(Builder); + +@@ -6794,7 +6805,12 @@ Value *BoUpSLP::vectorizeTree(TreeEntry *E) { + + SmallVector OpBundles; + CI->getOperandBundlesAsDefs(OpBundles); +- Value *V = Builder.CreateCall(CF, OpVecs, OpBundles); ++ ++ CallInst *NewCall = Builder.CreateCall(CF, OpVecs, OpBundles); ++ const DataLayout &DL = NewCall->getModule()->getDataLayout(); ++ setVectorFunctionCallingConv(*NewCall, DL, *TLI); ++ ++ Value *V = NewCall; + + // The scalar argument uses an in-tree scalar so we add the new vectorized + // call to ExternalUses list to make sure that an extract will be +diff --git a/llvm-14.0.6.src/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll b/llvm-14.0.6.src/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll +index df8b7c498bd00..63a36549f18fd 100644 +--- a/llvm-14.0.6.src/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll ++++ b/llvm-14.0.6.src/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll +@@ -10,7 +10,7 @@ target triple = "x86_64-unknown-linux-gnu" + define <4 x double> @exp_v4(<4 x double> %in) { + ; SVML-LABEL: define {{[^@]+}}@exp_v4 + ; SVML-SAME: (<4 x double> [[IN:%.*]]) { +-; SVML-NEXT: [[TMP1:%.*]] = call <4 x double> @__svml_exp4(<4 x double> [[IN]]) ++; SVML-NEXT: [[TMP1:%.*]] = call <4 x double> @__svml_exp4_ha(<4 x double> [[IN]]) + ; SVML-NEXT: ret <4 x double> [[TMP1]] + ; + ; LIBMVEC-X86-LABEL: define {{[^@]+}}@exp_v4 +@@ -37,7 +37,7 @@ declare <4 x double> @llvm.exp.v4f64(<4 x double>) #0 + define <4 x float> @exp_f32(<4 x float> %in) { + ; SVML-LABEL: define {{[^@]+}}@exp_f32 + ; SVML-SAME: (<4 x float> [[IN:%.*]]) { +-; SVML-NEXT: [[TMP1:%.*]] = call <4 x float> @__svml_expf4(<4 x float> [[IN]]) ++; SVML-NEXT: [[TMP1:%.*]] = call <4 x float> @__svml_expf4_ha(<4 x float> [[IN]]) + ; SVML-NEXT: ret <4 x float> [[TMP1]] + ; + ; LIBMVEC-X86-LABEL: define {{[^@]+}}@exp_f32 +diff --git a/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-calls-finite.ll b/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-calls-finite.ll +index a6e191c3d6923..d6e2e11106949 100644 +--- a/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-calls-finite.ll ++++ b/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-calls-finite.ll +@@ -39,7 +39,8 @@ for.end: ; preds = %for.body + declare double @__exp_finite(double) #0 + + ; CHECK-LABEL: @exp_f64 +-; CHECK: <4 x double> @__svml_exp4 ++; CHECK: <2 x double> @__svml_exp2 ++; CHECK: <2 x double> @__svml_exp2 + ; CHECK: ret + define void @exp_f64(double* nocapture %varray) { + entry: +@@ -99,7 +100,8 @@ for.end: ; preds = %for.body + declare double @__log_finite(double) #0 + + ; CHECK-LABEL: @log_f64 +-; CHECK: <4 x double> @__svml_log4 ++; CHECK: <2 x double> @__svml_log2 ++; CHECK: <2 x double> @__svml_log2 + ; CHECK: ret + define void @log_f64(double* nocapture %varray) { + entry: +@@ -159,7 +161,8 @@ for.end: ; preds = %for.body + declare double @__pow_finite(double, double) #0 + + ; CHECK-LABEL: @pow_f64 +-; CHECK: <4 x double> @__svml_pow4 ++; CHECK: <2 x double> @__svml_pow2 ++; CHECK: <2 x double> @__svml_pow2 + ; CHECK: ret + define void @pow_f64(double* nocapture %varray, double* nocapture readonly %exp) { + entry: +@@ -190,7 +193,8 @@ declare float @__exp2f_finite(float) #0 + + define void @exp2f_finite(float* nocapture %varray) { + ; CHECK-LABEL: @exp2f_finite( +-; CHECK: call <4 x float> @__svml_exp2f4(<4 x float> %{{.*}}) ++; CHECK: call intel_svmlcc128 <4 x float> @__svml_exp2f4_ha(<4 x float> %{{.*}}) ++; CHECK: call intel_svmlcc128 <4 x float> @__svml_exp2f4_ha(<4 x float> %{{.*}}) + ; CHECK: ret void + ; + entry: +@@ -219,7 +223,8 @@ declare double @__exp2_finite(double) #0 + + define void @exp2_finite(double* nocapture %varray) { + ; CHECK-LABEL: @exp2_finite( +-; CHECK: call <4 x double> @__svml_exp24(<4 x double> {{.*}}) ++; CHECK: call intel_svmlcc128 <2 x double> @__svml_exp22_ha(<2 x double> {{.*}}) ++; CHECK: call intel_svmlcc128 <2 x double> @__svml_exp22_ha(<2 x double> {{.*}}) + ; CHECK: ret void + ; + entry: +@@ -276,7 +281,8 @@ for.end: ; preds = %for.body + declare double @__log2_finite(double) #0 + + ; CHECK-LABEL: @log2_f64 +-; CHECK: <4 x double> @__svml_log24 ++; CHECK: <2 x double> @__svml_log22 ++; CHECK: <2 x double> @__svml_log22 + ; CHECK: ret + define void @log2_f64(double* nocapture %varray) { + entry: +@@ -333,7 +339,8 @@ for.end: ; preds = %for.body + declare double @__log10_finite(double) #0 + + ; CHECK-LABEL: @log10_f64 +-; CHECK: <4 x double> @__svml_log104 ++; CHECK: <2 x double> @__svml_log102 ++; CHECK: <2 x double> @__svml_log102 + ; CHECK: ret + define void @log10_f64(double* nocapture %varray) { + entry: +@@ -390,7 +397,8 @@ for.end: ; preds = %for.body + declare double @__sqrt_finite(double) #0 + + ; CHECK-LABEL: @sqrt_f64 +-; CHECK: <4 x double> @__svml_sqrt4 ++; CHECK: <2 x double> @__svml_sqrt2 ++; CHECK: <2 x double> @__svml_sqrt2 + ; CHECK: ret + define void @sqrt_f64(double* nocapture %varray) { + entry: +diff --git a/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-calls.ll b/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-calls.ll +index 42c280df6ad02..088bbdcf1aa4a 100644 +--- a/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-calls.ll ++++ b/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-calls.ll +@@ -48,7 +48,7 @@ declare float @llvm.exp2.f32(float) #0 + + define void @sin_f64(double* nocapture %varray) { + ; CHECK-LABEL: @sin_f64( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_sin4(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_sin4_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -71,7 +71,7 @@ for.end: + + define void @sin_f32(float* nocapture %varray) { + ; CHECK-LABEL: @sin_f32( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_sinf4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_sinf4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -94,7 +94,7 @@ for.end: + + define void @sin_f64_intrinsic(double* nocapture %varray) { + ; CHECK-LABEL: @sin_f64_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_sin4(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_sin4_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -117,7 +117,7 @@ for.end: + + define void @sin_f32_intrinsic(float* nocapture %varray) { + ; CHECK-LABEL: @sin_f32_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_sinf4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_sinf4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -140,7 +140,7 @@ for.end: + + define void @cos_f64(double* nocapture %varray) { + ; CHECK-LABEL: @cos_f64( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_cos4(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_cos4_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -163,7 +163,7 @@ for.end: + + define void @cos_f32(float* nocapture %varray) { + ; CHECK-LABEL: @cos_f32( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_cosf4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_cosf4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -186,7 +186,7 @@ for.end: + + define void @cos_f64_intrinsic(double* nocapture %varray) { + ; CHECK-LABEL: @cos_f64_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_cos4(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_cos4_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -209,7 +209,7 @@ for.end: + + define void @cos_f32_intrinsic(float* nocapture %varray) { + ; CHECK-LABEL: @cos_f32_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_cosf4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_cosf4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -232,7 +232,7 @@ for.end: + + define void @pow_f64(double* nocapture %varray, double* nocapture readonly %exp) { + ; CHECK-LABEL: @pow_f64( +-; CHECK: [[TMP8:%.*]] = call <4 x double> @__svml_pow4(<4 x double> [[TMP4:%.*]], <4 x double> [[WIDE_LOAD:%.*]]) ++; CHECK: [[TMP8:%.*]] = call intel_svmlcc256 <4 x double> @__svml_pow4_ha(<4 x double> [[TMP4:%.*]], <4 x double> [[WIDE_LOAD:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -257,7 +257,7 @@ for.end: + + define void @pow_f64_intrinsic(double* nocapture %varray, double* nocapture readonly %exp) { + ; CHECK-LABEL: @pow_f64_intrinsic( +-; CHECK: [[TMP8:%.*]] = call <4 x double> @__svml_pow4(<4 x double> [[TMP4:%.*]], <4 x double> [[WIDE_LOAD:%.*]]) ++; CHECK: [[TMP8:%.*]] = call intel_svmlcc256 <4 x double> @__svml_pow4_ha(<4 x double> [[TMP4:%.*]], <4 x double> [[WIDE_LOAD:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -282,7 +282,7 @@ for.end: + + define void @pow_f32(float* nocapture %varray, float* nocapture readonly %exp) { + ; CHECK-LABEL: @pow_f32( +-; CHECK: [[TMP8:%.*]] = call <4 x float> @__svml_powf4(<4 x float> [[TMP4:%.*]], <4 x float> [[WIDE_LOAD:%.*]]) ++; CHECK: [[TMP8:%.*]] = call intel_svmlcc128 <4 x float> @__svml_powf4_ha(<4 x float> [[TMP4:%.*]], <4 x float> [[WIDE_LOAD:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -307,7 +307,7 @@ for.end: + + define void @pow_f32_intrinsic(float* nocapture %varray, float* nocapture readonly %exp) { + ; CHECK-LABEL: @pow_f32_intrinsic( +-; CHECK: [[TMP8:%.*]] = call <4 x float> @__svml_powf4(<4 x float> [[TMP4:%.*]], <4 x float> [[WIDE_LOAD:%.*]]) ++; CHECK: [[TMP8:%.*]] = call intel_svmlcc128 <4 x float> @__svml_powf4_ha(<4 x float> [[TMP4:%.*]], <4 x float> [[WIDE_LOAD:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -332,7 +332,7 @@ for.end: + + define void @exp_f64(double* nocapture %varray) { + ; CHECK-LABEL: @exp_f64( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_exp4(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_exp4_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -355,7 +355,7 @@ for.end: + + define void @exp_f32(float* nocapture %varray) { + ; CHECK-LABEL: @exp_f32( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_expf4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_expf4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -378,7 +378,7 @@ for.end: + + define void @exp_f64_intrinsic(double* nocapture %varray) { + ; CHECK-LABEL: @exp_f64_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_exp4(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_exp4_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -401,7 +401,7 @@ for.end: + + define void @exp_f32_intrinsic(float* nocapture %varray) { + ; CHECK-LABEL: @exp_f32_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_expf4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_expf4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -424,7 +424,7 @@ for.end: + + define void @log_f64(double* nocapture %varray) { + ; CHECK-LABEL: @log_f64( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_log4(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_log4_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -447,7 +447,7 @@ for.end: + + define void @log_f32(float* nocapture %varray) { + ; CHECK-LABEL: @log_f32( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_logf4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_logf4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -470,7 +470,7 @@ for.end: + + define void @log_f64_intrinsic(double* nocapture %varray) { + ; CHECK-LABEL: @log_f64_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_log4(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_log4_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -493,7 +493,7 @@ for.end: + + define void @log_f32_intrinsic(float* nocapture %varray) { + ; CHECK-LABEL: @log_f32_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_logf4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_logf4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -516,7 +516,7 @@ for.end: + + define void @log2_f64(double* nocapture %varray) { + ; CHECK-LABEL: @log2_f64( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_log24(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_log24_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -539,7 +539,7 @@ for.end: + + define void @log2_f32(float* nocapture %varray) { + ; CHECK-LABEL: @log2_f32( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_log2f4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_log2f4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -562,7 +562,7 @@ for.end: + + define void @log2_f64_intrinsic(double* nocapture %varray) { + ; CHECK-LABEL: @log2_f64_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_log24(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_log24_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -585,7 +585,7 @@ for.end: + + define void @log2_f32_intrinsic(float* nocapture %varray) { + ; CHECK-LABEL: @log2_f32_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_log2f4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_log2f4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -608,7 +608,7 @@ for.end: + + define void @log10_f64(double* nocapture %varray) { + ; CHECK-LABEL: @log10_f64( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_log104(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_log104_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -631,7 +631,7 @@ for.end: + + define void @log10_f32(float* nocapture %varray) { + ; CHECK-LABEL: @log10_f32( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_log10f4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_log10f4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -654,7 +654,7 @@ for.end: + + define void @log10_f64_intrinsic(double* nocapture %varray) { + ; CHECK-LABEL: @log10_f64_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_log104(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_log104_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -677,7 +677,7 @@ for.end: + + define void @log10_f32_intrinsic(float* nocapture %varray) { + ; CHECK-LABEL: @log10_f32_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_log10f4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_log10f4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -700,7 +700,7 @@ for.end: + + define void @sqrt_f64(double* nocapture %varray) { + ; CHECK-LABEL: @sqrt_f64( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_sqrt4(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_sqrt4_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -723,7 +723,7 @@ for.end: + + define void @sqrt_f32(float* nocapture %varray) { + ; CHECK-LABEL: @sqrt_f32( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_sqrtf4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_sqrtf4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -746,7 +746,7 @@ for.end: + + define void @exp2_f64(double* nocapture %varray) { + ; CHECK-LABEL: @exp2_f64( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_exp24(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_exp24_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -769,7 +769,7 @@ for.end: + + define void @exp2_f32(float* nocapture %varray) { + ; CHECK-LABEL: @exp2_f32( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_exp2f4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_exp2f4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -792,7 +792,7 @@ for.end: + + define void @exp2_f64_intrinsic(double* nocapture %varray) { + ; CHECK-LABEL: @exp2_f64_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x double> @__svml_exp24(<4 x double> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc256 <4 x double> @__svml_exp24_ha(<4 x double> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -815,7 +815,7 @@ for.end: + + define void @exp2_f32_intrinsic(float* nocapture %varray) { + ; CHECK-LABEL: @exp2_f32_intrinsic( +-; CHECK: [[TMP5:%.*]] = call <4 x float> @__svml_exp2f4(<4 x float> [[TMP4:%.*]]) ++; CHECK: [[TMP5:%.*]] = call intel_svmlcc128 <4 x float> @__svml_exp2f4_ha(<4 x float> [[TMP4:%.*]]) + ; CHECK: ret void + ; + entry: +@@ -836,4 +836,44 @@ for.end: + ret void + } + ++; CHECK-LABEL: @atan2_finite ++; CHECK: intel_svmlcc256 <4 x double> @__svml_atan24( ++; CHECK: intel_svmlcc256 <4 x double> @__svml_atan24( ++; CHECK: ret ++ ++declare double @__atan2_finite(double, double) local_unnamed_addr #0 ++ ++define void @atan2_finite([100 x double]* nocapture %varray) local_unnamed_addr #0 { ++entry: ++ br label %for.cond1.preheader ++ ++for.cond1.preheader: ; preds = %for.inc7, %entry ++ %indvars.iv19 = phi i64 [ 0, %entry ], [ %indvars.iv.next20, %for.inc7 ] ++ %0 = trunc i64 %indvars.iv19 to i32 ++ %conv = sitofp i32 %0 to double ++ br label %for.body3 ++ ++for.body3: ; preds = %for.body3, %for.cond1.preheader ++ %indvars.iv = phi i64 [ 0, %for.cond1.preheader ], [ %indvars.iv.next, %for.body3 ] ++ %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 ++ %1 = trunc i64 %indvars.iv.next to i32 ++ %conv4 = sitofp i32 %1 to double ++ %call = tail call fast double @__atan2_finite(double %conv, double %conv4) ++ %arrayidx6 = getelementptr inbounds [100 x double], [100 x double]* %varray, i64 %indvars.iv19, i64 %indvars.iv ++ store double %call, double* %arrayidx6, align 8 ++ %exitcond = icmp eq i64 %indvars.iv.next, 100 ++ br i1 %exitcond, label %for.inc7, label %for.body3, !llvm.loop !5 ++ ++for.inc7: ; preds = %for.body3 ++ %indvars.iv.next20 = add nuw nsw i64 %indvars.iv19, 1 ++ %exitcond21 = icmp eq i64 %indvars.iv.next20, 100 ++ br i1 %exitcond21, label %for.end9, label %for.cond1.preheader ++ ++for.end9: ; preds = %for.inc7 ++ ret void ++} ++ + attributes #0 = { nounwind readnone } ++!5 = distinct !{!5, !6, !7} ++!6 = !{!"llvm.loop.vectorize.width", i32 8} ++!7 = !{!"llvm.loop.vectorize.enable", i1 true} +diff --git a/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-legal-calls.ll b/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-legal-calls.ll +new file mode 100644 +index 0000000000000..326c763994343 +--- /dev/null ++++ b/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-legal-calls.ll +@@ -0,0 +1,513 @@ ++; Check legalization of SVML calls, including intrinsic versions (like @llvm..). ++ ++; RUN: opt -vector-library=SVML -inject-tli-mappings -loop-vectorize -force-vector-width=8 -force-vector-interleave=1 -mattr=avx -S < %s | FileCheck %s ++ ++target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ++target triple = "x86_64-unknown-linux-gnu" ++ ++declare double @sin(double) #0 ++declare float @sinf(float) #0 ++declare double @llvm.sin.f64(double) #0 ++declare float @llvm.sin.f32(float) #0 ++ ++declare double @cos(double) #0 ++declare float @cosf(float) #0 ++declare double @llvm.cos.f64(double) #0 ++declare float @llvm.cos.f32(float) #0 ++ ++declare double @pow(double, double) #0 ++declare float @powf(float, float) #0 ++declare double @llvm.pow.f64(double, double) #0 ++declare float @llvm.pow.f32(float, float) #0 ++ ++declare double @exp(double) #0 ++declare float @expf(float) #0 ++declare double @llvm.exp.f64(double) #0 ++declare float @llvm.exp.f32(float) #0 ++ ++declare double @log(double) #0 ++declare float @logf(float) #0 ++declare double @llvm.log.f64(double) #0 ++declare float @llvm.log.f32(float) #0 ++ ++ ++define void @sin_f64(double* nocapture %varray) { ++; CHECK-LABEL: @sin_f64( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <4 x double> @__svml_sin4_ha(<4 x double> [[TMP2:%.*]]) ++; CHECK: [[TMP3:%.*]] = call intel_svmlcc256 <4 x double> @__svml_sin4_ha(<4 x double> [[TMP4:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to double ++ %call = tail call double @sin(double %conv) ++ %arrayidx = getelementptr inbounds double, double* %varray, i64 %iv ++ store double %call, double* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @sin_f32(float* nocapture %varray) { ++; CHECK-LABEL: @sin_f32( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <8 x float> @__svml_sinf8_ha(<8 x float> [[TMP2:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to float ++ %call = tail call float @sinf(float %conv) ++ %arrayidx = getelementptr inbounds float, float* %varray, i64 %iv ++ store float %call, float* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @sin_f64_intrinsic(double* nocapture %varray) { ++; CHECK-LABEL: @sin_f64_intrinsic( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <4 x double> @__svml_sin4_ha(<4 x double> [[TMP2:%.*]]) ++; CHECK: [[TMP3:%.*]] = call intel_svmlcc256 <4 x double> @__svml_sin4_ha(<4 x double> [[TMP4:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to double ++ %call = tail call double @llvm.sin.f64(double %conv) ++ %arrayidx = getelementptr inbounds double, double* %varray, i64 %iv ++ store double %call, double* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @sin_f32_intrinsic(float* nocapture %varray) { ++; CHECK-LABEL: @sin_f32_intrinsic( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <8 x float> @__svml_sinf8_ha(<8 x float> [[TMP2:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to float ++ %call = tail call float @llvm.sin.f32(float %conv) ++ %arrayidx = getelementptr inbounds float, float* %varray, i64 %iv ++ store float %call, float* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @cos_f64(double* nocapture %varray) { ++; CHECK-LABEL: @cos_f64( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <4 x double> @__svml_cos4_ha(<4 x double> [[TMP2:%.*]]) ++; CHECK: [[TMP3:%.*]] = call intel_svmlcc256 <4 x double> @__svml_cos4_ha(<4 x double> [[TMP4:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to double ++ %call = tail call double @cos(double %conv) ++ %arrayidx = getelementptr inbounds double, double* %varray, i64 %iv ++ store double %call, double* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @cos_f32(float* nocapture %varray) { ++; CHECK-LABEL: @cos_f32( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <8 x float> @__svml_cosf8_ha(<8 x float> [[TMP2:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to float ++ %call = tail call float @cosf(float %conv) ++ %arrayidx = getelementptr inbounds float, float* %varray, i64 %iv ++ store float %call, float* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @cos_f64_intrinsic(double* nocapture %varray) { ++; CHECK-LABEL: @cos_f64_intrinsic( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <4 x double> @__svml_cos4_ha(<4 x double> [[TMP2:%.*]]) ++; CHECK: [[TMP3:%.*]] = call intel_svmlcc256 <4 x double> @__svml_cos4_ha(<4 x double> [[TMP4:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to double ++ %call = tail call double @llvm.cos.f64(double %conv) ++ %arrayidx = getelementptr inbounds double, double* %varray, i64 %iv ++ store double %call, double* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @cos_f32_intrinsic(float* nocapture %varray) { ++; CHECK-LABEL: @cos_f32_intrinsic( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <8 x float> @__svml_cosf8_ha(<8 x float> [[TMP2:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to float ++ %call = tail call float @llvm.cos.f32(float %conv) ++ %arrayidx = getelementptr inbounds float, float* %varray, i64 %iv ++ store float %call, float* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @pow_f64(double* nocapture %varray, double* nocapture readonly %exp) { ++; CHECK-LABEL: @pow_f64( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <4 x double> @__svml_pow4_ha(<4 x double> [[TMP2:%.*]], <4 x double> [[TMP3:%.*]]) ++; CHECK: [[TMP4:%.*]] = call intel_svmlcc256 <4 x double> @__svml_pow4_ha(<4 x double> [[TMP5:%.*]], <4 x double> [[TMP6:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to double ++ %arrayidx = getelementptr inbounds double, double* %exp, i64 %iv ++ %tmp1 = load double, double* %arrayidx, align 4 ++ %tmp2 = tail call double @pow(double %conv, double %tmp1) ++ %arrayidx2 = getelementptr inbounds double, double* %varray, i64 %iv ++ store double %tmp2, double* %arrayidx2, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @pow_f64_intrinsic(double* nocapture %varray, double* nocapture readonly %exp) { ++; CHECK-LABEL: @pow_f64_intrinsic( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <4 x double> @__svml_pow4_ha(<4 x double> [[TMP2:%.*]], <4 x double> [[TMP3:%.*]]) ++; CHECK: [[TMP4:%.*]] = call intel_svmlcc256 <4 x double> @__svml_pow4_ha(<4 x double> [[TMP5:%.*]], <4 x double> [[TMP6:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to double ++ %arrayidx = getelementptr inbounds double, double* %exp, i64 %iv ++ %tmp1 = load double, double* %arrayidx, align 4 ++ %tmp2 = tail call double @llvm.pow.f64(double %conv, double %tmp1) ++ %arrayidx2 = getelementptr inbounds double, double* %varray, i64 %iv ++ store double %tmp2, double* %arrayidx2, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @pow_f32(float* nocapture %varray, float* nocapture readonly %exp) { ++; CHECK-LABEL: @pow_f32( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <8 x float> @__svml_powf8_ha(<8 x float> [[TMP2:%.*]], <8 x float> [[WIDE_LOAD:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to float ++ %arrayidx = getelementptr inbounds float, float* %exp, i64 %iv ++ %tmp1 = load float, float* %arrayidx, align 4 ++ %tmp2 = tail call float @powf(float %conv, float %tmp1) ++ %arrayidx2 = getelementptr inbounds float, float* %varray, i64 %iv ++ store float %tmp2, float* %arrayidx2, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @pow_f32_intrinsic(float* nocapture %varray, float* nocapture readonly %exp) { ++; CHECK-LABEL: @pow_f32_intrinsic( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <8 x float> @__svml_powf8_ha(<8 x float> [[TMP2:%.*]], <8 x float> [[TMP3:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to float ++ %arrayidx = getelementptr inbounds float, float* %exp, i64 %iv ++ %tmp1 = load float, float* %arrayidx, align 4 ++ %tmp2 = tail call float @llvm.pow.f32(float %conv, float %tmp1) ++ %arrayidx2 = getelementptr inbounds float, float* %varray, i64 %iv ++ store float %tmp2, float* %arrayidx2, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @exp_f64(double* nocapture %varray) { ++; CHECK-LABEL: @exp_f64( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <4 x double> @__svml_exp4_ha(<4 x double> [[TMP2:%.*]]) ++; CHECK: [[TMP3:%.*]] = call intel_svmlcc256 <4 x double> @__svml_exp4_ha(<4 x double> [[TMP4:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to double ++ %call = tail call double @exp(double %conv) ++ %arrayidx = getelementptr inbounds double, double* %varray, i64 %iv ++ store double %call, double* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @exp_f32(float* nocapture %varray) { ++; CHECK-LABEL: @exp_f32( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <8 x float> @__svml_expf8_ha(<8 x float> [[TMP2:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to float ++ %call = tail call float @expf(float %conv) ++ %arrayidx = getelementptr inbounds float, float* %varray, i64 %iv ++ store float %call, float* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @exp_f64_intrinsic(double* nocapture %varray) { ++; CHECK-LABEL: @exp_f64_intrinsic( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <4 x double> @__svml_exp4_ha(<4 x double> [[TMP2:%.*]]) ++; CHECK: [[TMP3:%.*]] = call intel_svmlcc256 <4 x double> @__svml_exp4_ha(<4 x double> [[TMP4:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to double ++ %call = tail call double @llvm.exp.f64(double %conv) ++ %arrayidx = getelementptr inbounds double, double* %varray, i64 %iv ++ store double %call, double* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @exp_f32_intrinsic(float* nocapture %varray) { ++; CHECK-LABEL: @exp_f32_intrinsic( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <8 x float> @__svml_expf8_ha(<8 x float> [[TMP2:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to float ++ %call = tail call float @llvm.exp.f32(float %conv) ++ %arrayidx = getelementptr inbounds float, float* %varray, i64 %iv ++ store float %call, float* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @log_f64(double* nocapture %varray) { ++; CHECK-LABEL: @log_f64( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <4 x double> @__svml_log4_ha(<4 x double> [[TMP2:%.*]]) ++; CHECK: [[TMP3:%.*]] = call intel_svmlcc256 <4 x double> @__svml_log4_ha(<4 x double> [[TMP4:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to double ++ %call = tail call double @log(double %conv) ++ %arrayidx = getelementptr inbounds double, double* %varray, i64 %iv ++ store double %call, double* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @log_f32(float* nocapture %varray) { ++; CHECK-LABEL: @log_f32( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <8 x float> @__svml_logf8_ha(<8 x float> [[TMP2:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to float ++ %call = tail call float @logf(float %conv) ++ %arrayidx = getelementptr inbounds float, float* %varray, i64 %iv ++ store float %call, float* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @log_f64_intrinsic(double* nocapture %varray) { ++; CHECK-LABEL: @log_f64_intrinsic( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <4 x double> @__svml_log4_ha(<4 x double> [[TMP2:%.*]]) ++; CHECK: [[TMP3:%.*]] = call intel_svmlcc256 <4 x double> @__svml_log4_ha(<4 x double> [[TMP4:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to double ++ %call = tail call double @llvm.log.f64(double %conv) ++ %arrayidx = getelementptr inbounds double, double* %varray, i64 %iv ++ store double %call, double* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++define void @log_f32_intrinsic(float* nocapture %varray) { ++; CHECK-LABEL: @log_f32_intrinsic( ++; CHECK: [[TMP1:%.*]] = call intel_svmlcc256 <8 x float> @__svml_logf8_ha(<8 x float> [[TMP2:%.*]]) ++; CHECK: ret void ++; ++entry: ++ br label %for.body ++ ++for.body: ++ %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ] ++ %tmp = trunc i64 %iv to i32 ++ %conv = sitofp i32 %tmp to float ++ %call = tail call float @llvm.log.f32(float %conv) ++ %arrayidx = getelementptr inbounds float, float* %varray, i64 %iv ++ store float %call, float* %arrayidx, align 4 ++ %iv.next = add nuw nsw i64 %iv, 1 ++ %exitcond = icmp eq i64 %iv.next, 1000 ++ br i1 %exitcond, label %for.end, label %for.body ++ ++for.end: ++ ret void ++} ++ ++attributes #0 = { nounwind readnone } ++ +diff --git a/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-legal-codegen.ll b/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-legal-codegen.ll +new file mode 100644 +index 0000000000000..9422653445dc2 +--- /dev/null ++++ b/llvm-14.0.6.src/test/Transforms/LoopVectorize/X86/svml-legal-codegen.ll +@@ -0,0 +1,61 @@ ++; Check that vector codegen splits illegal sin8 call to two sin4 calls on AVX for double datatype. ++; The C code used to generate this test: ++ ++; #include ++; ++; void foo(double *a, int N){ ++; int i; ++; #pragma clang loop vectorize_width(8) ++; for (i=0;i [[I0:%.*]] to <8 x double> ++; CHECK-NEXT: [[S1:%shuffle.*]] = shufflevector <8 x double> [[I1]], <8 x double> undef, <4 x i32> ++; CHECK-NEXT: [[I2:%.*]] = call fast intel_svmlcc256 <4 x double> @__svml_sin4(<4 x double> [[S1]]) ++; CHECK-NEXT: [[S2:%shuffle.*]] = shufflevector <8 x double> [[I1]], <8 x double> undef, <4 x i32> ++; CHECK-NEXT: [[I3:%.*]] = call fast intel_svmlcc256 <4 x double> @__svml_sin4(<4 x double> [[S2]]) ++; CHECK-NEXT: [[comb:%combined.*]] = shufflevector <4 x double> [[I2]], <4 x double> [[I3]], <8 x i32> ++; CHECK: store <8 x double> [[comb]], <8 x double>* [[TMP:%.*]], align 8 ++ ++ ++target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ++target triple = "x86_64-unknown-linux-gnu" ++ ++; Function Attrs: nounwind uwtable ++define dso_local void @foo(double* nocapture %a, i32 %N) local_unnamed_addr #0 { ++entry: ++ %cmp5 = icmp sgt i32 %N, 0 ++ br i1 %cmp5, label %for.body.preheader, label %for.end ++ ++for.body.preheader: ; preds = %entry ++ %wide.trip.count = zext i32 %N to i64 ++ br label %for.body ++ ++for.body: ; preds = %for.body, %for.body.preheader ++ %indvars.iv = phi i64 [ 0, %for.body.preheader ], [ %indvars.iv.next, %for.body ] ++ %0 = trunc i64 %indvars.iv to i32 ++ %conv = sitofp i32 %0 to double ++ %call = tail call fast double @sin(double %conv) #2 ++ %arrayidx = getelementptr inbounds double, double* %a, i64 %indvars.iv ++ store double %call, double* %arrayidx, align 8, !tbaa !2 ++ %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 ++ %exitcond = icmp eq i64 %indvars.iv.next, %wide.trip.count ++ br i1 %exitcond, label %for.end, label %for.body, !llvm.loop !6 ++ ++for.end: ; preds = %for.body, %entry ++ ret void ++} ++ ++; Function Attrs: nounwind ++declare dso_local double @sin(double) local_unnamed_addr #1 ++ ++!2 = !{!3, !3, i64 0} ++!3 = !{!"double", !4, i64 0} ++!4 = !{!"omnipotent char", !5, i64 0} ++!5 = !{!"Simple C/C++ TBAA"} ++!6 = distinct !{!6, !7} ++!7 = !{!"llvm.loop.vectorize.width", i32 8} +diff --git a/llvm-14.0.6.src/test/Transforms/Util/add-TLI-mappings.ll b/llvm-14.0.6.src/test/Transforms/Util/add-TLI-mappings.ll +index e8c83c4d9bd1f..615fdc29176a2 100644 +--- a/llvm-14.0.6.src/test/Transforms/Util/add-TLI-mappings.ll ++++ b/llvm-14.0.6.src/test/Transforms/Util/add-TLI-mappings.ll +@@ -12,12 +12,12 @@ target triple = "x86_64-unknown-linux-gnu" + + ; COMMON-LABEL: @llvm.compiler.used = appending global + ; SVML-SAME: [6 x i8*] [ +-; SVML-SAME: i8* bitcast (<2 x double> (<2 x double>)* @__svml_sin2 to i8*), +-; SVML-SAME: i8* bitcast (<4 x double> (<4 x double>)* @__svml_sin4 to i8*), +-; SVML-SAME: i8* bitcast (<8 x double> (<8 x double>)* @__svml_sin8 to i8*), +-; SVML-SAME: i8* bitcast (<4 x float> (<4 x float>)* @__svml_log10f4 to i8*), +-; SVML-SAME: i8* bitcast (<8 x float> (<8 x float>)* @__svml_log10f8 to i8*), +-; SVML-SAME: i8* bitcast (<16 x float> (<16 x float>)* @__svml_log10f16 to i8*) ++; SVML-SAME: i8* bitcast (<2 x double> (<2 x double>)* @__svml_sin2_ha to i8*), ++; SVML-SAME: i8* bitcast (<4 x double> (<4 x double>)* @__svml_sin4_ha to i8*), ++; SVML-SAME: i8* bitcast (<8 x double> (<8 x double>)* @__svml_sin8_ha to i8*), ++; SVML-SAME: i8* bitcast (<4 x float> (<4 x float>)* @__svml_log10f4_ha to i8*), ++; SVML-SAME: i8* bitcast (<8 x float> (<8 x float>)* @__svml_log10f8_ha to i8*), ++; SVML-SAME: i8* bitcast (<16 x float> (<16 x float>)* @__svml_log10f16_ha to i8*) + ; MASSV-SAME: [2 x i8*] [ + ; MASSV-SAME: i8* bitcast (<2 x double> (<2 x double>)* @__sind2 to i8*), + ; MASSV-SAME: i8* bitcast (<4 x float> (<4 x float>)* @__log10f4 to i8*) +@@ -59,9 +59,9 @@ declare float @llvm.log10.f32(float) #0 + attributes #0 = { nounwind readnone } + + ; SVML: attributes #[[SIN]] = { "vector-function-abi-variant"= +-; SVML-SAME: "_ZGV_LLVM_N2v_sin(__svml_sin2), +-; SVML-SAME: _ZGV_LLVM_N4v_sin(__svml_sin4), +-; SVML-SAME: _ZGV_LLVM_N8v_sin(__svml_sin8)" } ++; SVML-SAME: "_ZGV_LLVM_N2v_sin(__svml_sin2_ha), ++; SVML-SAME: _ZGV_LLVM_N4v_sin(__svml_sin4_ha), ++; SVML-SAME: _ZGV_LLVM_N8v_sin(__svml_sin8_ha)" } + + ; MASSV: attributes #[[SIN]] = { "vector-function-abi-variant"= + ; MASSV-SAME: "_ZGV_LLVM_N2v_sin(__sind2)" } +diff --git a/llvm-14.0.6.src/utils/TableGen/CMakeLists.txt b/llvm-14.0.6.src/utils/TableGen/CMakeLists.txt +index 97df6a55d1b59..199e0285c9e5d 100644 +--- a/llvm-14.0.6.src/utils/TableGen/CMakeLists.txt ++++ b/llvm-14.0.6.src/utils/TableGen/CMakeLists.txt +@@ -47,6 +47,7 @@ add_tablegen(llvm-tblgen LLVM + SearchableTableEmitter.cpp + SubtargetEmitter.cpp + SubtargetFeatureInfo.cpp ++ SVMLEmitter.cpp + TableGen.cpp + Types.cpp + X86DisassemblerTables.cpp +diff --git a/llvm-14.0.6.src/utils/TableGen/SVMLEmitter.cpp b/llvm-14.0.6.src/utils/TableGen/SVMLEmitter.cpp +new file mode 100644 +index 0000000000000..a5aeea48db28b +--- /dev/null ++++ b/llvm-14.0.6.src/utils/TableGen/SVMLEmitter.cpp +@@ -0,0 +1,110 @@ ++//===------ SVMLEmitter.cpp - Generate SVML function variants -------------===// ++// ++// The LLVM Compiler Infrastructure ++// ++// This file is distributed under the University of Illinois Open Source ++// License. See LICENSE.TXT for details. ++// ++//===----------------------------------------------------------------------===// ++// ++// This tablegen backend emits the scalar to svml function map for TLI. ++// ++//===----------------------------------------------------------------------===// ++ ++#include "CodeGenTarget.h" ++#include "llvm/Support/Format.h" ++#include "llvm/TableGen/Error.h" ++#include "llvm/TableGen/Record.h" ++#include "llvm/TableGen/TableGenBackend.h" ++#include ++#include ++ ++using namespace llvm; ++ ++#define DEBUG_TYPE "SVMLVariants" ++#include "llvm/Support/Debug.h" ++ ++namespace { ++ ++class SVMLVariantsEmitter { ++ ++ RecordKeeper &Records; ++ ++private: ++ void emitSVMLVariants(raw_ostream &OS); ++ ++public: ++ SVMLVariantsEmitter(RecordKeeper &R) : Records(R) {} ++ ++ void run(raw_ostream &OS); ++}; ++} // End anonymous namespace ++ ++/// \brief Emit the set of SVML variant function names. ++// The default is to emit the high accuracy SVML variants until a mechanism is ++// introduced to allow a selection of different variants through precision ++// requirements specified by the user. This code generates mappings to svml ++// that are in the scalar form of llvm intrinsics, math library calls, or the ++// finite variants of math library calls. ++void SVMLVariantsEmitter::emitSVMLVariants(raw_ostream &OS) { ++ ++ const unsigned MinSinglePrecVL = 4; ++ const unsigned MaxSinglePrecVL = 16; ++ const unsigned MinDoublePrecVL = 2; ++ const unsigned MaxDoublePrecVL = 8; ++ ++ OS << "#ifdef GET_SVML_VARIANTS\n"; ++ ++ for (const auto &D : Records.getAllDerivedDefinitions("SvmlVariant")) { ++ StringRef SvmlVariantNameStr = D->getName(); ++ // Single Precision SVML ++ for (unsigned VL = MinSinglePrecVL; VL <= MaxSinglePrecVL; VL *= 2) { ++ // Emit the scalar math library function to svml function entry. ++ OS << "{\"" << SvmlVariantNameStr << "f" << "\", "; ++ OS << "\"" << "__svml_" << SvmlVariantNameStr << "f" << VL << "\", " ++ << "ElementCount::getFixed(" << VL << ")},\n"; ++ ++ // Emit the scalar intrinsic to svml function entry. ++ OS << "{\"" << "llvm." << SvmlVariantNameStr << ".f32" << "\", "; ++ OS << "\"" << "__svml_" << SvmlVariantNameStr << "f" << VL << "\", " ++ << "ElementCount::getFixed(" << VL << ")},\n"; ++ ++ // Emit the finite math library function to svml function entry. ++ OS << "{\"__" << SvmlVariantNameStr << "f_finite" << "\", "; ++ OS << "\"" << "__svml_" << SvmlVariantNameStr << "f" << VL << "\", " ++ << "ElementCount::getFixed(" << VL << ")},\n"; ++ } ++ ++ // Double Precision SVML ++ for (unsigned VL = MinDoublePrecVL; VL <= MaxDoublePrecVL; VL *= 2) { ++ // Emit the scalar math library function to svml function entry. ++ OS << "{\"" << SvmlVariantNameStr << "\", "; ++ OS << "\"" << "__svml_" << SvmlVariantNameStr << VL << "\", " << "ElementCount::getFixed(" << VL ++ << ")},\n"; ++ ++ // Emit the scalar intrinsic to svml function entry. ++ OS << "{\"" << "llvm." << SvmlVariantNameStr << ".f64" << "\", "; ++ OS << "\"" << "__svml_" << SvmlVariantNameStr << VL << "\", " << "ElementCount::getFixed(" << VL ++ << ")},\n"; ++ ++ // Emit the finite math library function to svml function entry. ++ OS << "{\"__" << SvmlVariantNameStr << "_finite" << "\", "; ++ OS << "\"" << "__svml_" << SvmlVariantNameStr << VL << "\", " ++ << "ElementCount::getFixed(" << VL << ")},\n"; ++ } ++ } ++ ++ OS << "#endif // GET_SVML_VARIANTS\n\n"; ++} ++ ++void SVMLVariantsEmitter::run(raw_ostream &OS) { ++ emitSVMLVariants(OS); ++} ++ ++namespace llvm { ++ ++void EmitSVMLVariants(RecordKeeper &RK, raw_ostream &OS) { ++ SVMLVariantsEmitter(RK).run(OS); ++} ++ ++} // End llvm namespace +diff --git a/llvm-14.0.6.src/utils/TableGen/TableGen.cpp b/llvm-14.0.6.src/utils/TableGen/TableGen.cpp +index 2d4a45f889be6..603d0c223b33a 100644 +--- a/llvm-14.0.6.src/utils/TableGen/TableGen.cpp ++++ b/llvm-14.0.6.src/utils/TableGen/TableGen.cpp +@@ -57,6 +57,7 @@ enum ActionType { + GenAutomata, + GenDirectivesEnumDecl, + GenDirectivesEnumImpl, ++ GenSVMLVariants, + }; + + namespace llvm { +@@ -138,7 +139,9 @@ cl::opt Action( + clEnumValN(GenDirectivesEnumDecl, "gen-directive-decl", + "Generate directive related declaration code (header file)"), + clEnumValN(GenDirectivesEnumImpl, "gen-directive-impl", +- "Generate directive related implementation code"))); ++ "Generate directive related implementation code"), ++ clEnumValN(GenSVMLVariants, "gen-svml", ++ "Generate SVML variant function names"))); + + cl::OptionCategory PrintEnumsCat("Options for -print-enums"); + cl::opt Class("class", cl::desc("Print Enum list for this class"), +@@ -272,6 +275,9 @@ bool LLVMTableGenMain(raw_ostream &OS, RecordKeeper &Records) { + case GenDirectivesEnumImpl: + EmitDirectivesImpl(Records, OS); + break; ++ case GenSVMLVariants: ++ EmitSVMLVariants(Records, OS); ++ break; + } + + return false; +diff --git a/llvm-14.0.6.src/utils/TableGen/TableGenBackends.h b/llvm-14.0.6.src/utils/TableGen/TableGenBackends.h +index 71db8dc77b052..86c3a3068c2dc 100644 +--- a/llvm-14.0.6.src/utils/TableGen/TableGenBackends.h ++++ b/llvm-14.0.6.src/utils/TableGen/TableGenBackends.h +@@ -93,6 +93,7 @@ void EmitExegesis(RecordKeeper &RK, raw_ostream &OS); + void EmitAutomata(RecordKeeper &RK, raw_ostream &OS); + void EmitDirectivesDecl(RecordKeeper &RK, raw_ostream &OS); + void EmitDirectivesImpl(RecordKeeper &RK, raw_ostream &OS); ++void EmitSVMLVariants(RecordKeeper &RK, raw_ostream &OS); + + } // End llvm namespace + +diff --git a/llvm-14.0.6.src/utils/vim/syntax/llvm.vim b/llvm-14.0.6.src/utils/vim/syntax/llvm.vim +index 205db16b7d8cd..2572ab5a59e1b 100644 +--- a/llvm-14.0.6.src/utils/vim/syntax/llvm.vim ++++ b/llvm-14.0.6.src/utils/vim/syntax/llvm.vim +@@ -104,6 +104,7 @@ syn keyword llvmKeyword + \ inreg + \ intel_ocl_bicc + \ inteldialect ++ \ intel_svmlcc + \ internal + \ jumptable + \ linkonce diff --git a/easybuild/easyconfigs/l/LSD2/LSD2-2.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LSD2/LSD2-2.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..07a7015b5b8 --- /dev/null +++ b/easybuild/easyconfigs/l/LSD2/LSD2-2.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +# Updated to v2.3 by +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'CMakeMake' + +name = 'LSD2' +version = '2.4.1' + +homepage = 'https://github.com/tothuhien/lsd2' +description = "Least-squares methods to estimate rates and dates from phylogenies" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'tothuhien' + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v.%(version)s.tar.gz'] +patches = ['%(name)s-1.9.7_fix_cmake_to_build_lib_and_binary.patch'] +checksums = [ + {'v.2.4.1.tar.gz': '3d0921c96edb8f30498dc8a27878a76d785516043fbede4a72eefd84b5955458'}, + {'LSD2-1.9.7_fix_cmake_to_build_lib_and_binary.patch': + '8ef6e8c3a9a5aa2099678ed84a7e54ef687e3900894694c4eec1f5399f0487f6'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['bin/lsd2', 'lib/liblsd2.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['lsd2 -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/Lab-Streaming-Layer/Lab-Streaming-Layer-1.16.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/Lab-Streaming-Layer/Lab-Streaming-Layer-1.16.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5d9664dba62 --- /dev/null +++ b/easybuild/easyconfigs/l/Lab-Streaming-Layer/Lab-Streaming-Layer-1.16.2-GCCcore-12.3.0.eb @@ -0,0 +1,56 @@ +easyblock = 'CMakeMake' + +name = 'Lab-Streaming-Layer' +version = '1.16.2' + +homepage = 'https://labstreaminglayer.readthedocs.io' +description = """The lab streaming layer (LSL) is a system for the unified collection of +measurement time series in research experiments that handles both the +networking, time-synchronization, (near-) real-time access as well as +optionally the centralized collection, viewing and disk recording of the data.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/sccn/liblsl/archive/refs/tags'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': 'liblsl-%(version)s.tar.gz'}] +checksums = ['923aa4c81c0fef651c325e3c27aa5b96771540ca2a0933d1b327db27c6dac839'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('git', '2.41.0', '-nodocs'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +configopts = "-DCMAKE_INSTALL_LIBDIR=lib" + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} +exts_list = [ + ('pylsl', version, { + 'source_urls': ['https://github.com/labstreaminglayer/pylsl/archive/refs/tags'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['1cef9c6c4876027ce18a4022ba4fdf023d037f6e76e7422ef24536d19d912c08'], + }), +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/lslver', 'lib/liblsl.%s' % SHLIB_EXT, 'include/lsl_c.h', 'include/lsl_cpp.h'], + 'dirs': ['include/lsl', 'lib/cmake', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "lslver", + "python -c 'import pylsl'", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/Levenshtein/Levenshtein-0.24.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/Levenshtein/Levenshtein-0.24.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..fffd5d3635f --- /dev/null +++ b/easybuild/easyconfigs/l/Levenshtein/Levenshtein-0.24.0-GCCcore-12.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Levenshtein' +version = '0.24.0' + +homepage = 'https://pypi.org/project/python-Levenshtein/' +description = 'Python extension for computing string edit distances and similarities.' + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), + ('scikit-build', '0.17.2'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True + +exts_list = [ + ('rapidfuzz', '3.6.1', { + 'checksums': ['35660bee3ce1204872574fa041c7ad7ec5175b3053a4cb6e181463fc07013de7'], + }), + (name, version, { + 'modulename': 'Levenshtein', + 'checksums': ['0cbcf3c9a7c77de3a405bfc857ab94341b4049e8c5c6b917f5ffcd5a92ff169a'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-10.2.0.eb index f5661b09387..9e430cbd05e 100644 --- a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-10.2.0.eb @@ -37,7 +37,7 @@ dependencies = [ ] configopts = "--enable-ld-version-script " -configopts += "--disable-webp --disable-libdeflate " +configopts += "--disable-webp " sanity_check_paths = { 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-8.3.0.eb index 433c867d0d7..cea5f1c71e5 100644 --- a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-8.3.0.eb @@ -37,7 +37,7 @@ dependencies = [ ] configopts = "--enable-ld-version-script " -configopts += "--disable-webp --disable-libdeflate " +configopts += "--disable-webp " sanity_check_paths = { 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-9.3.0.eb index e6481f975cf..cf4eb2b08e9 100644 --- a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-9.3.0.eb @@ -37,7 +37,7 @@ dependencies = [ ] configopts = "--enable-ld-version-script " -configopts += "--disable-webp --disable-libdeflate " +configopts += "--disable-webp " sanity_check_paths = { 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2022a.eb b/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2022a.eb index b8c32471efc..36daa28511f 100644 --- a/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2022a.eb +++ b/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2022a.eb @@ -1,11 +1,5 @@ -## -# This file is an EasyBuild recipe; see https://github.com/easybuilders/easybuild -# # Copyright:: Copyright (c) 2016 Riccardo Murri -# Authors:: Riccardo Murri # License:: GPL -# -## easyblock = 'ConfigureMake' @@ -24,14 +18,14 @@ checksums = ['6d2159fd395be0298362dd37f6c696676237bc8e2757341fbc46520e3b466bcc'] dependencies = [ ('FFLAS-FFPACK', '2.5.0'), ('FLINT', '2.9.0'), - ('Givaro', '4.2.0'), ('IML', '1.0.5'), ('NTL', '11.5.1'), ] +builddependencies = [('pkgconf', '1.8.0')] -configopts = "--with-fflas-ffpack=$EBROOTFFLASMINFFPACK --with-flint=$EBROOTFLINT " -configopts += "--with-givaro=$EBROOTGIVARO --with-iml=$EBROOTIML --with-ntl=$EBROOTNTL " -configopts += "--enable-openmp --enable-shared " +configopts = "--with-flint=$EBROOTFLINT " +configopts += "--with-iml=$EBROOTIML --with-ntl=$EBROOTNTL " +configopts += "--enable-shared " sanity_check_paths = { 'files': ['bin/linbox-config', 'include/linbox/linbox-config.h'] + diff --git a/easybuild/easyconfigs/l/Lua/Lua-5.4.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/Lua/Lua-5.4.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b2b1eef5195 --- /dev/null +++ b/easybuild/easyconfigs/l/Lua/Lua-5.4.6-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +name = 'Lua' +version = '5.4.6' + +homepage = 'https://www.lua.org/' +description = """Lua is a powerful, fast, lightweight, embeddable scripting language. + Lua combines simple procedural syntax with powerful data description constructs based + on associative arrays and extensible semantics. Lua is dynamically typed, + runs by interpreting bytecode for a register-based virtual machine, + and has automatic memory management with incremental garbage collection, + making it ideal for configuration, scripting, and rapid prototyping.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.%(namelower)s.org/ftp/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['7d5ea1b9cb6aa0b59ca3dde1c6adcb57ef83a1ba8e5432c0ecd06bf439b3ad88'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('ncurses', '6.4'), + ('libreadline', '8.2'), +] + + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/l/leidenalg/leidenalg-0.10.2-foss-2023a.eb b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.10.2-foss-2023a.eb new file mode 100644 index 00000000000..51d653f27b2 --- /dev/null +++ b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.10.2-foss-2023a.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'leidenalg' +version = '0.10.2' + +homepage = 'https://github.com/vtraag/leidenalg' +description = """Implementation of the Leiden algorithm for various quality +functions to be used with igraph in Python.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('PyYAML', '6.0'), + ('Bison', '3.8.2'), + ('libtool', '2.4.7'), + ('flex', '2.6.4'), + ('CMake', '3.26.3'), + ('poetry', '1.7.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('igraph', '0.10.10'), + ('python-igraph', '0.11.4'), + ('libleidenalg', '0.11.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('ddt', '1.7.2', { + 'checksums': ['d215d6b083963013c4a19b1e4dcd6a96e80e43ab77519597a6acfcf2e9a3e04b'], + }), + (name, version, { + 'checksums': ['0f4147a92b59834a719bfce30d563ea107e570130a7be60adbc8b95757192e4c'], + }), +] + +sanity_check_commands = [ + # tests require that 'leidenalg' Python module is available, + # so needs to be run after installation + "cd %(builddir)s/leidenalg/leidenalg-%(version)s && python setup.py test", + "python -c 'import leidenalg; import igraph as ig; " + "leidenalg.find_partition(ig.Graph.Erdos_Renyi(100, 0.1), " + "leidenalg.ModularityVertexPartition)'", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libMemcached/libMemcached-1.0.18-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libMemcached/libMemcached-1.0.18-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..83b4f18c5cf --- /dev/null +++ b/easybuild/easyconfigs/l/libMemcached/libMemcached-1.0.18-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libMemcached' +version = '1.0.18' + +homepage = 'https://memcached.org' +description = """libMemcached is an open source C/C++ client library and tools for + the memcached server (http://danga.com/memcached). It has been designed to be light + on memory usage, thread safe, and provide full access to server side methods.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://launchpad.net/libmemcached/%(version_major_minor)s/%(version)s/+download/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['libMemcached-1.0.18-bugfix-comparison.patch'] +checksums = [ + 'e22c0bb032fde08f53de9ffbc5a128233041d9f33b5de022c0978a2149885f82', # libmemcached-1.0.18.tar.gz + '92a105c91bf0c6a7b3d7aa35a041a071db07f777f5b812ed2499ffc892c3fe5a', # libMemcached-1.0.18-bugfix-comparison.patch +] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['lib/libmemcached.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libSBML/libSBML-5.19.7-GCC-11.3.0.eb b/easybuild/easyconfigs/l/libSBML/libSBML-5.19.7-GCC-11.3.0.eb new file mode 100644 index 00000000000..2e20ee1eda5 --- /dev/null +++ b/easybuild/easyconfigs/l/libSBML/libSBML-5.19.7-GCC-11.3.0.eb @@ -0,0 +1,75 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +# Notes:: Patch libsbml-fix_install_libpaths.patch comes from Fedora +# https://src.fedoraproject.org/rpms/libsbml/blob/rawhide/f/libsbml-fix_install_libpaths.patch +## +easyblock = 'CMakeMake' + +name = 'libSBML' +version = '5.19.7' + +# NOTE not in the license list of EB +# software_license = 'LGPLv2+' +software_license_urls = ['http://sbml.org/Software/libSBML/LibSBML_License'] +docurls = [ + 'https://github.com/sbmlteam/libsbml/releases/tag/v%(version)s', + 'http://sbml.org/Software/libSBML', +] + +homepage = 'http://sbml.org/Software/libSBML' +description = """libSBML (Systems Biology Markup Language library) is a free, open-source +programming library to help you read, write, manipulate, translate, and +validate SBML files and data streams. It's not an application itself (though +it does come with example programs), but rather a library you embed in your +own applications.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/sbmlteam/libsbml/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] + +checksums = [ + '61cbdf1a86aefbc002ac5a0cf9c0f3f91eca2ae8aa5c3e7ef78be0f5a84426c5', +] + + +builddependencies = [ + ('CMake', '3.23.1'), + ('make', '4.3'), + ('Check', '0.15.2'), + ('SWIG', '4.0.2'), + ('expat', '2.4.8'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +dependencies = [ + ('Perl', '5.34.1'), +] + +# Java jar, Ruby or Octave can also be build here. +# Python libSBML binding better done from https://pypi.org/project/python-libsbml/ +configure_cmd = 'cmake -DCMAKE_INSTALL_PREFIX=%(installdir)s -DWITH_JAVA=OFF ' +configure_cmd += '-DWITH_CHECK=ON -DWITH_SWIG=ON -DWITH_PERL=ON -DWITH_PYTHON=OFF ' +configure_cmd += '-DWITH_EXPAT=ON -DWITH_LIBXML=OFF -Wno-dev ' +configure_cmd += '-DENABLE_{LAYOUT,QUAL,COMP,FBC,RENDER,GROUPS,MULTI,DISTRIB}=ON ' +configure_cmd += '../%(namelower)s-%(version)s' + + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib64/libsbml.%s' % SHLIB_EXT, 'lib64/perl5/site_perl/5.34.1/x86_64-linux-thread-multi/LibSBML.pm'], + 'dirs': ['lib64', 'include', 'share'] +} + +modextrapaths = { + 'PERL5LIB': 'lib64/perl5/site_perl/5.34.1/x86_64-linux-thread-multi/', +} + + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..bc29e5b97e7 --- /dev/null +++ b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libaec' +version = '1.0.6' + +homepage = 'https://gitlab.dkrz.de/k202009/libaec' +description = """Libaec provides fast lossless compression of 1 up to 32 bit wide signed or unsigned integers +(samples). The library achieves best results for low entropy data as often encountered in space imaging +instrument data or numerical model output from weather or climate simulations. While floating point representations +are not directly supported, they can also be efficiently coded by grouping exponents and mantissa.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + + +sanity_check_paths = { + 'files': ['bin/aec', 'include/%(name)s.h', 'include/szlib.h', + 'lib/libaec.a', 'lib/libaec.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = ['aec --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c458b8ac411 --- /dev/null +++ b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libaec' +version = '1.0.6' + +homepage = 'https://gitlab.dkrz.de/k202009/libaec' +description = """Libaec provides fast lossless compression of 1 up to 32 bit wide signed or unsigned integers +(samples). The library achieves best results for low entropy data as often encountered in space imaging +instrument data or numerical model output from weather or climate simulations. While floating point representations +are not directly supported, they can also be efficiently coded by grouping exponents and mantissa.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), +] + + +sanity_check_paths = { + 'files': ['bin/aec', 'include/%(name)s.h', 'include/szlib.h', + 'lib/libaec.a', 'lib/libaec.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = ['aec --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.0_fix-tar-error-reporting.patch b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.0_fix-tar-error-reporting.patch new file mode 100644 index 00000000000..57857d416a2 --- /dev/null +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.0_fix-tar-error-reporting.patch @@ -0,0 +1,27 @@ +see https://github.com/libarchive/libarchive/pull/2101 +From e200fd8abfb4cf895a1cab4d89b67e6eefe83942 Mon Sep 17 00:00:00 2001 +From: Ed Maste +Date: Fri, 29 Mar 2024 16:38:11 -0400 +Subject: [PATCH] tar: make error reporting more robust and use correct errno + +As discussed in #1609. +--- + tar/read.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/tar/read.c b/tar/read.c +index af3d3f423..a7f14a07b 100644 +--- a/tar/read.c ++++ b/tar/read.c +@@ -371,8 +371,9 @@ read_archive(struct bsdtar *bsdtar, char mode, struct archive *writer) + if (r != ARCHIVE_OK) { + if (!bsdtar->verbose) + safe_fprintf(stderr, "%s", archive_entry_pathname(entry)); +- fprintf(stderr, ": %s: ", archive_error_string(a)); +- fprintf(stderr, "%s", strerror(errno)); ++ safe_fprintf(stderr, ": %s: %s", ++ archive_error_string(a), ++ strerror(archive_errno(a))); + if (!bsdtar->verbose) + fprintf(stderr, "\n"); + bsdtar->return_value = 1; diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-11.3.0.eb index 2f0d0841e1b..770e79b1663 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-11.3.0.eb @@ -13,7 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '11.3.0'} source_urls = ['https://www.libarchive.org/downloads/'] sources = [SOURCE_TAR_GZ] -checksums = ['c676146577d989189940f1959d9e3980d28513d74eedfbc6b7f15ea45fe54ee2'] +patches = ['libarchive-3.6.0_fix-tar-error-reporting.patch'] +checksums = [ + {'libarchive-3.6.1.tar.gz': 'c676146577d989189940f1959d9e3980d28513d74eedfbc6b7f15ea45fe54ee2'}, + {'libarchive-3.6.0_fix-tar-error-reporting.patch': + 'cf11f2d6e403cbb700f8ad1f67141f2a54884fa25e07d6a7919b0b6865d2cba2'}, +] builddependencies = [ ('binutils', '2.38'), diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb index 8cc05cbcb01..aa2a9c42b8d 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb @@ -13,7 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '12.2.0'} source_urls = ['https://www.libarchive.org/downloads/'] sources = [SOURCE_TAR_GZ] -checksums = ['c676146577d989189940f1959d9e3980d28513d74eedfbc6b7f15ea45fe54ee2'] +patches = ['libarchive-3.6.0_fix-tar-error-reporting.patch'] +checksums = [ + {'libarchive-3.6.1.tar.gz': 'c676146577d989189940f1959d9e3980d28513d74eedfbc6b7f15ea45fe54ee2'}, + {'libarchive-3.6.0_fix-tar-error-reporting.patch': + 'cf11f2d6e403cbb700f8ad1f67141f2a54884fa25e07d6a7919b0b6865d2cba2'}, +] builddependencies = [ ('binutils', '2.39'), diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-12.3.0.eb index 3126faae1c5..0e1fd34ce1f 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-12.3.0.eb @@ -13,7 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} source_urls = ['https://www.libarchive.org/downloads/'] sources = [SOURCE_TAR_GZ] -checksums = ['ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3'] +patches = ['libarchive-3.6.0_fix-tar-error-reporting.patch'] +checksums = [ + {'libarchive-3.6.2.tar.gz': 'ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3'}, + {'libarchive-3.6.0_fix-tar-error-reporting.patch': + 'cf11f2d6e403cbb700f8ad1f67141f2a54884fa25e07d6a7919b0b6865d2cba2'}, +] builddependencies = [ ('binutils', '2.40'), @@ -25,6 +30,8 @@ dependencies = [ ('OpenSSL', '1.1', '', SYSTEM), ] +postinstallcmds = ["sed -i 's/iconv//g' %(installdir)s/lib/pkgconfig/libarchive.pc"] + sanity_check_paths = { 'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT], 'dirs': ['bin', 'share/man/man3'], diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-13.1.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-13.1.0.eb index f0260cb95ae..086b414eec2 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-13.1.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-13.1.0.eb @@ -13,7 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '13.1.0'} source_urls = ['https://www.libarchive.org/downloads/'] sources = [SOURCE_TAR_GZ] -checksums = ['ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3'] +patches = ['libarchive-3.6.0_fix-tar-error-reporting.patch'] +checksums = [ + {'libarchive-3.6.2.tar.gz': 'ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3'}, + {'libarchive-3.6.0_fix-tar-error-reporting.patch': + 'cf11f2d6e403cbb700f8ad1f67141f2a54884fa25e07d6a7919b0b6865d2cba2'}, +] builddependencies = [ ('binutils', '2.40'), diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.7.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.7.2-GCCcore-13.2.0.eb index c31b668a246..8cfed22355c 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.7.2-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.7.2-GCCcore-13.2.0.eb @@ -13,7 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '13.2.0'} source_urls = ['https://www.libarchive.org/downloads/'] sources = [SOURCE_TAR_GZ] -checksums = ['df404eb7222cf30b4f8f93828677890a2986b66ff8bf39dac32a804e96ddf104'] +patches = ['libarchive-3.6.0_fix-tar-error-reporting.patch'] +checksums = [ + {'libarchive-3.7.2.tar.gz': 'df404eb7222cf30b4f8f93828677890a2986b66ff8bf39dac32a804e96ddf104'}, + {'libarchive-3.6.0_fix-tar-error-reporting.patch': + 'cf11f2d6e403cbb700f8ad1f67141f2a54884fa25e07d6a7919b0b6865d2cba2'}, +] builddependencies = [ ('binutils', '2.40'), diff --git a/easybuild/easyconfigs/l/libcint/libcint-5.5.0-gfbf-2022b.eb b/easybuild/easyconfigs/l/libcint/libcint-5.5.0-gfbf-2022b.eb new file mode 100644 index 00000000000..c8d70b5db4e --- /dev/null +++ b/easybuild/easyconfigs/l/libcint/libcint-5.5.0-gfbf-2022b.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'libcint' +version = '5.5.0' + +homepage = 'https://github.com/sunqm/libcint' +description = "libcint is an open source library for analytical Gaussian integrals." + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +source_urls = ['https://github.com/sunqm/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-4.4.0_remove_pyscftest.patch'] +checksums = [ + {'v5.5.0.tar.gz': 'c822a9a454587d935287de0f64a2c2cf5338323a554a3f34bcfb4a2892daf477'}, + {'libcint-4.4.0_remove_pyscftest.patch': '6449297a6aee30fef3d6a268aa892dea8dd5c3ca9669a50ae694ab9bcf17842d'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +configopts = "-DWITH_RANGE_COULOMB=on -DWITH_COULOMB_ERF=on -DWITH_F12=on -DENABLE_TEST=on" + +buildopts = 'VERBOSE=1' + +runtest = "test " +separate_build_dir = False # Must use the same directory for tests + +sanity_check_paths = { + 'files': ['include/cint.h', 'lib/%(name)s.so'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.2.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.2.0-serial.eb index 71cbe3216a6..4f17eb894d9 100644 --- a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.2.0-serial.eb +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.2.0-serial.eb @@ -13,8 +13,6 @@ source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed9 sources = ['libfdf-%(version)s.tar.gz'] checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] -configopts = ' --without-mpi ' - sanity_check_paths = { 'files': ['include/fdf.mod', 'lib/libfdf.a'], 'dirs': [''], diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.3.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.3.0-serial.eb index 60424b615f6..d344b97e0a7 100644 --- a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.3.0-serial.eb +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.3.0-serial.eb @@ -13,8 +13,6 @@ source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed9 sources = ['libfdf-%(version)s.tar.gz'] checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] -configopts = ' --without-mpi ' - sanity_check_paths = { 'files': ['include/fdf.mod', 'lib/libfdf.a'], 'dirs': [''], diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-11.2.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-11.2.0-serial.eb index 16305fbd339..df07567445e 100644 --- a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-11.2.0-serial.eb +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-11.2.0-serial.eb @@ -13,8 +13,6 @@ source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed9 sources = ['libfdf-%(version)s.tar.gz'] checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] -configopts = ' --without-mpi ' - sanity_check_paths = { 'files': ['include/fdf.mod', 'lib/libfdf.a'], 'dirs': [''], diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-iccifort-2020.4.304-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-iccifort-2020.4.304-serial.eb index bb206d03e65..12c8f37583f 100644 --- a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-iccifort-2020.4.304-serial.eb +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-iccifort-2020.4.304-serial.eb @@ -13,8 +13,6 @@ source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed9 sources = ['libfdf-%(version)s.tar.gz'] checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] -configopts = ' --without-mpi ' - sanity_check_paths = { 'files': ['include/fdf.mod', 'lib/libfdf.a'], 'dirs': [''], diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.2.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.2.0-serial.eb index f6a353357b6..8876b15d1d4 100644 --- a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.2.0-serial.eb +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.2.0-serial.eb @@ -13,8 +13,6 @@ source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed9 sources = ['libfdf-%(version)s.tar.gz'] checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] -configopts = ' --without-mpi ' - sanity_check_paths = { 'files': ['include/fdf.mod', 'lib/libfdf.a'], 'dirs': [''], diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.4.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.4.0-serial.eb index 4277acce16f..a09baf53da1 100644 --- a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.4.0-serial.eb +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.4.0-serial.eb @@ -13,8 +13,6 @@ source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed9 sources = ['libfdf-%(version)s.tar.gz'] checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] -configopts = ' --without-mpi ' - sanity_check_paths = { 'files': ['include/fdf.mod', 'lib/libfdf.a'], 'dirs': [''], diff --git a/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5e81a913222 --- /dev/null +++ b/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.2.0.eb @@ -0,0 +1,40 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'ConfigureMake' + +name = 'libfyaml' +version = '0.9' + +homepage = "https://github.com/pantoniou/libfyaml" +description = """Fully feature complete YAML parser and emitter, supporting the latest YAML spec and passing the +full YAML testsuite.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/pantoniou/libfyaml/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['7731edc5dfcc345d5c5c9f6ce597133991a689dabede393cd77bae89b327cd6d'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('libyaml', '0.2.5'), +] + +preconfigopts = './bootstrap.sh &&' + +# tests require git checkout for the data +# if jq is available then one test may fail: https://github.com/pantoniou/libfyaml/issues/99 +# runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/fy-tool', 'include/libfyaml.h', 'lib/libfyaml.a', 'lib/libfyaml.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["fy-tool --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b637ca843e5 --- /dev/null +++ b/easybuild/easyconfigs/l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'libgit2' +version = '1.7.2' + +homepage = 'https://libgit2.org/' +description = """libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant +linkable library with a solid API, allowing you to write native speed custom Git applications in any language +which supports C bindings.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['de384e29d7efc9330c6cdb126ebf88342b5025d920dcb7c645defad85195ea7f'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('pkgconf', '2.0.3'), +] +dependencies = [ + ('PCRE2', '10.42'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '-DREGEX_BACKEND=pcre2' + +sanity_check_paths = { + 'files': ['include/git2.h', 'lib64/%%(name)s.%s' % SHLIB_EXT, 'lib64/pkgconfig/%(name)s.pc'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libgxps/libgxps-0.3.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libgxps/libgxps-0.3.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..715e0f3b46b --- /dev/null +++ b/easybuild/easyconfigs/l/libgxps/libgxps-0.3.2-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MesonNinja' + +name = 'libgxps' +version = '0.3.2' + +homepage = 'https://wiki.gnome.org/Projects/libgxps' +description = "libgxps is a GObject based library for handling and rendering XPS documents." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['6d27867256a35ccf9b69253eb2a88a32baca3b97d5f4ef7f82e3667fa435251c'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('GLib', '2.77.1'), + ('GObject-Introspection', '1.76.1'), + ('cairo', '1.17.8'), + ('libarchive', '3.6.2'), + ('freetype', '2.13.0'), + ('libjpeg-turbo', '2.1.5.1'), + ('LibTIFF', '4.5.0'), + ('libpng', '1.6.39'), + ('zlib', '1.2.13'), + ('LittleCMS', '2.15'), + ('GTK3', '3.24.37'), +] + +sanity_check_paths = { + 'files': ['lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libhandy/libhandy-1.8.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libhandy/libhandy-1.8.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b5adc2d9fad --- /dev/null +++ b/easybuild/easyconfigs/l/libhandy/libhandy-1.8.2-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MesonNinja' + +name = 'libhandy' +version = '1.8.2' + +homepage = 'https://gnome.pages.gitlab.gnome.org/libhandy/' +description = "Building blocks for modern adaptive GNOME apps" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gitlab.gnome.org/GNOME/%(name)s/-/archive/%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['2c551aae128dff918b84943a93a58bc9be84f42a709b9e43c8d074538e68c10e'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('Vala', '0.56.14'), +] + +dependencies = [ + ('GObject-Introspection', '1.76.1'), + ('GTK3', '3.24.37'), + ('FriBidi', '1.0.12'), +] + +configopts = '-Dgtk_doc=false' + +sanity_check_paths = { + 'files': ['bin/handy-1-demo', 'lib/%%(name)s-1.%s' % SHLIB_EXT, 'lib/pkgconfig/libhandy-1.pc'], + 'dirs': ['include/libhandy-1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..fea33552f7a --- /dev/null +++ b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libidn2' +version = '2.3.2' + +homepage = 'http://www.gnu.org/software/%(name)s' +description = "Libidn2 implements the revised algorithm for internationalized domain names called IDNA2008/TR46." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://ftp.gnu.org/gnu/libidn/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['76940cd4e778e8093579a9d195b25fff5e936e9dc6242068528b437a76764f91'] + +builddependencies = [ + ('binutils', '2.40'), +] + + +sanity_check_paths = { + 'files': ['bin/idn2', 'lib/%s.%s' % (name, SHLIB_EXT)], + 'dirs': ['include'], +} + +sanity_check_commands = ['idn2 --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libleidenalg/libleidenalg-0.11.1-foss-2023a.eb b/easybuild/easyconfigs/l/libleidenalg/libleidenalg-0.11.1-foss-2023a.eb new file mode 100644 index 00000000000..63aefe650b9 --- /dev/null +++ b/easybuild/easyconfigs/l/libleidenalg/libleidenalg-0.11.1-foss-2023a.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'libleidenalg' +version = '0.11.1' + +homepage = 'https://github.com/vtraag/libleidenalg' +description = """Implements the Leiden algorithm in C++""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/vtraag/libleidenalg/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['7d7392afd214c584e023cc2f0d0ac375f58575c32f2e49ba85062065f1637c7f'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('igraph', '0.10.10'), +] + +sanity_check_paths = { + 'files': [ + 'include/%(name)s/GraphHelper.h', + 'include/%(name)s/libleidenalg_export.h', + 'lib/liblibleidenalg.%s' % SHLIB_EXT, + ], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/librosa/librosa-0.10.1-foss-2023a.eb b/easybuild/easyconfigs/l/librosa/librosa-0.10.1-foss-2023a.eb new file mode 100644 index 00000000000..444e2ba800d --- /dev/null +++ b/easybuild/easyconfigs/l/librosa/librosa-0.10.1-foss-2023a.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'librosa' +version = '0.10.1' + +homepage = 'https://librosa.org/' +description = """Audio and music processing in Python""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('matplotlib', '3.7.2'), + ('poetry', '1.5.1'), # build for soxr +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # to get joblib + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('FFmpeg', '6.0'), + ('numba', '0.58.1'), + ('libsndfile', '1.2.2'), +] + +use_pip = True + +exts_list = [ + ('soxr', '0.3.7', { + 'preinstallopts': 'python -m build && ', + 'checksums': ['436ddff00c6eb2c75b79c19cfdca7527b1e31b5fad738652f044045ba6258593'], + }), + ('audioread', '3.0.1', { + 'checksums': ['ac5460a5498c48bdf2e8e767402583a4dcd13f4414d286f42ce4379e8b35066d'], + }), + ('soundfile', '0.12.1', { + 'checksums': ['e8e1017b2cf1dda767aef19d2fd9ee5ebe07e050d430f77a0a7c66ba08b8cdae'], + }), + ('lazy_loader', '0.3', { + 'checksums': ['3b68898e34f5b2a29daaaac172c6555512d0f32074f147e2254e4a6d9d838f37'], + }), + ('resampy', '0.4.3', { # for tests + 'checksums': ['a0d1c28398f0e55994b739650afef4e3974115edbe96cd4bb81968425e916e47'], + }), + (name, version, { + 'checksums': ['832f7d150d6dd08ed2aa08c0567a4be58330635c32ddd2208de9bc91300802c7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/librsvg/librsvg-2.58.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/librsvg/librsvg-2.58.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..fe89401030a --- /dev/null +++ b/easybuild/easyconfigs/l/librsvg/librsvg-2.58.0-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'librsvg' +version = '2.58.0' + +homepage = 'https://wiki.gnome.org/Projects/LibRsvg' +description = "Librsvg is a library to render SVG files using cairo." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://download.gnome.org/sources/librsvg/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['d7c444a926406b59790be0deae196e18ed26059da573fa1aa9ec9ca7658a559c'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Rust', '1.76.0'), +] + +dependencies = [ + ('cairo', '1.18.0'), + ('freetype', '2.13.2'), + ('Gdk-Pixbuf', '2.42.10'), + ('HarfBuzz', '8.2.2'), + ('Pango', '1.51.0'), + ('GObject-Introspection', '1.78.1'), +] + +# don't GdkPixbuf loader (which gets added to the Gdk-Pixbuf installation directory) +configopts = "--disable-pixbuf-loader" + +sanity_check_paths = { + 'files': ['bin/rsvg-convert', 'lib/librsvg-%(version_major)s.a', 'lib/librsvg-%%(version_major)s.%s' % SHLIB_EXT, + 'lib/pkgconfig/librsvg-%(version_major)s.0.pc'], + 'dirs': ['include/librsvg-%(version_major)s.0/librsvg', 'share'], +} + +sanity_check_commands = ["rsvg-convert --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsigsegv/libsigsegv-2.14-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libsigsegv/libsigsegv-2.14-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f48813683d6 --- /dev/null +++ b/easybuild/easyconfigs/l/libsigsegv/libsigsegv-2.14-GCCcore-12.2.0.eb @@ -0,0 +1,26 @@ +# Authors:: Jack Perdue - TAMU HPRC - http://hprc.tamu.edu + +easyblock = 'ConfigureMake' + +name = 'libsigsegv' +version = '2.14' + +homepage = 'https://www.gnu.org/software/libsigsegv/' + +description = "GNU libsigsegv is a library for handling page faults in user mode." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cdac3941803364cf81a908499beb79c200ead60b6b5b40cad124fd1e06caa295'] + +builddependencies = [('binutils', '2.39')] + +sanity_check_paths = { + 'files': ['include/sigsegv.h', 'lib/libsigsegv.a', 'lib/libsigsegv.la'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..405e0568f99 --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-13.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'libspatialindex' +version = '1.9.3' + +homepage = 'https://libspatialindex.org' +description = "C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = ['spatialindex-src-%(version)s.tar.gz'] +checksums = ['47d8779e32477b330e46b62fb7e62cb812caee5d8e684c35cb635a42a749f3fc'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +sanity_check_paths = { + 'files': ['lib/%s.%s' % (name, SHLIB_EXT)], + 'dirs': ['include/spatialindex'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspectre/libspectre-0.2.12-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libspectre/libspectre-0.2.12-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a2425353846 --- /dev/null +++ b/easybuild/easyconfigs/l/libspectre/libspectre-0.2.12-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'ConfigureMake' + +name = 'libspectre' +version = '0.2.12' + +homepage = 'https://www.freedesktop.org/wiki/Software/libspectre/' +description = """libspectre is a small library for rendering Postscript + documents. It provides a convenient easy to use API for handling and + rendering Postscript documents. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://libspectre.freedesktop.org/releases'] +sources = [SOURCE_TAR_GZ] +checksums = ['55a7517cd3572bd2565df0cf450944a04d5273b279ebb369a895391957f0f960'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Ghostscript', '10.01.2'), + ('cairo', '1.17.8'), +] + +sanity_check_paths = { + 'files': ['lib/%%(name)s.%s' % x for x in [SHLIB_EXT, 'a', 'la']], + 'dirs': ['include/%(name)s'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..25da96b4179 --- /dev/null +++ b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.4-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libtirpc' +version = '1.3.4' + +homepage = 'https://sourceforge.net/projects/libtirpc/' +description = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860'] + +configopts = '--enable-static --enable-shared --disable-gssapi' + +builddependencies = [ + ('binutils', '2.40') +] + +sanity_check_paths = { + 'files': ['lib/libtirpc.%s' % (x,) for x in ['a', SHLIB_EXT]], + 'dirs': ['include/tirpc', 'lib'], +} + +modextrapaths = {'CPATH': 'include/tirpc'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libunwind/libunwind-1.1-GCC-4.9.2.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.1-GCC-4.9.2.eb index 396cb5364fe..2577378688e 100644 --- a/easybuild/easyconfigs/l/libunwind/libunwind-1.1-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.1-GCC-4.9.2.eb @@ -15,7 +15,7 @@ toolchain = {'name': 'GCC', 'version': '4.9.2'} sources = [SOURCE_TAR_GZ] source_urls = [GNU_SAVANNAH_SOURCE] -checksums = ['fb4ea2f6fbbe45bf032cd36e586883ce'] +checksums = ['9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a'] dependencies = [ ('XZ', '5.2.2'), diff --git a/easybuild/easyconfigs/l/libunwind/libunwind-1.1-foss-2016a.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.1-foss-2016a.eb index 9cbc7f2bbf4..5c630a26105 100644 --- a/easybuild/easyconfigs/l/libunwind/libunwind-1.1-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.1-foss-2016a.eb @@ -15,7 +15,7 @@ toolchain = {'name': 'foss', 'version': '2016a'} sources = [SOURCE_TAR_GZ] source_urls = [GNU_SAVANNAH_SOURCE] -checksums = ['fb4ea2f6fbbe45bf032cd36e586883ce'] +checksums = ['9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a'] dependencies = [ ('XZ', '5.2.2'), @@ -24,7 +24,6 @@ dependencies = [ preconfigopts = 'export LIBS="$LIBS -llzma" && ' sanity_check_paths = { - 'files': ["include/libunwind.h", "lib/libunwind.%s" % SHLIB_EXT], 'files': ['include/libunwind.h', ('lib/libunwind.%s' % SHLIB_EXT, 'lib64/libunwind.%s' % SHLIB_EXT)], 'dirs': [] } diff --git a/easybuild/easyconfigs/l/libunwind/libunwind-1.1-intel-2016b.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.1-intel-2016b.eb index ba5d7097696..25aafb9cb43 100644 --- a/easybuild/easyconfigs/l/libunwind/libunwind-1.1-intel-2016b.eb +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.1-intel-2016b.eb @@ -15,7 +15,7 @@ toolchain = {'name': 'intel', 'version': '2016b'} sources = [SOURCE_TAR_GZ] source_urls = [GNU_SAVANNAH_SOURCE] -checksums = ['fb4ea2f6fbbe45bf032cd36e586883ce'] +checksums = ['9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a'] dependencies = [ ('XZ', '5.2.2'), @@ -24,7 +24,6 @@ dependencies = [ preconfigopts = 'export LIBS="$LIBS -llzma" && ' sanity_check_paths = { - 'files': ["include/libunwind.h", "lib/libunwind.%s" % SHLIB_EXT], 'files': ['include/libunwind.h', ('lib/libunwind.%s' % SHLIB_EXT, 'lib64/libunwind.%s' % SHLIB_EXT)], 'dirs': [] } diff --git a/easybuild/easyconfigs/l/libunwind/libunwind-1.2.1-GCCcore-6.3.0.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.2.1-GCCcore-6.3.0.eb index 6f1c323148e..2fa2f1016be 100644 --- a/easybuild/easyconfigs/l/libunwind/libunwind-1.2.1-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.2.1-GCCcore-6.3.0.eb @@ -29,7 +29,6 @@ dependencies = [ preconfigopts = 'export LIBS="$LIBS -llzma" && export CFLAGS="$CFLAGS -fuse-ld=bfd" && ' sanity_check_paths = { - 'files': ["include/libunwind.h", "lib/libunwind.%s" % SHLIB_EXT], 'files': ['include/libunwind.h', ('lib/libunwind.%s' % SHLIB_EXT, 'lib64/libunwind.%s' % SHLIB_EXT)], 'dirs': [] } diff --git a/easybuild/easyconfigs/l/libunwind/libunwind-1.2.1-GCCcore-6.4.0.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.2.1-GCCcore-6.4.0.eb index 843868e8f25..aca3556f2ab 100644 --- a/easybuild/easyconfigs/l/libunwind/libunwind-1.2.1-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.2.1-GCCcore-6.4.0.eb @@ -24,7 +24,6 @@ dependencies = [ preconfigopts = 'export LIBS="$LIBS -llzma" && export CFLAGS="$CFLAGS -fuse-ld=bfd" && ' sanity_check_paths = { - 'files': ["include/libunwind.h", "lib/libunwind.%s" % SHLIB_EXT], 'files': ['include/libunwind.h', ('lib/libunwind.%s' % SHLIB_EXT, 'lib64/libunwind.%s' % SHLIB_EXT)], 'dirs': [] } diff --git a/easybuild/easyconfigs/l/libunwind/libunwind-1.2.1-foss-2016b.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.2.1-foss-2016b.eb index bd6e0e60b9d..d866e563df5 100644 --- a/easybuild/easyconfigs/l/libunwind/libunwind-1.2.1-foss-2016b.eb +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.2.1-foss-2016b.eb @@ -23,7 +23,6 @@ dependencies = [ preconfigopts = 'export LIBS="$LIBS -llzma" && export CFLAGS="$CFLAGS -fuse-ld=bfd" && ' sanity_check_paths = { - 'files': ["include/libunwind.h", "lib/libunwind.%s" % SHLIB_EXT], 'files': ['include/libunwind.h', ('lib/libunwind.%s' % SHLIB_EXT, 'lib64/libunwind.%s' % SHLIB_EXT)], 'dirs': [] } diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.2.0.eb index 2d16f4413bf..46b4a89581d 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.2.0.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '10.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_lm-fix.patch', @@ -17,7 +17,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch 'd44d4a35ae22542c3086e57638e0e2b6b1ad8e98d0898036972a0248cf8778e8', # libxc-4.3.4_fix-timeout.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.3.0.eb index 33d60c749bc..34fcaa78e3e 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.3.0.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '10.3.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_lm-fix.patch', @@ -17,7 +17,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch 'd44d4a35ae22542c3086e57638e0e2b6b1ad8e98d0898036972a0248cf8778e8', # libxc-4.3.4_fix-timeout.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-11.2.0.eb index b45abb6d6ab..9813cb985bf 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-11.2.0.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '11.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_lm-fix.patch', @@ -17,7 +17,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch 'd44d4a35ae22542c3086e57638e0e2b6b1ad8e98d0898036972a0248cf8778e8', # libxc-4.3.4_fix-timeout.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-9.3.0.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-9.3.0.eb index d57ae6f7ed6..e5db1b11bf4 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-9.3.0.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '9.3.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_lm-fix.patch', @@ -17,7 +17,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch 'd44d4a35ae22542c3086e57638e0e2b6b1ad8e98d0898036972a0248cf8778e8', # libxc-4.3.4_fix-timeout.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.1.217.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.1.217.eb index 21a6399c430..7f7307e08fd 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.1.217.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.1.217.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'iccifort', 'version': '2020.1.217'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_rename-F03.patch', @@ -18,7 +18,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'e494be3ca2026998f2dd7c6b03a4e662f204fd3d963271e588f9f0d5739e76b5', # libxc-4.3.4_rename-F03.patch 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.4.304.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.4.304.eb index 81cacc26ca8..bd9018d08a4 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.4.304.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'iccifort', 'version': '2020.4.304'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_rename-F03.patch', @@ -18,7 +18,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'e494be3ca2026998f2dd7c6b03a4e662f204fd3d963271e588f9f0d5739e76b5', # libxc-4.3.4_rename-F03.patch 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.2.0.eb index 5b25d77dc2d..1f09dfc969b 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.2.0.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_rename-F03.patch', @@ -18,7 +18,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'e494be3ca2026998f2dd7c6b03a4e662f204fd3d963271e588f9f0d5739e76b5', # libxc-4.3.4_rename-F03.patch 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.4.0.eb index fca29faafd6..0595d050314 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.4.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.4.0.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_rename-F03.patch', @@ -18,7 +18,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'e494be3ca2026998f2dd7c6b03a4e662f204fd3d963271e588f9f0d5739e76b5', # libxc-4.3.4_rename-F03.patch 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.1.2-GCC-10.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.1.2-GCC-10.2.0.eb index e62a0ad0fac..02f66c082a2 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.1.2-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.2-GCC-10.2.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.1.2' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '10.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['180d52b5552921d1fac8a10869dd30708c0fb41dc202a3bbee0e36f43872718a'] +checksums = [('180d52b5552921d1fac8a10869dd30708c0fb41dc202a3bbee0e36f43872718a', + '3fe05ccf7033622112f7d6ab28ac82301f5840b8d1bbe8b6df1022dbc732883f')] builddependencies = [ ('CMake', '3.18.4'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.1.3-GCC-10.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.1.3-GCC-10.2.0.eb index 8aa007ac6f1..311998a80a7 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.1.3-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.3-GCC-10.2.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.1.3' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '10.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['0350defdd6c1b165e4cf19995f590eee6e0b9db95a6b221d28cecec40f4e85cd'] +checksums = [('0350defdd6c1b165e4cf19995f590eee6e0b9db95a6b221d28cecec40f4e85cd', + '53cbccae4227794c4f4e042d0c20c3171894d8eacd13fd78aab376d5971a966c')] builddependencies = [ ('CMake', '3.18.4'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.1.5-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.1.5-GCC-10.3.0.eb index 8246e8aaa30..9b997fa8741 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.1.5-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.5-GCC-10.3.0.eb @@ -6,15 +6,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.1.5' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '10.3.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['02e4615a22dc3ec87a23efbd3d9be5bfad2445337140bad1720699571c45c3f9'] +checksums = [('02e4615a22dc3ec87a23efbd3d9be5bfad2445337140bad1720699571c45c3f9', + 'f2b428838536bcf2009af6a753f7314a069eed6a55bf1d1af4d4dcbcdd1c3697')] builddependencies = [ ('CMake', '3.20.1'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.1.5-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.1.5-intel-compilers-2021.2.0.eb index 9886c92eddb..112d923e484 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.1.5-intel-compilers-2021.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.5-intel-compilers-2021.2.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.1.5' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['02e4615a22dc3ec87a23efbd3d9be5bfad2445337140bad1720699571c45c3f9'] +checksums = [('02e4615a22dc3ec87a23efbd3d9be5bfad2445337140bad1720699571c45c3f9', + 'f2b428838536bcf2009af6a753f7314a069eed6a55bf1d1af4d4dcbcdd1c3697')] builddependencies = [ ('CMake', '3.20.1'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.1.6-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.1.6-GCC-11.2.0.eb index f36ec4c4923..4bfdb399882 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.1.6-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.6-GCC-11.2.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.1.6' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '11.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['0d0496513114ed84987c32649912f9a65d234696dab13a4b00ce8c420bfc0a1d'] +checksums = [('0d0496513114ed84987c32649912f9a65d234696dab13a4b00ce8c420bfc0a1d', + '1f752b2cf65c8145c1830f2d666181649c27bc0dd9685893d172822afade29f6')] builddependencies = [ ('CMake', '3.21.1'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.1.6-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.1.6-intel-compilers-2021.4.0.eb index 61a5bbdab00..9fab692924c 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.1.6-intel-compilers-2021.4.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.6-intel-compilers-2021.4.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.1.6' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['0d0496513114ed84987c32649912f9a65d234696dab13a4b00ce8c420bfc0a1d'] +checksums = [('0d0496513114ed84987c32649912f9a65d234696dab13a4b00ce8c420bfc0a1d', + '1f752b2cf65c8145c1830f2d666181649c27bc0dd9685893d172822afade29f6')] builddependencies = [ ('CMake', '3.21.1'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.2.3-GCC-11.3.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.2.3-GCC-11.3.0.eb index e1d6b22c293..4b3655eeb77 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.2.3-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.2.3-GCC-11.3.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.2.3' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '11.3.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2'] +checksums = [('7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2', + '38b60ed552b46367175b370e1ad5409fcf45c49b71ed13706a65b485f06a5417')] builddependencies = [ ('CMake', '3.23.1'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.2.3-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.2.3-intel-compilers-2022.1.0.eb index 3968f139ee7..d5879d1a521 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.2.3-intel-compilers-2022.1.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.2.3-intel-compilers-2022.1.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.2.3' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2'] +checksums = [('7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2', + '38b60ed552b46367175b370e1ad5409fcf45c49b71ed13706a65b485f06a5417')] builddependencies = [ ('CMake', '3.23.1'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.1.0-GCC-12.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-GCC-12.2.0.eb index 7dc5e000dd6..4202f7d1d77 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-6.1.0-GCC-12.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-GCC-12.2.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '6.1.0' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '12.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54'] +checksums = [('a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54', + 'f593745fa47ebfb9ddc467aaafdc2fa1275f0d7250c692ce9761389a90dd8eaf')] builddependencies = [ ('CMake', '3.24.3'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb index 4e4f288ba98..c98941f57e6 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '6.1.0' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2022.2.1'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54'] +checksums = [('a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54', + 'f593745fa47ebfb9ddc467aaafdc2fa1275f0d7250c692ce9761389a90dd8eaf')] builddependencies = [ ('CMake', '3.24.3'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-12.3.0.eb b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-12.3.0.eb index 81956f38a47..d9d1801f2f7 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-12.3.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '6.2.2' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '12.3.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045'] +checksums = [('a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045', + '3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc')] builddependencies = [ ('CMake', '3.26.3'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-13.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-13.2.0.eb new file mode 100644 index 00000000000..3aa336dd9b4 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-13.2.0.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '6.2.2' + +homepage = 'https://libxc.gitlab.io' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = [('a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045', + '3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc')] + +builddependencies = [ + ('CMake', '3.27.6'), + ('Perl', '5.38.0'), +] + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_XHOST=OFF " + +# don't disable building of third and fourth derivates, since it's required by some software that depends on libxc +# (like ABINIT, which requires "3rd derivatives of energy") +# see also https://github.com/pyscf/pyscf/issues/1103 +local_common_configopts += "-DDISABLE_KXC=OFF -DDISABLE_LXC=OFF" + +# perform iterative build to get both static and shared libraries +configopts = [ + local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +# make sure that built libraries (libxc*.so*) in build directory are picked when running tests +# this is required when RPATH linking is used +pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && " + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/xc-info'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/Libxc'], +} + +sanity_check_commands = ['xc-info 1'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.1.0.eb index af5917b73f5..f3a5e5448f3 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.1.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.1.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '6.2.2' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045'] +checksums = [('a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045', + '3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc')] builddependencies = [ ('CMake', '3.26.3'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.2.1.eb b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.2.1.eb new file mode 100644 index 00000000000..8e2652554ca --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.2.1.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '6.2.2' + +homepage = 'https://libxc.gitlab.io' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'intel-compilers', 'version': '2023.2.1'} + +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = [('a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045', + '3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc')] + +builddependencies = [ + ('CMake', '3.27.6'), + ('Perl', '5.38.0'), +] + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_XHOST=OFF " + +# don't disable building of third and fourth derivates, since it's required by some software that depends on libxc +# (like ABINIT, which requires "3rd derivatives of energy") +# see also https://github.com/pyscf/pyscf/issues/1103 +local_common_configopts += "-DDISABLE_KXC=OFF -DDISABLE_LXC=OFF" + +# perform iterative build to get both static and shared libraries +configopts = [ + local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +# make sure that built libraries (libxc*.so*) in build directory are picked when running tests +# this is required when RPATH linking is used +pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && " + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/xc-info'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/Libxc'], +} + +sanity_check_commands = ['xc-info 1'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libxml2-python/libxml2-python-2.11.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libxml2-python/libxml2-python-2.11.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..66e8634cd6d --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2-python/libxml2-python-2.11.4-GCCcore-12.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonPackage' + +name = 'libxml2-python' +version = '2.11.4' + +homepage = 'http://xmlsoft.org/' +description = """ + Libxml2 is the XML C parser and toolchain developed for the Gnome project + (but usable outside of the Gnome platform). This is the Python binding.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = ['libxml2-%(version)s.tar.xz'] +patches = ['%(name)s-2.11.4_fix-hardcoded-paths.patch'] +checksums = [ + {'libxml2-2.11.4.tar.xz': '737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7'}, + {'libxml2-python-2.11.4_fix-hardcoded-paths.patch': + 'b8069b149ab7e0e3a96ca1462c07d0bf1d7c7434eb434eb1b0ec824074b70f6a'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('XZ', '5.4.2'), + ('Python', '3.11.3'), + ('libxml2', version), + ('libiconv', '1.17'), + ('ICU', '73.2'), +] + +start_dir = 'python' + +# need to run a configure first, since there is only a setup.py.in +preinstallopts = 'cd .. && ./configure --prefix=%(installdir)s && cd python && ' + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'libxml2'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2-python/libxml2-python-2.11.4_fix-hardcoded-paths.patch b/easybuild/easyconfigs/l/libxml2-python/libxml2-python-2.11.4_fix-hardcoded-paths.patch new file mode 100644 index 00000000000..2c8ab7442c5 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2-python/libxml2-python-2.11.4_fix-hardcoded-paths.patch @@ -0,0 +1,20 @@ +# Add easybuild locations of dependencies +# December 13th 2018 by B. Hajgato (Free University Brussels - VUB) +# updated for 2.11.4 by Jasper Grimm (University of York) +diff -Nru libxml2-2.11.4.orig/python/setup.py.in libxml2-2.11.4/python/setup.py.in +--- libxml2-2.11.4.orig/python/setup.py.in 2024-01-23 14:42:40.321205584 +0000 ++++ libxml2-2.11.4/python/setup.py.in 2024-01-23 14:54:31.558212220 +0000 +@@ -71,11 +71,8 @@ + # - libxml2/libxml/tree.h + # - libxslt/xsltconfig.h + includes_dir = [ +-"/usr/include", +-"/usr/local/include", +-"/opt/include", +-os.path.join(ROOT,'include'), +-HOME ++ os.path.join(os.getenv("EBROOTLIBXML2"),"include"), ++ os.path.join(os.getenv("EBROOTLIBICONV"),"include"), + ]; + + xml_includes="" diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.3.0-GCC-12.3.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.3.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..9af29c68b9d --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.3.0-GCC-12.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.3.0' + +homepage = 'https://github.com/RRZE-HPC/likwid' + +description = """ +Likwid stands for Like I knew what I am doing. This project contributes easy +to use command line tools for Linux to support programmers in developing high +performance multi threaded programs. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c290e554c4253124ac2ab8b056e14ee4d23966b8c9fbfa10ba81f75ae543ce4e'] + +builddependencies = [ + ('Perl', '5.36.1'), +] + +dependencies = [ + ('hwloc', '2.9.1'), +] + +skipsteps = ['configure'] + +# include_GCC.mk is using ifort by default. +# Changing it to gfortran, to be consistent with GCC toolchain +prebuildopts = """sed -i 's@FC = ifort@FC = gfortran@g' make/include_GCC.mk && """ +prebuildopts += """sed -i 's@FCFLAGS = -module ./ # ifort@FCFLAGS = -J ./ -fsyntax-only #gfortran@g' """ +prebuildopts += """ make/include_GCC.mk && """ + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -std=c99" PREFIX=%(installdir)s BUILDFREQ="" ACCESSMODE=perf_event ' +buildopts += 'FORTRAN_INTERFACE=true ' +buildopts += 'CFG_FILE_PATH=%(installdir)s/etc/likwid.cfg TOPO_FILE_PATH=%(installdir)s/etc/likwid_topo.cfg ' +buildopts += 'HWLOC_INCLUDE_DIR=$EBROOTHWLOC/include HWLOC_LIB_DIR=$EBROOTHWLOC/lib HWLOC_LIB_NAME=hwloc ' + +maxparallel = 1 + +installopts = buildopts + 'INSTALL_CHOWN="" ' + +sanity_check_paths = { + 'files': ['bin/likwid-memsweeper', 'bin/likwid-mpirun', 'bin/likwid-perfctr', + 'bin/likwid-perfscope', 'bin/likwid-pin', 'bin/likwid-powermeter', + 'bin/likwid-topology', 'lib/liblikwidpin.%s' % SHLIB_EXT, + 'lib/liblikwid.%s' % SHLIB_EXT, 'include/likwid.mod'], + 'dirs': ['man/man1'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/lit/lit-18.1.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/lit/lit-18.1.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..27bc5b5e7a6 --- /dev/null +++ b/easybuild/easyconfigs/l/lit/lit-18.1.2-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'lit' +version = '18.1.2' + +homepage = 'https://llvm.org/docs/CommandGuide/lit.html' +description = """lit is a portable tool for executing LLVM and Clang style test suites, summarizing their results, and +providing indication of failures.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['fdead6e464f9d975d31a937b82e1162d0768d61a0e5d8ee55991a33ed4aa7128'], + }), +] + +sanity_check_commands = ['lit -h'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/lmoments3/lmoments3-1.0.6-foss-2022a.eb b/easybuild/easyconfigs/l/lmoments3/lmoments3-1.0.6-foss-2022a.eb new file mode 100644 index 00000000000..7415a707b89 --- /dev/null +++ b/easybuild/easyconfigs/l/lmoments3/lmoments3-1.0.6-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'lmoments3' +version = '1.0.6' + +homepage = 'https://github.com/OpenHydrology/lmoments3' +description = """Estimate linear moments for statistical distribution functions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05') +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('versioneer', '0.29', { + 'checksums': ['5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731'], + }), + (name, version, { + 'checksums': ['404a589335c16549f5ff519d3fafab247203ef78801296447db939b0c58f824b'], + }), +] + +sanity_check_paths = { + 'files': ['bin/versioneer'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "versioneer --help", +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..6cdcc1ed066 --- /dev/null +++ b/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2023a-R-4.3.2.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'loomR' +local_commit = 'df0144b' +# see DESCRIPTION to determine version, +# but add date stamp of commit since version is not always bumped +version = '0.2.0-20180425' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/mojaveazure/loomR' +description = "An R interface for loom files" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/mojaveazure/loomR/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['6264448baf4fd9a569eb5a832598c4a224382ef26c0a7fbd061a8c901672f0ac'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2023a.eb b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2023a.eb new file mode 100644 index 00000000000..486a2e560c3 --- /dev/null +++ b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'loompy' +version = '3.0.7' + +homepage = 'https://loompy.org/' +description = "Python implementation of the Loom file format, an efficient file format for large omics datasets" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.7.1'), ] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # for click + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0'), + ('numba', '0.58.1'), +] + +use_pip = True + +exts_list = [ + ('numpy-groupies', '0.10.2', { + 'checksums': ['f920c4ded899f5975d94fc63d634e7c89622056bbab8cc98a44d4320a0ae8a12'], + }), + (name, version, { + 'checksums': ['b5cdf7b54734c6bed3a181d11947af70af2c6e0dcadc02fd0e871df232faa8f4'], + }), +] + +sanity_check_paths = { + 'files': ['bin/loompy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["loompy --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MACS3/MACS3-3.0.0-foss-2022b.eb b/easybuild/easyconfigs/m/MACS3/MACS3-3.0.0-foss-2022b.eb new file mode 100644 index 00000000000..08020a2ce4b --- /dev/null +++ b/easybuild/easyconfigs/m/MACS3/MACS3-3.0.0-foss-2022b.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'MACS3' +version = '3.0.0' + +homepage = 'https://macs3-project.github.io/MACS/' +description = """Model Based Analysis for ChIP-Seq data""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('pybind11', '2.10.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + # MACS3 3.0 requires Cython 3.x + ('Cython', '3.0.8'), + ('SciPy-bundle', '2023.02'), + ('matplotlib', '3.7.0'), + ('hmmlearn', '0.3.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cykhash', '2.0.1', { + 'checksums': ['b4794bc9f549114d8cf1d856d9f64e08ff5f246bf043cf369fdb414e9ceb97f7'], + }), + (name, version, { + 'modulename': 'MACS3', + 'checksums': ['57271e060c0f2c41f3aa6de44245c6db7fd0b1945ebfba115a6841628f75770e'], + }), +] + +sanity_check_commands = ["macs3 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MACS3/MACS3-3.0.1-gfbf-2023a.eb b/easybuild/easyconfigs/m/MACS3/MACS3-3.0.1-gfbf-2023a.eb new file mode 100644 index 00000000000..219b54979c8 --- /dev/null +++ b/easybuild/easyconfigs/m/MACS3/MACS3-3.0.1-gfbf-2023a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'MACS3' +version = '3.0.1' + +homepage = 'https://macs3-project.github.io/MACS/' +description = """Model Based Analysis for ChIP-Seq data""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('pybind11', '2.11.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('hmmlearn', '0.3.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cykhash', '2.0.1', { + 'checksums': ['b4794bc9f549114d8cf1d856d9f64e08ff5f246bf043cf369fdb414e9ceb97f7'], + }), + (name, version, { + 'checksums': ['b07ca6e84a71aab29589f63e3dff96049aa6739e055a629125b31c788c877016'], + 'preinstallopts': "sed -i 's/scipy>=1.11.4/scipy>=1.11/g' setup.py && ", + 'modulename': 'MACS3', + }), +] + +sanity_check_commands = ["macs3 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MATIO/MATIO-1.5.22-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.22-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9e83706192f --- /dev/null +++ b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.22-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'ConfigureMake' + +name = 'MATIO' +version = '1.5.22' + +homepage = 'https://sourceforge.net/projects/matio/' +description = """matio is an C library for reading and writing Matlab MAT files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_ZIP] +checksums = ['ac76efd240f982b779ba2b206349d7aeaa983c3d62b13b942006c8b1ff228472'] + +preconfigopts = 'chmod +x configure && ' + +builddependencies = [('binutils', '2.37')] + +dependencies = [('zlib', '1.2.11')] + +sanity_check_commands = ['matdump --help'] + +sanity_check_paths = { + 'files': ['include/matio.h', 'bin/matdump', 'lib/libmatio.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-12.1.0.eb b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..0e4dcad72d4 --- /dev/null +++ b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-12.1.0.eb @@ -0,0 +1,34 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'ConfigureMake' + +name = 'MATIO' +version = '1.5.23' + +homepage = 'https://sourceforge.net/projects/matio/' +description = """matio is an C library for reading and writing Matlab MAT files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_ZIP] +checksums = ['b3b29fb394e1cfa3f98cd57bac013c0cf7716ae7a085e398f2dfaff8f976f0c5'] + +preconfigopts = 'chmod +x configure && ' + +builddependencies = [('binutils', '2.38')] + +dependencies = [('zlib', '1.2.12')] + +sanity_check_paths = { + 'files': ['include/matio.h', 'bin/matdump', 'lib/libmatio.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MATIO/MATIO-1.5.26-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.26-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..85d161c59b8 --- /dev/null +++ b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.26-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'ConfigureMake' + +name = 'MATIO' +version = '1.5.26' + +homepage = 'https://sourceforge.net/projects/matio/' +description = """matio is an C library for reading and writing Matlab MAT files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_ZIP] +checksums = ['c07b089dad904c7e13a08f0ce7ac0b2969fe3d886579a10433eb13fdc3530e74'] + +preconfigopts = 'chmod +x configure && ' + +builddependencies = [('binutils', '2.40')] + +dependencies = [('zlib', '1.2.13')] + +sanity_check_paths = { + 'files': ['include/matio.h', 'bin/matdump', 'lib/libmatio.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MATIO/MATIO-1.5.26-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.26-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f773a9eab17 --- /dev/null +++ b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.26-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'ConfigureMake' + +name = 'MATIO' +version = '1.5.26' + +homepage = 'https://sourceforge.net/projects/matio/' +description = """matio is an C library for reading and writing Matlab MAT files.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_ZIP] +checksums = ['c07b089dad904c7e13a08f0ce7ac0b2969fe3d886579a10433eb13fdc3530e74'] + +preconfigopts = 'chmod +x configure && ' + +builddependencies = [('binutils', '2.40')] + +dependencies = [('zlib', '1.2.13')] + +sanity_check_paths = { + 'files': ['include/matio.h', 'bin/matdump', 'lib/libmatio.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MBROLA/MBROLA-3.3-GCCcore-12.3.0-voices-20200330.eb b/easybuild/easyconfigs/m/MBROLA/MBROLA-3.3-GCCcore-12.3.0-voices-20200330.eb new file mode 100644 index 00000000000..503f9b4e970 --- /dev/null +++ b/easybuild/easyconfigs/m/MBROLA/MBROLA-3.3-GCCcore-12.3.0-voices-20200330.eb @@ -0,0 +1,56 @@ +easyblock = 'MakeCp' + +name = 'MBROLA' +version = '3.3' +local_commit_voices = 'fe05a0c' +local_version_voices = '20200330' +versionsuffix = '-voices-%s' % local_version_voices + +homepage = ['https://github.com/numediart/MBROLA%s' % x for x in ['', '-voices']] + +description = """ +MBROLA is a speech synthesizer based on the concatenation of diphones. +It takes a list of phonemes as input, together with prosodic information +(duration of phonemes and a piecewise linear description of pitch), +and produces speech samples on 16 bits (linear), +at the sampling frequency of the diphone database. + +MBROLA voices project provides list of MBROLA speech synthesizer voices. +It is intended to provide easier collaboration and +automatic updates for individual users and packagers. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/numediart/MBROLA%s/archive' % x for x in ['', '-voices']] +sources = [{ + 'download_filename': '%s.tar.gz' % version, + 'filename': SOURCE_TAR_GZ +}, { + 'download_filename': '%s.tar.gz' % local_commit_voices, + 'filename': '%%(name)s-voices-%s.tar.gz' % local_version_voices, +}] +patches = ['%(name)s-%(version)s_makefile.patch'] +checksums = [ + 'c01ded2c0a05667e6df2439c1c02b011a5df2bfdf49e24a524630686aea2b558', # MBROLA-3.3.tar.gz + '0dee14739f82fa247204791248b2d98a87e3f86f8cbb3a5844950103a41d33ba', # MBROLA-voices-20200330.tar.gz + '3f06bffdf900c51b531f473a760c50842ccf92a9d0598bd17fd556d049593a9e', # MBROLA-3.3_makefile.patch +] + +builddependencies = [('binutils', '2.40')] + +maxparallel = 1 + +files_to_copy = [ + (['Bin/mbrola'], 'bin'), + (['../MBROLA-voices*/data/*'], 'share/mbrola'), +] + +sanity_check_paths = { + 'files': ['bin/mbrola'], + 'dirs': ['share/mbrola'] +} + +sanity_check_commands = ['mbrola -h'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2023a.eb b/easybuild/easyconfigs/m/MCR/MCR-R2023a.eb new file mode 100644 index 00000000000..85e10cd8115 --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2023a.eb @@ -0,0 +1,17 @@ +name = 'MCR' +version = 'R2023a' # runtime version 9.14 +local_update = '0' + +homepage = 'https://www.mathworks.com/products/compiler/mcr/' +description = """The MATLAB Runtime is a standalone set of shared libraries + that enables the execution of compiled MATLAB applications + or components on computers that do not have MATLAB installed.""" + +toolchain = SYSTEM + +source_urls = ['https://ssd.mathworks.com/supportfiles/downloads/%%(version)s/Release/%s/deployment_files/' + 'installer/complete/glnxa64/' % local_update] +sources = ['MATLAB_Runtime_%(version)s_glnxa64.zip'] +checksums = ['dbeae03ae5b8a00e1cf4c863b69e376fccb3ba16e40d705a18f891dd38e51d28'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.7.0-foss-2023a.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.7.0-foss-2023a.eb new file mode 100644 index 00000000000..9c8ac42d2c8 --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.7.0-foss-2023a.eb @@ -0,0 +1,49 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.7.0' + +homepage = 'https://www.mdanalysis.org/' +description = """MDAnalysis is an object-oriented Python library to analyze trajectories from molecular dynamics (MD) +simulations in many popular formats.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Biopython', '1.83'), + ('networkx', '3.1'), + ('tqdm', '4.66.1'), + ('mrcfile', '1.5.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('GridDataFormats', '1.0.2', { + 'modulename': 'gridData', + 'checksums': ['b93cf7f36fce33dbc428026f26dba560d5c7ba2387caca495bad920f90094502'], + }), + ('mmtf-python', '1.1.3', { + 'modulename': 'mmtf', + 'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'], + }), + ('fasteners', '0.19', { + 'checksums': ['b4f37c3ac52d8a445af3a66bce57b33b5e90b97c696b7b984f530cf8f0ded09c'], + }), + ('mda_xdrlib', '0.2.0', { + 'checksums': ['f26f7158a83c32b96d15b530fce2cbc1190c4b7024e41faa4ab3e3db74e272af'], + }), + (name, version, { + 'modulename': 'MDAnalysis', + 'checksums': ['572e82945e5d058e3749ec5f18e6b3831ef7f2119cb54672567ae9a977201e93'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDI/MDI-1.4.16-gompi-2022b.eb b/easybuild/easyconfigs/m/MDI/MDI-1.4.16-gompi-2022b.eb index ec7490f96cb..ad39fd39304 100644 --- a/easybuild/easyconfigs/m/MDI/MDI-1.4.16-gompi-2022b.eb +++ b/easybuild/easyconfigs/m/MDI/MDI-1.4.16-gompi-2022b.eb @@ -33,7 +33,7 @@ dependencies = [ ] # perform iterative build to get both static and shared libraries -local_common_configopts = '-DCMAKE_POSITION_INDEPENDENT_CODE=ON ' +local_common_configopts = '-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DPython_EXECUTABLE=$EBROOTPYTHON/bin/python' configopts = [ local_common_configopts + ' -Dlibtype=STATIC', local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', @@ -44,4 +44,6 @@ sanity_check_paths = { 'dirs': ['include', 'share'], } +bin_lib_subdirs = ['lib/mdi'] + moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MDI/MDI-1.4.26-gompi-2023a.eb b/easybuild/easyconfigs/m/MDI/MDI-1.4.26-gompi-2023a.eb new file mode 100644 index 00000000000..c8e9eb3ee82 --- /dev/null +++ b/easybuild/easyconfigs/m/MDI/MDI-1.4.26-gompi-2023a.eb @@ -0,0 +1,54 @@ +# MDI package for LAMMPS +# Author: J. Saßmannshausen (Imperial College London) + +easyblock = 'CMakeMake' +name = 'MDI' +version = '1.4.26' + +homepage = 'https://github.com/MolSSI-MDI/MDI_Library' +description = """The MolSSI Driver Interface (MDI) project provides a +standardized API for fast, on-the-fly communication between computational +chemistry codes. This greatly simplifies the process of implementing +methods that require the cooperation of multiple software packages and +enables developers to write a single implementation that works across +many different codes. The API is sufficiently general to support a wide +variety of techniques, including QM/MM, ab initio MD, machine learning, +advanced sampling, and path integral MD, while also being straightforwardly +extensible. Communication between codes is handled by the MDI Library, which +enables tight coupling between codes using either the MPI or TCP/IP methods. +""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +source_urls = ['https://github.com/MolSSI-MDI/MDI_Library/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8cbd80ae9adf44394b693fe812b8e4e8ca506173b3ca1f31002adbe7eaf61362'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +# perform iterative build to get both static and shared libraries +local_common_configopts = '-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DPython_EXECUTABLE=$EBROOTPYTHON/bin/python ' +configopts = [ + local_common_configopts + ' -Dlibtype=STATIC', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +modextrapaths = { + 'LD_LIBRARY_PATH': 'lib/mdi', + 'LIBRARY_PATH': 'lib/mdi', +} + +sanity_check_paths = { + 'files': ['lib/mdi/libmdi.a', 'lib/mdi/libmdi.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +bin_lib_subdirs = ['lib/mdi'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MDSplus/MDSplus-7.96.12-GCCcore-9.3.0.eb b/easybuild/easyconfigs/m/MDSplus/MDSplus-7.96.12-GCCcore-9.3.0.eb index de21068d55c..3c1da528b64 100644 --- a/easybuild/easyconfigs/m/MDSplus/MDSplus-7.96.12-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/m/MDSplus/MDSplus-7.96.12-GCCcore-9.3.0.eb @@ -25,7 +25,7 @@ dependencies = [ ('libreadline', '8.0') ] -configopts = '--disable-doxygen-doc --disable-java --disable-hdf5' +configopts = '--disable-doxygen-doc --disable-java' # hardcode version via configure script (git is unavailable) configopts += ' RELEASE_VERSION=%(version)s BRANCH=stable' diff --git a/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..476de3749c7 --- /dev/null +++ b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-12.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'MEGAHIT' +version = '1.2.9' + +homepage = 'https://github.com/voutcn/megahit' +description = """An ultra-fast single-node solution for large and complex +metagenomics assembly via succinct de Bruijn graph""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/voutcn/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['09026eb07cc4e2d24f58b0a13f7a826ae8bb73da735a47cb1cbe6e4693118852'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('zlib', '1.2.12'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('bzip2', '1.0.8'), + ('gzip', '1.12'), +] + +sanity_check_paths = { + 'files': [ + 'bin/%(namelower)s', + 'bin/%(namelower)s_core', + 'bin/%(namelower)s_core_no_hw_accel', + 'bin/%(namelower)s_core_popcnt', + 'bin/%(namelower)s_toolkit', + ], + 'dirs': [], +} + +sanity_check_commands = [ + "megahit --version", + "megahit --test", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..85eb10386d6 --- /dev/null +++ b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-12.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'MEGAHIT' +version = '1.2.9' + +homepage = 'https://github.com/voutcn/megahit' +description = """An ultra-fast single-node solution for large and complex +metagenomics assembly via succinct de Bruijn graph""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/voutcn/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['09026eb07cc4e2d24f58b0a13f7a826ae8bb73da735a47cb1cbe6e4693118852'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('zlib', '1.2.13'), +] +dependencies = [ + ('Python', '3.11.3'), + ('bzip2', '1.0.8'), + ('gzip', '1.12'), +] + + +sanity_check_paths = { + 'files': [ + 'bin/%(namelower)s', + 'bin/%(namelower)s_core', + 'bin/%(namelower)s_core_no_hw_accel', + 'bin/%(namelower)s_core_popcnt', + 'bin/%(namelower)s_toolkit', + ], + 'dirs': [], +} + +sanity_check_commands = [ + "megahit --version", + "megahit --test", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2018b-Python-3.6.6.eb index 0665fef3727..7e55e86c14f 100644 --- a/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2018b-Python-3.6.6.eb @@ -29,7 +29,7 @@ dependencies = [ ('Python', '3.6.6') ] -configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python3=${EBROOTPYTHON}/bin/python ' +configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' sanity_check_paths = { 'files': ["bin/meme", "bin/dreme", "bin/meme-chip"], diff --git a/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2019b-Python-3.7.4.eb index ac176c5c489..2505c1c303d 100644 --- a/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2019b-Python-3.7.4.eb @@ -29,7 +29,7 @@ dependencies = [ ('Python', '3.7.4') ] -configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python3=${EBROOTPYTHON}/bin/python ' +configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' sanity_check_paths = { 'files': ["bin/meme", "bin/dreme", "bin/meme-chip"], diff --git a/easybuild/easyconfigs/m/MEME/MEME-5.1.1-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/m/MEME/MEME-5.1.1-intel-2019b-Python-3.7.4.eb index 9ac8e36aadb..82553a2a701 100644 --- a/easybuild/easyconfigs/m/MEME/MEME-5.1.1-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/m/MEME/MEME-5.1.1-intel-2019b-Python-3.7.4.eb @@ -29,7 +29,7 @@ dependencies = [ ('Python', '3.7.4') ] -configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python3=${EBROOTPYTHON}/bin/python ' +configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' sanity_check_paths = { 'files': ["bin/meme", "bin/dreme", "bin/meme-chip"], diff --git a/easybuild/easyconfigs/m/MEME/MEME-5.4.1-GCC-10.3.0.eb b/easybuild/easyconfigs/m/MEME/MEME-5.4.1-GCC-10.3.0.eb index 4858375aeaf..49b56756c7a 100644 --- a/easybuild/easyconfigs/m/MEME/MEME-5.4.1-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/m/MEME/MEME-5.4.1-GCC-10.3.0.eb @@ -29,7 +29,7 @@ dependencies = [ ] configopts = '--enable-build-libxml2 --enable-build-libxslt ' -configopts += '--with-perl=${EBROOTPERL}/bin/perl --with-python3=${EBROOTPYTHON}/bin/python ' +configopts += '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' sanity_check_paths = { 'files': ["bin/%(namelower)s", "bin/dreme", "bin/%(namelower)s-chip"], diff --git a/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-11.3.0-int64.eb b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-11.3.0-int64.eb new file mode 100644 index 00000000000..a413a69cd5b --- /dev/null +++ b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-11.3.0-int64.eb @@ -0,0 +1,42 @@ +name = 'METIS' +version = '5.1.0' +versionsuffix = '-int64' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/metis/overview' + +description = """ + METIS is a set of serial programs for partitioning graphs, partitioning + finite element meshes, and producing fill reducing orderings for sparse + matrices. The algorithms implemented in METIS are based on the multilevel + recursive-bisection, multilevel k-way, and multi-constraint partitioning + schemes. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD', +] +sources = [SOURCELOWER_TAR_GZ] + +# We use 64 bit for indices and for content +patches = [ + '%(name)s-%(version)s-use-doubles.patch', + '%(name)s_IDXTYPEWIDTH.patch', +] +checksums = [ + {'metis-5.1.0.tar.gz': '76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2'}, + {'METIS-5.1.0-use-doubles.patch': '7e38a3ec8f2b8e3d189239bade5b28c0dd1c564485050109164fa71a6a767c67'}, + {'METIS_IDXTYPEWIDTH.patch': 'e68cdbdd3b537d135d2bb487cf6f74a8e6410e204f019ad33d1afde6e242ce34'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +configopts = ['', 'shared=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MIRA/MIRA-5.0rc2-foss-2020b.eb b/easybuild/easyconfigs/m/MIRA/MIRA-5.0rc2-foss-2020b.eb index 69c6533045d..062d990ae97 100644 --- a/easybuild/easyconfigs/m/MIRA/MIRA-5.0rc2-foss-2020b.eb +++ b/easybuild/easyconfigs/m/MIRA/MIRA-5.0rc2-foss-2020b.eb @@ -13,11 +13,9 @@ sources = ['mira-V5rc2.tar.bz2'] source_urls = ['https://github.com/bachev/mira/releases/download/V5rc2/'] checksums = ['4255aa9c4f09ec686b1c717bffe2dd124d3ef9b87f00e74d1bcd51b8599b8e44'] -preconfigopts = 'export CFLAGS="$CFLAGS -fpermissive" && ' -preconfigopts += 'export CXXFLAGS="$CXXFLAGS -fpermissive" && ' +preconfigopts = 'export CXXFLAGS="$CXXFLAGS -fpermissive" && ' configopts = '--with-boost=$EBROOTBOOST --with-expat=$EBROOTEXPAT --with-zlib=$EBROOTZLIB ' -configopts += '--with-tcmalloc-dir=$EBROOTGPERFTOOLS/lib ' builddependencies = [ ('flex', '2.6.4'), @@ -26,7 +24,6 @@ dependencies = [ ('Boost', '1.74.0'), ('zlib', '1.2.11'), ('expat', '2.2.9'), - ('gperftools', '2.9.1'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/m/MLflow/MLflow-2.10.2-gfbf-2023a.eb b/easybuild/easyconfigs/m/MLflow/MLflow-2.10.2-gfbf-2023a.eb new file mode 100644 index 00000000000..387e9f49e46 --- /dev/null +++ b/easybuild/easyconfigs/m/MLflow/MLflow-2.10.2-gfbf-2023a.eb @@ -0,0 +1,63 @@ +easyblock = 'PythonBundle' + +name = 'MLflow' +version = '2.10.2' + +homepage = 'https://mlflow.org' +description = """MLflow is a platform to streamline machine learning development, including tracking experiments, +packaging code into reproducible runs, and sharing and deploying models.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('GitPython', '3.1.40'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('scikit-learn', '1.3.1'), + ('PyYAML', '6.0'), + ('SQLAlchemy', '2.0.25'), + ('protobuf-python', '4.24.0'), + ('Flask', '2.3.3'), + ('Arrow', '14.0.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('docker', '7.0.0', { + 'checksums': ['323736fb92cd9418fc5e7133bc953e11a9da04f4483f828b527db553f1e7e5a3'], + }), + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('gunicorn', '21.2.0', { + 'checksums': ['88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033'], + }), + ('Markdown', '3.5.2', { + 'checksums': ['e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8'], + }), + ('querystring_parser', '1.2.4', { + 'checksums': ['644fce1cffe0530453b43a83a38094dbe422ccba8c9b2f2a1c00280e14ca8a62'], + }), + ('sqlparse', '0.4.4', { + 'checksums': ['d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c'], + }), + ('mlflow', version, { + 'checksums': ['3ddf32ba2c01dac79e4d077d4bb9ed46d82a082dc99223207d562c7ee6bee671'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MNE-Python/MNE-Python-1.6.1-foss-2023a.eb b/easybuild/easyconfigs/m/MNE-Python/MNE-Python-1.6.1-foss-2023a.eb new file mode 100644 index 00000000000..d0c5d5454e0 --- /dev/null +++ b/easybuild/easyconfigs/m/MNE-Python/MNE-Python-1.6.1-foss-2023a.eb @@ -0,0 +1,98 @@ +easyblock = 'PythonBundle' + +name = 'MNE-Python' +version = '1.6.1' + +homepage = 'https://mne.tools/' +description = """MNE-Python software is an open-source Python package for exploring, +visualizing, and analyzing human neurophysiological data such as MEG, EEG, +sEEG, ECoG, and more. It includes modules for data input/output, preprocessing, +visualization, source estimation, time-frequency analysis, connectivity +analysis, machine learning, and statistics.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('meson-python', '0.13.2'), # needed by dipy +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('tqdm', '4.66.1'), + ('h5py', '3.9.0'), + ('imageio', '2.33.1'), # optional + ('Nilearn', '0.10.3'), # optional + ('numba', '0.58.1'), # optional + ('OpenMEEG', '2.5.7'), # optinal + ('scikit-learn', '1.3.1'), # optional + ('statsmodels', '0.14.1'), # optional + ('VTK', '9.3.0'), # optional +] + +use_pip = True + +exts_list = [ + ('traitlets', '5.9.0', { + 'checksums': ['f6cde21a9c68cf756af02035f72d5a723bf607e862e7be33ece505abf4a3bad9'], + }), + ('python-picard', '0.7', { + 'modulename': 'picard', + 'checksums': ['8061a1f0c4660c805b7617f2f0bd0284c6e6e84ac3ec782081c67b27cfd185a7'], + }), + ('lazy_loader', '0.3', { + 'checksums': ['3b68898e34f5b2a29daaaac172c6555512d0f32074f147e2254e4a6d9d838f37'], + }), + ('xmltodict', '0.13.0', { + 'checksums': ['341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56'], + }), + ('pymatreader', '0.0.32', { + 'checksums': ['34a5b4812635c98d3e5776fc21cd7f85b045784539363674d178dfb1158a617f'], + }), + ('h5io', '0.2.1', { + 'checksums': ['718721860d68712278effb30893df5eba0d6717d0040ab159dcac5f841174ea4'], + }), + ('ordered-set', '4.1.0', { + 'modulename': 'ordered_set', + 'checksums': ['694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8'], + }), + ('deepdiff', '6.7.1', { + 'checksums': ['b367e6fa6caac1c9f500adc79ada1b5b1242c50d5f716a1a4362030197847d30'], + }), + ('trx-python', '0.2.9', { + 'modulename': 'trx', + 'checksums': ['16b4104d7c991879c601f60e8d587decac50ce60388aae8d0c754a92136d1caf'], + }), + ('dipy', '1.8.0', { + 'checksums': ['cc3845585b6ccd5d7bf43094d52a00eb73111072eee36c2149fabdb1b071f008'], + }), + ('wrapt', '1.16.0', { + 'checksums': ['5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d'], + }), + ('Deprecated', '1.2.14', { + 'checksums': ['e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3'], + }), + ('mffpy', '0.8.0', { + 'checksums': ['0658da3c58da3cbd22da9b7faf3aedf000f3140bcdff1e18567aba01be783c6c'], + }), + ('scooby', '0.9.2', { + 'checksums': ['28df643bb7c2087547b2e2220070e2f89e815ddbc515fbc28dd5df2b0a14293e'], + }), + ('pyvista', '0.43.3', { + 'checksums': ['e039cdeb0c7cbb42a16fbdfbbede65a7dc656def787e76c79a43eb0badc88c9b'], + }), + ('mne', version, { + 'use_pip_extras': 'hdf5', + 'checksums': ['e4f5683d01cef675eddad788bdb6b44cc015dff0fb1ddfca3c4105edfb757ef8'], + }), + ('mne-bids', '0.14', { + 'checksums': ['271e748b0cab44be39711a8d2d86b5e54148f9b862df45a3b5467ec2a69b6a4f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MOABB/MOABB-1.0.0-foss-2023a.eb b/easybuild/easyconfigs/m/MOABB/MOABB-1.0.0-foss-2023a.eb new file mode 100644 index 00000000000..61abc1d9878 --- /dev/null +++ b/easybuild/easyconfigs/m/MOABB/MOABB-1.0.0-foss-2023a.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonBundle' + +name = 'MOABB' +version = '1.0.0' + +homepage = 'https://neurotechx.github.io/moabb/' +description = """Build a comprehensive benchmark of popular Brain-Computer Interface (BCI) +algorithms applied on an extensive list of freely available EEG datasets.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] + +# MOABB optionally interfaces with the following ML frameworks: +# TensorFlow, Keras, scikeras, Braindecode, PyTorch +# These can be manually loaded by the users depending on their needs + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('MNE-Python', '1.6.1'), + ('h5py', '3.9.0'), + ('scikit-learn', '1.3.1'), + ('matplotlib', '3.7.2'), + ('Seaborn', '0.13.2'), + ('PyYAML', '6.0'), + ('tqdm', '4.66.1'), +] + +use_pip = True + +# relax too strict version requirements (constraints seem quite arbitrary) +# anyhow we run the unit tests to check the installation +_relax_req = 's/= "^/= ">=/g;s/h5py =.*/h5py = ">=3.7.0"/' + +exts_list = [ + ('coverage', '7.0.1', { + 'checksums': ['a4a574a19eeb67575a5328a5760bbbb737faa685616586a9f9da4281f940109c'], + }), + ('memory_profiler', '0.61.0', { + 'checksums': ['4e5b73d7864a1d1292fb76a03e82a3e78ef934d06828a698d9dada76da2067b0'], + }), + ('EDFlib-Python', '1.0.6', { + 'modulename': 'EDFlib', + 'checksums': ['dbd1d2cf80013f8627b0b08bb969e157b70de5eb241156052e7dea15fd4c06bc'], + }), + ('pyriemann', '0.5', { + 'checksums': ['20f886e19fb2d9cbd954a81e8326d53f8b0a306c29880df2f037a5f7ce754009'], + }), + ('moabb', version, { + 'patches': ['MOABB-1.0.0_disable-flacky-tests.patch'], + 'checksums': [ + {'moabb-1.0.0.tar.gz': 'b7d884030c5691939e8a48810e12b81527c08331ea99cb8b77a26d965341546e'}, + {'MOABB-1.0.0_disable-flacky-tests.patch': + 'da5374e7a49d9fbaa7577f0310eab4fd4eb264b0ce869bc27e90350b223c6019'}, + ], + 'preinstallopts': "sed -i '%s' pyproject.toml &&" % _relax_req, + 'runtest': ("cd %(builddir)s/%(name)s/%(name)s-%(version)s && " + "MOABB_RESULTS=$PWD python -m unittest moabb.tests"), + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MOABB/MOABB-1.0.0_disable-flacky-tests.patch b/easybuild/easyconfigs/m/MOABB/MOABB-1.0.0_disable-flacky-tests.patch new file mode 100644 index 00000000000..dfc746ed602 --- /dev/null +++ b/easybuild/easyconfigs/m/MOABB/MOABB-1.0.0_disable-flacky-tests.patch @@ -0,0 +1,13 @@ +Disable unreliable tests that fail inconsistently +author: Alex Domingo (Vrije Universiteit Brussel) +--- moabb/tests/evaluations.py.orig 2024-02-16 11:27:13.269354617 +0100 ++++ moabb/tests/evaluations.py 2024-02-16 11:27:29.411310607 +0100 +@@ -294,7 +294,7 @@ + if os.path.isfile(path): + os.remove(path) + +- def test_fails_if_nothing_returned(self): ++ def disabled_test_fails_if_nothing_returned(self): + self.assertRaises(Exception, self.eval.process, pipelines) + # TODO Add custom evaluation that actually returns additional info + diff --git a/easybuild/easyconfigs/m/MODFLOW/MODFLOW-6.4.4-foss-2023a.eb b/easybuild/easyconfigs/m/MODFLOW/MODFLOW-6.4.4-foss-2023a.eb new file mode 100644 index 00000000000..98acd7a21be --- /dev/null +++ b/easybuild/easyconfigs/m/MODFLOW/MODFLOW-6.4.4-foss-2023a.eb @@ -0,0 +1,46 @@ +easyblock = 'MesonNinja' + +name = 'MODFLOW' +version = '6.4.4' + +homepage = 'https://www.usgs.gov/mission-areas/water-resources/science/modflow-and-related-programs' +description = """ +MODFLOW is the USGS's modular hydrologic model. MODFLOW is considered an + international standard for simulating and predicting groundwater conditions + and groundwater/surface-water interactions. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = "MODFLOW-USGS" +source_urls = ['https://github.com/%(github_account)s/%(namelower)s6/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['bab887399d1882c84296e7bad20d6143aa07c1476943e6465c14a8738e1ded53'] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('PETSc', '3.20.3'), + ('netCDF-Fortran', '4.6.1'), +] + +# Needed because of https://github.com/mesonbuild/meson/issues/12993 +preconfigopts = "PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=true" +configopts = '-Ddebug=false -Dparallel=true' + +runtest = 'meson test' +testopts = '--verbose --no-rebuild' + +sanity_check_commands = ['mf6 --version'] + +sanity_check_paths = { + 'files': ['bin/mf6', 'bin/mf5to6', 'bin/zbud6', 'lib/libmf6.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a.eb b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a.eb new file mode 100644 index 00000000000..c00b11caf83 --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a.eb @@ -0,0 +1,95 @@ +easyblock = 'PythonBundle' + +name = 'MONAI' +version = '1.3.0' + +homepage = 'https://monai.io/' +description = """ +MONAI is a PyTorch-based, open-source framework for deep learning in healthcare +imaging, part of PyTorch Ecosystem. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = 'Project-MONAI' + +builddependencies = [ + ('hatchling', '1.18.0'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('PyTorch', '2.1.2'), + ('einops', '0.7.0'), + ('ITK', '5.3.0'), + ('NiBabel', '5.2.0'), + ('scikit-image', '0.22.0'), + ('tensorboard', '2.15.1'), + ('torchvision', '0.16.0'), + ('tqdm', '4.66.1'), + ('Pillow', '10.0.0'), + ('openslide-python', '1.3.1'), + ('BeautifulSoup', '4.12.2'), +] + +use_pip = True + +# install MONAI with list of 'extras', which require additional dependencies +local_pip_extras = "einops,fire,gdown,ignite,itk,jsonschema,lmdb,nibabel," +local_pip_extras += "openslide,pandas,pillow,psutil,pydicom,pyyaml,scipy," +local_pip_extras += "skimage,tensorboard,torchvision,tqdm" + +# PyTorch-Ignite v0.4.11 bundled as an extension because MONAI v1.3.0 has a strict requirement on it +exts_list = [ + ('gdown', '4.7.1', { + 'checksums': ['347f23769679aaf7efa73e5655270fcda8ca56be65eb84a4a21d143989541045'], + }), + ('lmdb', '1.4.1', { + 'checksums': ['1f4c76af24e907593487c904ef5eba1993beb38ed385af82adb25a858f2d658d'], + }), + ('termcolor', '2.3.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['3afb05607b89aed0ffe25202399ee0867ad4d3cb4180d98aaf8eefa6a5f7d475'], + }), + ('fire', '0.5.0', { + 'checksums': ['a6b0d49e98c8963910021f92bba66f65ab440da2982b78eb1bbf95a0a34aacc6'], + }), + ('pytorch-ignite', '0.4.11', { + 'modulename': 'ignite', + 'patches': ['PyTorch-Ignite-0.4.11_fix_error_on_importing_Events.patch'], + 'checksums': [ + {'pytorch-ignite-0.4.11.tar.gz': 'ee31096a58679417097ef7f3f27d88bec40b789ac5e13cd9ed08bc89ca8ce2e2'}, + {'PyTorch-Ignite-0.4.11_fix_error_on_importing_Events.patch': + 'd45c0da30c01f7ce47b7be49a6d5d6eb9529c94a0b9de89260d4b07d9d2359e0'}, + ], + }), + (name, version, { + 'preinstallopts': 'BUILD_MONAI=1', + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['%(version)s.tar.gz'], + 'use_pip_extras': local_pip_extras, + 'checksums': ['67e0f55678faad4bd38b1ea69d5de94586b20b551b8ad745415623a8b6c1c5e2'], + }), +] + +sanity_pip_check = True + +# 'pip check' does not verify whether all optional dependencies required to support 'extras' +# are actually available, so we do it here via an import check; +local_extra_mod_check = {x: x for x in local_pip_extras.split(",")} +# Some special cases with different module name than extra name +local_extra_mod_check['pillow'] = 'PIL' +local_extra_mod_check['pyyaml'] = 'yaml' + +sanity_check_commands = ["python -c 'import monai; monai.config.print_config()'"] +sanity_check_commands += ["python -c 'import %s'" % local_extra_mod_check[x] for x in local_extra_mod_check] + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/%%(namelower)s/_C.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages/ignite'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/MONAI/PyTorch-Ignite-0.4.11_fix_error_on_importing_Events.patch b/easybuild/easyconfigs/m/MONAI/PyTorch-Ignite-0.4.11_fix_error_on_importing_Events.patch new file mode 100644 index 00000000000..ddfd065cf6e --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/PyTorch-Ignite-0.4.11_fix_error_on_importing_Events.patch @@ -0,0 +1,52 @@ +From 136306c9d00c997a425f1840128847c7529b8415 Mon Sep 17 00:00:00 2001 +From: Sadra Barikbin +Date: Sat, 1 Apr 2023 14:54:40 +0330 +Subject: [PATCH 1/2] Fix the issue + +--- + ignite/engine/events.py | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/ignite/engine/events.py b/ignite/engine/events.py +index a80277c525d..213dd8a9878 100644 +--- a/ignite/engine/events.py ++++ b/ignite/engine/events.py +@@ -237,7 +237,13 @@ def function_before_backprop(engine): + # ... + """ + +- pass ++ def __new__(cls, value: str) -> "EventEnum": ++ obj = CallableEventWithFilter.__new__(cls) ++ obj._value_ = value ++ return obj ++ ++ def __repr__(self) -> str: ++ return CallableEventWithFilter.__repr__(self) + + + class Events(EventEnum): + +From 2fd992774017fe2d603bc456c5dcca0f83167018 Mon Sep 17 00:00:00 2001 +From: Sadra Barikbin +Date: Thu, 13 Apr 2023 06:28:38 +0330 +Subject: [PATCH 2/2] Remove unnecessary __repr__ + +--- + ignite/engine/events.py | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/ignite/engine/events.py b/ignite/engine/events.py +index 213dd8a9878..9dd99348492 100644 +--- a/ignite/engine/events.py ++++ b/ignite/engine/events.py +@@ -242,9 +242,6 @@ def __new__(cls, value: str) -> "EventEnum": + obj._value_ = value + return obj + +- def __repr__(self) -> str: +- return CallableEventWithFilter.__repr__(self) +- + + class Events(EventEnum): + """Events that are fired by the :class:`~ignite.engine.engine.Engine` during execution. Built-in events: diff --git a/easybuild/easyconfigs/m/MSFragger/MSFragger-4.0-Java-11.eb b/easybuild/easyconfigs/m/MSFragger/MSFragger-4.0-Java-11.eb new file mode 100644 index 00000000000..3e1805a3112 --- /dev/null +++ b/easybuild/easyconfigs/m/MSFragger/MSFragger-4.0-Java-11.eb @@ -0,0 +1,39 @@ +easyblock = 'Tarball' + +name = 'MSFragger' +version = '4.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://msfragger.nesvilab.org/' +description = """MSFragger is an ultrafast database search tool for peptide identification + in mass spectrometry-based proteomics. It has demonstrated excellent performance across a wide + range of datasets and applications. MSFragger is suitable for standard shotgun proteomics + analyses as well as large datasets (including timsTOF PASEF data), enzyme unconstrained + searches (e.g., peptidome), open database searches (e.g., precursor mass tolerance set + to hundreds of Daltons) for identification of modified peptides, and glycopeptide + identification (N-linked and O-linked).""" + +toolchain = SYSTEM + +sources = ['%(name)s-%(version)s.zip'] +checksums = ['25bdab705c4ac97729d1da8d7a075e3920d8a447596fa52eff8e564606d1720e'] + +download_instructions = 'Manual download required, see http://msfragger-upgrader.nesvilab.org/upgrader/' + +dependencies = [('Java', '11')] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + "echo '#!/bin/sh' > %(installdir)s/bin/%(namelower)s", + "echo 'java -jar %(installdir)s/%(name)s-%(version)s.jar $@' >> %(installdir)s/bin/%(namelower)s", + "chmod a+rx %(installdir)s/bin/%(namelower)s", +] + +sanity_check_paths = { + 'files': ['%(name)s-%(version)s.jar'], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..46bb7b4a03f --- /dev/null +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# updating version from 4.0.0beta2 to 4.0.0rc1 which was released in Oct 2020 +# Aaron Miller Mar 15 2021 +# Update: Pavel Tománek (INUITS) + +easyblock = 'ConfigureMake' + +name = 'MUMmer' +version = '4.0.0rc1' + +homepage = 'https://mummer.sourceforge.net/' + +description = """ + MUMmer is a system for rapidly aligning entire genomes, + whether in complete or draft form. AMOS makes use of it. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/gmarcais/mummer/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/mummer', 'bin/annotate', 'bin/combineMUMs', 'bin/delta-filter', + 'bin/repeat-match', 'bin/show-aligns', 'bin/show-coords', + 'bin/show-tiling', 'bin/show-snps', 'bin/show-diff', 'bin/exact-tandems', + 'bin/mummerplot', 'bin/promer', 'bin/dnadiff', + ], + 'dirs': ['include', 'lib', 'libexec'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8482b40b846 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'MUSCLE' +version = '5.1.0' + +homepage = 'https://drive5.com/muscle/' +description = """MUSCLE is one of the best-performing multiple alignment programs + according to published benchmark tests, with accuracy and speed that are consistently + better than CLUSTALW. MUSCLE can align hundreds of sequences in seconds. Most users + learn everything they need to know about MUSCLE in a few minutes-only a handful of + command-line options are needed to perform common alignment tasks.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'rcedgar' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['2bba8b06e3ccabf6465fa26f459763b2029d7e7b9596881063e3aaba60d9e87d'] + +builddependencies = [ + ('binutils', '2.40'), +] + +start_dir = 'src' + +# Use build environment defined by EasyBuild +prebuildopts = "sed -i 's/$(CPPOPTS)/$(CPPOPTS) $(CXXFLAGS) $(CPPFLAGS)/g' Makefile &&" +buildopts = "CPP=${CXX} CC=${CC}" + +files_to_copy = [(['Linux/muscle'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/muscle'], + 'dirs': [], +} + +sanity_check_commands = ["muscle -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mamba/Mamba-23.11.0-0.eb b/easybuild/easyconfigs/m/Mamba/Mamba-23.11.0-0.eb new file mode 100644 index 00000000000..a6c924af595 --- /dev/null +++ b/easybuild/easyconfigs/m/Mamba/Mamba-23.11.0-0.eb @@ -0,0 +1,28 @@ +# author: Caspar van Leeuwen +name = 'Mamba' +version = '23.11.0-0' + +homepage = 'https://mamba.readthedocs.io/' +description = """Mamba is a fast, robust, and cross-platform package manager. It runs on Windows, OS X and Linux +(ARM64 and PPC64LE included) and is fully compatible with conda packages and supports most of conda's commands. +""" + +toolchain = SYSTEM + +# Note: Using Mambaforge is the recommended way of installing mamba, +# according to https://mamba.readthedocs.io/en/latest/installation.html +local_name = 'Mambaforge' +source_urls = ['https://github.com/conda-forge/miniforge/releases/download/%(version)s'] +sources = ['{local_name}-%(version)s-Linux-%(arch)s.sh'.format(local_name=local_name)] +checksums = [ + { + '{local_name}-%(version)s-Linux-aarch64.sh'.format(local_name=local_name): + '71320f28280b4e41f37469f6b0ae85e31ba9c26a87c7ee69cecaae3eaa5a4057', + '{local_name}-%(version)s-Linux-ppc64le.sh'.format(local_name=local_name): + '148b18f94b5a0878d5fa1190b41cad5a803eca1cd15429e26571fef11422e2b2', + '{local_name}-%(version)s-Linux-x86_64.sh'.format(local_name=local_name): + '3dfdcc162bf0df83b5025608dc2acdbbc575bd416b75701fb5863343c0517a78', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/m/Markdown/Markdown-3.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/Markdown/Markdown-3.6-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..7de89e6102a --- /dev/null +++ b/easybuild/easyconfigs/m/Markdown/Markdown-3.6-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Markdown' +version = '3.6' + +homepage = 'https://python-markdown.github.io/' +description = """This is a Python implementation of John Gruber's Markdown. +It is almost completely compliant with the reference implementation, though there are a few known issues. +Additional features are supported by the Available Extensions. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224'] + +builddependencies = [('binutils', '2.39')] +dependencies = [('Python', '3.10.8')] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/Markdown/Markdown-3.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/Markdown/Markdown-3.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ada844d45ca --- /dev/null +++ b/easybuild/easyconfigs/m/Markdown/Markdown-3.6-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'Markdown' +version = '3.6' + +homepage = 'https://python-markdown.github.io/' +description = """This is a Python implementation of John Gruber's Markdown. +It is almost completely compliant with the reference implementation, though there are a few known issues. +Additional features are supported by the Available Extensions. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-23.1.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-23.1.9-GCCcore-13.2.0.eb index 906c5eb2634..f550441cf4a 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-23.1.9-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-23.1.9-GCCcore-13.2.0.eb @@ -49,10 +49,12 @@ dependencies = [ ('libunwind', '1.6.2'), ('LLVM', '16.0.6'), ('X11', '20231019'), + ('Wayland', '1.22.0'), ] -configopts = "-Dplatforms=x11 -Dosmesa=true -Dvulkan-drivers='' " -configopts += "-Dllvm=enabled -Dshared-llvm=enabled -Dlibunwind=enabled -Dglvnd=true" +configopts = "-Dplatforms=x11,wayland -Dosmesa=true -Dvulkan-drivers='swrast' -Dvulkan-layers='device-select' " +configopts += "-Dllvm=enabled -Dshared-llvm=enabled -Dlibunwind=enabled -Dglvnd=true " +configopts += "-Dvideo-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc " # Easybuild will automatically add appropriate Gallium drivers for the processor architecture of the host # If you need a different configuration, it possible to override those values by setting your own configopts diff --git a/easybuild/easyconfigs/m/Meson/Meson-1.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/Meson/Meson-1.3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..06dea864887 --- /dev/null +++ b/easybuild/easyconfigs/m/Meson/Meson-1.3.1-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'Meson' +version = '1.3.1' + +homepage = 'https://mesonbuild.com' +description = "Meson is a cross-platform build system designed to be both as fast and as user friendly as possible." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6020568bdede1643d4fb41e28215be38eff5d52da28ac7d125457c59e0032ad7'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), # includes required 'wheel' package + ('Ninja', '1.11.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'mesonbuild'} + +sanity_check_paths = { + 'files': ['bin/meson'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["meson --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MetaDecoder/MetaDecoder-1.0.19-foss-2023b.eb b/easybuild/easyconfigs/m/MetaDecoder/MetaDecoder-1.0.19-foss-2023b.eb new file mode 100644 index 00000000000..9ee68b714c8 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaDecoder/MetaDecoder-1.0.19-foss-2023b.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'MetaDecoder' +version = '1.0.19' + +homepage = 'https://github.com/liu-congcong/MetaDecoder' +description = "An algorithm for clustering metagenomic sequences" + +toolchain = {'name': 'foss', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), # threadpoolctl + ('SciPy-bundle', '2023.11'), + ('scikit-learn', '1.4.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/liu-congcong/MetaDecoder/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['8b88813a97787bc56baa3100a576a9e56a0de02811c573573a2fffeb7e80623e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MiXCR/MiXCR-4.6.0-Java-17.eb b/easybuild/easyconfigs/m/MiXCR/MiXCR-4.6.0-Java-17.eb new file mode 100644 index 00000000000..4c75c139e4e --- /dev/null +++ b/easybuild/easyconfigs/m/MiXCR/MiXCR-4.6.0-Java-17.eb @@ -0,0 +1,28 @@ +easyblock = 'Tarball' + +name = 'MiXCR' +version = '4.6.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://milaboratory.com/software/mixcr' +description = """MiXCR is a universal software for fast and accurate extraction of T- and B- cell receptor repertoires +from any type of sequencing data.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/milaboratory/mixcr/releases/download/v%(version)s/'] +sources = [SOURCELOWER_ZIP] +checksums = ['05db1276951a2e656d0a7bf4e2b1fff326733a5f961a9d4829be139852fabe13'] + +dependencies = [('Java', '17')] + +sanity_check_paths = { + 'files': ['mixcr', 'mixcr.jar'], + 'dirs': [], +} + +sanity_check_commands = ["mixcr -v"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Miniforge3/Miniforge3-24.1.2-0.eb b/easybuild/easyconfigs/m/Miniforge3/Miniforge3-24.1.2-0.eb new file mode 100644 index 00000000000..5ab8d2c7a11 --- /dev/null +++ b/easybuild/easyconfigs/m/Miniforge3/Miniforge3-24.1.2-0.eb @@ -0,0 +1,26 @@ +easyblock = 'EB_Mamba' + +name = 'Miniforge3' +version = '24.1.2-0' + +homepage = 'https://github.com/conda-forge/miniforge' +description = """Miniforge is a free minimal installer for conda and Mamba specific + to conda-forge.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/conda-forge/miniforge/releases/download/%(version)s'] +local_arch = {'arm64': 'aarch64'}.get(ARCH, ARCH) +sources = ['%%(name)s-%%(version)s-Linux-%s.sh' % local_arch] +checksums = [ + { + '%(name)s-%(version)s-Linux-x86_64.sh': + 'dbadb808edf4da00af35d888d3eeebbfdce71972b60bf4b16dbacaee2ab57f28', + '%(name)s-%(version)s-Linux-ppc64le.sh': + '858b9acbcca1e3f67298a56095f547f2c540d79e1020918cf0d8d6a8af407542', + '%(name)s-py312_%(version)s-Linux-aarch64.sh': + 'f881e2fa24aa898c25fac3250ccb213e8b892fdd95851f000dce93c419e8f89a', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/m/MotionCor3/MotionCor3-1.0.1-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/MotionCor3/MotionCor3-1.0.1-GCCcore-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..fc4fec158f3 --- /dev/null +++ b/easybuild/easyconfigs/m/MotionCor3/MotionCor3-1.0.1-GCCcore-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,57 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/1 +easyblock = 'MakeCp' + +name = 'MotionCor3' +version = '1.0.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/czimaginginstitute/MotionCor3' + +description = """Anisotropic correction of beam induced motion for cryo-electron microscopy and +cryo-electron tomography images. +MotionCor3, an improved implementation of MotionCor2 with addition of CTF +(Contrast Transfer Function) estimation, is a multi-GPU accelerated software +package that enables single-pixel level correction of anisotropic beam induced +sample motion for cryo-electron microscopy and cryo-electron tomography images. +The iterative, patch-based motion detection combined with spatial and temporal +constraints and dose weighting provides robust and accurate correction. By +refining the measurement of early motion, MotionCor3 further improves correction +on tilted samples. The efficiency achieved by multi-GPU acceleration and +parallelization enables correction to keep pace with automated data collection. +The recent addition of a very robust GPU-accelerated CTF estimation makes +MotionCor3 more versatile in cryoEM and cryoET processing pipeline.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_makefile.patch'] +checksums = [ + {'v1.0.1.tar.gz': '9b1eaa43f67c6ca54c1cea6ad53ee78726a14a87a3c5d91e7820786ebe0786a3'}, + {'MotionCor3-1.0.1_makefile.patch': 'd047c1f097eead3173a60fd3ae821ee7b285728bf8470f496021580f11875d12'}, +] + +github_account = 'czimaginginstitute' + +build_cmd = 'make exe -f makefile11 CUDAHOME=$CUDA_HOME CUDACC="%(cuda_cc_cmake)s"' + +builddependencies = [ + ('binutils', '2.40') +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('LibTIFF', '4.5.0'), +] + +files_to_copy = [(['%(name)s'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['bin'], +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MotionCor3/MotionCor3-1.0.1_makefile.patch b/easybuild/easyconfigs/m/MotionCor3/MotionCor3-1.0.1_makefile.patch new file mode 100644 index 00000000000..0a99204e2dd --- /dev/null +++ b/easybuild/easyconfigs/m/MotionCor3/MotionCor3-1.0.1_makefile.patch @@ -0,0 +1,54 @@ +# Thomas Hoffmann, EBML Heidelberg, structures-it@embl.de, 2023/10 +# allow to inject cuda compute capabilities and cfalgs +diff -ru MotionCor3-1.0.1/makefile11 MotionCor3-1.0.1_makefile/makefile11 +--- MotionCor3-1.0.1/makefile11 2023-10-25 23:59:50.000000000 +0200 ++++ MotionCor3-1.0.1_makefile/makefile11 2023-10-31 14:24:25.377992618 +0100 +@@ -1,6 +1,6 @@ + PRJHOME = $(shell pwd) + CONDA = $(HOME)/miniconda3 +-CUDAHOME = $(HOME)/nvidia/cuda-12.1 ++#CUDAHOME = $(HOME)/nvidia/cuda-12.1 + CUDAINC = $(CUDAHOME)/include + CUDALIB = $(CUDAHOME)/lib64 + PRJINC = $(PRJHOME)/Include +@@ -139,18 +139,21 @@ + $(CUCPPS) + OBJS = $(patsubst %.cpp, %.o, $(SRCS)) + #------------------------------------- +-CC = g++ -std=c++11 +-CFLAG = -c -g -pthread -m64 ++#CC = g++ -std=c++11 ++CFLAG = -c -g -pthread -m64 $(CFLAGS) + NVCC = $(CUDAHOME)/bin/nvcc -std=c++11 +-CUFLAG = -Xptxas -dlcm=ca -O2 \ +- -gencode arch=compute_86,code=sm_86 \ +- -gencode arch=compute_80,code=sm_80 \ +- -gencode arch=compute_75,code=sm_75 \ +- -gencode arch=compute_70,code=sm_70 \ +- -gencode arch=compute_52,code=sm_52 \ +- -gencode arch=compute_53,code=sm_53 \ +- -gencode arch=compute_60,code=sm_60 \ +- -gencode arch=compute_61,code=sm_61 ++SPACE= ' ' ++SEMI= ; ++GENCODES = $(foreach x,$(subst $(SEMI),$(SPACE),$(CUDACC)),-gencode arch=compute_$x,code=sm_$x) ++CUFLAG = -Xptxas -dlcm=ca -O2 $(GENCODES) ++# -gencode arch=compute_86,code=sm_86 \ ++# -gencode arch=compute_80,code=sm_80 \ ++# -gencode arch=compute_75,code=sm_75 \ ++# -gencode arch=compute_70,code=sm_70 \ ++# -gencode arch=compute_52,code=sm_52 \ ++# -gencode arch=compute_53,code=sm_53 \ ++# -gencode arch=compute_60,code=sm_60 \ ++# -gencode arch=compute_61,code=sm_61 + #------------------------------------------ + cuda: $(CUCPPS) + +@@ -165,6 +168,7 @@ + -lcufft -lcudart -lcuda -lnvToolsExt -ltiff -lc -lm -lpthread \ + -o MotionCor3 + @echo MotionCor3 has been generated. ++ @echo used cuda gencodes: $(GENCODES) + + %.cpp: %.cu + @echo "-----------------------------------------------" diff --git a/easybuild/easyconfigs/m/maeparser/maeparser-1.3.1-gompi-2023a.eb b/easybuild/easyconfigs/m/maeparser/maeparser-1.3.1-gompi-2023a.eb new file mode 100644 index 00000000000..79e01da90b8 --- /dev/null +++ b/easybuild/easyconfigs/m/maeparser/maeparser-1.3.1-gompi-2023a.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'maeparser' +version = '1.3.1' + +homepage = 'https://github.com/schrodinger/maeparser' +description = "maeparser is a parser for Schrodinger Maestro files." + +toolchain = {'name': 'gompi', 'version': '2023a'} + +source_urls = ['https://github.com/schrodinger/maeparser/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a8d80f67d1b9be6e23b9651cb747f4a3200132e7d878a285119c86bf44568e36'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [('Boost', '1.82.0')] + +sanity_check_paths = { + 'files': ['lib/libmaeparser.%s' % SHLIB_EXT], + 'dirs': ['include/maeparser', 'lib/cmake'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/magma/magma-2.7.2-foss-2023b-CUDA-12.4.0.eb b/easybuild/easyconfigs/m/magma/magma-2.7.2-foss-2023b-CUDA-12.4.0.eb new file mode 100644 index 00000000000..26a36f2542f --- /dev/null +++ b/easybuild/easyconfigs/m/magma/magma-2.7.2-foss-2023b-CUDA-12.4.0.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'magma' +version = '2.7.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://icl.cs.utk.edu/magma/' +description = """The MAGMA project aims to develop a dense linear algebra library similar to + LAPACK but for heterogeneous/hybrid architectures, starting with current Multicore+GPU systems.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://icl.cs.utk.edu/projectsfiles/%(name)s/downloads/'] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-2.7.2_allow-all-sms.patch'] +checksums = [ + {'magma-2.7.2.tar.gz': '729bc1a70e518a7422fe7a3a54537a4741035a77be3349f66eac5c362576d560'}, + {'magma-2.7.2_allow-all-sms.patch': '2996485844d7e199ea57eaebf59903d3514a03536f82b655ce30de480e28b828'}, +] + +builddependencies = [ + ('CMake', '3.27.6'), +] +dependencies = [ + ('CUDA', '12.4.0', '', SYSTEM), + ('UCX-CUDA', '1.15.0', versionsuffix), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['5.0', '6.0', '7.0', '7.5', '8.0', '8.6', '9.0'] + +# make sure both static and shared libs are built +configopts = [ + '-DBUILD_SHARED_LIBS=%s \ + -DGPU_TARGET="%%(cuda_sm_space_sep)s" ' % local_shared for local_shared in ('ON', 'OFF') +] + +sanity_check_paths = { + 'files': ['lib/libmagma.%s' % SHLIB_EXT, 'lib/libmagma.a'], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-gfbf-2023a.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-gfbf-2023a.eb index 50cd58acdfd..c15e4a6a5fe 100644 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-gfbf-2023a.eb +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-gfbf-2023a.eb @@ -13,6 +13,7 @@ toolchain = {'name': 'gfbf', 'version': '2023a'} builddependencies = [ ('pkgconf', '1.9.5'), ('cppy', '1.2.1'), + ('meson-python', '0.13.2'), ] dependencies = [ @@ -23,7 +24,6 @@ dependencies = [ ('Tkinter', '%(pyver)s'), ('Pillow', '10.0.0'), ('Qhull', '2020.2'), - ('meson-python', '0.13.2'), ] use_pip = True diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-iimkl-2023a.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-iimkl-2023a.eb new file mode 100644 index 00000000000..fc77e51ebf4 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-iimkl-2023a.eb @@ -0,0 +1,82 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.7.2' + +homepage = 'https://matplotlib.org' +description = """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of + hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python + and ipython shell, web application servers, and six graphical user interface toolkits.""" + +toolchain = {'name': 'iimkl', 'version': '2023a'} + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('cppy', '1.2.1'), + ('meson-python', '0.13.2'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('libpng', '1.6.39'), + ('freetype', '2.13.0'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '10.0.0'), + ('Qhull', '2020.2'), +] + +use_pip = True +sanity_pip_check = True + +# avoid that matplotlib downloads and builds its own copies of freetype and qhull +_fix_setup = "sed -e 's/#system_freetype = False/system_freetype = True/g' " +_fix_setup += "-e 's/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template >mplsetup.cfg && " + +_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +local_preinstallopts = "sed -e 's/#system_freetype = False/system_freetype = True/g' -e " +local_preinstallopts += "'s/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template >mplsetup.cfg" +local_preinstallopts += "&& export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +exts_list = [ + ('fonttools', '4.42.0', { + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'checksums': ['614b1283dca88effd20ee48160518e6de275ce9b5456a3134d5f235523fc5065'], + 'modulename': 'fontTools', + }), + ('Cycler', '0.11.0', { + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'checksums': ['9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f'], + 'modulename': 'cycler', + }), + ('kiwisolver', '1.4.4', { + 'patches': ['kiwisolver-1.4.4-fix_version.patch'], + 'checksums': [ + {'kiwisolver-1.4.4.tar.gz': 'd41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955'}, + {'kiwisolver-1.4.4-fix_version.patch': '6753afbb3a88856493fcfa0b33989f35742f57bfd41ff3b7f71a98797e1bfbd0'}, + ], + }), + ('contourpy', '1.1.0', { + 'checksums': ['e53046c3863828d21d531cc3b53786e6580eb1ba02477e8681009b6aa0870b21'], + }), + (name, version, { + 'patches': ['matplotlib-3.7.2-fix_setup.patch'], + 'checksums': [ + {'matplotlib-3.7.2.tar.gz': 'a8cdb91dddb04436bd2f098b8fdf4b81352e68cf4d2c6756fcc414791076569b'}, + {'matplotlib-3.7.2-fix_setup.patch': '70b38f9fc9f26c67adc38440f5420d7c50d9438353ad08740cbb42a79358fb4f'}, + ], + 'preinstallopts': local_preinstallopts, + }), +] + +sanity_check_commands = [ + """python -c 'import matplotlib; matplotlib.use("Agg"); import matplotlib.pyplot' """, + "python -c 'from mpl_toolkits.mplot3d import Axes3D'", +] + +# use non-interactive plotting backend as default +# see https://matplotlib.org/tutorials/introductory/usage.html#what-is-a-backend +modextravars = {'MPLBACKEND': 'Agg'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.8.2-fix_setup.patch b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.8.2-fix_setup.patch new file mode 100644 index 00000000000..da42051411f --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.8.2-fix_setup.patch @@ -0,0 +1,13 @@ +Fix version (autoresolve fails) +S.D.Pinches, 10.01.2024 +diff -Nru matplotlib-3.8.2-orig/setup.py matplotlib-3.8.2/setup.py +--- matplotlib-3.8.2-orig/setup.py 2023-11-17 20:55:51.000000000 +0100 ++++ matplotlib-3.8.2/setup.py 2024-01-10 18:48:34.370649021 +0100 +@@ -279,6 +279,7 @@ + setup( # Finally, pass this all along to setuptools to do the heavy lifting. + name="matplotlib", + description="Python plotting package", ++ version="3.8.2", + author="John D. Hunter, Michael Droettboom", + author_email="matplotlib-users@python.org", + url="https://matplotlib.org", diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.8.2-gfbf-2023b.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.8.2-gfbf-2023b.eb new file mode 100644 index 00000000000..b69859542f7 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.8.2-gfbf-2023b.eb @@ -0,0 +1,84 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.8.2' + +homepage = 'https://matplotlib.org' +description = """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of + hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python + and ipython shell, web application servers, and six graphical user interface toolkits.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +builddependencies = [ + ('pkgconf', '2.0.3'), + ('cppy', '1.2.1'), + ('meson-python', '0.15.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('libpng', '1.6.40'), + ('freetype', '2.13.2'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '10.2.0'), + ('Qhull', '2020.2'), +] + +use_pip = True +sanity_pip_check = True + +# avoid that matplotlib downloads and builds its own copies of freetype and qhull +_fix_setup = "sed -e 's/#system_freetype = False/system_freetype = True/g' " +_fix_setup += "-e 's/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template >mplsetup.cfg && " + +_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +local_preinstallopts = "sed -e 's/#system_freetype = False/system_freetype = True/g' -e " +local_preinstallopts += "'s/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template >mplsetup.cfg" +local_preinstallopts += "&& export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +exts_list = [ + ('fonttools', '4.47.0', { + 'modulename': 'fontTools', + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'checksums': ['ec13a10715eef0e031858c1c23bfaee6cba02b97558e4a7bfa089dba4a8c2ebf'], + }), + ('Cycler', '0.12.1', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'checksums': ['88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c'], + }), + ('kiwisolver', '1.4.5', { + 'patches': ['kiwisolver-1.4.4-fix_version.patch'], + 'checksums': [ + {'kiwisolver-1.4.5.tar.gz': 'e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec'}, + {'kiwisolver-1.4.4-fix_version.patch': '6753afbb3a88856493fcfa0b33989f35742f57bfd41ff3b7f71a98797e1bfbd0'}, + ], + }), + ('contourpy', '1.2.0', { + 'checksums': ['171f311cb758de7da13fc53af221ae47a5877be5a0843a9fe150818c51ed276a'], + }), + (name, version, { + 'patches': ['matplotlib-3.8.2-fix_setup.patch'], + 'preinstallopts': "sed -e 's/#system_freetype = False/system_freetype = True/g' " + "-e 's/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template >mplsetup.cfg" + "&& export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && ", + 'checksums': [ + {'matplotlib-3.8.2.tar.gz': '01a978b871b881ee76017152f1f1a0cbf6bd5f7b8ff8c96df0df1bd57d8755a1'}, + {'matplotlib-3.8.2-fix_setup.patch': '16e1610aec49af402e324e0b71c69d6b7ae106732088318e727b48282492a932'}, + ], + }), +] + +sanity_check_commands = [ + """python -c 'import matplotlib; matplotlib.use("Agg"); import matplotlib.pyplot' """, + "python -c 'from mpl_toolkits.mplot3d import Axes3D'", +] + +# use non-interactive plotting backend as default +# see https://matplotlib.org/tutorials/introductory/usage.html#what-is-a-backend +modextravars = {'MPLBACKEND': 'Agg'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/maturin/maturin-1.3.2-GCCcore-11.3.0-Rust-1.65.0.eb b/easybuild/easyconfigs/m/maturin/maturin-1.3.2-GCCcore-11.3.0-Rust-1.65.0.eb new file mode 100644 index 00000000000..e96036f787b --- /dev/null +++ b/easybuild/easyconfigs/m/maturin/maturin-1.3.2-GCCcore-11.3.0-Rust-1.65.0.eb @@ -0,0 +1,618 @@ +easyblock = 'CargoPythonBundle' + + +name = 'maturin' +version = '1.3.2' +_rust_ver = '1.65.0' +versionsuffix = '-Rust-%s' % _rust_ver + +homepage = 'https://github.com/pyo3/maturin' +description = """This project is meant as a zero configuration +replacement for setuptools-rust and milksnake. It supports building +wheels for python 3.5+ on windows, linux, mac and freebsd, can upload +them to pypi and has basic pypy and graalpy support.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('Rust', _rust_ver), +] + +crates = [ + ('adler', '1.0.2'), + ('ahash', '0.7.7'), + ('aho-corasick', '0.7.20'), + ('anstream', '0.3.2'), + ('anstyle', '1.0.1'), + ('anstyle-parse', '0.2.1'), + ('anstyle-query', '1.0.0'), + ('anstyle-wincon', '1.0.2'), + ('anyhow', '1.0.75'), + ('autocfg', '1.1.0'), + ('base64', '0.13.1'), + ('base64', '0.21.2'), + ('bitflags', '1.3.2'), + ('block-buffer', '0.10.4'), + ('bstr', '1.6.0'), + ('byteorder', '1.4.3'), + ('bytes', '1.4.0'), + ('bytesize', '1.2.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cab', '0.4.1'), + ('camino', '1.1.6'), + ('cargo-config2', '0.1.9'), + ('cargo-options', '0.6.0'), + ('cargo-platform', '0.1.3'), + ('cargo-xwin', '0.14.8'), + ('cargo-zigbuild', '0.17.5'), + ('cargo_metadata', '0.18.0'), + ('cbindgen', '0.26.0'), + ('cc', '1.0.82'), + ('cfb', '0.7.3'), + ('cfg-expr', '0.15.4'), + ('cfg-if', '1.0.0'), + ('charset', '0.1.3'), + ('chumsky', '0.9.2'), + ('clap', '4.1.14'), + ('clap_builder', '4.1.14'), + ('clap_complete', '4.2.3'), + ('clap_complete_command', '0.5.1'), + ('clap_complete_fig', '4.2.0'), + ('clap_complete_nushell', '0.1.11'), + ('clap_derive', '4.1.14'), + ('clap_lex', '0.4.1'), + ('cli-table', '0.4.7'), + ('colorchoice', '1.0.0'), + ('configparser', '3.0.2'), + ('console', '0.15.7'), + ('content_inspector', '0.2.4'), + ('core-foundation', '0.9.3'), + ('core-foundation-sys', '0.8.4'), + ('cpufeatures', '0.2.9'), + ('crc32fast', '1.3.2'), + ('crossbeam-channel', '0.5.8'), + ('crossbeam-deque', '0.8.3'), + ('crossbeam-epoch', '0.9.15'), + ('crossbeam-utils', '0.8.16'), + ('crypto-common', '0.1.6'), + ('data-encoding', '2.4.0'), + ('deranged', '0.3.9'), + ('dialoguer', '0.11.0'), + ('diff', '0.1.13'), + ('digest', '0.10.7'), + ('dirs', '5.0.1'), + ('dirs-sys', '0.4.1'), + ('dissimilar', '1.0.7'), + ('dunce', '1.0.4'), + ('either', '1.9.0'), + ('encode_unicode', '0.3.6'), + ('encoding_rs', '0.8.32'), + ('errno', '0.3.2'), + ('errno-dragonfly', '0.1.2'), + ('expect-test', '1.4.1'), + ('fastrand', '1.9.0'), + ('fat-macho', '0.4.7'), + ('filetime', '0.2.22'), + ('flate2', '1.0.27'), + ('fnv', '1.0.7'), + ('foreign-types', '0.3.2'), + ('foreign-types-shared', '0.1.1'), + ('form_urlencoded', '1.2.0'), + ('fs-err', '2.9.0'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.10'), + ('glob', '0.3.1'), + ('globset', '0.4.10'), + ('goblin', '0.7.1'), + ('hashbrown', '0.12.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.2'), + ('home', '0.5.5'), + ('humantime', '2.1.0'), + ('humantime-serde', '1.1.1'), + ('idna', '0.4.0'), + ('ignore', '0.4.20'), + ('indexmap', '1.9.3'), + ('indicatif', '0.17.6'), + ('indoc', '2.0.3'), + ('instant', '0.1.12'), + ('io-lifetimes', '1.0.11'), + ('is-terminal', '0.4.7'), + ('itertools', '0.11.0'), + ('itoa', '1.0.9'), + ('keyring', '2.0.5'), + ('lazy_static', '1.4.0'), + ('lddtree', '0.3.3'), + ('libc', '0.2.147'), + ('linux-keyutils', '0.2.3'), + ('linux-raw-sys', '0.3.8'), + ('lock_api', '0.4.10'), + ('log', '0.4.20'), + ('lzxd', '0.1.4'), + ('mailparse', '0.14.0'), + ('matchers', '0.1.0'), + ('memchr', '2.5.0'), + ('memoffset', '0.9.0'), + ('mime', '0.3.17'), + ('mime_guess', '2.0.4'), + ('minijinja', '1.0.8'), + ('minimal-lexical', '0.2.1'), + ('miniz_oxide', '0.7.1'), + ('msi', '0.6.0'), + ('multipart', '0.18.0'), + ('native-tls', '0.2.11'), + ('nom', '7.1.3'), + ('normalize-line-endings', '0.3.0'), + ('normpath', '1.1.1'), + ('nu-ansi-term', '0.46.0'), + ('num_cpus', '1.16.0'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.18.0'), + ('openssl', '0.10.56'), + ('openssl-macros', '0.1.1'), + ('openssl-probe', '0.1.5'), + ('openssl-src', '111.27.0+1.1.1v'), + ('openssl-sys', '0.9.91'), + ('option-ext', '0.2.0'), + ('os_pipe', '1.1.4'), + ('overload', '0.1.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.8'), + ('paste', '1.0.14'), + ('path-slash', '0.2.1'), + ('pep440_rs', '0.3.6'), + ('pep508_rs', '0.2.1'), + ('percent-encoding', '2.3.0'), + ('pin-project-lite', '0.2.12'), + ('pkg-config', '0.3.27'), + ('plain', '0.2.3'), + ('platform-info', '2.0.2'), + ('portable-atomic', '1.4.2'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.17'), + ('pretty_assertions', '1.4.0'), + ('proc-macro2', '1.0.66'), + ('psm', '0.1.21'), + ('pyproject-toml', '0.6.1'), + ('python-pkginfo', '0.6.0'), + ('quote', '1.0.33'), + ('quoted_printable', '0.4.8'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rayon', '1.7.0'), + ('rayon-core', '1.11.0'), + ('redox_syscall', '0.2.16'), + ('redox_syscall', '0.3.5'), + ('redox_users', '0.4.3'), + ('regex', '1.7.3'), + ('regex-automata', '0.1.10'), + ('regex-syntax', '0.6.29'), + ('rfc2047-decoder', '0.2.2'), + ('ring', '0.17.3'), + ('rustc_version', '0.4.0'), + ('rustix', '0.37.25'), + ('rustls', '0.21.8'), + ('rustls-pemfile', '1.0.3'), + ('rustls-webpki', '0.101.7'), + ('rustversion', '1.0.14'), + ('ryu', '1.0.15'), + ('same-file', '1.0.6'), + ('schannel', '0.1.22'), + ('scopeguard', '1.2.0'), + ('scroll', '0.11.0'), + ('scroll_derive', '0.11.1'), + ('sct', '0.7.1'), + ('security-framework', '2.9.2'), + ('security-framework-sys', '2.9.1'), + ('semver', '1.0.18'), + ('serde', '1.0.183'), + ('serde_derive', '1.0.183'), + ('serde_json', '1.0.105'), + ('serde_spanned', '0.6.3'), + ('sha2', '0.10.7'), + ('sharded-slab', '0.1.4'), + ('shell-escape', '0.1.5'), + ('shell-words', '1.1.0'), + ('shlex', '1.1.0'), + ('similar', '2.2.1'), + ('smallvec', '1.11.0'), + ('smawk', '0.3.1'), + ('snapbox', '0.4.11'), + ('snapbox-macros', '0.3.4'), + ('socks', '0.3.4'), + ('spin', '0.9.8'), + ('stacker', '0.1.15'), + ('static_assertions', '1.1.0'), + ('strsim', '0.10.0'), + ('syn', '1.0.109'), + ('syn', '2.0.29'), + ('tar', '0.4.40'), + ('target-lexicon', '0.12.11'), + ('tempfile', '3.6.0'), + ('termcolor', '1.2.0'), + ('terminal_size', '0.2.6'), + ('textwrap', '0.16.0'), + ('thiserror', '1.0.47'), + ('thiserror-impl', '1.0.47'), + ('thread_local', '1.1.7'), + ('time', '0.3.20'), + ('time-core', '0.1.0'), + ('time-macros', '0.2.8'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('toml', '0.5.11'), + ('toml', '0.7.4'), + ('toml_datetime', '0.6.2'), + ('toml_edit', '0.19.10'), + ('tracing', '0.1.37'), + ('tracing-attributes', '0.1.26'), + ('tracing-core', '0.1.31'), + ('tracing-log', '0.1.3'), + ('tracing-serde', '0.1.3'), + ('tracing-subscriber', '0.3.17'), + ('trycmd', '0.14.16'), + ('twox-hash', '1.6.3'), + ('typenum', '1.16.0'), + ('unicase', '2.6.0'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.11'), + ('unicode-linebreak', '0.1.5'), + ('unicode-normalization', '0.1.22'), + ('unicode-width', '0.1.10'), + ('untrusted', '0.9.0'), + ('ureq', '2.8.0'), + ('url', '2.4.1'), + ('utf8parse', '0.2.1'), + ('uuid', '1.4.1'), + ('valuable', '0.1.0'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('versions', '5.0.1'), + ('wait-timeout', '0.2.0'), + ('walkdir', '2.3.3'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('webpki-roots', '0.25.2'), + ('which', '4.4.0'), + ('wild', '2.1.0'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.5'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-sys', '0.45.0'), + ('windows-sys', '0.48.0'), + ('windows-targets', '0.42.2'), + ('windows-targets', '0.48.2'), + ('windows_aarch64_gnullvm', '0.42.2'), + ('windows_aarch64_gnullvm', '0.48.2'), + ('windows_aarch64_msvc', '0.42.2'), + ('windows_aarch64_msvc', '0.48.2'), + ('windows_i686_gnu', '0.42.2'), + ('windows_i686_gnu', '0.48.2'), + ('windows_i686_msvc', '0.42.2'), + ('windows_i686_msvc', '0.48.2'), + ('windows_x86_64_gnu', '0.42.2'), + ('windows_x86_64_gnu', '0.48.2'), + ('windows_x86_64_gnullvm', '0.42.2'), + ('windows_x86_64_gnullvm', '0.48.2'), + ('windows_x86_64_msvc', '0.42.2'), + ('windows_x86_64_msvc', '0.48.2'), + ('winnow', '0.4.7'), + ('xattr', '1.0.1'), + ('xwin', '0.3.1'), + ('yansi', '0.5.1'), + ('zeroize', '1.6.0'), + ('zip', '0.6.6'), +] + +sources = [SOURCE_TAR_GZ] +checksums = [ + {'maturin-1.3.2.tar.gz': '952d458b3dea01e9670582ac2dff3c522a34e491f08ed6376b270655a68c24af'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.7.7.tar.gz': '5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd'}, + {'aho-corasick-0.7.20.tar.gz': 'cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac'}, + {'anstream-0.3.2.tar.gz': '0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163'}, + {'anstyle-1.0.1.tar.gz': '3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd'}, + {'anstyle-parse-0.2.1.tar.gz': '938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333'}, + {'anstyle-query-1.0.0.tar.gz': '5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b'}, + {'anstyle-wincon-1.0.2.tar.gz': 'c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c'}, + {'anyhow-1.0.75.tar.gz': 'a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'base64-0.21.2.tar.gz': '604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'bstr-1.6.0.tar.gz': '6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05'}, + {'byteorder-1.4.3.tar.gz': '14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610'}, + {'bytes-1.4.0.tar.gz': '89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be'}, + {'bytesize-1.2.0.tar.gz': '38fcc2979eff34a4b84e1cf9a1e3da42a7d44b3b690a40cdcb23e3d556cfb2e5'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cab-0.4.1.tar.gz': 'ae6b4de23c7d39c0631fd3cc952d87951c86c75a13812d7247cb7a896e7b3551'}, + {'camino-1.1.6.tar.gz': 'c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c'}, + {'cargo-config2-0.1.9.tar.gz': 'a393492158d1198da424057afeadc96af9330d76d12e56d131a7a5302524ac65'}, + {'cargo-options-0.6.0.tar.gz': '9b8e8daa6b2b84aa7cccd57317d9a9b36d969d75bb95923471f4eabbd36f2955'}, + {'cargo-platform-0.1.3.tar.gz': '2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479'}, + {'cargo-xwin-0.14.8.tar.gz': '11c08ee57b16103990269874220c0e8a4613b8096a314ce2f29ad1b54d4b6d02'}, + {'cargo-zigbuild-0.17.5.tar.gz': 'd5166694ea85c72f887293af72a665d7ac5a537649e607773bf834cb6303b1da'}, + {'cargo_metadata-0.18.0.tar.gz': 'fb9ac64500cc83ce4b9f8dafa78186aa008c8dea77a09b94cd307fd0cd5022a8'}, + {'cbindgen-0.26.0.tar.gz': 'da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49'}, + {'cc-1.0.82.tar.gz': '305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01'}, + {'cfb-0.7.3.tar.gz': 'd38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f'}, + {'cfg-expr-0.15.4.tar.gz': 'b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'charset-0.1.3.tar.gz': '18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46'}, + {'chumsky-0.9.2.tar.gz': '23170228b96236b5a7299057ac284a321457700bc8c41a4476052f0f4ba5349d'}, + {'clap-4.1.14.tar.gz': '906f7fe1da4185b7a282b2bc90172a496f9def1aca4545fe7526810741591e14'}, + {'clap_builder-4.1.14.tar.gz': '351f9ad9688141ed83dfd8f5fb998a06225ef444b48ff4dc43de6d409b7fd10b'}, + {'clap_complete-4.2.3.tar.gz': '1594fe2312ec4abf402076e407628f5c313e54c32ade058521df4ee34ecac8a8'}, + {'clap_complete_command-0.5.1.tar.gz': '183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d'}, + {'clap_complete_fig-4.2.0.tar.gz': 'f3af28956330989baa428ed4d3471b853715d445c62de21b67292e22cf8a41fa'}, + {'clap_complete_nushell-0.1.11.tar.gz': '5d02bc8b1a18ee47c4d2eec3fb5ac034dc68ebea6125b1509e9ccdffcddce66e'}, + {'clap_derive-4.1.14.tar.gz': '81d7dc0031c3a59a04fc2ba395c8e2dd463cba1859275f065d225f6122221b45'}, + {'clap_lex-0.4.1.tar.gz': '8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1'}, + {'cli-table-0.4.7.tar.gz': 'adfbb116d9e2c4be7011360d0c0bee565712c11e969c9609b25b619366dc379d'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'configparser-3.0.2.tar.gz': '5458d9d1a587efaf5091602c59d299696a3877a439c8f6d461a2d3cce11df87a'}, + {'console-0.15.7.tar.gz': 'c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8'}, + {'content_inspector-0.2.4.tar.gz': 'b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38'}, + {'core-foundation-0.9.3.tar.gz': '194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146'}, + {'core-foundation-sys-0.8.4.tar.gz': 'e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa'}, + {'cpufeatures-0.2.9.tar.gz': 'a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'crossbeam-channel-0.5.8.tar.gz': 'a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200'}, + {'crossbeam-deque-0.8.3.tar.gz': 'ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef'}, + {'crossbeam-epoch-0.9.15.tar.gz': 'ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7'}, + {'crossbeam-utils-0.8.16.tar.gz': '5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'data-encoding-2.4.0.tar.gz': 'c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308'}, + {'deranged-0.3.9.tar.gz': '0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3'}, + {'dialoguer-0.11.0.tar.gz': '658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de'}, + {'diff-0.1.13.tar.gz': '56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'dirs-5.0.1.tar.gz': '44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225'}, + {'dirs-sys-0.4.1.tar.gz': '520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c'}, + {'dissimilar-1.0.7.tar.gz': '86e3bdc80eee6e16b2b6b0f87fbc98c04bee3455e35174c0de1a125d0688c632'}, + {'dunce-1.0.4.tar.gz': '56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'encoding_rs-0.8.32.tar.gz': '071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394'}, + {'errno-0.3.2.tar.gz': '6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f'}, + {'errno-dragonfly-0.1.2.tar.gz': 'aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf'}, + {'expect-test-1.4.1.tar.gz': '30d9eafeadd538e68fb28016364c9732d78e420b9ff8853fa5e4058861e9f8d3'}, + {'fastrand-1.9.0.tar.gz': 'e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be'}, + {'fat-macho-0.4.7.tar.gz': '63fa117c7dcabeb8c83d5c229764cfa46518545d2dba5a9a08912014711f997b'}, + {'filetime-0.2.22.tar.gz': 'd4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0'}, + {'flate2-1.0.27.tar.gz': 'c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'foreign-types-0.3.2.tar.gz': 'f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1'}, + {'foreign-types-shared-0.1.1.tar.gz': '00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b'}, + {'form_urlencoded-1.2.0.tar.gz': 'a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652'}, + {'fs-err-2.9.0.tar.gz': '0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.10.tar.gz': 'be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'globset-0.4.10.tar.gz': '029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc'}, + {'goblin-0.7.1.tar.gz': 'f27c1b4369c2cd341b5de549380158b105a04c331be5db9110eef7b6d2742134'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.2.tar.gz': '443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b'}, + {'home-0.5.5.tar.gz': '5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'humantime-serde-1.1.1.tar.gz': '57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c'}, + {'idna-0.4.0.tar.gz': '7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c'}, + {'ignore-0.4.20.tar.gz': 'dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492'}, + {'indexmap-1.9.3.tar.gz': 'bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99'}, + {'indicatif-0.17.6.tar.gz': '0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730'}, + {'indoc-2.0.3.tar.gz': '2c785eefb63ebd0e33416dfcb8d6da0bf27ce752843a45632a67bf10d4d4b5c4'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'io-lifetimes-1.0.11.tar.gz': 'eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2'}, + {'is-terminal-0.4.7.tar.gz': 'adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itoa-1.0.9.tar.gz': 'af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38'}, + {'keyring-2.0.5.tar.gz': '9549a129bd08149e0a71b2d1ce2729780d47127991bfd0a78cc1df697ec72492'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'lddtree-0.3.3.tar.gz': '2f5bfec46830ad3a95199ae6804dfe9f51fdad43d7a95fbb6c185efa9824c295'}, + {'libc-0.2.147.tar.gz': 'b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3'}, + {'linux-keyutils-0.2.3.tar.gz': '3f27bb67f6dd1d0bb5ab582868e4f65052e58da6401188a08f0da09cf512b84b'}, + {'linux-raw-sys-0.3.8.tar.gz': 'ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519'}, + {'lock_api-0.4.10.tar.gz': 'c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'lzxd-0.1.4.tar.gz': '784462f20dddd9dfdb45de963fa4ad4a288cb10a7889ac5d2c34fb6481c6b213'}, + {'mailparse-0.14.0.tar.gz': '6b56570f5f8c0047260d1c8b5b331f62eb9c660b9dd4071a8c46f8c7d3f280aa'}, + {'matchers-0.1.0.tar.gz': '8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558'}, + {'memchr-2.5.0.tar.gz': '2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'mime-0.3.17.tar.gz': '6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a'}, + {'mime_guess-2.0.4.tar.gz': '4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef'}, + {'minijinja-1.0.8.tar.gz': '80084fa3099f58b7afab51e5f92e24c2c2c68dcad26e96ad104bd6011570461d'}, + {'minimal-lexical-0.2.1.tar.gz': '68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'msi-0.6.0.tar.gz': 'a7124fc3188eff23916d20d82bcbbb993914b22fba5603f9e7745e347a86cf67'}, + {'multipart-0.18.0.tar.gz': '00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182'}, + {'native-tls-0.2.11.tar.gz': '07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e'}, + {'nom-7.1.3.tar.gz': 'd273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a'}, + {'normalize-line-endings-0.3.0.tar.gz': '61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be'}, + {'normpath-1.1.1.tar.gz': 'ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5'}, + {'nu-ansi-term-0.46.0.tar.gz': '77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84'}, + {'num_cpus-1.16.0.tar.gz': '4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.18.0.tar.gz': 'dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d'}, + {'openssl-0.10.56.tar.gz': '729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e'}, + {'openssl-macros-0.1.1.tar.gz': 'a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'openssl-src-111.27.0+1.1.1v.tar.gz': '06e8f197c82d7511c5b014030c9b1efeda40d7d5f99d23b4ceed3524a5e63f02'}, + {'openssl-sys-0.9.91.tar.gz': '866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac'}, + {'option-ext-0.2.0.tar.gz': '04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d'}, + {'os_pipe-1.1.4.tar.gz': '0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177'}, + {'overload-0.1.1.tar.gz': 'b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.8.tar.gz': '93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'path-slash-0.2.1.tar.gz': '1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42'}, + {'pep440_rs-0.3.6.tar.gz': '3d6f6ead185985925c7e2b5ddb57ed5ef9d95835bf3994a5ce74403653898ab6'}, + {'pep508_rs-0.2.1.tar.gz': 'c0713d7bb861ca2b7d4c50a38e1f31a4b63a2e2df35ef1e5855cc29e108453e2'}, + {'percent-encoding-2.3.0.tar.gz': '9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94'}, + {'pin-project-lite-0.2.12.tar.gz': '12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05'}, + {'pkg-config-0.3.27.tar.gz': '26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964'}, + {'plain-0.2.3.tar.gz': 'b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6'}, + {'platform-info-2.0.2.tar.gz': 'd6259c4860e53bf665016f1b2f46a8859cadfa717581dc9d597ae4069de6300f'}, + {'portable-atomic-1.4.2.tar.gz': 'f32154ba0af3a075eefa1eda8bb414ee928f62303a54ea85b8d6638ff1a6ee9e'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'pretty_assertions-1.4.0.tar.gz': 'af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66'}, + {'proc-macro2-1.0.66.tar.gz': '18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9'}, + {'psm-0.1.21.tar.gz': '5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874'}, + {'pyproject-toml-0.6.1.tar.gz': 'ee79feaa9d31e1c417e34219e610b67db4e786ce9b49d77dda549640abb9dc5f'}, + {'python-pkginfo-0.6.0.tar.gz': '037469c164f08c891bf6d69ca02f1d56210011451e229618669777df82124cfa'}, + {'quote-1.0.33.tar.gz': '5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae'}, + {'quoted_printable-0.4.8.tar.gz': '5a3866219251662ec3b26fc217e3e05bf9c4f84325234dfb96bf0bf840889e49'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rayon-1.7.0.tar.gz': '1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b'}, + {'rayon-core-1.11.0.tar.gz': '4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d'}, + {'redox_syscall-0.2.16.tar.gz': 'fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a'}, + {'redox_syscall-0.3.5.tar.gz': '567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29'}, + {'redox_users-0.4.3.tar.gz': 'b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b'}, + {'regex-1.7.3.tar.gz': '8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d'}, + {'regex-automata-0.1.10.tar.gz': '6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132'}, + {'regex-syntax-0.6.29.tar.gz': 'f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1'}, + {'rfc2047-decoder-0.2.2.tar.gz': '61fc4b4e52897c3e30b12b7e9b04461215b647fbe66f6def60dd8edbce14ec2e'}, + {'ring-0.17.3.tar.gz': '9babe80d5c16becf6594aa32ad2be8fe08498e7ae60b77de8df700e67f191d7e'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.37.25.tar.gz': 'd4eb579851244c2c03e7c24f501c3432bed80b8f720af1d6e5b0e0f01555a035'}, + {'rustls-0.21.8.tar.gz': '446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c'}, + {'rustls-pemfile-1.0.3.tar.gz': '2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2'}, + {'rustls-webpki-0.101.7.tar.gz': '8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'ryu-1.0.15.tar.gz': '1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'schannel-0.1.22.tar.gz': '0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'scroll-0.11.0.tar.gz': '04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da'}, + {'scroll_derive-0.11.1.tar.gz': '1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae'}, + {'sct-0.7.1.tar.gz': 'da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414'}, + {'security-framework-2.9.2.tar.gz': '05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de'}, + {'security-framework-sys-2.9.1.tar.gz': 'e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a'}, + {'semver-1.0.18.tar.gz': 'b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918'}, + {'serde-1.0.183.tar.gz': '32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c'}, + {'serde_derive-1.0.183.tar.gz': 'aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816'}, + {'serde_json-1.0.105.tar.gz': '693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360'}, + {'serde_spanned-0.6.3.tar.gz': '96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186'}, + {'sha2-0.10.7.tar.gz': '479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8'}, + {'sharded-slab-0.1.4.tar.gz': '900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31'}, + {'shell-escape-0.1.5.tar.gz': '45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f'}, + {'shell-words-1.1.0.tar.gz': '24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde'}, + {'shlex-1.1.0.tar.gz': '43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3'}, + {'similar-2.2.1.tar.gz': '420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf'}, + {'smallvec-1.11.0.tar.gz': '62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9'}, + {'smawk-0.3.1.tar.gz': 'f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043'}, + {'snapbox-0.4.11.tar.gz': 'f6bccd62078347f89a914e3004d94582e13824d4e3d8a816317862884c423835'}, + {'snapbox-macros-0.3.4.tar.gz': 'eaaf09df9f0eeae82be96290918520214530e738a7fe5a351b0f24cf77c0ca31'}, + {'socks-0.3.4.tar.gz': 'f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b'}, + {'spin-0.9.8.tar.gz': '6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67'}, + {'stacker-0.1.15.tar.gz': 'c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.29.tar.gz': 'c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a'}, + {'tar-0.4.40.tar.gz': 'b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb'}, + {'target-lexicon-0.12.11.tar.gz': '9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a'}, + {'tempfile-3.6.0.tar.gz': '31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6'}, + {'termcolor-1.2.0.tar.gz': 'be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6'}, + {'terminal_size-0.2.6.tar.gz': '8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237'}, + {'textwrap-0.16.0.tar.gz': '222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d'}, + {'thiserror-1.0.47.tar.gz': '97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f'}, + {'thiserror-impl-1.0.47.tar.gz': '6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b'}, + {'thread_local-1.1.7.tar.gz': '3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152'}, + {'time-0.3.20.tar.gz': 'cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890'}, + {'time-core-0.1.0.tar.gz': '2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd'}, + {'time-macros-0.2.8.tar.gz': 'fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'toml-0.5.11.tar.gz': 'f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234'}, + {'toml-0.7.4.tar.gz': 'd6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec'}, + {'toml_datetime-0.6.2.tar.gz': '5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f'}, + {'toml_edit-0.19.10.tar.gz': '2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739'}, + {'tracing-0.1.37.tar.gz': '8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8'}, + {'tracing-attributes-0.1.26.tar.gz': '5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab'}, + {'tracing-core-0.1.31.tar.gz': '0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a'}, + {'tracing-log-0.1.3.tar.gz': '78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922'}, + {'tracing-serde-0.1.3.tar.gz': 'bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1'}, + {'tracing-subscriber-0.3.17.tar.gz': '30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77'}, + {'trycmd-0.14.16.tar.gz': '2925e71868a12b173c1eb166018c2d2f9dfaedfcaec747bdb6ea2246785d258e'}, + {'twox-hash-1.6.3.tar.gz': '97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675'}, + {'typenum-1.16.0.tar.gz': '497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba'}, + {'unicase-2.6.0.tar.gz': '50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6'}, + {'unicode-bidi-0.3.13.tar.gz': '92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460'}, + {'unicode-ident-1.0.11.tar.gz': '301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c'}, + {'unicode-linebreak-0.1.5.tar.gz': '3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-width-0.1.10.tar.gz': 'c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b'}, + {'untrusted-0.9.0.tar.gz': '8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1'}, + {'ureq-2.8.0.tar.gz': 'f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3'}, + {'url-2.4.1.tar.gz': '143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'uuid-1.4.1.tar.gz': '79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d'}, + {'valuable-0.1.0.tar.gz': '830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'versions-5.0.1.tar.gz': 'c73a36bc44e3039f51fbee93e39f41225f6b17b380eb70cc2aab942df06b34dd'}, + {'wait-timeout-0.2.0.tar.gz': '9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6'}, + {'walkdir-2.3.3.tar.gz': '36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'webpki-roots-0.25.2.tar.gz': '14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc'}, + {'which-4.4.0.tar.gz': '2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269'}, + {'wild-2.1.0.tar.gz': '05b116685a6be0c52f5a103334cbff26db643826c7b3735fc0a3ba9871310a74'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.5.tar.gz': '70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-sys-0.45.0.tar.gz': '75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-targets-0.42.2.tar.gz': '8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071'}, + {'windows-targets-0.48.2.tar.gz': 'd1eeca1c172a285ee6c2c84c341ccea837e7c01b12fbb2d0fe3c9e550ce49ec8'}, + {'windows_aarch64_gnullvm-0.42.2.tar.gz': '597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8'}, + {'windows_aarch64_gnullvm-0.48.2.tar.gz': 'b10d0c968ba7f6166195e13d593af609ec2e3d24f916f081690695cf5eaffb2f'}, + {'windows_aarch64_msvc-0.42.2.tar.gz': 'e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43'}, + {'windows_aarch64_msvc-0.48.2.tar.gz': '571d8d4e62f26d4932099a9efe89660e8bd5087775a2ab5cdd8b747b811f1058'}, + {'windows_i686_gnu-0.42.2.tar.gz': 'c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f'}, + {'windows_i686_gnu-0.48.2.tar.gz': '2229ad223e178db5fbbc8bd8d3835e51e566b8474bfca58d2e6150c48bb723cd'}, + {'windows_i686_msvc-0.42.2.tar.gz': '44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060'}, + {'windows_i686_msvc-0.48.2.tar.gz': '600956e2d840c194eedfc5d18f8242bc2e17c7775b6684488af3a9fff6fe3287'}, + {'windows_x86_64_gnu-0.42.2.tar.gz': '8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36'}, + {'windows_x86_64_gnu-0.48.2.tar.gz': 'ea99ff3f8b49fb7a8e0d305e5aec485bd068c2ba691b6e277d29eaeac945868a'}, + {'windows_x86_64_gnullvm-0.42.2.tar.gz': '26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3'}, + {'windows_x86_64_gnullvm-0.48.2.tar.gz': '8f1a05a1ece9a7a0d5a7ccf30ba2c33e3a61a30e042ffd247567d1de1d94120d'}, + {'windows_x86_64_msvc-0.42.2.tar.gz': '9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0'}, + {'windows_x86_64_msvc-0.48.2.tar.gz': 'd419259aba16b663966e29e6d7c6ecfa0bb8425818bb96f6f1f3c3eb71a6e7b9'}, + {'winnow-0.4.7.tar.gz': 'ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448'}, + {'xattr-1.0.1.tar.gz': 'f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985'}, + {'xwin-0.3.1.tar.gz': '79db6a9fc6b665feccd1984e4e21ff588102652c317176fab0d6706b55d3e208'}, + {'yansi-0.5.1.tar.gz': '09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec'}, + {'zeroize-1.6.0.tar.gz': '2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9'}, + {'zip-0.6.6.tar.gz': '760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261'}, +] + +exts_list = [ + ('setuptools-rust', '1.6.0', { + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'checksums': ['c86e734deac330597998bfbc08da45187e6b27837e23bd91eadb320732392262'], + }), + ('setuptools', '67.7.2', { + 'checksums': ['f104fa03692a2602fa0fec6c6a9e63b6c8a968de13e17c026957dd1f53d80990'], + }), + (name, version, { + 'checksums': ['952d458b3dea01e9670582ac2dff3c522a34e491f08ed6376b270655a68c24af'], + }), +] + +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/maturin/maturin-1.4.0-GCCcore-12.2.0-Rust-1.75.0.eb b/easybuild/easyconfigs/m/maturin/maturin-1.4.0-GCCcore-12.2.0-Rust-1.75.0.eb new file mode 100644 index 00000000000..7318a0d00fd --- /dev/null +++ b/easybuild/easyconfigs/m/maturin/maturin-1.4.0-GCCcore-12.2.0-Rust-1.75.0.eb @@ -0,0 +1,647 @@ +easyblock = 'CargoPythonPackage' + +name = 'maturin' +version = '1.4.0' +_rust_ver = '1.75.0' +versionsuffix = '-Rust-%s' % _rust_ver + +homepage = "https://github.com/pyo3/maturin" +description = """This project is meant as a zero configuration +replacement for setuptools-rust and milksnake. It supports building +wheels for python 3.5+ on windows, linux, mac and freebsd, can upload +them to pypi and has basic pypy and graalpy support.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('Rust', _rust_ver), +] + +crates = [ + ('adler', '1.0.2'), + ('ahash', '0.8.6'), + ('aho-corasick', '1.1.2'), + ('allocator-api2', '0.2.16'), + ('anstream', '0.3.2'), + ('anstream', '0.6.4'), + ('anstyle', '1.0.2'), + ('anstyle-parse', '0.2.1'), + ('anstyle-query', '1.0.0'), + ('anstyle-wincon', '1.0.2'), + ('anstyle-wincon', '3.0.1'), + ('anyhow', '1.0.75'), + ('autocfg', '1.1.0'), + ('base64', '0.13.1'), + ('base64', '0.21.5'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.1'), + ('block-buffer', '0.10.4'), + ('bstr', '1.8.0'), + ('byteorder', '1.5.0'), + ('bytes', '1.5.0'), + ('bytesize', '1.3.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cab', '0.4.1'), + ('camino', '1.1.6'), + ('cargo-config2', '0.1.16'), + ('cargo-options', '0.7.2'), + ('cargo-platform', '0.1.5'), + ('cargo-xwin', '0.16.2'), + ('cargo-zigbuild', '0.18.0'), + ('cargo_metadata', '0.18.1'), + ('cbindgen', '0.26.0'), + ('cc', '1.0.83'), + ('cfb', '0.9.0'), + ('cfg-if', '1.0.0'), + ('charset', '0.1.3'), + ('chumsky', '0.9.3'), + ('clap', '4.3.24'), + ('clap_builder', '4.3.24'), + ('clap_complete', '4.3.2'), + ('clap_complete_command', '0.5.1'), + ('clap_complete_fig', '4.3.1'), + ('clap_complete_nushell', '0.1.11'), + ('clap_derive', '4.3.12'), + ('clap_lex', '0.5.0'), + ('cli-table', '0.4.7'), + ('colorchoice', '1.0.0'), + ('configparser', '3.0.3'), + ('console', '0.15.7'), + ('content_inspector', '0.2.4'), + ('core-foundation', '0.9.3'), + ('core-foundation-sys', '0.8.4'), + ('cpufeatures', '0.2.11'), + ('crc32fast', '1.3.2'), + ('crossbeam-channel', '0.5.8'), + ('crossbeam-deque', '0.8.3'), + ('crossbeam-epoch', '0.9.15'), + ('crossbeam-utils', '0.8.16'), + ('crypto-common', '0.1.6'), + ('data-encoding', '2.5.0'), + ('deranged', '0.3.9'), + ('dialoguer', '0.11.0'), + ('diff', '0.1.13'), + ('digest', '0.10.7'), + ('dirs', '5.0.1'), + ('dirs-sys', '0.4.1'), + ('dissimilar', '1.0.7'), + ('dunce', '1.0.4'), + ('either', '1.9.0'), + ('encode_unicode', '0.3.6'), + ('encoding_rs', '0.8.33'), + ('equivalent', '1.0.1'), + ('errno', '0.3.8'), + ('expect-test', '1.4.1'), + ('fastrand', '2.0.1'), + ('fat-macho', '0.4.7'), + ('filetime', '0.2.22'), + ('flate2', '1.0.28'), + ('fnv', '1.0.7'), + ('foreign-types', '0.3.2'), + ('foreign-types-shared', '0.1.1'), + ('form_urlencoded', '1.2.1'), + ('fs-err', '2.11.0'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.11'), + ('glob', '0.3.1'), + ('globset', '0.4.14'), + ('goblin', '0.7.1'), + ('hashbrown', '0.12.3'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.3'), + ('home', '0.5.5'), + ('humantime', '2.1.0'), + ('humantime-serde', '1.1.1'), + ('idna', '0.5.0'), + ('ignore', '0.4.20'), + ('indexmap', '1.9.3'), + ('indexmap', '2.1.0'), + ('indicatif', '0.17.7'), + ('indoc', '2.0.4'), + ('instant', '0.1.12'), + ('io-lifetimes', '1.0.11'), + ('is-terminal', '0.4.9'), + ('itertools', '0.11.0'), + ('itertools', '0.12.0'), + ('itoa', '1.0.9'), + ('keyring', '2.0.5'), + ('lazy_static', '1.4.0'), + ('lddtree', '0.3.3'), + ('libc', '0.2.150'), + ('libredox', '0.0.1'), + ('linux-keyutils', '0.2.3'), + ('linux-raw-sys', '0.3.8'), + ('linux-raw-sys', '0.4.11'), + ('lock_api', '0.4.11'), + ('log', '0.4.20'), + ('lzxd', '0.1.4'), + ('mailparse', '0.14.0'), + ('matchers', '0.1.0'), + ('memchr', '2.6.4'), + ('memoffset', '0.9.0'), + ('mime', '0.3.17'), + ('mime_guess', '2.0.4'), + ('minijinja', '1.0.10'), + ('minimal-lexical', '0.2.1'), + ('miniz_oxide', '0.7.1'), + ('msi', '0.7.0'), + ('multipart', '0.18.0'), + ('native-tls', '0.2.11'), + ('nom', '7.1.3'), + ('normalize-line-endings', '0.3.0'), + ('normpath', '1.1.1'), + ('nu-ansi-term', '0.46.0'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.18.0'), + ('openssl', '0.10.60'), + ('openssl-macros', '0.1.1'), + ('openssl-probe', '0.1.5'), + ('openssl-sys', '0.9.96'), + ('option-ext', '0.2.0'), + ('os_pipe', '1.1.4'), + ('overload', '0.1.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('paste', '1.0.14'), + ('path-slash', '0.2.1'), + ('pep440_rs', '0.3.12'), + ('pep508_rs', '0.2.3'), + ('percent-encoding', '2.3.1'), + ('pin-project-lite', '0.2.13'), + ('pkg-config', '0.3.27'), + ('plain', '0.2.3'), + ('platform-info', '2.0.2'), + ('portable-atomic', '1.5.1'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.17'), + ('pretty_assertions', '1.4.0'), + ('proc-macro2', '1.0.70'), + ('psm', '0.1.21'), + ('pyproject-toml', '0.8.1'), + ('python-pkginfo', '0.6.0'), + ('quote', '1.0.33'), + ('quoted_printable', '0.4.8'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rayon', '1.8.0'), + ('rayon-core', '1.12.0'), + ('redox_syscall', '0.3.5'), + ('redox_syscall', '0.4.1'), + ('redox_users', '0.4.4'), + ('regex', '1.10.2'), + ('regex-automata', '0.1.10'), + ('regex-automata', '0.4.3'), + ('regex-syntax', '0.6.29'), + ('regex-syntax', '0.8.2'), + ('rfc2047-decoder', '0.2.2'), + ('ring', '0.17.6'), + ('rustc_version', '0.4.0'), + ('rustix', '0.37.27'), + ('rustix', '0.38.21'), + ('rustls', '0.21.9'), + ('rustls-pemfile', '2.0.0'), + ('rustls-pki-types', '1.0.0'), + ('rustls-webpki', '0.101.7'), + ('rustversion', '1.0.14'), + ('ryu', '1.0.15'), + ('same-file', '1.0.6'), + ('schannel', '0.1.22'), + ('scopeguard', '1.2.0'), + ('scroll', '0.11.0'), + ('scroll_derive', '0.11.1'), + ('sct', '0.7.1'), + ('security-framework', '2.9.2'), + ('security-framework-sys', '2.9.1'), + ('semver', '1.0.20'), + ('serde', '1.0.193'), + ('serde_derive', '1.0.193'), + ('serde_json', '1.0.108'), + ('serde_spanned', '0.6.4'), + ('sha2', '0.10.8'), + ('sharded-slab', '0.1.7'), + ('shell-words', '1.1.0'), + ('shlex', '1.2.0'), + ('similar', '2.3.0'), + ('smallvec', '1.11.2'), + ('smawk', '0.3.2'), + ('snapbox', '0.4.14'), + ('snapbox-macros', '0.3.6'), + ('socks', '0.3.4'), + ('spin', '0.9.8'), + ('stacker', '0.1.15'), + ('static_assertions', '1.1.0'), + ('strsim', '0.10.0'), + ('syn', '1.0.109'), + ('syn', '2.0.39'), + ('tar', '0.4.40'), + ('target-lexicon', '0.12.12'), + ('tempfile', '3.8.1'), + ('termcolor', '1.4.0'), + ('terminal_size', '0.2.6'), + ('textwrap', '0.16.0'), + ('thiserror', '1.0.50'), + ('thiserror-impl', '1.0.50'), + ('thread_local', '1.1.7'), + ('time', '0.3.30'), + ('time-core', '0.1.2'), + ('time-macros', '0.2.15'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('toml', '0.5.11'), + ('toml', '0.8.8'), + ('toml_datetime', '0.6.5'), + ('toml_edit', '0.20.7'), + ('toml_edit', '0.21.0'), + ('tracing', '0.1.40'), + ('tracing-attributes', '0.1.27'), + ('tracing-core', '0.1.32'), + ('tracing-log', '0.2.0'), + ('tracing-serde', '0.1.3'), + ('tracing-subscriber', '0.3.18'), + ('trycmd', '0.14.19'), + ('twox-hash', '1.6.3'), + ('typenum', '1.17.0'), + ('unicase', '2.7.0'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.12'), + ('unicode-linebreak', '0.1.5'), + ('unicode-normalization', '0.1.22'), + ('unicode-width', '0.1.11'), + ('untrusted', '0.9.0'), + ('ureq', '2.9.1'), + ('url', '2.5.0'), + ('utf8parse', '0.2.1'), + ('uuid', '1.6.1'), + ('valuable', '0.1.0'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('versions', '5.0.1'), + ('wait-timeout', '0.2.0'), + ('walkdir', '2.4.0'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('webpki-roots', '0.25.3'), + ('which', '5.0.0'), + ('wild', '2.2.0'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.6'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-sys', '0.45.0'), + ('windows-sys', '0.48.0'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.42.2'), + ('windows-targets', '0.48.5'), + ('windows-targets', '0.52.0'), + ('windows_aarch64_gnullvm', '0.42.2'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.0'), + ('windows_aarch64_msvc', '0.42.2'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.0'), + ('windows_i686_gnu', '0.42.2'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.0'), + ('windows_i686_msvc', '0.42.2'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.0'), + ('windows_x86_64_gnu', '0.42.2'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.0'), + ('windows_x86_64_gnullvm', '0.42.2'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.0'), + ('windows_x86_64_msvc', '0.42.2'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.0'), + ('winnow', '0.5.19'), + ('xattr', '1.0.1'), + ('xwin', '0.5.0'), + ('yansi', '0.5.1'), + ('zerocopy', '0.7.28'), + ('zerocopy-derive', '0.7.28'), + ('zeroize', '1.7.0'), + ('zip', '0.6.6'), +] + +sources = [SOURCE_TAR_GZ] +checksums = [ + {'maturin-1.4.0.tar.gz': 'ed12e1768094a7adeafc3a74ebdb8dc2201fa64c4e7e31f14cfc70378bf93790'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.8.6.tar.gz': '91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'allocator-api2-0.2.16.tar.gz': '0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5'}, + {'anstream-0.3.2.tar.gz': '0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163'}, + {'anstream-0.6.4.tar.gz': '2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44'}, + {'anstyle-1.0.2.tar.gz': '15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea'}, + {'anstyle-parse-0.2.1.tar.gz': '938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333'}, + {'anstyle-query-1.0.0.tar.gz': '5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b'}, + {'anstyle-wincon-1.0.2.tar.gz': 'c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c'}, + {'anstyle-wincon-3.0.1.tar.gz': 'f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628'}, + {'anyhow-1.0.75.tar.gz': 'a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'base64-0.21.5.tar.gz': '35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.1.tar.gz': '327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'bstr-1.8.0.tar.gz': '542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bytes-1.5.0.tar.gz': 'a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223'}, + {'bytesize-1.3.0.tar.gz': 'a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cab-0.4.1.tar.gz': 'ae6b4de23c7d39c0631fd3cc952d87951c86c75a13812d7247cb7a896e7b3551'}, + {'camino-1.1.6.tar.gz': 'c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c'}, + {'cargo-config2-0.1.16.tar.gz': '7f387366785e82c7ec7ef5b845a7f61324fbf5d467d6a878469eac30c1c44b1b'}, + {'cargo-options-0.7.2.tar.gz': 'cad71bf996c8e5b9d28ef3472d7ee41f277edf4e38cd597f51ad0438d05d76ea'}, + {'cargo-platform-0.1.5.tar.gz': 'e34637b3140142bdf929fb439e8aa4ebad7651ebf7b1080b3930aa16ac1459ff'}, + {'cargo-xwin-0.16.2.tar.gz': '02bb6bf59526935e47445f959a19c2168f151284dbf7e57f5577934334e9a61d'}, + {'cargo-zigbuild-0.18.0.tar.gz': 'edc9c2fe646a29983b5f7263bd789175f2aaad7ea42525affa40e2172be93286'}, + {'cargo_metadata-0.18.1.tar.gz': '2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037'}, + {'cbindgen-0.26.0.tar.gz': 'da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49'}, + {'cc-1.0.83.tar.gz': 'f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0'}, + {'cfb-0.9.0.tar.gz': 'b390793e912300f1aa713429f7fd0c391024e6c18b988962558bc4f96a349b1f'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'charset-0.1.3.tar.gz': '18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46'}, + {'chumsky-0.9.3.tar.gz': '8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9'}, + {'clap-4.3.24.tar.gz': 'fb690e81c7840c0d7aade59f242ea3b41b9bc27bcd5997890e7702ae4b32e487'}, + {'clap_builder-4.3.24.tar.gz': '5ed2e96bc16d8d740f6f48d663eddf4b8a0983e79210fd55479b7bcd0a69860e'}, + {'clap_complete-4.3.2.tar.gz': '5fc443334c81a804575546c5a8a79b4913b50e28d69232903604cada1de817ce'}, + {'clap_complete_command-0.5.1.tar.gz': '183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d'}, + {'clap_complete_fig-4.3.1.tar.gz': '99fee1d30a51305a6c2ed3fc5709be3c8af626c9c958e04dd9ae94e27bcbce9f'}, + {'clap_complete_nushell-0.1.11.tar.gz': '5d02bc8b1a18ee47c4d2eec3fb5ac034dc68ebea6125b1509e9ccdffcddce66e'}, + {'clap_derive-4.3.12.tar.gz': '54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050'}, + {'clap_lex-0.5.0.tar.gz': '2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b'}, + {'cli-table-0.4.7.tar.gz': 'adfbb116d9e2c4be7011360d0c0bee565712c11e969c9609b25b619366dc379d'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'configparser-3.0.3.tar.gz': 'e0e56e414a2a52ab2a104f85cd40933c2fbc278b83637facf646ecf451b49237'}, + {'console-0.15.7.tar.gz': 'c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8'}, + {'content_inspector-0.2.4.tar.gz': 'b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38'}, + {'core-foundation-0.9.3.tar.gz': '194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146'}, + {'core-foundation-sys-0.8.4.tar.gz': 'e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa'}, + {'cpufeatures-0.2.11.tar.gz': 'ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'crossbeam-channel-0.5.8.tar.gz': 'a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200'}, + {'crossbeam-deque-0.8.3.tar.gz': 'ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef'}, + {'crossbeam-epoch-0.9.15.tar.gz': 'ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7'}, + {'crossbeam-utils-0.8.16.tar.gz': '5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'data-encoding-2.5.0.tar.gz': '7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5'}, + {'deranged-0.3.9.tar.gz': '0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3'}, + {'dialoguer-0.11.0.tar.gz': '658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de'}, + {'diff-0.1.13.tar.gz': '56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'dirs-5.0.1.tar.gz': '44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225'}, + {'dirs-sys-0.4.1.tar.gz': '520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c'}, + {'dissimilar-1.0.7.tar.gz': '86e3bdc80eee6e16b2b6b0f87fbc98c04bee3455e35174c0de1a125d0688c632'}, + {'dunce-1.0.4.tar.gz': '56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'encoding_rs-0.8.33.tar.gz': '7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'expect-test-1.4.1.tar.gz': '30d9eafeadd538e68fb28016364c9732d78e420b9ff8853fa5e4058861e9f8d3'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'fat-macho-0.4.7.tar.gz': '63fa117c7dcabeb8c83d5c229764cfa46518545d2dba5a9a08912014711f997b'}, + {'filetime-0.2.22.tar.gz': 'd4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0'}, + {'flate2-1.0.28.tar.gz': '46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'foreign-types-0.3.2.tar.gz': 'f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1'}, + {'foreign-types-shared-0.1.1.tar.gz': '00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b'}, + {'form_urlencoded-1.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}, + {'fs-err-2.11.0.tar.gz': '88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.11.tar.gz': 'fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'globset-0.4.14.tar.gz': '57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1'}, + {'goblin-0.7.1.tar.gz': 'f27c1b4369c2cd341b5de549380158b105a04c331be5db9110eef7b6d2742134'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'hashbrown-0.14.3.tar.gz': '290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.3.tar.gz': 'd77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7'}, + {'home-0.5.5.tar.gz': '5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'humantime-serde-1.1.1.tar.gz': '57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c'}, + {'idna-0.5.0.tar.gz': '634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6'}, + {'ignore-0.4.20.tar.gz': 'dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492'}, + {'indexmap-1.9.3.tar.gz': 'bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99'}, + {'indexmap-2.1.0.tar.gz': 'd530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f'}, + {'indicatif-0.17.7.tar.gz': 'fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25'}, + {'indoc-2.0.4.tar.gz': '1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'io-lifetimes-1.0.11.tar.gz': 'eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2'}, + {'is-terminal-0.4.9.tar.gz': 'cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itertools-0.12.0.tar.gz': '25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0'}, + {'itoa-1.0.9.tar.gz': 'af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38'}, + {'keyring-2.0.5.tar.gz': '9549a129bd08149e0a71b2d1ce2729780d47127991bfd0a78cc1df697ec72492'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'lddtree-0.3.3.tar.gz': '2f5bfec46830ad3a95199ae6804dfe9f51fdad43d7a95fbb6c185efa9824c295'}, + {'libc-0.2.150.tar.gz': '89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c'}, + {'libredox-0.0.1.tar.gz': '85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8'}, + {'linux-keyutils-0.2.3.tar.gz': '3f27bb67f6dd1d0bb5ab582868e4f65052e58da6401188a08f0da09cf512b84b'}, + {'linux-raw-sys-0.3.8.tar.gz': 'ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519'}, + {'linux-raw-sys-0.4.11.tar.gz': '969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'lzxd-0.1.4.tar.gz': '784462f20dddd9dfdb45de963fa4ad4a288cb10a7889ac5d2c34fb6481c6b213'}, + {'mailparse-0.14.0.tar.gz': '6b56570f5f8c0047260d1c8b5b331f62eb9c660b9dd4071a8c46f8c7d3f280aa'}, + {'matchers-0.1.0.tar.gz': '8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558'}, + {'memchr-2.6.4.tar.gz': 'f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'mime-0.3.17.tar.gz': '6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a'}, + {'mime_guess-2.0.4.tar.gz': '4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef'}, + {'minijinja-1.0.10.tar.gz': '208758577ef2c86cf5dd3e85730d161413ec3284e2d73b2ef65d9a24d9971bcb'}, + {'minimal-lexical-0.2.1.tar.gz': '68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'msi-0.7.0.tar.gz': '226b2404f03d2cf47375b9715c8adfae4e388bb2377cff908e8a40f31e421514'}, + {'multipart-0.18.0.tar.gz': '00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182'}, + {'native-tls-0.2.11.tar.gz': '07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e'}, + {'nom-7.1.3.tar.gz': 'd273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a'}, + {'normalize-line-endings-0.3.0.tar.gz': '61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be'}, + {'normpath-1.1.1.tar.gz': 'ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5'}, + {'nu-ansi-term-0.46.0.tar.gz': '77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.18.0.tar.gz': 'dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d'}, + {'openssl-0.10.60.tar.gz': '79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800'}, + {'openssl-macros-0.1.1.tar.gz': 'a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'openssl-sys-0.9.96.tar.gz': '3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f'}, + {'option-ext-0.2.0.tar.gz': '04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d'}, + {'os_pipe-1.1.4.tar.gz': '0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177'}, + {'overload-0.1.1.tar.gz': 'b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'path-slash-0.2.1.tar.gz': '1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42'}, + {'pep440_rs-0.3.12.tar.gz': '887f66cc62717ea72caac4f1eb4e6f392224da3ffff3f40ec13ab427802746d6'}, + {'pep508_rs-0.2.3.tar.gz': 'e4516b53d9ea6112ebb38b4af08d5707d30b994fb7f98ff133c5dcf7ed8fa854'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'pin-project-lite-0.2.13.tar.gz': '8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58'}, + {'pkg-config-0.3.27.tar.gz': '26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964'}, + {'plain-0.2.3.tar.gz': 'b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6'}, + {'platform-info-2.0.2.tar.gz': 'd6259c4860e53bf665016f1b2f46a8859cadfa717581dc9d597ae4069de6300f'}, + {'portable-atomic-1.5.1.tar.gz': '3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'pretty_assertions-1.4.0.tar.gz': 'af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66'}, + {'proc-macro2-1.0.70.tar.gz': '39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b'}, + {'psm-0.1.21.tar.gz': '5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874'}, + {'pyproject-toml-0.8.1.tar.gz': '46d4a5e69187f23a29f8aa0ea57491d104ba541bc55f76552c2a74962aa20e04'}, + {'python-pkginfo-0.6.0.tar.gz': '037469c164f08c891bf6d69ca02f1d56210011451e229618669777df82124cfa'}, + {'quote-1.0.33.tar.gz': '5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae'}, + {'quoted_printable-0.4.8.tar.gz': '5a3866219251662ec3b26fc217e3e05bf9c4f84325234dfb96bf0bf840889e49'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rayon-1.8.0.tar.gz': '9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1'}, + {'rayon-core-1.12.0.tar.gz': '5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed'}, + {'redox_syscall-0.3.5.tar.gz': '567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'redox_users-0.4.4.tar.gz': 'a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4'}, + {'regex-1.10.2.tar.gz': '380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343'}, + {'regex-automata-0.1.10.tar.gz': '6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132'}, + {'regex-automata-0.4.3.tar.gz': '5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f'}, + {'regex-syntax-0.6.29.tar.gz': 'f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'rfc2047-decoder-0.2.2.tar.gz': '61fc4b4e52897c3e30b12b7e9b04461215b647fbe66f6def60dd8edbce14ec2e'}, + {'ring-0.17.6.tar.gz': '684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.37.27.tar.gz': 'fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2'}, + {'rustix-0.38.21.tar.gz': '2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3'}, + {'rustls-0.21.9.tar.gz': '629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9'}, + {'rustls-pemfile-2.0.0.tar.gz': '35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4'}, + {'rustls-pki-types-1.0.0.tar.gz': 'eb0a1f9b9efec70d32e6d6aa3e58ebd88c3754ec98dfe9145c63cf54cc829b83'}, + {'rustls-webpki-0.101.7.tar.gz': '8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'ryu-1.0.15.tar.gz': '1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'schannel-0.1.22.tar.gz': '0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'scroll-0.11.0.tar.gz': '04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da'}, + {'scroll_derive-0.11.1.tar.gz': '1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae'}, + {'sct-0.7.1.tar.gz': 'da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414'}, + {'security-framework-2.9.2.tar.gz': '05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de'}, + {'security-framework-sys-2.9.1.tar.gz': 'e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a'}, + {'semver-1.0.20.tar.gz': '836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090'}, + {'serde-1.0.193.tar.gz': '25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89'}, + {'serde_derive-1.0.193.tar.gz': '43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3'}, + {'serde_json-1.0.108.tar.gz': '3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b'}, + {'serde_spanned-0.6.4.tar.gz': '12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80'}, + {'sha2-0.10.8.tar.gz': '793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8'}, + {'sharded-slab-0.1.7.tar.gz': 'f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6'}, + {'shell-words-1.1.0.tar.gz': '24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde'}, + {'shlex-1.2.0.tar.gz': 'a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380'}, + {'similar-2.3.0.tar.gz': '2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597'}, + {'smallvec-1.11.2.tar.gz': '4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970'}, + {'smawk-0.3.2.tar.gz': 'b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c'}, + {'snapbox-0.4.14.tar.gz': '4b377c0b6e4715c116473d8e40d51e3fa5b0a2297ca9b2a931ba800667b259ed'}, + {'snapbox-macros-0.3.6.tar.gz': 'ed1559baff8a696add3322b9be3e940d433e7bb4e38d79017205fd37ff28b28e'}, + {'socks-0.3.4.tar.gz': 'f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b'}, + {'spin-0.9.8.tar.gz': '6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67'}, + {'stacker-0.1.15.tar.gz': 'c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.39.tar.gz': '23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a'}, + {'tar-0.4.40.tar.gz': 'b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb'}, + {'target-lexicon-0.12.12.tar.gz': '14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a'}, + {'tempfile-3.8.1.tar.gz': '7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5'}, + {'termcolor-1.4.0.tar.gz': 'ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449'}, + {'terminal_size-0.2.6.tar.gz': '8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237'}, + {'textwrap-0.16.0.tar.gz': '222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d'}, + {'thiserror-1.0.50.tar.gz': 'f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2'}, + {'thiserror-impl-1.0.50.tar.gz': '266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8'}, + {'thread_local-1.1.7.tar.gz': '3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152'}, + {'time-0.3.30.tar.gz': 'c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5'}, + {'time-core-0.1.2.tar.gz': 'ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3'}, + {'time-macros-0.2.15.tar.gz': '4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'toml-0.5.11.tar.gz': 'f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234'}, + {'toml-0.8.8.tar.gz': 'a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35'}, + {'toml_datetime-0.6.5.tar.gz': '3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1'}, + {'toml_edit-0.20.7.tar.gz': '70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81'}, + {'toml_edit-0.21.0.tar.gz': 'd34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03'}, + {'tracing-0.1.40.tar.gz': 'c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef'}, + {'tracing-attributes-0.1.27.tar.gz': '34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7'}, + {'tracing-core-0.1.32.tar.gz': 'c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54'}, + {'tracing-log-0.2.0.tar.gz': 'ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3'}, + {'tracing-serde-0.1.3.tar.gz': 'bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1'}, + {'tracing-subscriber-0.3.18.tar.gz': 'ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b'}, + {'trycmd-0.14.19.tar.gz': 'ed009372a42fb103e6f8767b9222925485e03cca032b700d203e2c5b67bee4fb'}, + {'twox-hash-1.6.3.tar.gz': '97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unicase-2.7.0.tar.gz': 'f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89'}, + {'unicode-bidi-0.3.13.tar.gz': '92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-linebreak-0.1.5.tar.gz': '3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-width-0.1.11.tar.gz': 'e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85'}, + {'untrusted-0.9.0.tar.gz': '8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1'}, + {'ureq-2.9.1.tar.gz': 'f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97'}, + {'url-2.5.0.tar.gz': '31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'uuid-1.6.1.tar.gz': '5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560'}, + {'valuable-0.1.0.tar.gz': '830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'versions-5.0.1.tar.gz': 'c73a36bc44e3039f51fbee93e39f41225f6b17b380eb70cc2aab942df06b34dd'}, + {'wait-timeout-0.2.0.tar.gz': '9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6'}, + {'walkdir-2.4.0.tar.gz': 'd71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'webpki-roots-0.25.3.tar.gz': '1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10'}, + {'which-5.0.0.tar.gz': '9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14'}, + {'wild-2.2.0.tar.gz': '10d01931a94d5a115a53f95292f51d316856b68a035618eb831bbba593a30b67'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.6.tar.gz': 'f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-sys-0.45.0.tar.gz': '75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.42.2.tar.gz': '8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows-targets-0.52.0.tar.gz': '8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd'}, + {'windows_aarch64_gnullvm-0.42.2.tar.gz': '597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.0.tar.gz': 'cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea'}, + {'windows_aarch64_msvc-0.42.2.tar.gz': 'e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.0.tar.gz': 'bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef'}, + {'windows_i686_gnu-0.42.2.tar.gz': 'c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.0.tar.gz': 'a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313'}, + {'windows_i686_msvc-0.42.2.tar.gz': '44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.0.tar.gz': 'ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a'}, + {'windows_x86_64_gnu-0.42.2.tar.gz': '8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.0.tar.gz': '3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd'}, + {'windows_x86_64_gnullvm-0.42.2.tar.gz': '26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.0.tar.gz': '1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e'}, + {'windows_x86_64_msvc-0.42.2.tar.gz': '9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.0.tar.gz': 'dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04'}, + {'winnow-0.5.19.tar.gz': '829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b'}, + {'xattr-1.0.1.tar.gz': 'f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985'}, + {'xwin-0.5.0.tar.gz': 'c43e0202f5457b48558096cb7b36d0e473f267551a89c82ed72d73b01dfd4007'}, + {'yansi-0.5.1.tar.gz': '09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec'}, + {'zerocopy-0.7.28.tar.gz': '7d6f15f7ade05d2a4935e34a457b936c23dc70a05cc1d97133dc99e7a3fe0f0e'}, + {'zerocopy-derive-0.7.28.tar.gz': 'dbbad221e3f78500350ecbd7dfa4e63ef945c05f4c61cb7f4d3f84cd0bba649b'}, + {'zeroize-1.7.0.tar.gz': '525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d'}, + {'zip-0.6.6.tar.gz': '760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261'}, +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/maturin/maturin-1.4.0-GCCcore-12.3.0-Rust-1.75.0.eb b/easybuild/easyconfigs/m/maturin/maturin-1.4.0-GCCcore-12.3.0-Rust-1.75.0.eb new file mode 100644 index 00000000000..33c5facbf0e --- /dev/null +++ b/easybuild/easyconfigs/m/maturin/maturin-1.4.0-GCCcore-12.3.0-Rust-1.75.0.eb @@ -0,0 +1,648 @@ +easyblock = 'CargoPythonPackage' + +name = 'maturin' +version = '1.4.0' +_rust_ver = '1.75.0' +versionsuffix = '-Rust-%s' % _rust_ver + +homepage = "https://github.com/pyo3/maturin" +description = """This project is meant as a zero configuration +replacement for setuptools-rust and milksnake. It supports building +wheels for python 3.5+ on windows, linux, mac and freebsd, can upload +them to pypi and has basic pypy and graalpy support.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('Rust', _rust_ver), + ('setuptools-rust', '1.6.0'), +] + +crates = [ + ('adler', '1.0.2'), + ('ahash', '0.8.6'), + ('aho-corasick', '1.1.2'), + ('allocator-api2', '0.2.16'), + ('anstream', '0.3.2'), + ('anstream', '0.6.4'), + ('anstyle', '1.0.2'), + ('anstyle-parse', '0.2.1'), + ('anstyle-query', '1.0.0'), + ('anstyle-wincon', '1.0.2'), + ('anstyle-wincon', '3.0.1'), + ('anyhow', '1.0.75'), + ('autocfg', '1.1.0'), + ('base64', '0.13.1'), + ('base64', '0.21.5'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.1'), + ('block-buffer', '0.10.4'), + ('bstr', '1.8.0'), + ('byteorder', '1.5.0'), + ('bytes', '1.5.0'), + ('bytesize', '1.3.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cab', '0.4.1'), + ('camino', '1.1.6'), + ('cargo-config2', '0.1.16'), + ('cargo-options', '0.7.2'), + ('cargo-platform', '0.1.5'), + ('cargo-xwin', '0.16.2'), + ('cargo-zigbuild', '0.18.0'), + ('cargo_metadata', '0.18.1'), + ('cbindgen', '0.26.0'), + ('cc', '1.0.83'), + ('cfb', '0.9.0'), + ('cfg-if', '1.0.0'), + ('charset', '0.1.3'), + ('chumsky', '0.9.3'), + ('clap', '4.3.24'), + ('clap_builder', '4.3.24'), + ('clap_complete', '4.3.2'), + ('clap_complete_command', '0.5.1'), + ('clap_complete_fig', '4.3.1'), + ('clap_complete_nushell', '0.1.11'), + ('clap_derive', '4.3.12'), + ('clap_lex', '0.5.0'), + ('cli-table', '0.4.7'), + ('colorchoice', '1.0.0'), + ('configparser', '3.0.3'), + ('console', '0.15.7'), + ('content_inspector', '0.2.4'), + ('core-foundation', '0.9.3'), + ('core-foundation-sys', '0.8.4'), + ('cpufeatures', '0.2.11'), + ('crc32fast', '1.3.2'), + ('crossbeam-channel', '0.5.8'), + ('crossbeam-deque', '0.8.3'), + ('crossbeam-epoch', '0.9.15'), + ('crossbeam-utils', '0.8.16'), + ('crypto-common', '0.1.6'), + ('data-encoding', '2.5.0'), + ('deranged', '0.3.9'), + ('dialoguer', '0.11.0'), + ('diff', '0.1.13'), + ('digest', '0.10.7'), + ('dirs', '5.0.1'), + ('dirs-sys', '0.4.1'), + ('dissimilar', '1.0.7'), + ('dunce', '1.0.4'), + ('either', '1.9.0'), + ('encode_unicode', '0.3.6'), + ('encoding_rs', '0.8.33'), + ('equivalent', '1.0.1'), + ('errno', '0.3.8'), + ('expect-test', '1.4.1'), + ('fastrand', '2.0.1'), + ('fat-macho', '0.4.7'), + ('filetime', '0.2.22'), + ('flate2', '1.0.28'), + ('fnv', '1.0.7'), + ('foreign-types', '0.3.2'), + ('foreign-types-shared', '0.1.1'), + ('form_urlencoded', '1.2.1'), + ('fs-err', '2.11.0'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.11'), + ('glob', '0.3.1'), + ('globset', '0.4.14'), + ('goblin', '0.7.1'), + ('hashbrown', '0.12.3'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.3'), + ('home', '0.5.5'), + ('humantime', '2.1.0'), + ('humantime-serde', '1.1.1'), + ('idna', '0.5.0'), + ('ignore', '0.4.20'), + ('indexmap', '1.9.3'), + ('indexmap', '2.1.0'), + ('indicatif', '0.17.7'), + ('indoc', '2.0.4'), + ('instant', '0.1.12'), + ('io-lifetimes', '1.0.11'), + ('is-terminal', '0.4.9'), + ('itertools', '0.11.0'), + ('itertools', '0.12.0'), + ('itoa', '1.0.9'), + ('keyring', '2.0.5'), + ('lazy_static', '1.4.0'), + ('lddtree', '0.3.3'), + ('libc', '0.2.150'), + ('libredox', '0.0.1'), + ('linux-keyutils', '0.2.3'), + ('linux-raw-sys', '0.3.8'), + ('linux-raw-sys', '0.4.11'), + ('lock_api', '0.4.11'), + ('log', '0.4.20'), + ('lzxd', '0.1.4'), + ('mailparse', '0.14.0'), + ('matchers', '0.1.0'), + ('memchr', '2.6.4'), + ('memoffset', '0.9.0'), + ('mime', '0.3.17'), + ('mime_guess', '2.0.4'), + ('minijinja', '1.0.10'), + ('minimal-lexical', '0.2.1'), + ('miniz_oxide', '0.7.1'), + ('msi', '0.7.0'), + ('multipart', '0.18.0'), + ('native-tls', '0.2.11'), + ('nom', '7.1.3'), + ('normalize-line-endings', '0.3.0'), + ('normpath', '1.1.1'), + ('nu-ansi-term', '0.46.0'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.18.0'), + ('openssl', '0.10.60'), + ('openssl-macros', '0.1.1'), + ('openssl-probe', '0.1.5'), + ('openssl-sys', '0.9.96'), + ('option-ext', '0.2.0'), + ('os_pipe', '1.1.4'), + ('overload', '0.1.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('paste', '1.0.14'), + ('path-slash', '0.2.1'), + ('pep440_rs', '0.3.12'), + ('pep508_rs', '0.2.3'), + ('percent-encoding', '2.3.1'), + ('pin-project-lite', '0.2.13'), + ('pkg-config', '0.3.27'), + ('plain', '0.2.3'), + ('platform-info', '2.0.2'), + ('portable-atomic', '1.5.1'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.17'), + ('pretty_assertions', '1.4.0'), + ('proc-macro2', '1.0.70'), + ('psm', '0.1.21'), + ('pyproject-toml', '0.8.1'), + ('python-pkginfo', '0.6.0'), + ('quote', '1.0.33'), + ('quoted_printable', '0.4.8'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rayon', '1.8.0'), + ('rayon-core', '1.12.0'), + ('redox_syscall', '0.3.5'), + ('redox_syscall', '0.4.1'), + ('redox_users', '0.4.4'), + ('regex', '1.10.2'), + ('regex-automata', '0.1.10'), + ('regex-automata', '0.4.3'), + ('regex-syntax', '0.6.29'), + ('regex-syntax', '0.8.2'), + ('rfc2047-decoder', '0.2.2'), + ('ring', '0.17.6'), + ('rustc_version', '0.4.0'), + ('rustix', '0.37.27'), + ('rustix', '0.38.21'), + ('rustls', '0.21.9'), + ('rustls-pemfile', '2.0.0'), + ('rustls-pki-types', '1.0.0'), + ('rustls-webpki', '0.101.7'), + ('rustversion', '1.0.14'), + ('ryu', '1.0.15'), + ('same-file', '1.0.6'), + ('schannel', '0.1.22'), + ('scopeguard', '1.2.0'), + ('scroll', '0.11.0'), + ('scroll_derive', '0.11.1'), + ('sct', '0.7.1'), + ('security-framework', '2.9.2'), + ('security-framework-sys', '2.9.1'), + ('semver', '1.0.20'), + ('serde', '1.0.193'), + ('serde_derive', '1.0.193'), + ('serde_json', '1.0.108'), + ('serde_spanned', '0.6.4'), + ('sha2', '0.10.8'), + ('sharded-slab', '0.1.7'), + ('shell-words', '1.1.0'), + ('shlex', '1.2.0'), + ('similar', '2.3.0'), + ('smallvec', '1.11.2'), + ('smawk', '0.3.2'), + ('snapbox', '0.4.14'), + ('snapbox-macros', '0.3.6'), + ('socks', '0.3.4'), + ('spin', '0.9.8'), + ('stacker', '0.1.15'), + ('static_assertions', '1.1.0'), + ('strsim', '0.10.0'), + ('syn', '1.0.109'), + ('syn', '2.0.39'), + ('tar', '0.4.40'), + ('target-lexicon', '0.12.12'), + ('tempfile', '3.8.1'), + ('termcolor', '1.4.0'), + ('terminal_size', '0.2.6'), + ('textwrap', '0.16.0'), + ('thiserror', '1.0.50'), + ('thiserror-impl', '1.0.50'), + ('thread_local', '1.1.7'), + ('time', '0.3.30'), + ('time-core', '0.1.2'), + ('time-macros', '0.2.15'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('toml', '0.5.11'), + ('toml', '0.8.8'), + ('toml_datetime', '0.6.5'), + ('toml_edit', '0.20.7'), + ('toml_edit', '0.21.0'), + ('tracing', '0.1.40'), + ('tracing-attributes', '0.1.27'), + ('tracing-core', '0.1.32'), + ('tracing-log', '0.2.0'), + ('tracing-serde', '0.1.3'), + ('tracing-subscriber', '0.3.18'), + ('trycmd', '0.14.19'), + ('twox-hash', '1.6.3'), + ('typenum', '1.17.0'), + ('unicase', '2.7.0'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.12'), + ('unicode-linebreak', '0.1.5'), + ('unicode-normalization', '0.1.22'), + ('unicode-width', '0.1.11'), + ('untrusted', '0.9.0'), + ('ureq', '2.9.1'), + ('url', '2.5.0'), + ('utf8parse', '0.2.1'), + ('uuid', '1.6.1'), + ('valuable', '0.1.0'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('versions', '5.0.1'), + ('wait-timeout', '0.2.0'), + ('walkdir', '2.4.0'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('webpki-roots', '0.25.3'), + ('which', '5.0.0'), + ('wild', '2.2.0'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.6'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-sys', '0.45.0'), + ('windows-sys', '0.48.0'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.42.2'), + ('windows-targets', '0.48.5'), + ('windows-targets', '0.52.0'), + ('windows_aarch64_gnullvm', '0.42.2'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.0'), + ('windows_aarch64_msvc', '0.42.2'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.0'), + ('windows_i686_gnu', '0.42.2'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.0'), + ('windows_i686_msvc', '0.42.2'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.0'), + ('windows_x86_64_gnu', '0.42.2'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.0'), + ('windows_x86_64_gnullvm', '0.42.2'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.0'), + ('windows_x86_64_msvc', '0.42.2'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.0'), + ('winnow', '0.5.19'), + ('xattr', '1.0.1'), + ('xwin', '0.5.0'), + ('yansi', '0.5.1'), + ('zerocopy', '0.7.28'), + ('zerocopy-derive', '0.7.28'), + ('zeroize', '1.7.0'), + ('zip', '0.6.6'), +] + +sources = [SOURCE_TAR_GZ] +checksums = [ + {'maturin-1.4.0.tar.gz': 'ed12e1768094a7adeafc3a74ebdb8dc2201fa64c4e7e31f14cfc70378bf93790'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.8.6.tar.gz': '91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'allocator-api2-0.2.16.tar.gz': '0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5'}, + {'anstream-0.3.2.tar.gz': '0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163'}, + {'anstream-0.6.4.tar.gz': '2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44'}, + {'anstyle-1.0.2.tar.gz': '15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea'}, + {'anstyle-parse-0.2.1.tar.gz': '938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333'}, + {'anstyle-query-1.0.0.tar.gz': '5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b'}, + {'anstyle-wincon-1.0.2.tar.gz': 'c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c'}, + {'anstyle-wincon-3.0.1.tar.gz': 'f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628'}, + {'anyhow-1.0.75.tar.gz': 'a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'base64-0.21.5.tar.gz': '35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.1.tar.gz': '327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'bstr-1.8.0.tar.gz': '542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bytes-1.5.0.tar.gz': 'a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223'}, + {'bytesize-1.3.0.tar.gz': 'a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cab-0.4.1.tar.gz': 'ae6b4de23c7d39c0631fd3cc952d87951c86c75a13812d7247cb7a896e7b3551'}, + {'camino-1.1.6.tar.gz': 'c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c'}, + {'cargo-config2-0.1.16.tar.gz': '7f387366785e82c7ec7ef5b845a7f61324fbf5d467d6a878469eac30c1c44b1b'}, + {'cargo-options-0.7.2.tar.gz': 'cad71bf996c8e5b9d28ef3472d7ee41f277edf4e38cd597f51ad0438d05d76ea'}, + {'cargo-platform-0.1.5.tar.gz': 'e34637b3140142bdf929fb439e8aa4ebad7651ebf7b1080b3930aa16ac1459ff'}, + {'cargo-xwin-0.16.2.tar.gz': '02bb6bf59526935e47445f959a19c2168f151284dbf7e57f5577934334e9a61d'}, + {'cargo-zigbuild-0.18.0.tar.gz': 'edc9c2fe646a29983b5f7263bd789175f2aaad7ea42525affa40e2172be93286'}, + {'cargo_metadata-0.18.1.tar.gz': '2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037'}, + {'cbindgen-0.26.0.tar.gz': 'da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49'}, + {'cc-1.0.83.tar.gz': 'f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0'}, + {'cfb-0.9.0.tar.gz': 'b390793e912300f1aa713429f7fd0c391024e6c18b988962558bc4f96a349b1f'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'charset-0.1.3.tar.gz': '18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46'}, + {'chumsky-0.9.3.tar.gz': '8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9'}, + {'clap-4.3.24.tar.gz': 'fb690e81c7840c0d7aade59f242ea3b41b9bc27bcd5997890e7702ae4b32e487'}, + {'clap_builder-4.3.24.tar.gz': '5ed2e96bc16d8d740f6f48d663eddf4b8a0983e79210fd55479b7bcd0a69860e'}, + {'clap_complete-4.3.2.tar.gz': '5fc443334c81a804575546c5a8a79b4913b50e28d69232903604cada1de817ce'}, + {'clap_complete_command-0.5.1.tar.gz': '183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d'}, + {'clap_complete_fig-4.3.1.tar.gz': '99fee1d30a51305a6c2ed3fc5709be3c8af626c9c958e04dd9ae94e27bcbce9f'}, + {'clap_complete_nushell-0.1.11.tar.gz': '5d02bc8b1a18ee47c4d2eec3fb5ac034dc68ebea6125b1509e9ccdffcddce66e'}, + {'clap_derive-4.3.12.tar.gz': '54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050'}, + {'clap_lex-0.5.0.tar.gz': '2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b'}, + {'cli-table-0.4.7.tar.gz': 'adfbb116d9e2c4be7011360d0c0bee565712c11e969c9609b25b619366dc379d'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'configparser-3.0.3.tar.gz': 'e0e56e414a2a52ab2a104f85cd40933c2fbc278b83637facf646ecf451b49237'}, + {'console-0.15.7.tar.gz': 'c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8'}, + {'content_inspector-0.2.4.tar.gz': 'b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38'}, + {'core-foundation-0.9.3.tar.gz': '194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146'}, + {'core-foundation-sys-0.8.4.tar.gz': 'e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa'}, + {'cpufeatures-0.2.11.tar.gz': 'ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'crossbeam-channel-0.5.8.tar.gz': 'a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200'}, + {'crossbeam-deque-0.8.3.tar.gz': 'ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef'}, + {'crossbeam-epoch-0.9.15.tar.gz': 'ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7'}, + {'crossbeam-utils-0.8.16.tar.gz': '5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'data-encoding-2.5.0.tar.gz': '7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5'}, + {'deranged-0.3.9.tar.gz': '0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3'}, + {'dialoguer-0.11.0.tar.gz': '658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de'}, + {'diff-0.1.13.tar.gz': '56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'dirs-5.0.1.tar.gz': '44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225'}, + {'dirs-sys-0.4.1.tar.gz': '520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c'}, + {'dissimilar-1.0.7.tar.gz': '86e3bdc80eee6e16b2b6b0f87fbc98c04bee3455e35174c0de1a125d0688c632'}, + {'dunce-1.0.4.tar.gz': '56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'encoding_rs-0.8.33.tar.gz': '7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'expect-test-1.4.1.tar.gz': '30d9eafeadd538e68fb28016364c9732d78e420b9ff8853fa5e4058861e9f8d3'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'fat-macho-0.4.7.tar.gz': '63fa117c7dcabeb8c83d5c229764cfa46518545d2dba5a9a08912014711f997b'}, + {'filetime-0.2.22.tar.gz': 'd4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0'}, + {'flate2-1.0.28.tar.gz': '46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'foreign-types-0.3.2.tar.gz': 'f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1'}, + {'foreign-types-shared-0.1.1.tar.gz': '00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b'}, + {'form_urlencoded-1.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}, + {'fs-err-2.11.0.tar.gz': '88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.11.tar.gz': 'fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'globset-0.4.14.tar.gz': '57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1'}, + {'goblin-0.7.1.tar.gz': 'f27c1b4369c2cd341b5de549380158b105a04c331be5db9110eef7b6d2742134'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'hashbrown-0.14.3.tar.gz': '290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.3.tar.gz': 'd77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7'}, + {'home-0.5.5.tar.gz': '5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'humantime-serde-1.1.1.tar.gz': '57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c'}, + {'idna-0.5.0.tar.gz': '634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6'}, + {'ignore-0.4.20.tar.gz': 'dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492'}, + {'indexmap-1.9.3.tar.gz': 'bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99'}, + {'indexmap-2.1.0.tar.gz': 'd530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f'}, + {'indicatif-0.17.7.tar.gz': 'fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25'}, + {'indoc-2.0.4.tar.gz': '1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'io-lifetimes-1.0.11.tar.gz': 'eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2'}, + {'is-terminal-0.4.9.tar.gz': 'cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itertools-0.12.0.tar.gz': '25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0'}, + {'itoa-1.0.9.tar.gz': 'af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38'}, + {'keyring-2.0.5.tar.gz': '9549a129bd08149e0a71b2d1ce2729780d47127991bfd0a78cc1df697ec72492'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'lddtree-0.3.3.tar.gz': '2f5bfec46830ad3a95199ae6804dfe9f51fdad43d7a95fbb6c185efa9824c295'}, + {'libc-0.2.150.tar.gz': '89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c'}, + {'libredox-0.0.1.tar.gz': '85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8'}, + {'linux-keyutils-0.2.3.tar.gz': '3f27bb67f6dd1d0bb5ab582868e4f65052e58da6401188a08f0da09cf512b84b'}, + {'linux-raw-sys-0.3.8.tar.gz': 'ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519'}, + {'linux-raw-sys-0.4.11.tar.gz': '969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'lzxd-0.1.4.tar.gz': '784462f20dddd9dfdb45de963fa4ad4a288cb10a7889ac5d2c34fb6481c6b213'}, + {'mailparse-0.14.0.tar.gz': '6b56570f5f8c0047260d1c8b5b331f62eb9c660b9dd4071a8c46f8c7d3f280aa'}, + {'matchers-0.1.0.tar.gz': '8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558'}, + {'memchr-2.6.4.tar.gz': 'f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'mime-0.3.17.tar.gz': '6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a'}, + {'mime_guess-2.0.4.tar.gz': '4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef'}, + {'minijinja-1.0.10.tar.gz': '208758577ef2c86cf5dd3e85730d161413ec3284e2d73b2ef65d9a24d9971bcb'}, + {'minimal-lexical-0.2.1.tar.gz': '68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'msi-0.7.0.tar.gz': '226b2404f03d2cf47375b9715c8adfae4e388bb2377cff908e8a40f31e421514'}, + {'multipart-0.18.0.tar.gz': '00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182'}, + {'native-tls-0.2.11.tar.gz': '07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e'}, + {'nom-7.1.3.tar.gz': 'd273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a'}, + {'normalize-line-endings-0.3.0.tar.gz': '61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be'}, + {'normpath-1.1.1.tar.gz': 'ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5'}, + {'nu-ansi-term-0.46.0.tar.gz': '77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.18.0.tar.gz': 'dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d'}, + {'openssl-0.10.60.tar.gz': '79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800'}, + {'openssl-macros-0.1.1.tar.gz': 'a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'openssl-sys-0.9.96.tar.gz': '3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f'}, + {'option-ext-0.2.0.tar.gz': '04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d'}, + {'os_pipe-1.1.4.tar.gz': '0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177'}, + {'overload-0.1.1.tar.gz': 'b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'path-slash-0.2.1.tar.gz': '1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42'}, + {'pep440_rs-0.3.12.tar.gz': '887f66cc62717ea72caac4f1eb4e6f392224da3ffff3f40ec13ab427802746d6'}, + {'pep508_rs-0.2.3.tar.gz': 'e4516b53d9ea6112ebb38b4af08d5707d30b994fb7f98ff133c5dcf7ed8fa854'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'pin-project-lite-0.2.13.tar.gz': '8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58'}, + {'pkg-config-0.3.27.tar.gz': '26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964'}, + {'plain-0.2.3.tar.gz': 'b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6'}, + {'platform-info-2.0.2.tar.gz': 'd6259c4860e53bf665016f1b2f46a8859cadfa717581dc9d597ae4069de6300f'}, + {'portable-atomic-1.5.1.tar.gz': '3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'pretty_assertions-1.4.0.tar.gz': 'af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66'}, + {'proc-macro2-1.0.70.tar.gz': '39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b'}, + {'psm-0.1.21.tar.gz': '5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874'}, + {'pyproject-toml-0.8.1.tar.gz': '46d4a5e69187f23a29f8aa0ea57491d104ba541bc55f76552c2a74962aa20e04'}, + {'python-pkginfo-0.6.0.tar.gz': '037469c164f08c891bf6d69ca02f1d56210011451e229618669777df82124cfa'}, + {'quote-1.0.33.tar.gz': '5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae'}, + {'quoted_printable-0.4.8.tar.gz': '5a3866219251662ec3b26fc217e3e05bf9c4f84325234dfb96bf0bf840889e49'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rayon-1.8.0.tar.gz': '9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1'}, + {'rayon-core-1.12.0.tar.gz': '5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed'}, + {'redox_syscall-0.3.5.tar.gz': '567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'redox_users-0.4.4.tar.gz': 'a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4'}, + {'regex-1.10.2.tar.gz': '380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343'}, + {'regex-automata-0.1.10.tar.gz': '6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132'}, + {'regex-automata-0.4.3.tar.gz': '5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f'}, + {'regex-syntax-0.6.29.tar.gz': 'f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'rfc2047-decoder-0.2.2.tar.gz': '61fc4b4e52897c3e30b12b7e9b04461215b647fbe66f6def60dd8edbce14ec2e'}, + {'ring-0.17.6.tar.gz': '684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.37.27.tar.gz': 'fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2'}, + {'rustix-0.38.21.tar.gz': '2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3'}, + {'rustls-0.21.9.tar.gz': '629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9'}, + {'rustls-pemfile-2.0.0.tar.gz': '35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4'}, + {'rustls-pki-types-1.0.0.tar.gz': 'eb0a1f9b9efec70d32e6d6aa3e58ebd88c3754ec98dfe9145c63cf54cc829b83'}, + {'rustls-webpki-0.101.7.tar.gz': '8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'ryu-1.0.15.tar.gz': '1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'schannel-0.1.22.tar.gz': '0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'scroll-0.11.0.tar.gz': '04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da'}, + {'scroll_derive-0.11.1.tar.gz': '1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae'}, + {'sct-0.7.1.tar.gz': 'da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414'}, + {'security-framework-2.9.2.tar.gz': '05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de'}, + {'security-framework-sys-2.9.1.tar.gz': 'e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a'}, + {'semver-1.0.20.tar.gz': '836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090'}, + {'serde-1.0.193.tar.gz': '25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89'}, + {'serde_derive-1.0.193.tar.gz': '43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3'}, + {'serde_json-1.0.108.tar.gz': '3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b'}, + {'serde_spanned-0.6.4.tar.gz': '12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80'}, + {'sha2-0.10.8.tar.gz': '793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8'}, + {'sharded-slab-0.1.7.tar.gz': 'f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6'}, + {'shell-words-1.1.0.tar.gz': '24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde'}, + {'shlex-1.2.0.tar.gz': 'a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380'}, + {'similar-2.3.0.tar.gz': '2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597'}, + {'smallvec-1.11.2.tar.gz': '4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970'}, + {'smawk-0.3.2.tar.gz': 'b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c'}, + {'snapbox-0.4.14.tar.gz': '4b377c0b6e4715c116473d8e40d51e3fa5b0a2297ca9b2a931ba800667b259ed'}, + {'snapbox-macros-0.3.6.tar.gz': 'ed1559baff8a696add3322b9be3e940d433e7bb4e38d79017205fd37ff28b28e'}, + {'socks-0.3.4.tar.gz': 'f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b'}, + {'spin-0.9.8.tar.gz': '6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67'}, + {'stacker-0.1.15.tar.gz': 'c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.39.tar.gz': '23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a'}, + {'tar-0.4.40.tar.gz': 'b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb'}, + {'target-lexicon-0.12.12.tar.gz': '14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a'}, + {'tempfile-3.8.1.tar.gz': '7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5'}, + {'termcolor-1.4.0.tar.gz': 'ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449'}, + {'terminal_size-0.2.6.tar.gz': '8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237'}, + {'textwrap-0.16.0.tar.gz': '222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d'}, + {'thiserror-1.0.50.tar.gz': 'f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2'}, + {'thiserror-impl-1.0.50.tar.gz': '266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8'}, + {'thread_local-1.1.7.tar.gz': '3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152'}, + {'time-0.3.30.tar.gz': 'c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5'}, + {'time-core-0.1.2.tar.gz': 'ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3'}, + {'time-macros-0.2.15.tar.gz': '4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'toml-0.5.11.tar.gz': 'f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234'}, + {'toml-0.8.8.tar.gz': 'a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35'}, + {'toml_datetime-0.6.5.tar.gz': '3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1'}, + {'toml_edit-0.20.7.tar.gz': '70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81'}, + {'toml_edit-0.21.0.tar.gz': 'd34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03'}, + {'tracing-0.1.40.tar.gz': 'c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef'}, + {'tracing-attributes-0.1.27.tar.gz': '34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7'}, + {'tracing-core-0.1.32.tar.gz': 'c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54'}, + {'tracing-log-0.2.0.tar.gz': 'ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3'}, + {'tracing-serde-0.1.3.tar.gz': 'bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1'}, + {'tracing-subscriber-0.3.18.tar.gz': 'ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b'}, + {'trycmd-0.14.19.tar.gz': 'ed009372a42fb103e6f8767b9222925485e03cca032b700d203e2c5b67bee4fb'}, + {'twox-hash-1.6.3.tar.gz': '97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unicase-2.7.0.tar.gz': 'f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89'}, + {'unicode-bidi-0.3.13.tar.gz': '92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-linebreak-0.1.5.tar.gz': '3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-width-0.1.11.tar.gz': 'e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85'}, + {'untrusted-0.9.0.tar.gz': '8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1'}, + {'ureq-2.9.1.tar.gz': 'f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97'}, + {'url-2.5.0.tar.gz': '31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'uuid-1.6.1.tar.gz': '5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560'}, + {'valuable-0.1.0.tar.gz': '830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'versions-5.0.1.tar.gz': 'c73a36bc44e3039f51fbee93e39f41225f6b17b380eb70cc2aab942df06b34dd'}, + {'wait-timeout-0.2.0.tar.gz': '9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6'}, + {'walkdir-2.4.0.tar.gz': 'd71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'webpki-roots-0.25.3.tar.gz': '1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10'}, + {'which-5.0.0.tar.gz': '9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14'}, + {'wild-2.2.0.tar.gz': '10d01931a94d5a115a53f95292f51d316856b68a035618eb831bbba593a30b67'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.6.tar.gz': 'f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-sys-0.45.0.tar.gz': '75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.42.2.tar.gz': '8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows-targets-0.52.0.tar.gz': '8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd'}, + {'windows_aarch64_gnullvm-0.42.2.tar.gz': '597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.0.tar.gz': 'cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea'}, + {'windows_aarch64_msvc-0.42.2.tar.gz': 'e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.0.tar.gz': 'bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef'}, + {'windows_i686_gnu-0.42.2.tar.gz': 'c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.0.tar.gz': 'a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313'}, + {'windows_i686_msvc-0.42.2.tar.gz': '44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.0.tar.gz': 'ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a'}, + {'windows_x86_64_gnu-0.42.2.tar.gz': '8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.0.tar.gz': '3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd'}, + {'windows_x86_64_gnullvm-0.42.2.tar.gz': '26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.0.tar.gz': '1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e'}, + {'windows_x86_64_msvc-0.42.2.tar.gz': '9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.0.tar.gz': 'dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04'}, + {'winnow-0.5.19.tar.gz': '829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b'}, + {'xattr-1.0.1.tar.gz': 'f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985'}, + {'xwin-0.5.0.tar.gz': 'c43e0202f5457b48558096cb7b36d0e473f267551a89c82ed72d73b01dfd4007'}, + {'yansi-0.5.1.tar.gz': '09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec'}, + {'zerocopy-0.7.28.tar.gz': '7d6f15f7ade05d2a4935e34a457b936c23dc70a05cc1d97133dc99e7a3fe0f0e'}, + {'zerocopy-derive-0.7.28.tar.gz': 'dbbad221e3f78500350ecbd7dfa4e63ef945c05f4c61cb7f4d3f84cd0bba649b'}, + {'zeroize-1.7.0.tar.gz': '525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d'}, + {'zip-0.6.6.tar.gz': '760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261'}, +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/maturin/maturin-1.5.0-GCCcore-13.2.0-Rust-1.76.0.eb b/easybuild/easyconfigs/m/maturin/maturin-1.5.0-GCCcore-13.2.0-Rust-1.76.0.eb new file mode 100644 index 00000000000..71311d34afc --- /dev/null +++ b/easybuild/easyconfigs/m/maturin/maturin-1.5.0-GCCcore-13.2.0-Rust-1.76.0.eb @@ -0,0 +1,625 @@ +easyblock = 'CargoPythonPackage' + +name = 'maturin' +version = '1.5.0' +_rust_ver = '1.76.0' +versionsuffix = '-Rust-%s' % _rust_ver + +homepage = 'https://github.com/pyo3/maturin' +description = """This project is meant as a zero configuration +replacement for setuptools-rust and milksnake. It supports building +wheels for python 3.5+ on windows, linux, mac and freebsd, can upload +them to pypi and has basic pypy and graalpy support.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +crates = [ + ('adler', '1.0.2'), + ('ahash', '0.8.7'), + ('aho-corasick', '1.1.2'), + ('allocator-api2', '0.2.16'), + ('anstream', '0.6.11'), + ('anstyle', '1.0.4'), + ('anstyle-parse', '0.2.3'), + ('anstyle-query', '1.0.2'), + ('anstyle-wincon', '3.0.2'), + ('anyhow', '1.0.80'), + ('autocfg', '1.1.0'), + ('base64', '0.13.1'), + ('base64', '0.21.7'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.2'), + ('block-buffer', '0.10.4'), + ('bstr', '1.9.0'), + ('byteorder', '1.5.0'), + ('bytes', '1.5.0'), + ('bytesize', '1.3.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cab', '0.4.1'), + ('camino', '1.1.6'), + ('cargo-config2', '0.1.19'), + ('cargo-options', '0.7.2'), + ('cargo-platform', '0.1.6'), + ('cargo-xwin', '0.16.4'), + ('cargo-zigbuild', '0.18.3'), + ('cargo_metadata', '0.18.1'), + ('cbindgen', '0.26.0'), + ('cc', '1.0.88'), + ('cfb', '0.9.0'), + ('cfg-if', '1.0.0'), + ('charset', '0.1.3'), + ('chumsky', '0.9.3'), + ('clap', '4.4.18'), + ('clap_builder', '4.4.18'), + ('clap_complete', '4.4.9'), + ('clap_complete_fig', '4.4.2'), + ('clap_complete_command', '0.5.1'), + ('clap_complete_nushell', '0.1.11'), + ('clap_derive', '4.4.7'), + ('clap_lex', '0.6.0'), + ('cli-table', '0.4.7'), + ('colorchoice', '1.0.0'), + ('configparser', '3.0.4'), + ('console', '0.15.8'), + ('content_inspector', '0.2.4'), + ('core-foundation', '0.9.4'), + ('core-foundation-sys', '0.8.6'), + ('cpufeatures', '0.2.12'), + ('crc32fast', '1.3.2'), + ('crossbeam-channel', '0.5.11'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-utils', '0.8.19'), + ('crypto-common', '0.1.6'), + ('data-encoding', '2.5.0'), + ('deranged', '0.3.11'), + ('derivative', '2.2.0'), + ('dialoguer', '0.11.0'), + ('diff', '0.1.13'), + ('digest', '0.10.7'), + ('dirs', '5.0.1'), + ('dirs-sys', '0.4.1'), + ('dissimilar', '1.0.7'), + ('dunce', '1.0.4'), + ('either', '1.9.0'), + ('encode_unicode', '0.3.6'), + ('encoding_rs', '0.8.33'), + ('equivalent', '1.0.1'), + ('errno', '0.3.8'), + ('expect-test', '1.4.1'), + ('fastrand', '2.0.1'), + ('fat-macho', '0.4.8'), + ('filetime', '0.2.23'), + ('flate2', '1.0.28'), + ('fnv', '1.0.7'), + ('foreign-types', '0.3.2'), + ('foreign-types-shared', '0.1.1'), + ('form_urlencoded', '1.2.1'), + ('fs-err', '2.11.0'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.12'), + ('glob', '0.3.1'), + ('globset', '0.4.14'), + ('goblin', '0.8.0'), + ('hashbrown', '0.12.3'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('home', '0.5.9'), + ('humantime', '2.1.0'), + ('humantime-serde', '1.1.1'), + ('idna', '0.5.0'), + ('ignore', '0.4.22'), + ('indexmap', '1.9.3'), + ('indexmap', '2.2.3'), + ('indicatif', '0.17.7'), + ('indoc', '2.0.4'), + ('instant', '0.1.12'), + ('itertools', '0.11.0'), + ('itertools', '0.12.1'), + ('itoa', '1.0.10'), + ('keyring', '2.3.2'), + ('lazy_static', '1.4.0'), + ('lddtree', '0.3.4'), + ('libc', '0.2.152'), + ('libredox', '0.0.1'), + ('linux-keyutils', '0.2.4'), + ('linux-raw-sys', '0.4.13'), + ('lock_api', '0.4.11'), + ('log', '0.4.20'), + ('lzxd', '0.1.4'), + ('mailparse', '0.14.1'), + ('matchers', '0.1.0'), + ('memchr', '2.7.1'), + ('mime', '0.3.17'), + ('mime_guess', '2.0.4'), + ('minijinja', '1.0.12'), + ('minimal-lexical', '0.2.1'), + ('miniz_oxide', '0.7.1'), + ('msi', '0.7.0'), + ('multipart', '0.18.0'), + ('native-tls', '0.2.11'), + ('nom', '7.1.3'), + ('normalize-line-endings', '0.3.0'), + ('normpath', '1.1.1'), + ('nu-ansi-term', '0.46.0'), + ('num-conv', '0.1.0'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.19.0'), + ('openssl', '0.10.63'), + ('openssl-macros', '0.1.1'), + ('openssl-probe', '0.1.5'), + ('openssl-sys', '0.9.99'), + ('option-ext', '0.2.0'), + ('os_pipe', '1.1.5'), + ('overload', '0.1.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('paste', '1.0.14'), + ('path-slash', '0.2.1'), + ('pep440_rs', '0.5.0'), + ('pep508_rs', '0.4.2'), + ('percent-encoding', '2.3.1'), + ('pin-project-lite', '0.2.13'), + ('pkg-config', '0.3.29'), + ('plain', '0.2.3'), + ('platform-info', '2.0.2'), + ('portable-atomic', '1.6.0'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.17'), + ('pretty_assertions', '1.4.0'), + ('proc-macro2', '1.0.78'), + ('psm', '0.1.21'), + ('pyproject-toml', '0.10.0'), + ('python-pkginfo', '0.6.0'), + ('quote', '1.0.35'), + ('quoted_printable', '0.4.8'), + ('quoted_printable', '0.5.0'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rayon', '1.8.1'), + ('rayon-core', '1.12.1'), + ('redox_syscall', '0.4.1'), + ('redox_users', '0.4.4'), + ('regex', '1.10.3'), + ('regex-automata', '0.1.10'), + ('regex-automata', '0.4.5'), + ('regex-syntax', '0.6.29'), + ('regex-syntax', '0.8.2'), + ('rfc2047-decoder', '0.2.2'), + ('ring', '0.17.7'), + ('rustc_version', '0.4.0'), + ('rustix', '0.38.30'), + ('rustls', '0.22.2'), + ('rustls-pemfile', '2.1.0'), + ('rustls-pki-types', '1.3.1'), + ('rustls-webpki', '0.102.1'), + ('rustversion', '1.0.14'), + ('ryu', '1.0.16'), + ('same-file', '1.0.6'), + ('schannel', '0.1.23'), + ('scopeguard', '1.2.0'), + ('scroll', '0.12.0'), + ('scroll_derive', '0.12.0'), + ('security-framework', '2.9.2'), + ('security-framework-sys', '2.9.1'), + ('semver', '1.0.22'), + ('serde', '1.0.197'), + ('serde_derive', '1.0.197'), + ('serde_json', '1.0.114'), + ('serde_spanned', '0.6.5'), + ('sha2', '0.10.8'), + ('sharded-slab', '0.1.7'), + ('shell-words', '1.1.0'), + ('shlex', '1.3.0'), + ('similar', '2.4.0'), + ('smallvec', '1.13.1'), + ('smawk', '0.3.2'), + ('snapbox', '0.5.7'), + ('snapbox-macros', '0.3.8'), + ('socks', '0.3.4'), + ('spin', '0.9.8'), + ('stacker', '0.1.15'), + ('static_assertions', '1.1.0'), + ('strsim', '0.10.0'), + ('subtle', '2.5.0'), + ('syn', '1.0.109'), + ('syn', '2.0.48'), + ('tar', '0.4.40'), + ('target-lexicon', '0.12.14'), + ('tempfile', '3.9.0'), + ('termcolor', '1.4.1'), + ('terminal_size', '0.3.0'), + ('textwrap', '0.16.1'), + ('thiserror', '1.0.57'), + ('thiserror-impl', '1.0.57'), + ('thread_local', '1.1.7'), + ('time', '0.3.34'), + ('time-core', '0.1.2'), + ('time-macros', '0.2.17'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('toml', '0.5.11'), + ('toml', '0.8.10'), + ('toml_datetime', '0.6.5'), + ('toml_edit', '0.22.6'), + ('tracing', '0.1.40'), + ('tracing-attributes', '0.1.27'), + ('tracing-core', '0.1.32'), + ('tracing-log', '0.2.0'), + ('tracing-serde', '0.1.3'), + ('tracing-subscriber', '0.3.18'), + ('trycmd', '0.15.0'), + ('twox-hash', '1.6.3'), + ('typenum', '1.17.0'), + ('unicase', '2.7.0'), + ('unicode-bidi', '0.3.15'), + ('unicode-ident', '1.0.12'), + ('unicode-linebreak', '0.1.5'), + ('unicode-normalization', '0.1.22'), + ('unicode-width', '0.1.11'), + ('unicode-xid', '0.2.4'), + ('unscanny', '0.1.0'), + ('untrusted', '0.9.0'), + ('ureq', '2.9.6'), + ('url', '2.5.0'), + ('urlencoding', '2.1.3'), + ('utf8parse', '0.2.1'), + ('uuid', '1.7.0'), + ('valuable', '0.1.0'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('versions', '5.0.1'), + ('wait-timeout', '0.2.0'), + ('walkdir', '2.4.0'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('webpki-roots', '0.26.0'), + ('which', '5.0.0'), + ('which', '6.0.0'), + ('wild', '2.2.1'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.6'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-sys', '0.48.0'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.48.5'), + ('windows-targets', '0.52.0'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.0'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.0'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.0'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.0'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.0'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.0'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.0'), + ('winnow', '0.6.2'), + ('xattr', '1.3.1'), + ('xwin', '0.5.0'), + ('yansi', '0.5.1'), + ('zerocopy', '0.7.32'), + ('zerocopy-derive', '0.7.32'), + ('zeroize', '1.7.0'), + ('zip', '0.6.6'), +] + +sources = [SOURCE_TAR_GZ] +checksums = [ + {'maturin-1.5.0.tar.gz': 'e046ea2aed687991d58c42f6276dfcc0c037092934654f538b5877fd57dd3a9c'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.8.7.tar.gz': '77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'allocator-api2-0.2.16.tar.gz': '0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5'}, + {'anstream-0.6.11.tar.gz': '6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5'}, + {'anstyle-1.0.4.tar.gz': '7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87'}, + {'anstyle-parse-0.2.3.tar.gz': 'c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c'}, + {'anstyle-query-1.0.2.tar.gz': 'e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648'}, + {'anstyle-wincon-3.0.2.tar.gz': '1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7'}, + {'anyhow-1.0.80.tar.gz': '5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'base64-0.21.7.tar.gz': '9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.2.tar.gz': 'ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'bstr-1.9.0.tar.gz': 'c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bytes-1.5.0.tar.gz': 'a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223'}, + {'bytesize-1.3.0.tar.gz': 'a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cab-0.4.1.tar.gz': 'ae6b4de23c7d39c0631fd3cc952d87951c86c75a13812d7247cb7a896e7b3551'}, + {'camino-1.1.6.tar.gz': 'c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c'}, + {'cargo-config2-0.1.19.tar.gz': '3a7fb69d74d76f8c254afd1c0e76aca40c305707b28aebe3c5a0fd2ee62aeeeb'}, + {'cargo-options-0.7.2.tar.gz': 'cad71bf996c8e5b9d28ef3472d7ee41f277edf4e38cd597f51ad0438d05d76ea'}, + {'cargo-platform-0.1.6.tar.gz': 'ceed8ef69d8518a5dda55c07425450b58a4e1946f4951eab6d7191ee86c2443d'}, + {'cargo-xwin-0.16.4.tar.gz': '5e6c3dd7f20fdd197397532ac882e918cfe1d56f262a97ded7460a50e031e06b'}, + {'cargo-zigbuild-0.18.3.tar.gz': 'cb76e6ab558f9138291c7e1fa954ffd58e060712eab13f97a317da712218ca24'}, + {'cargo_metadata-0.18.1.tar.gz': '2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037'}, + {'cbindgen-0.26.0.tar.gz': 'da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49'}, + {'cc-1.0.88.tar.gz': '02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc'}, + {'cfb-0.9.0.tar.gz': 'b390793e912300f1aa713429f7fd0c391024e6c18b988962558bc4f96a349b1f'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'charset-0.1.3.tar.gz': '18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46'}, + {'chumsky-0.9.3.tar.gz': '8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9'}, + {'clap-4.4.18.tar.gz': '1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c'}, + {'clap_builder-4.4.18.tar.gz': '4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7'}, + {'clap_complete-4.4.9.tar.gz': 'df631ae429f6613fcd3a7c1adbdb65f637271e561b03680adaa6573015dfb106'}, + {'clap_complete_fig-4.4.2.tar.gz': '87e571d70e22ec91d34e1c5317c8308035a2280d925167646bf094fc5de1737c'}, + {'clap_complete_command-0.5.1.tar.gz': '183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d'}, + {'clap_complete_nushell-0.1.11.tar.gz': '5d02bc8b1a18ee47c4d2eec3fb5ac034dc68ebea6125b1509e9ccdffcddce66e'}, + {'clap_derive-4.4.7.tar.gz': 'cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442'}, + {'clap_lex-0.6.0.tar.gz': '702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1'}, + {'cli-table-0.4.7.tar.gz': 'adfbb116d9e2c4be7011360d0c0bee565712c11e969c9609b25b619366dc379d'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'configparser-3.0.4.tar.gz': '4ec6d3da8e550377a85339063af6e3735f4b1d9392108da4e083a1b3b9820288'}, + {'console-0.15.8.tar.gz': '0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb'}, + {'content_inspector-0.2.4.tar.gz': 'b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38'}, + {'core-foundation-0.9.4.tar.gz': '91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f'}, + {'core-foundation-sys-0.8.6.tar.gz': '06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f'}, + {'cpufeatures-0.2.12.tar.gz': '53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'crossbeam-channel-0.5.11.tar.gz': '176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b'}, + {'crossbeam-deque-0.8.5.tar.gz': '613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d'}, + {'crossbeam-epoch-0.9.18.tar.gz': '5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e'}, + {'crossbeam-utils-0.8.19.tar.gz': '248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'data-encoding-2.5.0.tar.gz': '7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5'}, + {'deranged-0.3.11.tar.gz': 'b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4'}, + {'derivative-2.2.0.tar.gz': 'fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b'}, + {'dialoguer-0.11.0.tar.gz': '658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de'}, + {'diff-0.1.13.tar.gz': '56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'dirs-5.0.1.tar.gz': '44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225'}, + {'dirs-sys-0.4.1.tar.gz': '520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c'}, + {'dissimilar-1.0.7.tar.gz': '86e3bdc80eee6e16b2b6b0f87fbc98c04bee3455e35174c0de1a125d0688c632'}, + {'dunce-1.0.4.tar.gz': '56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'encoding_rs-0.8.33.tar.gz': '7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'expect-test-1.4.1.tar.gz': '30d9eafeadd538e68fb28016364c9732d78e420b9ff8853fa5e4058861e9f8d3'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'fat-macho-0.4.8.tar.gz': '0d4c93f393add03d72bc10dd3dea43a1610ecb29e0c0a6459c70b53b82931adf'}, + {'filetime-0.2.23.tar.gz': '1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd'}, + {'flate2-1.0.28.tar.gz': '46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'foreign-types-0.3.2.tar.gz': 'f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1'}, + {'foreign-types-shared-0.1.1.tar.gz': '00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b'}, + {'form_urlencoded-1.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}, + {'fs-err-2.11.0.tar.gz': '88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.12.tar.gz': '190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'globset-0.4.14.tar.gz': '57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1'}, + {'goblin-0.8.0.tar.gz': 'bb07a4ffed2093b118a525b1d8f5204ae274faed5604537caf7135d0f18d9887'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'hashbrown-0.14.3.tar.gz': '290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'home-0.5.9.tar.gz': 'e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'humantime-serde-1.1.1.tar.gz': '57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c'}, + {'idna-0.5.0.tar.gz': '634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6'}, + {'ignore-0.4.22.tar.gz': 'b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1'}, + {'indexmap-1.9.3.tar.gz': 'bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99'}, + {'indexmap-2.2.3.tar.gz': '233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177'}, + {'indicatif-0.17.7.tar.gz': 'fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25'}, + {'indoc-2.0.4.tar.gz': '1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itertools-0.12.1.tar.gz': 'ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'keyring-2.3.2.tar.gz': '1be8bc4c6b6e9d85ecdad090fcf342a9216f53d747a537cc05e3452fd650ca46'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'lddtree-0.3.4.tar.gz': 'f88a93876d2485ede9c97d698c164cf5c024491908483964a998faae9705dea6'}, + {'libc-0.2.152.tar.gz': '13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7'}, + {'libredox-0.0.1.tar.gz': '85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8'}, + {'linux-keyutils-0.2.4.tar.gz': '761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e'}, + {'linux-raw-sys-0.4.13.tar.gz': '01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'lzxd-0.1.4.tar.gz': '784462f20dddd9dfdb45de963fa4ad4a288cb10a7889ac5d2c34fb6481c6b213'}, + {'mailparse-0.14.1.tar.gz': '2d096594926cab442e054e047eb8c1402f7d5b2272573b97ba68aa40629f9757'}, + {'matchers-0.1.0.tar.gz': '8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558'}, + {'memchr-2.7.1.tar.gz': '523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149'}, + {'mime-0.3.17.tar.gz': '6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a'}, + {'mime_guess-2.0.4.tar.gz': '4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef'}, + {'minijinja-1.0.12.tar.gz': '6fe0ff215195a22884d867b547c70a0c4815cbbcc70991f281dca604b20d10ce'}, + {'minimal-lexical-0.2.1.tar.gz': '68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'msi-0.7.0.tar.gz': '226b2404f03d2cf47375b9715c8adfae4e388bb2377cff908e8a40f31e421514'}, + {'multipart-0.18.0.tar.gz': '00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182'}, + {'native-tls-0.2.11.tar.gz': '07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e'}, + {'nom-7.1.3.tar.gz': 'd273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a'}, + {'normalize-line-endings-0.3.0.tar.gz': '61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be'}, + {'normpath-1.1.1.tar.gz': 'ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5'}, + {'nu-ansi-term-0.46.0.tar.gz': '77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84'}, + {'num-conv-0.1.0.tar.gz': '51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'openssl-0.10.63.tar.gz': '15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8'}, + {'openssl-macros-0.1.1.tar.gz': 'a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'openssl-sys-0.9.99.tar.gz': '22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae'}, + {'option-ext-0.2.0.tar.gz': '04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d'}, + {'os_pipe-1.1.5.tar.gz': '57119c3b893986491ec9aa85056780d3a0f3cf4da7cc09dd3650dbd6c6738fb9'}, + {'overload-0.1.1.tar.gz': 'b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'path-slash-0.2.1.tar.gz': '1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42'}, + {'pep440_rs-0.5.0.tar.gz': '15efd4d885c29126cc93e12af3087896e2518bd5ca0fb328c19c4ef9cecfa8be'}, + {'pep508_rs-0.4.2.tar.gz': '1455babf8edd3eedcdfcb39700e455a4bb189e71b4f1fa0eacc9b244cc5a55e6'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'pin-project-lite-0.2.13.tar.gz': '8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58'}, + {'pkg-config-0.3.29.tar.gz': '2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb'}, + {'plain-0.2.3.tar.gz': 'b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6'}, + {'platform-info-2.0.2.tar.gz': 'd6259c4860e53bf665016f1b2f46a8859cadfa717581dc9d597ae4069de6300f'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'pretty_assertions-1.4.0.tar.gz': 'af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66'}, + {'proc-macro2-1.0.78.tar.gz': 'e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae'}, + {'psm-0.1.21.tar.gz': '5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874'}, + {'pyproject-toml-0.10.0.tar.gz': '3b80f889b6d413c3f8963a2c7db03f95dd6e1d85e1074137cb2013ea2faa8898'}, + {'python-pkginfo-0.6.0.tar.gz': '037469c164f08c891bf6d69ca02f1d56210011451e229618669777df82124cfa'}, + {'quote-1.0.35.tar.gz': '291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'}, + {'quoted_printable-0.4.8.tar.gz': '5a3866219251662ec3b26fc217e3e05bf9c4f84325234dfb96bf0bf840889e49'}, + {'quoted_printable-0.5.0.tar.gz': '79ec282e887b434b68c18fe5c121d38e72a5cf35119b59e54ec5b992ea9c8eb0'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rayon-1.8.1.tar.gz': 'fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051'}, + {'rayon-core-1.12.1.tar.gz': '1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'redox_users-0.4.4.tar.gz': 'a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4'}, + {'regex-1.10.3.tar.gz': 'b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15'}, + {'regex-automata-0.1.10.tar.gz': '6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132'}, + {'regex-automata-0.4.5.tar.gz': '5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd'}, + {'regex-syntax-0.6.29.tar.gz': 'f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'rfc2047-decoder-0.2.2.tar.gz': '61fc4b4e52897c3e30b12b7e9b04461215b647fbe66f6def60dd8edbce14ec2e'}, + {'ring-0.17.7.tar.gz': '688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.38.30.tar.gz': '322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca'}, + {'rustls-0.22.2.tar.gz': 'e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41'}, + {'rustls-pemfile-2.1.0.tar.gz': '3c333bb734fcdedcea57de1602543590f545f127dc8b533324318fd492c5c70b'}, + {'rustls-pki-types-1.3.1.tar.gz': '5ede67b28608b4c60685c7d54122d4400d90f62b40caee7700e700380a390fa8'}, + {'rustls-webpki-0.102.1.tar.gz': 'ef4ca26037c909dedb327b48c3327d0ba91d3dd3c4e05dad328f210ffb68e95b'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'ryu-1.0.16.tar.gz': 'f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'schannel-0.1.23.tar.gz': 'fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'scroll-0.12.0.tar.gz': '6ab8598aa408498679922eff7fa985c25d58a90771bd6be794434c5277eab1a6'}, + {'scroll_derive-0.12.0.tar.gz': '7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932'}, + {'security-framework-2.9.2.tar.gz': '05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de'}, + {'security-framework-sys-2.9.1.tar.gz': 'e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a'}, + {'semver-1.0.22.tar.gz': '92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca'}, + {'serde-1.0.197.tar.gz': '3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2'}, + {'serde_derive-1.0.197.tar.gz': '7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b'}, + {'serde_json-1.0.114.tar.gz': 'c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0'}, + {'serde_spanned-0.6.5.tar.gz': 'eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1'}, + {'sha2-0.10.8.tar.gz': '793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8'}, + {'sharded-slab-0.1.7.tar.gz': 'f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6'}, + {'shell-words-1.1.0.tar.gz': '24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde'}, + {'shlex-1.3.0.tar.gz': '0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64'}, + {'similar-2.4.0.tar.gz': '32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21'}, + {'smallvec-1.13.1.tar.gz': 'e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7'}, + {'smawk-0.3.2.tar.gz': 'b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c'}, + {'snapbox-0.5.7.tar.gz': '4a99efa20de5053229642a477436cdb39828c7651c614622eb4888f9688523e6'}, + {'snapbox-macros-0.3.8.tar.gz': 'e1c4b838b05d15ab22754068cb73500b2f3b07bf09d310e15b27f88160f1de40'}, + {'socks-0.3.4.tar.gz': 'f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b'}, + {'spin-0.9.8.tar.gz': '6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67'}, + {'stacker-0.1.15.tar.gz': 'c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'subtle-2.5.0.tar.gz': '81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.48.tar.gz': '0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f'}, + {'tar-0.4.40.tar.gz': 'b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb'}, + {'target-lexicon-0.12.14.tar.gz': 'e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f'}, + {'tempfile-3.9.0.tar.gz': '01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa'}, + {'termcolor-1.4.1.tar.gz': '06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755'}, + {'terminal_size-0.3.0.tar.gz': '21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7'}, + {'textwrap-0.16.1.tar.gz': '23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9'}, + {'thiserror-1.0.57.tar.gz': '1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b'}, + {'thiserror-impl-1.0.57.tar.gz': 'a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81'}, + {'thread_local-1.1.7.tar.gz': '3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152'}, + {'time-0.3.34.tar.gz': 'c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749'}, + {'time-core-0.1.2.tar.gz': 'ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3'}, + {'time-macros-0.2.17.tar.gz': '7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'toml-0.5.11.tar.gz': 'f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234'}, + {'toml-0.8.10.tar.gz': '9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290'}, + {'toml_datetime-0.6.5.tar.gz': '3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1'}, + {'toml_edit-0.22.6.tar.gz': '2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6'}, + {'tracing-0.1.40.tar.gz': 'c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef'}, + {'tracing-attributes-0.1.27.tar.gz': '34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7'}, + {'tracing-core-0.1.32.tar.gz': 'c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54'}, + {'tracing-log-0.2.0.tar.gz': 'ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3'}, + {'tracing-serde-0.1.3.tar.gz': 'bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1'}, + {'tracing-subscriber-0.3.18.tar.gz': 'ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b'}, + {'trycmd-0.15.0.tar.gz': '464edb3603a81a50b4c8f47b11dfade69ef48ffdc0af2f8b194ad87cbda75317'}, + {'twox-hash-1.6.3.tar.gz': '97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unicase-2.7.0.tar.gz': 'f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89'}, + {'unicode-bidi-0.3.15.tar.gz': '08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-linebreak-0.1.5.tar.gz': '3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-width-0.1.11.tar.gz': 'e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85'}, + {'unicode-xid-0.2.4.tar.gz': 'f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c'}, + {'unscanny-0.1.0.tar.gz': 'e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47'}, + {'untrusted-0.9.0.tar.gz': '8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1'}, + {'ureq-2.9.6.tar.gz': '11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35'}, + {'url-2.5.0.tar.gz': '31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633'}, + {'urlencoding-2.1.3.tar.gz': 'daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'uuid-1.7.0.tar.gz': 'f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a'}, + {'valuable-0.1.0.tar.gz': '830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'versions-5.0.1.tar.gz': 'c73a36bc44e3039f51fbee93e39f41225f6b17b380eb70cc2aab942df06b34dd'}, + {'wait-timeout-0.2.0.tar.gz': '9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6'}, + {'walkdir-2.4.0.tar.gz': 'd71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'webpki-roots-0.26.0.tar.gz': '0de2cfda980f21be5a7ed2eadb3e6fe074d56022bea2cdeb1a62eb220fc04188'}, + {'which-5.0.0.tar.gz': '9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14'}, + {'which-6.0.0.tar.gz': '7fa5e0c10bf77f44aac573e498d1a82d5fbd5e91f6fc0a99e7be4b38e85e101c'}, + {'wild-2.2.1.tar.gz': 'a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.6.tar.gz': 'f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows-targets-0.52.0.tar.gz': '8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.0.tar.gz': 'cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.0.tar.gz': 'bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.0.tar.gz': 'a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.0.tar.gz': 'ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.0.tar.gz': '3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.0.tar.gz': '1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.0.tar.gz': 'dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04'}, + {'winnow-0.6.2.tar.gz': '7a4191c47f15cc3ec71fcb4913cb83d58def65dd3787610213c649283b5ce178'}, + {'xattr-1.3.1.tar.gz': '8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f'}, + {'xwin-0.5.0.tar.gz': 'c43e0202f5457b48558096cb7b36d0e473f267551a89c82ed72d73b01dfd4007'}, + {'yansi-0.5.1.tar.gz': '09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec'}, + {'zerocopy-0.7.32.tar.gz': '74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be'}, + {'zerocopy-derive-0.7.32.tar.gz': '9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6'}, + {'zeroize-1.7.0.tar.gz': '525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d'}, + {'zip-0.6.6.tar.gz': '760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('setuptools-rust', '1.8.0'), +] +dependencies = [ + ('Python', '3.11.5'), + ('Rust', _rust_ver), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-intel-compilers-2022.1.0.eb new file mode 100644 index 00000000000..3b10964597e --- /dev/null +++ b/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-intel-compilers-2022.1.0.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'mctc-lib' +version = '0.3.1' + +homepage = 'https://grimme-lab.github.io/mctc-lib' +description = """Common tool chain for working with molecular structure data in various +applications. This library provides a unified way to perform operations on +molecular structure data, like reading and writing to common geometry file +formats.""" + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} +toolchainopts = {'pic': True} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['03dc8ccba37413da70e55a07cef8e8de53bce33f5bb52c1f8db5fec326abe083'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('json-fortran', '8.3.0'), +] + +configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/mctc-convert', 'lib/libmctc-lib.a', 'lib/libmctc-lib.%s' % SHLIB_EXT], + 'dirs': ['include/%(name)s', 'lib/cmake', 'lib/pkgconfig'], +} + +sanity_check_commands = ["mctc-convert --help"] + +# run suite of tests with ctest +runtest = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/medaka/medaka-1.11.3-foss-2022a.eb b/easybuild/easyconfigs/m/medaka/medaka-1.11.3-foss-2022a.eb new file mode 100644 index 00000000000..85c733711d1 --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.11.3-foss-2022a.eb @@ -0,0 +1,79 @@ +# This is a contribution from HPCNow! (http://hpcnow.com) +# Copyright:: HPCNow! +# Authors:: Danilo Gonzalez +# License:: GPL-v3.0 +# Updated to foss-2020b to use with artic tool +# J. Sassmannshausen (GSTT/NHS UK) +# Updated to 1.5.0 +# Jasper Grimm (UoY) + +easyblock = 'PythonBundle' + +name = 'medaka' +version = '1.11.3' + +homepage = 'https://github.com/nanoporetech/medaka' +description = "medaka is a tool to create a consensus sequence from nanopore sequencing data." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.24.3'), +] + +_minimap_ver = '2.24' +dependencies = [ + ('Python', '3.10.4'), # includes cffi + # tensorflow~=2.10.0 required by medaka 1.11.3, see requirements.txt + ('TensorFlow', '2.11.0'), + ('Pysam', '0.19.1'), + ('SAMtools', '1.16.1'), + ('minimap2', _minimap_ver), + ('HTSlib', '1.15.1'), # for tabix, bgzip + ('Racon', '1.5.0'), + ('edlib', '1.3.9'), + ('python-parasail', '1.3.3'), + ('ont-fast5-api', '4.1.1'), + ('WhatsHap', '1.7'), + ('intervaltree-python', '3.1.0'), + ('BCFtools', '1.15.1'), + ('pybind11', '2.9.2'), + ('spoa', '4.0.7'), +] + +use_pip = True + +exts_list = [ + ('mappy', _minimap_ver, { + 'checksums': ['35a2fb73ef14173283d5abb31e7a318429e0330c3be95851df38dd83d4ff9af9'], + }), + # medaka 1.11.3 requires pyspoa >= 0.2.1 + ('pyspoa', '0.2.1', { + 'checksums': ['a8a7b7df3faa1b5bb16d6b4e82099b1c9aca604c8288bcf8ca4960d376f7ff8c'], + 'modulename': 'spoa', + }), + ('wurlitzer', '3.0.3', { + 'checksums': ['224f5fe70618be3872c05dfddc8c457191ec1870654596279fcc1edadebe3e5b'], + }), + (name, version, { + 'checksums': ['940568212d152f573270967b02f6e841561cc43138b6aa15783c371457fef7b9'], + # remove TensorFlow version requirement which is too strict + 'preinstallopts': "sed -i 's/tensorflow.*/tensorflow/g' requirements.txt && ", + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/medaka', 'bin/medaka_consensus', 'bin/medaka_version_report'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "medaka --help", + "medaka_version_report", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/medaka/medaka-1.11.3-foss-2023a.eb b/easybuild/easyconfigs/m/medaka/medaka-1.11.3-foss-2023a.eb new file mode 100644 index 00000000000..dffdad4341f --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.11.3-foss-2023a.eb @@ -0,0 +1,77 @@ +# This is a contribution from HPCNow! (http://hpcnow.com) +# Copyright:: HPCNow! +# Authors:: Danilo Gonzalez +# License:: GPL-v3.0 +# Updated to foss-2020b to use with artic tool +# J. Sassmannshausen (GSTT/NHS UK) +# Updated to 1.5.0 +# Jasper Grimm (UoY) +# Updated: Petr Král (INUITS) + +easyblock = 'PythonBundle' + +name = 'medaka' +version = '1.11.3' + +homepage = 'https://github.com/nanoporetech/medaka' +description = "medaka is a tool to create a consensus sequence from nanopore sequencing data." + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +builddependencies = [('Autotools', '20220317')] + +_minimap_ver = '2.26' +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # includes cffi + # tensorflow~=2.10.0 required by medaka 1.9.1, see requirements.txt + ('TensorFlow', '2.13.0'), + ('Pysam', '0.22.0'), + ('SAMtools', '1.18'), + ('minimap2', _minimap_ver), + ('HTSlib', '1.18'), # for tabix, bgzip + ('Racon', '1.5.0'), + ('edlib', '1.3.9'), + ('pyspoa', '0.2.1'), + ('python-parasail', '1.3.4'), + ('ont-fast5-api', '4.1.2'), + ('WhatsHap', '2.2'), + ('intervaltree-python', '3.1.0'), + ('BCFtools', '1.18'), +] + +use_pip = True +sanity_pip_check = True + +local_sed_commands = [ + "sed -i 's/tensorflow.*/tensorflow/g;s/cffi==1.15.0/cffi/g' requirements.txt pyproject.toml", + # Python 3.11 support + "sed -i 's/8, 9, 10/8, 9, 10, 11/g;s/,<3.11//g' setup.py", +] + +exts_list = [ + ('mappy', _minimap_ver, { + 'checksums': ['e53fbe9a3ea8762a64b8103f4f779c9fb16d418eaa0a731f45cebc83867a9b71'], + }), + ('wurlitzer', '3.0.3', { + 'checksums': ['224f5fe70618be3872c05dfddc8c457191ec1870654596279fcc1edadebe3e5b'], + }), + (name, version, { + 'checksums': ['940568212d152f573270967b02f6e841561cc43138b6aa15783c371457fef7b9'], + # Some requirements are too strict. + 'preinstallopts': " && ".join(local_sed_commands) + " && ", + }), +] + +sanity_check_paths = { + 'files': ['bin/medaka', 'bin/medaka_consensus', 'bin/medaka_version_report'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "medaka --help", + "medaka_version_report", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/medaka/medaka-1.9.1-foss-2022b.eb b/easybuild/easyconfigs/m/medaka/medaka-1.9.1-foss-2022b.eb new file mode 100644 index 00000000000..c536e4bfc24 --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.9.1-foss-2022b.eb @@ -0,0 +1,71 @@ +# This is a contribution from HPCNow! (http://hpcnow.com) +# Copyright:: HPCNow! +# Authors:: Danilo Gonzalez +# License:: GPL-v3.0 +# Updated to foss-2020b to use with artic tool +# J. Sassmannshausen (GSTT/NHS UK) +# Updated to 1.5.0 +# Jasper Grimm (UoY) + +easyblock = 'PythonBundle' + +name = 'medaka' +version = '1.9.1' + +homepage = 'https://github.com/nanoporetech/medaka' +description = "medaka is a tool to create a consensus sequence from nanopore sequencing data." + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True} + +builddependencies = [('Autotools', '20220317')] + +_minimap_ver = '2.26' +dependencies = [ + ('Python', '3.10.8'), # includes cffi + # tensorflow~=2.10.0 required by medaka 1.11.3, see requirements.txt + ('TensorFlow', '2.13.0'), + ('Pysam', '0.21.0'), + ('SAMtools', '1.17'), + ('minimap2', _minimap_ver), + ('HTSlib', '1.17'), # for tabix, bgzip + ('Racon', '1.5.0'), + ('edlib', '1.3.9'), + ('pyspoa', '0.0.9'), + ('python-parasail', '1.3.4'), + ('ont-fast5-api', '4.1.1'), + ('WhatsHap', '2.1'), + ('intervaltree-python', '3.1.0'), + ('BCFtools', '1.17'), +] + +use_pip = True + +_sedcmds = [ + "sed -i -e 's/tensorflow.*/tensorflow/g' -e 's/cffi.*/cffi/' requirements.txt", + "sed -i -e 's/cffi==1.15.0/cffi/' pyproject.toml", +] + +exts_list = [ + ('mappy', '2.26', { + 'checksums': ['e53fbe9a3ea8762a64b8103f4f779c9fb16d418eaa0a731f45cebc83867a9b71'], + }), + (name, version, { + 'preinstallopts': " && ".join(_sedcmds) + " && ", + 'checksums': ['1018c07267d24cb4607ae823ced01a1789939b5f8143d1c240ce243dc1160ef5'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/medaka', 'bin/medaka_consensus', 'bin/medaka_version_report'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "medaka --help", + "medaka_version_report", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/meson-python/meson-python-0.15.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/meson-python/meson-python-0.15.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0e087e82468 --- /dev/null +++ b/easybuild/easyconfigs/m/meson-python/meson-python-0.15.0-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'meson-python' +version = '0.15.0' + +homepage = 'https://github.com/mesonbuild/meson-python' +description = "Python build backend (PEP 517) for Meson projects" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # provides 'packaging' + ('Meson', '1.3.1'), +] + +use_pip = True + +exts_list = [ + ('pyproject-metadata', '0.7.1', { + 'checksums': ['0a94f18b108b9b21f3a26a3d541f056c34edcb17dc872a144a15618fed7aef67'], + }), + (name, version, { + 'modulename': 'mesonpy', + 'sources': ['meson_python-%(version)s.tar.gz'], + 'checksums': ['fddb73eecd49e89c1c41c87937cd89c2d0b65a1c63ba28238681d4bd9484d26f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mfqe/mfqe-0.5.0-GCC-12.3.0.eb b/easybuild/easyconfigs/m/mfqe/mfqe-0.5.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..c69398631fc --- /dev/null +++ b/easybuild/easyconfigs/m/mfqe/mfqe-0.5.0-GCC-12.3.0.eb @@ -0,0 +1,233 @@ +easyblock = 'Cargo' + +name = 'mfqe' +version = '0.5.0' + +homepage = 'https://github.com/wwood/mfqe' +description = 'extract one or more sets of reads from a FASTQ (or FASTA) file by specifying their read names.' + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/wwood/mfqe/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v0.5.0.tar.gz': 'dbbafb84e2b40f319735fd9c61b6c60401e311d2dd23fad6e5669f66e0610abf'}, + {'adler32-1.0.4.tar.gz': '5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2'}, + {'aho-corasick-0.7.6.tar.gz': '58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d'}, + {'ansi_term-0.11.0.tar.gz': 'ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b'}, + {'approx-0.1.1.tar.gz': '08abcc3b4e9339e33a3d0a5ed15d84a687350c05689d825e0f6655eef9e76a94'}, + {'arrayvec-0.4.12.tar.gz': 'cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9'}, + {'assert_cli-0.6.3.tar.gz': 'a29ab7c0ed62970beb0534d637a8688842506d0ff9157de83286dacd065c8149'}, + {'atty-0.2.13.tar.gz': '1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90'}, + {'autocfg-0.1.7.tar.gz': '1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2'}, + {'backtrace-0.3.40.tar.gz': '924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea'}, + {'backtrace-sys-0.1.32.tar.gz': '5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491'}, + {'bitflags-1.2.1.tar.gz': 'cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693'}, + {'buf_redux-0.7.1.tar.gz': '20c6687a26c9ce967594b78038c06139a0d3a5b3005d16572284d543924a01aa'}, + {'c2-chacha-0.2.3.tar.gz': '214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb'}, + {'cc-1.0.46.tar.gz': '0213d356d3c4ea2c18c40b037c3be23cd639825c18f25ee670ac7813beeef99c'}, + {'cfg-if-0.1.10.tar.gz': '4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822'}, + {'cgmath-0.16.1.tar.gz': '64a4b57c8f4e3a2e9ac07e0f6abc9c24b6fc9e1b54c3478cfb598f3d0023e51c'}, + {'clap-2.33.0.tar.gz': '5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9'}, + {'cloudabi-0.0.3.tar.gz': 'ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f'}, + {'colored-1.8.0.tar.gz': '6cdb90b60f2927f8d76139c72dbde7e10c3a2bc47c8594c9c7a66529f2687c03'}, + {'crc32fast-1.2.0.tar.gz': 'ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1'}, + {'crossbeam-0.4.1.tar.gz': 'd7408247b1b87f480890f28b670c5f8d9a8a4274833433fe74dc0dfd46d33650'}, + {'crossbeam-channel-0.2.6.tar.gz': '7b85741761b7f160bc5e7e0c14986ef685b7f8bf9b7ad081c60c604bb4649827'}, + {'crossbeam-deque-0.5.2.tar.gz': '7792c4a9b5a4222f654e3728a3dd945aacc24d2c3a1a096ed265d80e4929cb9a'}, + {'crossbeam-epoch-0.5.2.tar.gz': '30fecfcac6abfef8771151f8be4abc9e4edc112c2bcb233314cafde2680536e9'}, + {'crossbeam-epoch-0.6.1.tar.gz': '2449aaa4ec7ef96e5fb24db16024b935df718e9ae1cec0a1e68feeca2efca7b8'}, + {'crossbeam-utils-0.5.0.tar.gz': '677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015'}, + {'crossbeam-utils-0.6.6.tar.gz': '04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6'}, + {'difference-2.0.0.tar.gz': '524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198'}, + {'env_logger-0.7.1.tar.gz': '44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36'}, + {'environment-0.1.1.tar.gz': '1f4b14e20978669064c33b4c1e0fb4083412e40fe56cbea2eae80fd7591503ee'}, + {'failure-0.1.6.tar.gz': 'f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9'}, + {'failure_derive-0.1.6.tar.gz': '0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08'}, + {'flate2-1.0.12.tar.gz': 'ad3c5233c9a940c8719031b423d7e6c16af66e031cb0420b0896f5245bf181d3'}, + {'fuchsia-cprng-0.1.1.tar.gz': 'a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba'}, + {'getrandom-0.1.13.tar.gz': 'e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407'}, + {'humantime-1.3.0.tar.gz': 'df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f'}, + {'itoa-0.4.4.tar.gz': '501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.65.tar.gz': '1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8'}, + {'lock_api-0.1.5.tar.gz': '62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c'}, + {'log-0.4.8.tar.gz': '14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7'}, + {'mach-0.2.3.tar.gz': '86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1'}, + {'memchr-2.2.1.tar.gz': '88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e'}, + {'memoffset-0.2.1.tar.gz': '0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3'}, + {'miniz_oxide-0.3.5.tar.gz': '6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625'}, + {'nodrop-0.1.14.tar.gz': '72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb'}, + {'num-traits-0.1.43.tar.gz': '92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31'}, + {'num-traits-0.2.8.tar.gz': '6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32'}, + {'owning_ref-0.4.0.tar.gz': '49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13'}, + {'parking_lot-0.6.4.tar.gz': 'f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5'}, + {'parking_lot_core-0.3.1.tar.gz': 'ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c'}, + {'ppv-lite86-0.2.6.tar.gz': '74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b'}, + {'proc-macro2-1.0.6.tar.gz': '9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27'}, + {'quick-error-1.2.2.tar.gz': '9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0'}, + {'quote-1.0.2.tar.gz': '053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe'}, + {'rand-0.4.6.tar.gz': '552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293'}, + {'rand-0.5.6.tar.gz': 'c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9'}, + {'rand-0.7.2.tar.gz': '3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412'}, + {'rand_chacha-0.2.1.tar.gz': '03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853'}, + {'rand_core-0.3.1.tar.gz': '7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b'}, + {'rand_core-0.4.2.tar.gz': '9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc'}, + {'rand_core-0.5.1.tar.gz': '90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19'}, + {'rand_hc-0.2.0.tar.gz': 'ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c'}, + {'rdrand-0.4.0.tar.gz': '678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2'}, + {'redox_syscall-0.1.56.tar.gz': '2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84'}, + {'regex-1.3.1.tar.gz': 'dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd'}, + {'regex-syntax-0.6.12.tar.gz': '11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716'}, + {'remove_dir_all-0.5.2.tar.gz': '4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e'}, + {'rgb-0.8.14.tar.gz': '2089e4031214d129e201f8c3c8c2fe97cd7322478a0d1cdf78e7029b0042efdb'}, + {'rustc-demangle-0.1.16.tar.gz': '4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783'}, + {'rustc_version-0.2.3.tar.gz': '138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a'}, + {'ryu-1.0.2.tar.gz': 'bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8'}, + {'safemem-0.2.0.tar.gz': 'e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f'}, + {'scoped_threadpool-0.1.9.tar.gz': '1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8'}, + {'scopeguard-0.3.3.tar.gz': '94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27'}, + {'semver-0.9.0.tar.gz': '1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403'}, + {'semver-parser-0.7.0.tar.gz': '388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3'}, + {'seq_io-0.3.0.tar.gz': '25caa018310ea0e40c66f8e8f7626c8e31b846a78cacac2480374bd3e9c2ac4c'}, + {'serde-1.0.102.tar.gz': '0c4b39bd9b0b087684013a792c59e3e07a46a01d2322518d8a1104641a0b1be0'}, + {'serde_derive-1.0.102.tar.gz': 'ca13fc1a832f793322228923fbb3aba9f3f44444898f835d31ad1b74fa0a2bf8'}, + {'serde_json-1.0.41.tar.gz': '2f72eb2a68a7dc3f9a691bfda9305a1c017a6215e5a4545c258500d2099a37c2'}, + {'slice-deque-0.1.16.tar.gz': 'd39fca478d10e201944a8e21f4393d6bfe38fa3b16a152050e4d097fe2bbf494'}, + {'smallvec-0.6.12.tar.gz': '533e29e15d0748f28afbaf4ff7cab44d73e483a8e50b38c40bd13b7f3d48f542'}, + {'stable_deref_trait-1.1.1.tar.gz': 'dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8'}, + {'strsim-0.8.0.tar.gz': '8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a'}, + {'syn-1.0.7.tar.gz': '0e7bedb3320d0f3035594b0b723c8a28d7d336a3eda3881db79e61d676fb644c'}, + {'synstructure-0.12.1.tar.gz': '3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203'}, + {'tempfile-3.1.0.tar.gz': '7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9'}, + {'termcolor-1.0.5.tar.gz': '96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e'}, + {'textwrap-0.11.0.tar.gz': 'd326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060'}, + {'thread_local-0.3.6.tar.gz': 'c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b'}, + {'unicode-width-0.1.6.tar.gz': '7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20'}, + {'unicode-xid-0.2.0.tar.gz': '826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c'}, + {'vec_map-0.8.1.tar.gz': '05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a'}, + {'wasi-0.7.0.tar.gz': 'b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d'}, + {'winapi-0.3.8.tar.gz': '8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.2.tar.gz': '7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'wincolor-1.0.2.tar.gz': '96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9'}, + {'winconsole-0.10.0.tar.gz': '3ef84b96d10db72dd980056666d7f1e7663ce93d82fa33b63e71c966f4cf5032'}, +] + +builddependencies = [ + ('Rust', '1.75.0'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +crates = [ + ('adler32', '1.0.4'), + ('aho-corasick', '0.7.6'), + ('ansi_term', '0.11.0'), + ('approx', '0.1.1'), + ('arrayvec', '0.4.12'), + ('assert_cli', '0.6.3'), + ('atty', '0.2.13'), + ('autocfg', '0.1.7'), + ('backtrace', '0.3.40'), + ('backtrace-sys', '0.1.32'), + ('bitflags', '1.2.1'), + ('buf_redux', '0.7.1'), + ('c2-chacha', '0.2.3'), + ('cc', '1.0.46'), + ('cfg-if', '0.1.10'), + ('cgmath', '0.16.1'), + ('clap', '2.33.0'), + ('cloudabi', '0.0.3'), + ('colored', '1.8.0'), + ('crc32fast', '1.2.0'), + ('crossbeam', '0.4.1'), + ('crossbeam-channel', '0.2.6'), + ('crossbeam-deque', '0.5.2'), + ('crossbeam-epoch', '0.5.2'), + ('crossbeam-epoch', '0.6.1'), + ('crossbeam-utils', '0.5.0'), + ('crossbeam-utils', '0.6.6'), + ('difference', '2.0.0'), + ('env_logger', '0.7.1'), + ('environment', '0.1.1'), + ('failure', '0.1.6'), + ('failure_derive', '0.1.6'), + ('flate2', '1.0.12'), + ('fuchsia-cprng', '0.1.1'), + ('getrandom', '0.1.13'), + ('humantime', '1.3.0'), + ('itoa', '0.4.4'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.65'), + ('lock_api', '0.1.5'), + ('log', '0.4.8'), + ('mach', '0.2.3'), + ('memchr', '2.2.1'), + ('memoffset', '0.2.1'), + ('miniz_oxide', '0.3.5'), + ('nodrop', '0.1.14'), + ('num-traits', '0.1.43'), + ('num-traits', '0.2.8'), + ('owning_ref', '0.4.0'), + ('parking_lot', '0.6.4'), + ('parking_lot_core', '0.3.1'), + ('ppv-lite86', '0.2.6'), + ('proc-macro2', '1.0.6'), + ('quick-error', '1.2.2'), + ('quote', '1.0.2'), + ('rand', '0.4.6'), + ('rand', '0.5.6'), + ('rand', '0.7.2'), + ('rand_chacha', '0.2.1'), + ('rand_core', '0.3.1'), + ('rand_core', '0.4.2'), + ('rand_core', '0.5.1'), + ('rand_hc', '0.2.0'), + ('rdrand', '0.4.0'), + ('redox_syscall', '0.1.56'), + ('regex', '1.3.1'), + ('regex-syntax', '0.6.12'), + ('remove_dir_all', '0.5.2'), + ('rgb', '0.8.14'), + ('rustc-demangle', '0.1.16'), + ('rustc_version', '0.2.3'), + ('ryu', '1.0.2'), + ('safemem', '0.2.0'), + ('scoped_threadpool', '0.1.9'), + ('scopeguard', '0.3.3'), + ('semver', '0.9.0'), + ('semver-parser', '0.7.0'), + ('seq_io', '0.3.0'), + ('serde', '1.0.102'), + ('serde_derive', '1.0.102'), + ('serde_json', '1.0.41'), + ('slice-deque', '0.1.16'), + ('smallvec', '0.6.12'), + ('stable_deref_trait', '1.1.1'), + ('strsim', '0.8.0'), + ('syn', '1.0.7'), + ('synstructure', '0.12.1'), + ('tempfile', '3.1.0'), + ('termcolor', '1.0.5'), + ('textwrap', '0.11.0'), + ('thread_local', '0.3.6'), + ('unicode-width', '0.1.6'), + ('unicode-xid', '0.2.0'), + ('vec_map', '0.8.1'), + ('wasi', '0.7.0'), + ('winapi', '0.3.8'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.2'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('wincolor', '1.0.2'), + ('winconsole', '0.10.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/minimap2/minimap2-2.26-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/minimap2/minimap2-2.26-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..180de610431 --- /dev/null +++ b/easybuild/easyconfigs/m/minimap2/minimap2-2.26-GCCcore-12.3.0.eb @@ -0,0 +1,54 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# DeepThought, Flinders University +# Updated to 2.22 +# R.QIAO + +# Update Petr Král (INUITS) +easyblock = 'MakeCp' + +name = 'minimap2' +version = '2.26' + +homepage = 'https://github.com/lh3/minimap2' +description = """Minimap2 is a fast sequence mapping and alignment +program that can find overlaps between long noisy reads, or map long +reads or their assemblies to a reference genome optionally with detailed +alignment (i.e. CIGAR). At present, it works efficiently with query +sequences from a few kilobases to ~100 megabases in length at an error +rate ~15%. Minimap2 outputs in the PAF or the SAM format. On limited +test data sets, minimap2 is over 20 times faster than most other +long-read aligners. It will replace BWA-MEM for long reads and contig +alignment.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/lh3/%(name)s/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar.bz2'] +checksums = ['6a588efbd273bff4f4808d5190957c50272833d2daeb4407ccf4c1b78143624c'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('zlib', '1.2.13')] + +buildopts = 'CC="${CC}" CFLAGS="${CFLAGS}" INCLUDES="${CPPFLAGS}"' + +files_to_copy = [ + (['%(name)s'], 'bin'), + (['lib%(name)s.a'], 'lib'), + (['*.h'], 'include'), + 'LICENSE.txt', 'NEWS.md', 'README.md', + (['%(name)s.1'], 'share/man/man1') +] + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/lib%(name)s.a'], + 'dirs': ['include'] +} + +sanity_check_commands = [ + "minimap2 --help", + "cd %(builddir)s/minimap2-%(version)s && minimap2 -a test/MT-human.fa test/MT-orang.fa > test.sam", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2020b.eb b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2020b.eb index 1aa8772b2ae..c8bfec5a591 100644 --- a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2020b.eb +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2020b.eb @@ -10,8 +10,10 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = ['https://github.com/molmod/molmod/releases/download/%(version)s'] sources = [SOURCE_TAR_GZ] +patches = ['molmod-1.4.8_fix-git-version-check.patch'] checksums = [ - '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8', # molmod-1.4.8.tar.gz + {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, + {'molmod-1.4.8_fix-git-version-check.patch': '6d1455f9dc3af07b723b05d144f6d8c3c0e5184e094eced1a6f59822f97dcf47'}, ] dependencies = [ @@ -24,6 +26,6 @@ download_dep_fail = True sanity_pip_check = True runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;" -runtest += "python setup.py build_ext -i; pytest -ra" +runtest += "python setup.py build_ext -i && pytest -ra" moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021a.eb b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021a.eb index 0f4bb6c8b8e..d956778e486 100644 --- a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021a.eb +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021a.eb @@ -10,8 +10,10 @@ toolchain = {'name': 'foss', 'version': '2021a'} source_urls = ['https://github.com/molmod/molmod/releases/download/%(version)s'] sources = [SOURCE_TAR_GZ] +patches = ['molmod-1.4.8_fix-git-version-check.patch'] checksums = [ - '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8', # molmod-1.4.8.tar.gz + {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, + {'molmod-1.4.8_fix-git-version-check.patch': '6d1455f9dc3af07b723b05d144f6d8c3c0e5184e094eced1a6f59822f97dcf47'}, ] dependencies = [ @@ -24,7 +26,7 @@ download_dep_fail = True sanity_pip_check = True runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;" -runtest += "python setup.py build_ext -i; pytest -ra" +runtest += "python setup.py build_ext -i && pytest -ra" sanity_check_paths = { 'files': [], diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021b.eb b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021b.eb index ee12c06558e..f028e39eff4 100644 --- a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021b.eb +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021b.eb @@ -10,8 +10,10 @@ toolchain = {'name': 'foss', 'version': '2021b'} source_urls = ['https://github.com/molmod/molmod/releases/download/%(version)s'] sources = [SOURCE_TAR_GZ] +patches = ['molmod-1.4.8_fix-git-version-check.patch'] checksums = [ - '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8', # molmod-1.4.8.tar.gz + {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, + {'molmod-1.4.8_fix-git-version-check.patch': '6d1455f9dc3af07b723b05d144f6d8c3c0e5184e094eced1a6f59822f97dcf47'}, ] dependencies = [ @@ -24,7 +26,7 @@ download_dep_fail = True sanity_pip_check = True runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;" -runtest += "python setup.py build_ext -i; pytest -ra" +runtest += "python setup.py build_ext -i && pytest -ra" sanity_check_paths = { 'files': [], diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb new file mode 100644 index 00000000000..d24c3b350d0 --- /dev/null +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'molmod' +version = '1.4.8' + +homepage = 'https://molmod.github.io/molmod/' +description = "MolMod is a Python library with many compoments that are useful to write molecular modeling programs." + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/molmod/molmod/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'molmod-1.4.8_fix-git-version-check.patch', + 'molmod-1.4.8_fix-np-unicode.patch', +] +checksums = [ + {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, + {'molmod-1.4.8_fix-git-version-check.patch': '6d1455f9dc3af07b723b05d144f6d8c3c0e5184e094eced1a6f59822f97dcf47'}, + {'molmod-1.4.8_fix-np-unicode.patch': + '85bd2e2981d2cdd8cfab5d1c2cf37432e2967ff82de603700383d7c31530327c'}, +] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;" +runtest += "python setup.py build_ext -i && pytest -ra" + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8_fix-git-version-check.patch b/easybuild/easyconfigs/m/molmod/molmod-1.4.8_fix-git-version-check.patch new file mode 100644 index 00000000000..c3463c0f49f --- /dev/null +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8_fix-git-version-check.patch @@ -0,0 +1,44 @@ +From acbe7bade5c172f756d709e2a152822339f48f26 Mon Sep 17 00:00:00 2001 +From: Alexander Grund +Date: Wed, 21 Feb 2024 12:14:06 +0100 +Subject: [PATCH] setup.py: Only call git if inside a git repository + +Avoid error message: +> fatal: not a git repository (or any parent up to mount point /dev) +> Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). +--- + setup.py | 21 +++++++++++---------- + 1 file changed, 11 insertions(+), 10 deletions(-) + +diff --git a/setup.py b/setup.py +index f531ab3..a3921f3 100755 +--- a/setup.py ++++ b/setup.py +@@ -36,16 +36,17 @@ + + # Try to get the version from git describe + __version__ = None +-try: +- print('Trying to get the version from git describe') +- git_describe = subprocess.check_output(["git", "describe", "--tags"]) +- version_words = git_describe.decode('utf-8').strip().split('-') +- __version__ = version_words[0] +- if len(version_words) > 1: +- __version__ += '.post' + version_words[1] +- print('Version from git describe: {}'.format(__version__)) +-except (subprocess.CalledProcessError, OSError): +- pass ++if os.path.exists('.git'): ++ try: ++ print('Trying to get the version from git describe') ++ git_describe = subprocess.check_output(["git", "describe", "--tags"]) ++ version_words = git_describe.decode('utf-8').strip().split('-') ++ __version__ = version_words[0] ++ if len(version_words) > 1: ++ __version__ += '.post' + version_words[1] ++ print('Version from git describe: {}'.format(__version__)) ++ except (subprocess.CalledProcessError, OSError): ++ pass + + # Interact with version.py + fn_version = os.path.join(os.path.dirname(__file__), 'molmod', 'version.py') diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8_fix-np-unicode.patch b/easybuild/easyconfigs/m/molmod/molmod-1.4.8_fix-np-unicode.patch new file mode 100644 index 00000000000..278ec6a95ad --- /dev/null +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8_fix-np-unicode.patch @@ -0,0 +1,38 @@ +Fixes use of `np.unicode` instead of `np.unicode_`. + ++++ 1.4.8/foss-2023a/molmod-1.4.8/molmod/io/test/test_chk.py 2023-12-11 14:55:11.534543922 +0000 +--- 1.4.8/foss-2023a/molmod-1.4.8/molmod/io/test/test_chk.py.orig 2023-12-11 14:53:00.080194283 +0000 +@@ -62,7 +62,7 @@ + + + def test_strings_array_unicode(): ++ data = {'values': np.array(['foo', 'bar'], dtype=np.unicode_)} +- data = {'values': np.array(['foo', 'bar'], dtype=np.unicode)} + check_data_array('test_strings_array', data, np.dtype('U22')) + + +@@ -90,8 +90,8 @@ + + + def test_strings(): ++ check_data('test_strings_array', {'values': 'foo'}, (str, np.unicode_)) ++ check_data('test_strings_array', {'values': 'foo bar'}, (str, np.unicode_)) +- check_data('test_strings_array', {'values': 'foo'}, (str, np.unicode)) +- check_data('test_strings_array', {'values': 'foo bar'}, (str, np.unicode)) + + + def test_floats(): + +--- 1.4.8/foss-2023a/molmod-1.4.8/molmod/io/chk.py.orig 2023-12-11 15:11:10.785959605 +0000 ++++ 1.4.8/foss-2023a/molmod-1.4.8/molmod/io/chk.py 2023-12-11 15:12:24.978584525 +0000 +@@ -141,8 +141,8 @@ + if value.dtype.fields is not None: + raise TypeError('Arrays with fields are not supported.') + shape_str = ','.join(str(i) for i in value.shape) +- if issubclass(value.dtype.type, (str, np.unicode, np.bytes_)): +- value = value.astype(np.unicode) ++ if issubclass(value.dtype.type, (str, np.unicode_, np.bytes_)): ++ value = value.astype(np.unicode_) + for cell in value.flat: + if len(cell) >= 22: + raise ValueError('In case of string arrays, a string may contain at most 21 characters.') diff --git a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.10-gfbf-2023a.eb b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.10-gfbf-2023a.eb new file mode 100644 index 00000000000..9197d88eb47 --- /dev/null +++ b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.10-gfbf-2023a.eb @@ -0,0 +1,44 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/02 +easyblock = 'PythonBundle' + +name = 'morphosamplers' +version = '0.0.10' + +homepage = 'https://github.com/kevinyamauchi/morphosamplers' +description = """ +A library for sampling image data along morphological objects such as splines and surfaces. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('einops', '0.7.0'), + ('pydantic', '2.5.3'), + ('SciPy-bundle', '2023.07') +] + +exts_list = [ + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + ('psygnal', '0.9.5', { + 'checksums': ['4956ea6c36a75f7fc457558935b67dd8be2594661b4d08eeb3357d69c509c55f'], + }), + (name, version, { + 'patches': ['morphosamplers-0.0.10_bump_pydantic2.patch'], # allow using pydantic2 + 'checksums': [ + {'morphosamplers-0.0.10.tar.gz': '52dcfaa0e9fe75112f53cc8bc9a08307f500d5a2422f43192c1e68f6a24f9cae'}, + {'morphosamplers-0.0.10_bump_pydantic2.patch': + '4b9590fac69a57ace54f489258ee6d52040e22a442eefac418b76818aefa47a9'}, + ], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.10_bump_pydantic2.patch b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.10_bump_pydantic2.patch new file mode 100644 index 00000000000..9816c33fdfb --- /dev/null +++ b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.10_bump_pydantic2.patch @@ -0,0 +1,322 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/02 +# 1. migration from pydantic ver. 1.x to ver. 2.x by tool +# bump-pydantic ver. 0.8.0 (https://pypi.org/project/bump-pydantic/) +# 2. replace @root_validator by @model_validator(mode='after') in +# sample_types.py +# 3. change of requirements accordingly in pyproject.toml and PKG-INFO +diff -ru morphosamplers-0.0.10/PKG-INFO morphosamplers-0.0.10_bump_pydantic2/PKG-INFO +--- morphosamplers-0.0.10/PKG-INFO 2023-11-27 16:48:35.350763000 +0100 ++++ morphosamplers-0.0.10_bump_pydantic2/PKG-INFO 2024-02-29 11:12:14.621599361 +0100 +@@ -19,7 +19,7 @@ + Requires-Dist: einops + Requires-Dist: numpy + Requires-Dist: psygnal +-Requires-Dist: pydantic<2 ++Requires-Dist: pydantic>=2 + Requires-Dist: scipy + Requires-Dist: typing-extensions + Provides-Extra: test +diff -ru morphosamplers-0.0.10/pyproject.toml morphosamplers-0.0.10_bump_pydantic2/pyproject.toml +--- morphosamplers-0.0.10/pyproject.toml 2023-11-27 16:48:18.000000000 +0100 ++++ morphosamplers-0.0.10_bump_pydantic2/pyproject.toml 2024-02-29 11:12:06.188358266 +0100 +@@ -27,7 +27,7 @@ + "einops", + "numpy", + "psygnal", +- "pydantic<2", ++ "pydantic>=2", + "scipy", + "typing-extensions" + ] +diff -ru morphosamplers-0.0.10/src/morphosamplers/core.py morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/core.py +--- morphosamplers-0.0.10/src/morphosamplers/core.py 2023-11-27 16:48:18.000000000 +0100 ++++ morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/core.py 2024-02-29 10:43:07.994797553 +0100 +@@ -1,18 +1,16 @@ + from abc import abstractmethod + from typing import TypeVar, Protocol, Generic +- +-from pydantic.generics import GenericModel ++from pydantic import BaseModel, ConfigDict + + M = TypeVar("M", bound="MorphoModel") + S = TypeVar("S") + + +-class MorphoModel(GenericModel, Generic[M]): ++class MorphoModel(BaseModel, Generic[M]): + """A set of attributes defining a geometrical support.""" +- +- class Config: +- allow_mutation = False +- arbitrary_types_allowed = True ++ # TODO[pydantic]: The following keys were removed: `allow_mutation`. ++ # Check https://docs.pydantic.dev/dev-v2/migration/#changes-to-config for more information. ++ model_config = ConfigDict(allow_mutation=False, arbitrary_types_allowed=True) + + + class SamplerProtocol(Protocol[M, S]): +@@ -27,8 +25,8 @@ + SamplerType = TypeVar("SamplerType", bound=SamplerProtocol) + + +-class MorphoSampler(GenericModel, Generic[SamplerType]): ++class MorphoSampler(BaseModel, Generic[SamplerType]): + """Concrete samplers should subclass this generic model.""" +- +- class Config: +- allow_mutation = False ++ # TODO[pydantic]: The following keys were removed: `allow_mutation`. ++ # Check https://docs.pydantic.dev/dev-v2/migration/#changes-to-config for more information. ++ model_config = ConfigDict(allow_mutation=False) +diff -ru morphosamplers-0.0.10/src/morphosamplers/models/path.py morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/models/path.py +--- morphosamplers-0.0.10/src/morphosamplers/models/path.py 2023-11-27 16:48:18.000000000 +0100 ++++ morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/models/path.py 2024-02-29 10:43:07.834793481 +0100 +@@ -1,5 +1,5 @@ + import numpy as np +-from pydantic import validator ++from pydantic import field_validator + + from morphosamplers.core import MorphoModel + +@@ -8,14 +8,16 @@ + """A 3D path defined by an `(n, 3)` array of control points.""" + control_points: np.ndarray + +- @validator('control_points', pre=True) ++ @field_validator('control_points', mode="before") ++ @classmethod + def coerce_to_n_by_3_array(cls, value): + value = np.atleast_2d(np.asarray(value)) + if value.ndim != 2 or value.shape[-1] != 3: + raise ValueError('`control_points` must be an (n, 3) array.') + return value + +- @validator('control_points') ++ @field_validator('control_points') ++ @classmethod + def check_at_least_two_points(cls, value): + if len(value) < 2: + raise ValueError('A Path must contain at least two points.') +diff -ru morphosamplers-0.0.10/src/morphosamplers/models/sphere.py morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/models/sphere.py +--- morphosamplers-0.0.10/src/morphosamplers/models/sphere.py 2023-11-27 16:48:18.000000000 +0100 ++++ morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/models/sphere.py 2024-02-29 10:43:07.624788137 +0100 +@@ -1,6 +1,6 @@ + from typing import Tuple + +-from pydantic import validator ++from pydantic import field_validator + + from morphosamplers.core import MorphoModel + +@@ -10,7 +10,8 @@ + center: Tuple[float, float, float] + radius: float + +- @validator('center', pre=True) ++ @field_validator('center', mode="before") ++ @classmethod + def coerce_to_tuple(cls, value): + return tuple(value) + +diff -ru morphosamplers-0.0.10/src/morphosamplers/models/surface.py morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/models/surface.py +--- morphosamplers-0.0.10/src/morphosamplers/models/surface.py 2023-11-27 16:48:18.000000000 +0100 ++++ morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/models/surface.py 2024-02-29 10:43:07.651788824 +0100 +@@ -1,7 +1,7 @@ + from typing import List + + import numpy as np +-from pydantic import validator ++from pydantic import field_validator + + from morphosamplers.core import MorphoModel + +@@ -10,7 +10,8 @@ + """A 3D surface defined by control points in a series of levels.""" + control_points: List[np.ndarray] + +- @validator('control_points') ++ @field_validator('control_points') ++ @classmethod + def check_at_least_two_points(cls, value): + if len(value) < 2: + raise ValueError('A Path must contain at least two levels.') +@@ -19,7 +20,8 @@ + raise ValueError('Each level must contain at least two points.') + return value + +- @validator('control_points', pre=True) ++ @field_validator('control_points', mode="before") ++ @classmethod + def ensure_list_of_float_arrays(cls, value): + return [np.asarray(v, dtype=np.float32) for v in value] + +diff -ru morphosamplers-0.0.10/src/morphosamplers/sample_types.py morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/sample_types.py +--- morphosamplers-0.0.10/src/morphosamplers/sample_types.py 2023-11-27 16:48:18.000000000 +0100 ++++ morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/sample_types.py 2024-02-29 11:10:34.650741331 +0100 +@@ -1,5 +1,5 @@ + import numpy as np +-from pydantic import BaseModel, root_validator, validator ++from pydantic import field_validator, ConfigDict, BaseModel, model_validator + from typing import Union + from typing_extensions import TypeAlias + +@@ -12,26 +12,27 @@ + """Model for a set of 3D poses.""" + positions: np.ndarray # (n, 3) + orientations: np.ndarray # (n, 3, 3) ++ # TODO[pydantic]: The following keys were removed: `allow_mutation`. ++ # Check https://docs.pydantic.dev/dev-v2/migration/#changes-to-config for more information. ++ model_config = ConfigDict(allow_mutation=False, arbitrary_types_allowed=True) + +- class Config: +- allow_mutation = False +- arbitrary_types_allowed = True +- +- @validator('positions', pre=True) ++ @field_validator('positions', mode="before") ++ @classmethod + def coerce_to_n_by_3_array(cls, value): + value = np.atleast_2d(np.asarray(value)) + if value.ndim != 2 or value.shape[-1] != 3: + raise ValueError('positions must be an (n, 3) array.') + return value + +- @validator('orientations', pre=True) ++ @field_validator('orientations', mode="before") ++ @classmethod + def check_n_by_3_3_array(cls, value): + value = np.asarray(value) + if value.ndim != 3 or value.shape[-2:] != (3, 3): + raise ValueError('orientations must be an (n, 3, 3) array.') + return value + +- @root_validator ++ @model_validator(mode="after") # THEMBL: mode=after: previously root_validator without pre=True set + def check_same_length(cls, values): + positions, orientations = values.get('positions'), values.get('orientations') + if len(positions) != len(orientations): +Only in morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers: .sample_types.py.swp +diff -ru morphosamplers-0.0.10/src/morphosamplers/spline.py morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/spline.py +--- morphosamplers-0.0.10/src/morphosamplers/spline.py 2023-11-27 16:48:18.000000000 +0100 ++++ morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/spline.py 2024-02-29 10:43:12.179904052 +0100 +@@ -5,18 +5,19 @@ + + import numpy as np + from psygnal import EventedModel +-from pydantic import PrivateAttr, conint, root_validator, validator ++from pydantic import field_validator, model_validator, Field, ConfigDict, PrivateAttr + from scipy.interpolate import splev, splprep + from scipy.spatial.transform import Rotation, Slerp + + from .utils import coaxial_y_vectors_from_z_vectors, within_range, get_mask_limits ++from typing_extensions import Annotated + + + class NDimensionalSpline(EventedModel): + """Model for multidimensional splines.""" + + points: np.ndarray +- order: conint(ge=1, le=5) = 3 ++ order: Annotated[int, Field(ge=1, le=5)] = 3 + smoothing: Optional[int] = None + mask: Optional[np.ndarray] = None + closed: bool = False +@@ -25,11 +26,7 @@ + _raw_u = PrivateAttr(np.ndarray) + _u_mask_limits: List[Tuple[float, float]] = PrivateAttr([]) + _length = PrivateAttr(float) +- +- class Config: +- """Pydantic BaseModel configuration.""" +- +- arbitrary_types_allowed = True ++ model_config = ConfigDict(arbitrary_types_allowed=True) + + def __init__(self, **kwargs): + """Calculate the splines after validating the paramters.""" +@@ -41,7 +38,8 @@ + ndim: int = self.points.shape[1] + return ndim + +- @validator("points", pre=True) ++ @field_validator("points", mode="before") ++ @classmethod + def is_coordinate_array(cls, v: Union[List[List[float]], np.ndarray]) -> np.ndarray: + """Validate and coerce the points values to a 2D numpy array.""" + points = np.atleast_2d(v) +@@ -51,7 +49,8 @@ + raise ValueError("must provide at least 2 points") + return points + +- @root_validator(skip_on_failure=True) ++ @model_validator(skip_on_failure=True) ++ @classmethod + def validate_number_of_points( + cls, values: Dict[str, Union[np.ndarray, int]] + ) -> Dict[str, Union[np.ndarray, int]]: +@@ -237,7 +236,8 @@ + + _rotation_sampler = PrivateAttr(Slerp) + +- @validator("points") ++ @field_validator("points") ++ @classmethod + def _is_3d_coordinate_array(cls, v): + if v.ndim != 2 or v.shape[-1] != 3: + raise ValueError("must be an (n, 3) array") +diff -ru morphosamplers-0.0.10/src/morphosamplers/surface_spline.py morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/surface_spline.py +--- morphosamplers-0.0.10/src/morphosamplers/surface_spline.py 2023-11-27 16:48:18.000000000 +0100 ++++ morphosamplers-0.0.10_bump_pydantic2/src/morphosamplers/surface_spline.py 2024-02-29 10:43:17.615042361 +0100 +@@ -6,7 +6,7 @@ + import einops + import numpy as np + from psygnal import EventedModel +-from pydantic import PrivateAttr, conint, root_validator, validator ++from pydantic import field_validator, model_validator, Field, ConfigDict, PrivateAttr + from scipy.interpolate import splev, splprep, interp1d + from scipy.spatial.transform import Rotation + +@@ -17,6 +17,7 @@ + minimize_closed_point_row_pair_distance, + minimize_point_row_pair_distance, + ) ++from typing_extensions import Annotated + + + class _SplineSurface(EventedModel): +@@ -24,7 +25,7 @@ + + points: List[np.ndarray] + separation: float +- order: conint(ge=1, le=5) = 3 ++ order: Annotated[int, Field(ge=1, le=5)] = 3 + smoothing: Optional[int] = None + closed: bool = False + inside_point: Optional[Union[np.ndarray, Tuple[float, float, float]]] = None +@@ -32,13 +33,10 @@ + _raw_masks = PrivateAttr(np.ndarray) + _row_splines = PrivateAttr(List[Spline3D]) + _column_splines = PrivateAttr(List[Spline3D]) ++ model_config = ConfigDict(arbitrary_types_allowed=True) + +- class Config: +- """Pydantic BaseModel configuration.""" +- +- arbitrary_types_allowed = True +- +- @validator("points") ++ @field_validator("points") ++ @classmethod + def _validate_number_of_splines(v): + points = np.atleast_2d(*v) + if len(points) < 2: +@@ -47,7 +45,8 @@ + ) + return points + +- @root_validator(skip_on_failure=True) ++ @model_validator(skip_on_failure=True) ++ @classmethod + def _validate_number_of_lines(cls, values): + points = values.get("points") + n_lines = len(points) diff --git a/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4af5309341a --- /dev/null +++ b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'motif' +version = '2.3.8' + +homepage = 'https://motif.ics.com/' +description = """Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building + applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. + It was the standard toolkit for the Common Desktop Environment and thus for Unix.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['859b723666eeac7df018209d66045c9853b50b4218cecadb794e2359619ebce7'] + +builddependencies = [ + ('Autotools', '20220317'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('binutils', '2.40'), + ('util-linux', '2.39'), +] + +dependencies = [ + ('X11', '20230603'), + ('libpng', '1.6.39'), + ('freetype', '2.13.0'), + ('libjpeg-turbo', '2.1.5.1'), + ('bzip2', '1.0.8'), +] + +# makefile is not parallel safe +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libMrm.a', 'lib/libUil.a', 'lib/libXm.a', 'bin/mwm', 'bin/uil', 'bin/xmbind'], + 'dirs': ['include/Mrm', 'include/uil', 'include/X11', 'include/Xm'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.5-gompi-2023b.eb b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.5-gompi-2023b.eb new file mode 100644 index 00000000000..a103eeb6eba --- /dev/null +++ b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.5-gompi-2023b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonBundle' + +name = 'mpi4py' +version = '3.1.5' + +homepage = 'https://github.com/mpi4py/mpi4py' +description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for + the Python programming language, allowing any Python program to exploit multiple processors.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['a706e76db9255135c2fb5d1ef54cb4f7b0e4ad9e33cbada7de27626205f2a153'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/mrcfile/mrcfile-1.5.0-foss-2023a.eb b/easybuild/easyconfigs/m/mrcfile/mrcfile-1.5.0-foss-2023a.eb new file mode 100644 index 00000000000..604c8259c91 --- /dev/null +++ b/easybuild/easyconfigs/m/mrcfile/mrcfile-1.5.0-foss-2023a.eb @@ -0,0 +1,41 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/11 +easyblock = 'PythonPackage' + +name = 'mrcfile' +version = '1.5.0' + +homepage = 'https://github.com/ccpem/mrcfile' +description = """mrcfile is a Python implementation of the MRC2014 file format, which is used in +structural biology to store image and volume data. + +It allows MRC files to be created and opened easily using a very simple API, +which exposes the file’s header and data as numpy arrays. The code runs in +Python 2 and 3 and is fully unit-tested. + +This library aims to allow users and developers to read and write standard- +compliant MRC files in Python as easily as possible, and with no dependencies on +any compiled libraries except numpy. You can use it interactively to inspect +files, correct headers and so on, or in scripts and larger software packages to +provide basic MRC file I/O functions. """ + + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9e8196b8a33aa5b5237b43336cb9d08b6058b8127ea668d63b84d58bca795ec1'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mstore/mstore-0.2.0-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/m/mstore/mstore-0.2.0-intel-compilers-2022.1.0.eb new file mode 100644 index 00000000000..fb04f173ae1 --- /dev/null +++ b/easybuild/easyconfigs/m/mstore/mstore-0.2.0-intel-compilers-2022.1.0.eb @@ -0,0 +1,37 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'mstore' +version = '0.2.0' + +homepage = 'https://github.com/grimme-lab/mstore' +description = """Molecular structure store for testing""" + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} +toolchainopts = {'pic': True} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['95edba88afbc8013f57f4c818a97c0500cc40b158bed11234c061b2b6d7e480d'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('mctc-lib', '0.3.1'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON' + +sanity_check_paths = { + 'files': ['bin/mstore-fortranize', 'bin/mstore-info', 'lib/libmstore.%s' % SHLIB_EXT], + 'dirs': ['include/%(name)s', 'lib/cmake', 'lib/pkgconfig'], +} + +sanity_check_commands = ["mstore-info --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/multicharge/multicharge-0.2.0-iimkl-2022a.eb b/easybuild/easyconfigs/m/multicharge/multicharge-0.2.0-iimkl-2022a.eb new file mode 100644 index 00000000000..40be7a2dc40 --- /dev/null +++ b/easybuild/easyconfigs/m/multicharge/multicharge-0.2.0-iimkl-2022a.eb @@ -0,0 +1,41 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeNinja' + +name = 'multicharge' +version = '0.2.0' + +homepage = 'https://github.com/grimme-lab/multicharge' +description = """Electronegativity equilibration model for atomic partial charges.""" + +toolchain = {'name': 'iimkl', 'version': '2022a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['953e2ace2f4035b1fa8ecf680f90b5ce6ad5caae17c8d8ccbc2578b92b69d3e7'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('mctc-lib', '0.3.1'), + ('mstore', '0.2.0'), +] + +configopts = '-DBLAS_LIBRARIES="-lmkl_sequential -lmkl_intel_lp64 -lmkl_core" ' +configopts += '-DLAPACK_LIBRARIES="-lmkl_sequential -lmkl_intel_lp64 -lmkl_core" ' + +sanity_check_paths = { + 'files': ['bin/multicharge', 'lib/libmulticharge.a'], + 'dirs': ['include/%(name)s', 'lib/cmake', 'lib/pkgconfig'], +} + +sanity_check_commands = ["multicharge --help"] + +# run suite of tests with ctest +runtest = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b876c3bad74 --- /dev/null +++ b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MakeCp' + +name = 'multichoose' +version = '1.0.3' + +homepage = 'https://github.com/ekg/multichoose' +description = """generate multiset combinations (n multichoose k).""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_improve-build-system.patch'] +checksums = [ + '74f0a223c670f5aa81b14191c53ad8d84281838a47471c10253ae391f736c877', # v1.0.3.tar.gz + '96abf6ac1105ee596be078d6e8fb478f870a4ae33fffe70f93e627c0360cfc77', # multichoose-1.0.3_improve-build-system.patch +] + +builddependencies = [('binutils', '2.40')] + +local_bins = [name, 'multipermute'] +files_to_copy = [(local_bins, 'bin'), (['*.h'], 'include/%(name)s')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s 1 a'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/multiprocess/multiprocess-0.70.15-gfbf-2023a.eb b/easybuild/easyconfigs/m/multiprocess/multiprocess-0.70.15-gfbf-2023a.eb new file mode 100644 index 00000000000..631ec9aa69a --- /dev/null +++ b/easybuild/easyconfigs/m/multiprocess/multiprocess-0.70.15-gfbf-2023a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'multiprocess' +version = '0.70.15' + +homepage = 'https://github.com/uqfoundation/multiprocess' +description = "better multiprocessing and multithreading in python" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f20eed3036c0ef477b07a4177cf7c1ba520d9a2677870a4f47fe026f0cd6787e'] + +dependencies = [ + ('Python', '3.11.3'), + ('dill', '0.3.7'), + ('Arrow', '14.0.1'), # if needed rebuild --from-pr 19758 +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/mygene/mygene-3.2.2-foss-2022b.eb b/easybuild/easyconfigs/m/mygene/mygene-3.2.2-foss-2022b.eb new file mode 100644 index 00000000000..c849a243506 --- /dev/null +++ b/easybuild/easyconfigs/m/mygene/mygene-3.2.2-foss-2022b.eb @@ -0,0 +1,31 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +easyblock = 'PythonBundle' + +name = 'mygene' +version = '3.2.2' + +homepage = 'https://github.com/biothings/mygene.py' +description = "Python Client for MyGene.Info services." + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True + +exts_list = [ + ('biothings_client', '0.3.1', { + 'checksums': ['c972bf2e02b6f9cc78f7f2fbc5ef02cc56fe4f8a2adcb8801ec902f4ab7011e6'], + }), + (name, version, { + 'checksums': ['e729cabbc28cf5afb221bca1ab637883b375cb1a3e2f067587ec79f71affdaea'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2023a-mpi.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2023a-mpi.eb new file mode 100644 index 00000000000..5fd06c84ff9 --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2023a-mpi.eb @@ -0,0 +1,37 @@ +name = 'NAMD' +version = '2.14' +versionsuffix = '-mpi' + +homepage = 'https://www.ks.uiuc.edu/Research/namd/' +description = """NAMD is a parallel molecular dynamics code designed for high-performance simulation of + large biomolecular systems.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True, 'openmp': False, 'pic': True} + +source_urls = ['https://www.ks.uiuc.edu/Research/namd/%(version)s/download/946183/'] +sources = ['NAMD_%(version)s_Source.tar.gz'] +patches = [ + 'NAMD-2.14_fix-constant-pH.patch', + 'NAMD-2.14_fix-LJCorrection.patch', +] +checksums = [ + '34044d85d9b4ae61650ccdba5cda4794088c3a9075932392dd0752ef8c049235', # NAMD_2.14_Source.tar.gz + '864c6941b7cf52b78d26f2311236ec717f29399aa71436904930706d5d8b61de', # NAMD-2.14_fix-constant-pH.patch + '7b54cc62c893f00f491d8ff75685c8877d78a9471fa3db6fc70974edba09e70a', # NAMD-2.14_fix-LJCorrection.patch +] + +dependencies = [ + ('Tcl', '8.6.13'), +] + +# /bin/csh is required by 'config' script +builddependencies = [ + ('tcsh', '6.24.10'), +] + +# Hard to make charm build the mpi version with gcc on POWER, so we don't currently try +charm_arch = 'mpi-linux-x86_64' +charm_extra_cxxflags = '-fpermissive' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.20.5-GCCcore-13.2.0-CUDA-12.4.0.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.20.5-GCCcore-13.2.0-CUDA-12.4.0.eb new file mode 100644 index 00000000000..90634952ad6 --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.20.5-GCCcore-13.2.0-CUDA-12.4.0.eb @@ -0,0 +1,26 @@ +name = 'NCCL' +version = '2.20.5' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nccl' +description = """The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective +communication primitives that are performance optimized for NVIDIA GPUs.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +checksums = ['d11ad65c1df3cbe4447eaddceec71569f5c0497e27b3b8369cf79f18d2b2ad8c'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('CUDA', '12.4.0', '', SYSTEM), + ('UCX-CUDA', '1.15.0', versionsuffix), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['5.0', '6.0', '7.0', '7.5', '8.0', '8.6', '9.0'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NCO/NCO-5.1.9-intel-2022a.eb b/easybuild/easyconfigs/n/NCO/NCO-5.1.9-intel-2022a.eb new file mode 100644 index 00000000000..d88c27588b7 --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.1.9-intel-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'NCO' +version = '5.1.9' + +homepage = "https://github.com/nco/nco" +description = """The NCO toolkit manipulates and analyzes data stored in netCDF-accessible formats, +including DAP, HDF4, and HDF5.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/nco/nco/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['9cd90345c1e3860a690b53fd6c08b721d631a646d169431927884c99841c34e9'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('UDUNITS', '2.2.28'), + ('expat', '2.4.8'), + ('ANTLR', '2.7.7', '-Java-11'), + ('libdap', '3.20.11'), + ('GSL', '2.7'), + ('netCDF', '4.9.0'), + ('ESMF', '8.3.0'), # ncremap needs ESMF_RegridWeightGen +] + +configopts = "--enable-nco_cplusplus" + +sanity_check_paths = { + 'files': ['bin/nc%s' % x for x in ('ap2', 'atted', 'bo', 'diff', 'ea', 'ecat', 'es', + 'flint', 'ks', 'pdq', 'ra', 'rcat', 'rename', 'wa')] + + ['lib/libnco.a', 'lib/libnco.%s' % SHLIB_EXT, 'lib/libnco_c++.a', 'lib/libnco_c++.%s' % SHLIB_EXT], + 'dirs': ['include'], +} +sanity_check_commands = [ + "ncks -O -7 --cnk_dmn time,10 " + "%(builddir)s/%(namelower)s-%(version)s/data/in.nc %(builddir)s/%(namelower)s-%(version)s/data/in4.cdl" +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NECI/NECI-20230620-foss-2022b.eb b/easybuild/easyconfigs/n/NECI/NECI-20230620-foss-2022b.eb new file mode 100644 index 00000000000..c91d417c90f --- /dev/null +++ b/easybuild/easyconfigs/n/NECI/NECI-20230620-foss-2022b.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMakeCp' +name = 'NECI' +version = '20230620' +_commit = '558e88c5ae6c30d0505a9badbc69111be0866ba1' + +homepage = 'https://github.com/ghb24/NECI_STABLE' +description = """Standalone NECI codebase designed for FCIQMC and other stochastic quantum +chemistry methods.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +sources = [{ + 'git_config': { + 'url': 'https://github.com/ghb24', + 'repo_name': 'NECI_STABLE', + 'recursive': True, + 'commit': _commit, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +dependencies = [ + ('HDF5', '1.14.0'), +] + +# enable support for HDF5 +configopts = "-DENABLE_HDF5=ON" + +test_cmd = 'ctest' +runtest = '-j' + +files_to_copy = ['bin', 'lib', (['modules'], 'include')] + +_binaries = ['dneci', 'kdneci', 'kmneci', 'kneci', 'mneci', 'neci'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + ['lib/lib%s.a' % x for x in _binaries], + 'dirs': ['include'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.5.3-foss-2023a.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.5.3-foss-2023a.eb new file mode 100644 index 00000000000..b12d6190cc0 --- /dev/null +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.5.3-foss-2023a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'NFFT' +version = '3.5.3' + +homepage = 'https://www-user.tu-chemnitz.de/~potts/nfft/' +description = """The NFFT (nonequispaced fast Fourier transform or nonuniform fast Fourier transform) is a C subroutine + library for computing the nonequispaced discrete Fourier transform (NDFT) and its generalisations in one or more + dimensions, of arbitrary input size, and of complex data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/NFFT/nfft/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['ccef7a8e97e40e5f962df94626ade5adc7db1fb7948e3c75aa70393468e2e8fb'] + +dependencies = [('FFTW', '3.3.10')] + +builddependencies = [('Autotools', '20220317')] + +configure_cmd_prefix = './bootstrap.sh ; ' + +configopts = '--enable-openmp' + +sanity_check_paths = { + 'files': ['include/nfft3.h', 'include/nfft3mp.h', 'lib/libnfft3_threads.a', 'lib/libnfft3.a', + 'lib/libnfft3_threads.%s' % SHLIB_EXT, 'lib/libnfft3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.3.0-foss-2022b.eb b/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.3.0-foss-2022b.eb new file mode 100644 index 00000000000..9fe367ad885 --- /dev/null +++ b/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.3.0-foss-2022b.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'NGSpeciesID' +version = '0.3.0' + +homepage = 'https://github.com/ksahlin/NGSpeciesID' +description = "NGSpeciesID is a tool for clustering and consensus forming of targeted ONT reads." + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['71663ce280220d4e692cc6c3aea44f91e40b3143ed09a9462bdf2feb1d94aa9f'] + +dependencies = [ + ('Python', '3.10.8'), + ('python-parasail', '1.3.4'), + ('edlib', '1.3.9'), + ('spoa', '4.0.7'), + ('Racon', '1.5.0'), + ('minimap2', '2.26'), + ('medaka', '1.9.1'), +] + +download_dep_fail = True +use_pip = True + +# strip away too strict version requirement for parasail +preinstallopts = "sed -i 's/parasail==[0-9.]*/parasail/g' setup.py && " + +# no proper namespace for NGSpeciesID +options = {'modulename': 'modules.consensus'} + +sanity_check_paths = { + 'files': ['bin/NGSpeciesID'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NGSpeciesID --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.3.0-foss-2023a.eb b/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.3.0-foss-2023a.eb new file mode 100644 index 00000000000..1116be83c60 --- /dev/null +++ b/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.3.0-foss-2023a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'NGSpeciesID' +version = '0.3.0' + +homepage = 'https://github.com/ksahlin/NGSpeciesID' +description = "NGSpeciesID is a tool for clustering and consensus forming of targeted ONT reads." + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['71663ce280220d4e692cc6c3aea44f91e40b3143ed09a9462bdf2feb1d94aa9f'] + +dependencies = [ + ('Python', '3.11.3'), + ('python-parasail', '1.3.4'), + ('edlib', '1.3.9'), + ('medaka', '1.11.3'), + ('spoa', '4.1.0'), + ('Racon', '1.5.0'), + ('minimap2', '2.26'), +] + +download_dep_fail = True +use_pip = True + +# no proper namespace for NGSpeciesID +options = {'modulename': 'modules.consensus'} + +# parasail requirements are too strict +preinstallopts = "sed -i 's/parasail==/parasail>=/g' setup.py && " + +sanity_check_paths = { + 'files': ['bin/NGSpeciesID'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NGSpeciesID --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb b/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb index f0cf22b03b5..4255ed7b63b 100644 --- a/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb +++ b/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb @@ -24,6 +24,10 @@ local_nltk_data_install = [] # ] # modextravars = {'NLTK_DATA': local_nltk_data} +build_info_msg = """To install the NLTK data sets, and set the NLTK_DATA in the module file, during install set the + 'local_nltk_data' path and uncomment the 'local_nltk_data_install' and 'modextravars'. This can be done either by + having a local copy of the easyconfig or by using hooks.""" + use_pip = True sanity_pip_check = True diff --git a/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2022b.eb b/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2022b.eb new file mode 100644 index 00000000000..df522f5fd0a --- /dev/null +++ b/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2022b.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'NLTK' +version = '3.8.1' + +homepage = 'https://www.nltk.org/' +description = "NLTK is a leading platform for building Python programs to work with human language data." + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('scikit-learn', '1.2.1'), + ('matplotlib', '3.7.0'), + ('tqdm', '4.64.1'), +] + +local_nltk_data_install = [] +# Install NLTK data sets (7.4 GB) +# local_nltk_data = '/path/to/database/nltk_data' +# local_nltk_data_install = [ +# "mkdir -p %s && NLTK_DATA=%s python -m nltk.downloader all" % (local_nltk_data, local_nltk_data) +# ] +# modextravars = {'NLTK_DATA': local_nltk_data} + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('regex', '2023.12.25', { + 'checksums': ['29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5'], + }), + ('python-crfsuite', '0.9.10', { + 'modulename': 'pycrfsuite', + 'checksums': ['f38524631e2b533341f10f2c77689270dc6ecd5985495dccf7aa37b1045bc2e5'], + }), + (name, version, { + 'postinstallcmds': [], + 'source_tmpl': '%(namelower)s-%(version)s.zip', + 'use_pip_extras': 'corenlp,machine_learning,plot,tgrep', + 'checksums': ['1834da3d0682cba4f2cede2f9aad6b0fafb6461ba451db0efb6f9c39798d64d3'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = [('%(namelower)s', '--version')] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023a.eb b/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023a.eb new file mode 100644 index 00000000000..b7c7f373571 --- /dev/null +++ b/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'NLTK' +version = '3.8.1' + +homepage = 'https://www.nltk.org/' +description = "NLTK is a leading platform for building Python programs to work with human language data." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('matplotlib', '3.7.2'), + ('tqdm', '4.66.1'), +] + +local_nltk_data_install = [] +# Install NLTK data sets (7.4 GB) +# local_nltk_data = '/path/to/database/nltk_data' +# local_nltk_data_install = [ +# "mkdir -p %s && NLTK_DATA=%s python -m nltk.downloader all" % (local_nltk_data, local_nltk_data) +# ] +# modextravars = {'NLTK_DATA': local_nltk_data} + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('regex', '2023.12.25', { + 'checksums': ['29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5'], + }), + ('python-crfsuite', '0.9.10', { + 'modulename': 'pycrfsuite', + 'checksums': ['f38524631e2b533341f10f2c77689270dc6ecd5985495dccf7aa37b1045bc2e5'], + }), + (name, version, { + 'postinstallcmds': [], + 'source_tmpl': '%(namelower)s-%(version)s.zip', + 'use_pip_extras': 'corenlp,machine_learning,plot,tgrep', + 'checksums': ['1834da3d0682cba4f2cede2f9aad6b0fafb6461ba451db0efb6f9c39798d64d3'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = [('%(namelower)s', '--version')] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023b.eb b/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023b.eb new file mode 100644 index 00000000000..e88d5ee3b77 --- /dev/null +++ b/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023b.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'NLTK' +version = '3.8.1' + +homepage = 'https://www.nltk.org/' +description = "NLTK is a leading platform for building Python programs to work with human language data." + +toolchain = {'name': 'foss', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('scikit-learn', '1.4.0'), + ('matplotlib', '3.8.2'), + ('tqdm', '4.66.2'), +] + +local_nltk_data_install = [] +# Install NLTK data sets (7.4 GB) +# local_nltk_data = '/path/to/database/nltk_data' +# local_nltk_data_install = [ +# "mkdir -p %s && NLTK_DATA=%s python -m nltk.downloader all" % (local_nltk_data, local_nltk_data) +# ] +# modextravars = {'NLTK_DATA': local_nltk_data} + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('regex', '2023.12.25', { + 'checksums': ['29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5'], + }), + ('python-crfsuite', '0.9.10', { + 'modulename': 'pycrfsuite', + 'checksums': ['f38524631e2b533341f10f2c77689270dc6ecd5985495dccf7aa37b1045bc2e5'], + }), + (name, version, { + 'postinstallcmds': [], + 'source_tmpl': '%(namelower)s-%(version)s.zip', + 'use_pip_extras': 'corenlp,machine_learning,plot,tgrep', + 'checksums': ['1834da3d0682cba4f2cede2f9aad6b0fafb6461ba451db0efb6f9c39798d64d3'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = [('%(namelower)s', '--version')] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.89.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.89.1-GCCcore-12.3.0.eb index 7b9beb5c086..9e06f5845d3 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.89.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.89.1-GCCcore-12.3.0.eb @@ -22,7 +22,10 @@ checksums = [ '15768297c5dd6918132af281531afcfe3e358f45a00bc2655d20a6cbe4310a9b'}, ] -builddependencies = [('binutils', '2.40')] +builddependencies = [ + ('binutils', '2.40'), + ('Perl', '5.36.1'), +] dependencies = [ ('NSPR', '4.35'), diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.94-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.94-GCCcore-13.2.0.eb index 98dcf8eb5b5..bc0a97c325d 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.94-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.94-GCCcore-13.2.0.eb @@ -22,7 +22,10 @@ checksums = [ '15768297c5dd6918132af281531afcfe3e358f45a00bc2655d20a6cbe4310a9b'}, ] -builddependencies = [('binutils', '2.40')] +builddependencies = [ + ('binutils', '2.40'), + ('Perl', '5.38.0'), +] dependencies = [ ('NSPR', '4.35'), diff --git a/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-13.2.0.eb b/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-13.2.0.eb new file mode 100644 index 00000000000..a2dd73270b7 --- /dev/null +++ b/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-13.2.0.eb @@ -0,0 +1,44 @@ +# contributed by Guilherme Peretti-Pezzi (CSCS) +# updated by Alex Domingo (Vrije Universiteit Brussel) +# updated by Åke Sandgren(Umeå University) +# Update: Petr Král (INUITS) +easyblock = 'ConfigureMake' + +name = 'NTL' +version = '11.5.1' + +homepage = 'https://shoup.net/ntl/' + +description = """NTL is a high-performance, portable C++ library providing data structures and +algorithms for manipulating signed, arbitrary length integers, and for vectors, +matrices, and polynomials over the integers and over finite fields.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +github_account = 'libntl' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ef578fa8b6c0c64edd1183c4c303b534468b58dd3eb8df8c9a5633f984888de5'] + +builddependencies = [ + ('Perl', '5.38.0'), +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +start_dir = 'src' + +prefix_opt = 'PREFIX=' +configopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS" GMP_PREFIX="$EBROOTGMP" SHARED=on' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libntl.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['include/NTL', 'share/doc'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-24.1-CUDA-12.3.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-24.1-CUDA-12.3.0.eb new file mode 100644 index 00000000000..2bab93e8ab3 --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-24.1-CUDA-12.3.0.eb @@ -0,0 +1,75 @@ +name = 'NVHPC' +version = '24.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/hpc-sdk/' +description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)""" + +toolchain = SYSTEM + +local_tarball_tmpl = 'nvhpc_2024_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' +# By downloading, you accept the HPC SDK Software License Agreement +# https://docs.nvidia.com/hpc-sdk/eula/index.html +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/'] +sources = [local_tarball_tmpl % '%(arch)s'] +checksums = [ + { + local_tarball_tmpl % 'aarch64': + '8c2ce561d5901a03eadce7f07dce5fbc55e8e88c87b74cf60e01e2eca231c41c', + local_tarball_tmpl % 'ppc64le': + 'e7330eb35e23dcd9b0b3bedc67c0d5443c4fd76b59caa894a76ecb0d17f71f43', + local_tarball_tmpl % 'x86_64': + '27992e5fd56af8738501830daddc5e9510ebd553326fea8730236fee4f0f1dd8', + } +] + +local_gccver = '13.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.40', '', ('GCCcore', local_gccver)), + # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails + ('numactl', '2.0.16', '', ('GCCcore', local_gccver)), + ('CUDA', '12.3.0', '', SYSTEM), +] + +module_add_cuda = False + +# specify default CUDA version that should be used by NVHPC +# should match one of the CUDA versions that are included with this NVHPC version +# (see install_components/Linux_x86_64/$version/cuda/) where $version is the NVHPC version +# this version can be tweaked from the EasyBuild command line with +# --try-amend=default_cuda_version="11.0" (for example) +default_cuda_version = '%(cudaver)s' + +# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig. +# The following list gives examples for the easyconfig +# +# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA +# 1) Bundled CUDA +# If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with +# default_cuda_version = "11.0" +# in this easyconfig file; alternatively, it can be specified through the command line during installation with +# --try-amend=default_cuda_version="10.2" +# 2) CUDA provided via EasyBuild +# Use CUDA as a dependency, for example +# dependencies = [('CUDA', '11.5.0')] +# The parameter default_cuda_version still can be set as above. +# If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA) +# +# Define a NVHPC-default Compute Capability +# cuda_compute_capabilities = "8.0" +# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0 +# Only single values supported, not lists of values! +# +# Options to add/remove things to/from environment module (defaults shown) +# module_byo_compilers = False # Remove compilers from PATH (Bring-your-own compilers) +# module_nvhpc_own_mpi = False # Add NVHPC's own pre-compiled OpenMPI +# module_add_math_libs = False # Add NVHPC's math libraries (which should be there from CUDA anyway) +# module_add_profilers = False # Add NVHPC's NVIDIA Profilers +# module_add_nccl = False # Add NVHPC's NCCL library +# module_add_nvshmem = False # Add NVHPC's NVSHMEM library +# module_add_cuda = False # Add NVHPC's bundled CUDA + +# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS) +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/n/NiBabel/NiBabel-5.2.0-gfbf-2023a.eb b/easybuild/easyconfigs/n/NiBabel/NiBabel-5.2.0-gfbf-2023a.eb new file mode 100644 index 00000000000..f84ae976cbc --- /dev/null +++ b/easybuild/easyconfigs/n/NiBabel/NiBabel-5.2.0-gfbf-2023a.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'NiBabel' +version = '5.2.0' + +homepage = 'https://nipy.github.io/nibabel' +description = """NiBabel provides read/write access to some common medical and neuroimaging file formats, + including: ANALYZE (plain, SPM99, SPM2 and later), GIFTI, NIfTI1, NIfTI2, MINC1, MINC2, MGH and ECAT + as well as Philips PAR/REC. We can read and write Freesurfer geometry, and read Freesurfer morphometry and + annotation files. There is some very limited support for DICOM. NiBabel is the successor of PyNIfTI.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Pillow', '10.0.0'), + ('pydicom', '2.4.4'), +] + +use_pip = True + +exts_list = [ + ('bz2file', '0.98', { + 'checksums': ['64c1f811e31556ba9931953c8ec7b397488726c63e09a4c67004f43bdd28da88'], + }), + ('nibabel', version, { + 'checksums': ['3df8f1ab981d1bd92f4331d565528d126ab9717fdbd4cfe68f43fcd1c2bf3f52'], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/nib-dicomfs', 'bin/nib-diff', 'bin/nib-ls', 'bin/nib-nifti-dx', 'bin/parrec2nii'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "nib-diff --help", + "parrec2nii --help", +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/Nilearn/Nilearn-0.10.3-gfbf-2023a.eb b/easybuild/easyconfigs/n/Nilearn/Nilearn-0.10.3-gfbf-2023a.eb new file mode 100644 index 00000000000..ef06ec61da3 --- /dev/null +++ b/easybuild/easyconfigs/n/Nilearn/Nilearn-0.10.3-gfbf-2023a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'Nilearn' +version = '0.10.3' + +homepage = 'https://nilearn.github.io/' +description = """Nilearn is a Python module for fast and easy statistical learning on NeuroImaging data.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('lxml', '4.9.2'), + ('NiBabel', '5.2.0'), + ('scikit-learn', '1.3.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('nilearn', version, { + 'checksums': ['77819331314c4ca5c15c07634f69f855fafdf9add051b1882e3a600ad52757d8'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/Nipype/Nipype-1.6.0-foss-2020b.eb b/easybuild/easyconfigs/n/Nipype/Nipype-1.6.0-foss-2020b.eb new file mode 100644 index 00000000000..ce60ce71e31 --- /dev/null +++ b/easybuild/easyconfigs/n/Nipype/Nipype-1.6.0-foss-2020b.eb @@ -0,0 +1,85 @@ +easyblock = 'PythonBundle' + +name = 'Nipype' +version = '1.6.0' + +homepage = 'https://nipype.readthedocs.io' +description = """Nipype is a Python project that provides a uniform interface to existing neuroimaging software and + facilitates interaction between these packages within a single workflow.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('lxml', '4.6.2'), + ('networkx', '2.5'), + ('NiBabel', '3.2.1'), +] + +use_pip = True + +exts_list = [ + ('traits', '6.2.0', { + 'checksums': ['16fa1518b0778fd53bf0547e6a562b1787bf68c8f6b7995a13bd1902529fdb0c'], + }), + ('pydot', '1.4.2', { + 'checksums': ['248081a39bcb56784deb018977e428605c1c758f10897a339fce1dd728ff007d'], + }), + ('pydotplus', '2.0.2', { + 'checksums': ['91e85e9ee9b85d2391ead7d635e3d9c7f5f44fd60a60e59b13e2403fa66505c4'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('isodate', '0.6.0', { + 'checksums': ['2e364a3d5759479cdb2d37cce6b9376ea504db2ff90252a2e5b7cc89cc9ff2d8'], + }), + ('rdflib', '5.0.0', { + 'checksums': ['78149dd49d385efec3b3adfbd61c87afaf1281c30d3fcaf1b323b34f603fb155'], + }), + ('prov', '2.0.0', { + 'checksums': ['b6438f2195ecb9f6e8279b58971e02bc51814599b5d5383366eef91d867422ee'], + }), + ('simplejson', '3.17.2', { + 'checksums': ['75ecc79f26d99222a084fbdd1ce5aad3ac3a8bd535cd9059528452da38b68841'], + }), + ('pytest-forked', '1.3.0', { + 'modulename': 'pytest_forked', + 'checksums': ['6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca'], + }), + ('apipkg', '1.5', { + 'checksums': ['37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6'], + }), + ('execnet', '1.8.0', { + 'checksums': ['b73c5565e517f24b62dea8a5ceac178c661c4309d3aa0c3e420856c072c411b4'], + }), + ('pytest-xdist', '2.2.1', { + 'modulename': 'xdist', + 'checksums': ['718887296892f92683f6a51f25a3ae584993b06f7076ce1e1fd482e59a8220a2'], + }), + ('ci-info', '0.2.0', { + 'checksums': ['dd70632c977feb8797b1e633507166b64ad5f57183cebb2b0ea56934abba4616'], + }), + ('filelock', '3.0.12', { + 'checksums': ['18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59'], + }), + ('etelemetry', '0.2.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['3e304ea9070902e6367282369cb8eaae05f4beef9313820053cc03f611bd1e29'], + }), + ('nipype', version, { + 'preinstallopts': "sed -i'' 's/.*neurdflib.*//g' nipype/info.py && ", + 'checksums': ['bc56ce63f74c9a9a23c6edeaf77631377e8ad2bea928c898cc89527a47f101cf'], + }), +] + +sanity_check_paths = { + 'files': ['bin/nipypecli'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import nipype.interfaces'"] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.15-foss-2021b.eb b/easybuild/easyconfigs/n/napari/napari-0.4.15-foss-2021b.eb index 18337a90cfd..e4034ea4140 100644 --- a/easybuild/easyconfigs/n/napari/napari-0.4.15-foss-2021b.eb +++ b/easybuild/easyconfigs/n/napari/napari-0.4.15-foss-2021b.eb @@ -122,6 +122,8 @@ exts_list = [ }), ] +fix_python_shebang_for = ['bin/napari'] + sanity_check_paths = { 'files': ['bin/%(name)s'], 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2022a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2022a.eb index 261c09a9891..259846e68e2 100644 --- a/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2022a.eb +++ b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2022a.eb @@ -123,6 +123,8 @@ exts_list = [ }), ] +fix_python_shebang_for = ['bin/napari'] + sanity_check_paths = { 'files': ['bin/%(name)s'], 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2023a.eb new file mode 100644 index 00000000000..713e2ef6492 --- /dev/null +++ b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2023a.eb @@ -0,0 +1,130 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@emblde, 2023/08 +easyblock = 'PythonBundle' + +name = 'napari' +version = '0.4.18' + +homepage = 'https://napari.org/' +description = """napari is a fast, interactive, multi-dimensional image viewer for Python. It's +designed for browsing, annotating, and analyzing large multi-dimensional images. +It's built on top of Qt (for the GUI), vispy (for performant GPU-based +rendering), and the scientific Python stack (numpy, scipy).""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyQt5', '5.15.10'), + ('SciPy-bundle', '2023.07'), + ('PyYAML', '6.0'), + ('pydantic', '2.5.3'), + ('dask', '2023.9.2'), + ('PyOpenGL', '3.1.7'), + ('imageio', '2.33.1'), + ('tqdm', '4.66.1'), + ('IPython', '8.14.0'), + ('VisPy', '0.12.2'), # vispy<0.13,>=0.12.1 + ('scikit-image', '0.22.0'), + ('matplotlib', '3.7.2'), + ('Qtconsole', '5.5.1'), + ('Pint', '0.23'), + ('wrapt', '1.15.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('in_n_out', '0.1.9', { + 'checksums': ['89feb944e420faf42d3c2542145681b4d57144355932c2b859695fcdc4f9a2da'], + }), + ('pydantic_compat', '0.1.2', { + 'checksums': ['c5c5bca39ca2d22cad00c02898e400e1920e5127649a8e860637f15566739373'], + }), + ('app_model', '0.2.4', { + 'checksums': ['127cda637003a34b26371c9c68ae5b24d7012682f071a10657a94900c8cd439d'], + }), + ('cachey', '0.2.1', { + 'checksums': ['0310ba8afe52729fa7626325c8d8356a8421c434bf887ac851e58dcf7cf056a6'], + }), + ('lazy_loader', '0.3', { + 'checksums': ['3b68898e34f5b2a29daaaac172c6555512d0f32074f147e2254e4a6d9d838f37'], + }), + ('docstring_parser', '0.15', { + 'checksums': ['48ddc093e8b1865899956fcc03b03e66bb7240c310fac5af81814580c55bf682'], + }), + ('magicgui', '0.8.1', { + 'checksums': ['43553d8f11002a79dd5fee57caff3ba9d3e37d7d50e8ed40efe79b360adc806a'], + }), + ('numpydoc', '1.6.0', { + 'checksums': ['ae7a5380f0a06373c3afe16ccd15bd79bc6b07f2704cbc6f1e7ecc94b4f5fc0d'], + }), + ('psygnal', '0.9.5', { + 'checksums': ['4956ea6c36a75f7fc457558935b67dd8be2594661b4d08eeb3357d69c509c55f'], + }), + ('superqt', '0.6.1', { + 'checksums': ['f1a9e0499c4bbcef34b6f895eb57cd41301b3799242cd030029238124184dade'], + }), + ('napari-console', '0.0.9', { + 'checksums': ['3bc86dd96cf94b1af96bba1043f90a39b1369bb978a8df9038a1ac422e66b532'], + }), + ('napari-plugin-engine', '0.2.0', { + 'checksums': ['fa926f869d70e0d652c005661948cd0c7fee5508ae17d437937f34f5287590b3'], + }), + ('napari-svg', '0.1.10', { + 'checksums': ['18e642c888a71e09c9d1097f25bced1e7ef5dde1771469647bcd77975800f77d'], + }), + ('typer', '0.9.0', { + 'checksums': ['50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2'], + }), + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + ('build', '1.0.3', { + 'checksums': ['538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('rich', '13.7.0', { + 'checksums': ['5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa'], + }), + ('npe2', '0.7.3', { + 'checksums': ['4bbb45577a7c60e1aa15636040ef4cf7690d22470e08717af689f50ddeffc807'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + (name, version, { + 'patches': ['%(name)s-0.4.18_pydantic2-compatibility.patch'], + 'preinstallopts': "sed -i 's|sphinx.*|sphinx|g' setup.cfg && ", + 'checksums': [ + {'napari-0.4.18.tar.gz': 'daea9ab94124140fc0f715e945dd1dd6dc3056a1cb2f2cc31fc29b80162943e4'}, + {'napari-0.4.18_pydantic2-compatibility.patch': + '4f4b828dc2ff680c21428c427d44cebbdfa490233cbbaffe51b9548ab4e2c999'}, + ], + }), +] + +fix_python_shebang_for = ['bin/napari'] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +sanity_check_commands = [ + '%(name)s --help', + 'pyrcc5 -version 2>&1 |grep pyrcc5' # make sure PyQt5 module was not built with --no-tools +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.18_pydantic2-compatibility.patch b/easybuild/easyconfigs/n/napari/napari-0.4.18_pydantic2-compatibility.patch new file mode 100644 index 00000000000..c78f0c3c77e --- /dev/null +++ b/easybuild/easyconfigs/n/napari/napari-0.4.18_pydantic2-compatibility.patch @@ -0,0 +1,827 @@ +Backport pydantic 2.x compatibility from 0.4.19 release candidates to napari 0.4.18 +Based on: https://github.com/napari/napari/commit/e9ea8d06d5f9f8e029f464b3938e6a60df3f6bb8 +diff -Nru napari-0.4.18.orig/napari/components/camera.py napari-0.4.18/napari/components/camera.py +--- napari-0.4.18.orig/napari/components/camera.py 2024-01-25 13:30:10.975544424 +0000 ++++ napari-0.4.18/napari/components/camera.py 2024-01-25 13:30:22.482507550 +0000 +@@ -2,9 +2,9 @@ + from typing import Optional, Tuple + + import numpy as np +-from pydantic import validator + from scipy.spatial.transform import Rotation as R + ++from napari._pydantic_compat import validator + from napari.utils.events import EventedModel + from napari.utils.misc import ensure_n_tuple + from napari.utils.translations import trans +diff -Nru napari-0.4.18.orig/napari/components/dims.py napari-0.4.18/napari/components/dims.py +--- napari-0.4.18.orig/napari/components/dims.py 2024-01-25 13:30:10.976544421 +0000 ++++ napari-0.4.18/napari/components/dims.py 2024-01-25 13:30:22.482507550 +0000 +@@ -7,8 +7,8 @@ + ) + + import numpy as np +-from pydantic import root_validator, validator + ++from napari._pydantic_compat import root_validator, validator + from napari.utils.events import EventedModel + from napari.utils.misc import argsort, reorder_after_dim_reduction + from napari.utils.translations import trans +diff -Nru napari-0.4.18.orig/napari/components/viewer_model.py napari-0.4.18/napari/components/viewer_model.py +--- napari-0.4.18.orig/napari/components/viewer_model.py 2024-01-25 13:30:10.977544418 +0000 ++++ napari-0.4.18/napari/components/viewer_model.py 2024-01-25 13:30:22.483507547 +0000 +@@ -20,9 +20,9 @@ + ) + + import numpy as np +-from pydantic import Extra, Field, PrivateAttr, validator + + from napari import layers ++from napari._pydantic_compat import Extra, Field, PrivateAttr, validator + from napari.components._viewer_mouse_bindings import dims_scroll + from napari.components.camera import Camera + from napari.components.cursor import Cursor +diff -Nru napari-0.4.18.orig/napari/layers/points/_tests/test_points.py napari-0.4.18/napari/layers/points/_tests/test_points.py +--- napari-0.4.18.orig/napari/layers/points/_tests/test_points.py 2024-01-25 13:30:10.979544411 +0000 ++++ napari-0.4.18/napari/layers/points/_tests/test_points.py 2024-01-25 13:30:22.483507547 +0000 +@@ -6,9 +6,9 @@ + import pandas as pd + import pytest + from psygnal.containers import Selection +-from pydantic import ValidationError + from vispy.color import get_colormap + ++from napari._pydantic_compat import ValidationError + from napari._tests.utils import ( + assert_colors_equal, + assert_layer_state_equal, +diff -Nru napari-0.4.18.orig/napari/layers/shapes/_tests/test_shapes.py napari-0.4.18/napari/layers/shapes/_tests/test_shapes.py +--- napari-0.4.18.orig/napari/layers/shapes/_tests/test_shapes.py 2024-01-25 13:30:10.980544408 +0000 ++++ napari-0.4.18/napari/layers/shapes/_tests/test_shapes.py 2024-01-25 13:30:22.483507547 +0000 +@@ -5,8 +5,8 @@ + import numpy as np + import pandas as pd + import pytest +-from pydantic import ValidationError + ++from napari._pydantic_compat import ValidationError + from napari._tests.utils import ( + assert_colors_equal, + check_layer_world_data_extent, +diff -Nru napari-0.4.18.orig/napari/layers/_source.py napari-0.4.18/napari/layers/_source.py +--- napari-0.4.18.orig/napari/layers/_source.py 2024-01-25 13:30:10.977544418 +0000 ++++ napari-0.4.18/napari/layers/_source.py 2024-01-25 13:30:22.483507547 +0000 +@@ -6,8 +6,8 @@ + from typing import Optional, Tuple + + from magicgui.widgets import FunctionGui +-from pydantic import BaseModel, validator + ++from napari._pydantic_compat import BaseModel, validator + from napari.layers.base.base import Layer + + +diff -Nru napari-0.4.18.orig/napari/layers/surface/normals.py napari-0.4.18/napari/layers/surface/normals.py +--- napari-0.4.18.orig/napari/layers/surface/normals.py 2024-01-25 13:30:10.980544408 +0000 ++++ napari-0.4.18/napari/layers/surface/normals.py 2024-01-25 13:30:22.483507547 +0000 +@@ -1,7 +1,6 @@ + from enum import Enum, auto + +-from pydantic import Field +- ++from napari._pydantic_compat import Field + from napari.utils.color import ColorValue + from napari.utils.events import EventedModel + +diff -Nru napari-0.4.18.orig/napari/layers/_tests/test_source.py napari-0.4.18/napari/layers/_tests/test_source.py +--- napari-0.4.18.orig/napari/layers/_tests/test_source.py 2024-01-25 13:30:10.977544418 +0000 ++++ napari-0.4.18/napari/layers/_tests/test_source.py 2024-01-25 13:30:22.483507547 +0000 +@@ -1,6 +1,6 @@ +-import pydantic + import pytest + ++from napari._pydantic_compat import ValidationError + from napari.layers import Points + from napari.layers._source import Source, current_source, layer_source + +@@ -46,7 +46,7 @@ + + def test_source_assert_parent(): + assert current_source() == Source() +- with pytest.raises(pydantic.error_wrappers.ValidationError): ++ with pytest.raises(ValidationError): + with layer_source(parent=''): + current_source() + assert current_source() == Source() +diff -Nru napari-0.4.18.orig/napari/layers/utils/color_encoding.py napari-0.4.18/napari/layers/utils/color_encoding.py +--- napari-0.4.18.orig/napari/layers/utils/color_encoding.py 2024-01-25 13:30:10.981544405 +0000 ++++ napari-0.4.18/napari/layers/utils/color_encoding.py 2024-01-25 13:30:22.484507544 +0000 +@@ -9,8 +9,8 @@ + ) + + import numpy as np +-from pydantic import Field, parse_obj_as, validator + ++from napari._pydantic_compat import Field, parse_obj_as, validator + from napari.layers.utils.color_transformations import ColorType + from napari.layers.utils.style_encoding import ( + StyleEncoding, +diff -Nru napari-0.4.18.orig/napari/layers/utils/color_manager.py napari-0.4.18/napari/layers/utils/color_manager.py +--- napari-0.4.18.orig/napari/layers/utils/color_manager.py 2024-01-25 13:30:10.981544405 +0000 ++++ napari-0.4.18/napari/layers/utils/color_manager.py 2024-01-25 13:30:22.484507544 +0000 +@@ -3,8 +3,8 @@ + from typing import Any, Dict, Optional, Tuple, Union + + import numpy as np +-from pydantic import Field, root_validator, validator + ++from napari._pydantic_compat import Field, root_validator, validator + from napari.layers.utils._color_manager_constants import ColorMode + from napari.layers.utils.color_manager_utils import ( + _validate_colormap_mode, +diff -Nru napari-0.4.18.orig/napari/layers/utils/plane.py napari-0.4.18/napari/layers/utils/plane.py +--- napari-0.4.18.orig/napari/layers/utils/plane.py 2024-01-25 13:30:10.981544405 +0000 ++++ napari-0.4.18/napari/layers/utils/plane.py 2024-01-25 13:30:22.484507544 +0000 +@@ -1,8 +1,8 @@ + from typing import Tuple + + import numpy as np +-from pydantic import validator + ++from napari._pydantic_compat import validator + from napari.utils.events import EventedModel, SelectableEventedList + from napari.utils.geometry import intersect_line_with_plane_3d + from napari.utils.translations import trans +diff -Nru napari-0.4.18.orig/napari/layers/utils/string_encoding.py napari-0.4.18/napari/layers/utils/string_encoding.py +--- napari-0.4.18.orig/napari/layers/utils/string_encoding.py 2024-01-25 13:30:10.981544405 +0000 ++++ napari-0.4.18/napari/layers/utils/string_encoding.py 2024-01-25 13:30:22.484507544 +0000 +@@ -2,8 +2,8 @@ + from typing import Any, Literal, Protocol, Sequence, Union, runtime_checkable + + import numpy as np +-from pydantic import parse_obj_as + ++from napari._pydantic_compat import parse_obj_as + from napari.layers.utils.style_encoding import ( + StyleEncoding, + _ConstantStyleEncoding, +diff -Nru napari-0.4.18.orig/napari/layers/utils/_tests/test_color_manager.py napari-0.4.18/napari/layers/utils/_tests/test_color_manager.py +--- napari-0.4.18.orig/napari/layers/utils/_tests/test_color_manager.py 2024-01-25 13:30:10.980544408 +0000 ++++ napari-0.4.18/napari/layers/utils/_tests/test_color_manager.py 2024-01-25 13:30:22.483507547 +0000 +@@ -3,8 +3,8 @@ + + import numpy as np + import pytest +-from pydantic import ValidationError + ++from napari._pydantic_compat import ValidationError + from napari.layers.utils.color_manager import ColorManager, ColorProperties + from napari.utils.colormaps.categorical_colormap import CategoricalColormap + from napari.utils.colormaps.standardize_color import transform_color +diff -Nru napari-0.4.18.orig/napari/layers/utils/_tests/test_plane.py napari-0.4.18/napari/layers/utils/_tests/test_plane.py +--- napari-0.4.18.orig/napari/layers/utils/_tests/test_plane.py 2024-01-25 13:30:10.981544405 +0000 ++++ napari-0.4.18/napari/layers/utils/_tests/test_plane.py 2024-01-25 13:30:22.483507547 +0000 +@@ -1,7 +1,7 @@ + import numpy as np + import pytest +-from pydantic import ValidationError + ++from napari._pydantic_compat import ValidationError + from napari.layers.utils.plane import ClippingPlaneList, Plane, SlicingPlane + + +diff -Nru napari-0.4.18.orig/napari/layers/utils/_tests/test_style_encoding.py napari-0.4.18/napari/layers/utils/_tests/test_style_encoding.py +--- napari-0.4.18.orig/napari/layers/utils/_tests/test_style_encoding.py 2024-01-25 13:30:10.981544405 +0000 ++++ napari-0.4.18/napari/layers/utils/_tests/test_style_encoding.py 2024-01-25 13:30:22.483507547 +0000 +@@ -13,8 +13,8 @@ + import numpy as np + import pandas as pd + import pytest +-from pydantic import Field + ++from napari._pydantic_compat import Field + from napari.layers.utils.style_encoding import ( + _ConstantStyleEncoding, + _DerivedStyleEncoding, +diff -Nru napari-0.4.18.orig/napari/layers/utils/_tests/test_text_manager.py napari-0.4.18/napari/layers/utils/_tests/test_text_manager.py +--- napari-0.4.18.orig/napari/layers/utils/_tests/test_text_manager.py 2024-01-25 13:30:10.981544405 +0000 ++++ napari-0.4.18/napari/layers/utils/_tests/test_text_manager.py 2024-01-25 13:30:22.484507544 +0000 +@@ -1,8 +1,8 @@ + import numpy as np + import pandas as pd + import pytest +-from pydantic import ValidationError + ++from napari._pydantic_compat import ValidationError + from napari._tests.utils import assert_colors_equal + from napari.layers.utils.string_encoding import ( + ConstantStringEncoding, +diff -Nru napari-0.4.18.orig/napari/layers/utils/text_manager.py napari-0.4.18/napari/layers/utils/text_manager.py +--- napari-0.4.18.orig/napari/layers/utils/text_manager.py 2024-01-25 13:30:10.981544405 +0000 ++++ napari-0.4.18/napari/layers/utils/text_manager.py 2024-01-25 13:30:22.484507544 +0000 +@@ -4,8 +4,8 @@ + + import numpy as np + import pandas as pd +-from pydantic import PositiveInt, validator + ++from napari._pydantic_compat import PositiveInt, validator + from napari.layers.base._base_constants import Blending + from napari.layers.utils._text_constants import Anchor + from napari.layers.utils._text_utils import get_text_anchors +diff -Nru napari-0.4.18.orig/napari/plugins/_plugin_manager.py napari-0.4.18/napari/plugins/_plugin_manager.py +--- napari-0.4.18.orig/napari/plugins/_plugin_manager.py 2024-01-25 13:30:10.981544405 +0000 ++++ napari-0.4.18/napari/plugins/_plugin_manager.py 2024-01-25 13:30:22.484507544 +0000 +@@ -22,9 +22,9 @@ + PluginManager as PluginManager, + ) + from napari_plugin_engine.hooks import HookCaller +-from pydantic import ValidationError + from typing_extensions import TypedDict + ++from napari._pydantic_compat import ValidationError + from napari.plugins import hook_specifications + from napari.settings import get_settings + from napari.types import AugmentedWidget, LayerData, SampleDict, WidgetCallable +diff -Nru napari-0.4.18.orig/napari/_pydantic_compat.py napari-0.4.18/napari/_pydantic_compat.py +--- napari-0.4.18.orig/napari/_pydantic_compat.py 1970-01-01 01:00:00.000000000 +0100 ++++ napari-0.4.18/napari/_pydantic_compat.py 2024-01-25 13:30:22.482507550 +0000 +@@ -0,0 +1,97 @@ ++try: ++ # pydantic v2 ++ from pydantic.v1 import ( ++ BaseModel, ++ BaseSettings, ++ Extra, ++ Field, ++ PositiveInt, ++ PrivateAttr, ++ ValidationError, ++ color, ++ conlist, ++ constr, ++ errors, ++ main, ++ parse_obj_as, ++ root_validator, ++ types, ++ utils, ++ validator, ++ ) ++ from pydantic.v1.env_settings import ( ++ EnvSettingsSource, ++ SettingsError, ++ SettingsSourceCallable, ++ ) ++ from pydantic.v1.error_wrappers import ErrorWrapper, display_errors ++ from pydantic.v1.fields import SHAPE_LIST, ModelField ++ from pydantic.v1.generics import GenericModel ++ from pydantic.v1.main import ClassAttribute, ModelMetaclass ++ from pydantic.v1.utils import ROOT_KEY, sequence_like ++except ImportError: ++ # pydantic v1 ++ from pydantic import ( ++ BaseModel, ++ BaseSettings, ++ Extra, ++ Field, ++ PositiveInt, ++ PrivateAttr, ++ ValidationError, ++ color, ++ conlist, ++ constr, ++ errors, ++ main, ++ parse_obj_as, ++ root_validator, ++ types, ++ utils, ++ validator, ++ ) ++ from pydantic.env_settings import ( ++ EnvSettingsSource, ++ SettingsError, ++ SettingsSourceCallable, ++ ) ++ from pydantic.error_wrappers import ErrorWrapper, display_errors ++ from pydantic.fields import SHAPE_LIST, ModelField ++ from pydantic.generics import GenericModel ++ from pydantic.main import ClassAttribute, ModelMetaclass ++ from pydantic.utils import ROOT_KEY, sequence_like ++ ++Color = color.Color ++ ++__all__ = ( ++ 'BaseModel', ++ 'BaseSettings', ++ 'ClassAttribute', ++ 'Color', ++ 'EnvSettingsSource', ++ 'ErrorWrapper', ++ 'Extra', ++ 'Field', ++ 'ModelField', ++ 'GenericModel', ++ 'ModelMetaclass', ++ 'PositiveInt', ++ 'PrivateAttr', ++ 'ROOT_KEY', ++ 'SettingsError', ++ 'SettingsSourceCallable', ++ 'SHAPE_LIST', ++ 'ValidationError', ++ 'color', ++ 'conlist', ++ 'constr', ++ 'display_errors', ++ 'errors', ++ 'main', ++ 'parse_obj_as', ++ 'root_validator', ++ 'sequence_like', ++ 'types', ++ 'utils', ++ 'validator', ++) +diff -Nru napari-0.4.18.orig/napari/_qt/dialogs/preferences_dialog.py napari-0.4.18/napari/_qt/dialogs/preferences_dialog.py +--- napari-0.4.18.orig/napari/_qt/dialogs/preferences_dialog.py 2024-01-25 13:30:10.968544447 +0000 ++++ napari-0.4.18/napari/_qt/dialogs/preferences_dialog.py 2024-01-25 13:30:22.482507550 +0000 +@@ -2,7 +2,6 @@ + from enum import EnumMeta + from typing import TYPE_CHECKING, Tuple, cast + +-from pydantic.main import BaseModel, ModelMetaclass + from qtpy.QtCore import QSize, Qt, Signal + from qtpy.QtWidgets import ( + QDialog, +@@ -14,10 +13,10 @@ + QVBoxLayout, + ) + ++from napari._pydantic_compat import BaseModel, ModelField, ModelMetaclass + from napari.utils.translations import trans + + if TYPE_CHECKING: +- from pydantic.fields import ModelField + from qtpy.QtGui import QCloseEvent, QKeyEvent + + +diff -Nru napari-0.4.18.orig/napari/_qt/dialogs/_tests/test_preferences_dialog.py napari-0.4.18/napari/_qt/dialogs/_tests/test_preferences_dialog.py +--- napari-0.4.18.orig/napari/_qt/dialogs/_tests/test_preferences_dialog.py 2024-01-25 13:30:10.968544447 +0000 ++++ napari-0.4.18/napari/_qt/dialogs/_tests/test_preferences_dialog.py 2024-01-25 13:30:22.482507550 +0000 +@@ -1,7 +1,7 @@ + import pytest +-from pydantic import BaseModel + from qtpy.QtCore import Qt + ++from napari._pydantic_compat import BaseModel + from napari._qt.dialogs.preferences_dialog import ( + PreferencesDialog, + QMessageBox, +diff -Nru napari-0.4.18.orig/napari/settings/_appearance.py napari-0.4.18/napari/settings/_appearance.py +--- napari-0.4.18.orig/napari/settings/_appearance.py 2024-01-25 13:30:10.984544395 +0000 ++++ napari-0.4.18/napari/settings/_appearance.py 2024-01-25 13:30:22.484507544 +0000 +@@ -1,5 +1,4 @@ +-from pydantic import Field +- ++from napari._pydantic_compat import Field + from napari.settings._fields import Theme + from napari.utils.events.evented_model import EventedModel + from napari.utils.theme import available_themes +diff -Nru napari-0.4.18.orig/napari/settings/_application.py napari-0.4.18/napari/settings/_application.py +--- napari-0.4.18.orig/napari/settings/_application.py 2024-01-25 13:30:10.984544395 +0000 ++++ napari-0.4.18/napari/settings/_application.py 2024-01-25 13:30:22.484507544 +0000 +@@ -3,8 +3,8 @@ + from typing import List, Optional, Tuple + + from psutil import virtual_memory +-from pydantic import Field, validator + ++from napari._pydantic_compat import Field, validator + from napari.settings._constants import LoopMode + from napari.settings._fields import Language + from napari.utils._base import _DEFAULT_LOCALE +diff -Nru napari-0.4.18.orig/napari/settings/_base.py napari-0.4.18/napari/settings/_base.py +--- napari-0.4.18.orig/napari/settings/_base.py 2024-01-25 13:30:10.984544395 +0000 ++++ napari-0.4.18/napari/settings/_base.py 2024-01-25 13:30:22.484507544 +0000 +@@ -9,10 +9,13 @@ + from typing import TYPE_CHECKING, Dict, List, Optional, Sequence, Tuple, cast + from warnings import warn + +-from pydantic import BaseModel, BaseSettings, ValidationError +-from pydantic.env_settings import SettingsError +-from pydantic.error_wrappers import display_errors +- ++from napari._pydantic_compat import ( ++ BaseModel, ++ BaseSettings, ++ SettingsError, ++ ValidationError, ++ display_errors, ++) + from napari.settings._yaml import PydanticYamlMixin + from napari.utils.events import EmitterGroup, EventedModel + from napari.utils.misc import deep_update +@@ -23,8 +26,10 @@ + if TYPE_CHECKING: + from typing import AbstractSet, Any, Union + +- from pydantic.env_settings import EnvSettingsSource, SettingsSourceCallable +- ++ from napari._pydantic_compat import ( ++ EnvSettingsSource, ++ SettingsSourceCallable, ++ ) + from napari.utils.events import Event + + IntStr = Union[int, str] +@@ -33,7 +38,7 @@ + MappingIntStrAny = Mapping[IntStr, Any] + + +-class EventedSettings(BaseSettings, EventedModel): # type: ignore[misc] ++class EventedSettings(BaseSettings, EventedModel): + """A variant of EventedModel designed for settings. + + Pydantic's BaseSettings model will attempt to determine the values of any +@@ -116,7 +121,7 @@ + """Return the path to/from which settings be saved/loaded.""" + return self._config_path + +- def dict( # type: ignore [override] ++ def dict( + self, + *, + include: Union[AbstractSetIntStr, MappingIntStrAny] = None, # type: ignore +@@ -241,7 +246,7 @@ + the return list to change the priority of sources. + """ + cls._env_settings = nested_env_settings(env_settings) +- return ( # type: ignore [return-value] ++ return ( + init_settings, + cls._env_settings, + cls._config_file_settings_source, +diff -Nru napari-0.4.18.orig/napari/settings/_experimental.py napari-0.4.18/napari/settings/_experimental.py +--- napari-0.4.18.orig/napari/settings/_experimental.py 2024-01-25 13:30:10.984544395 +0000 ++++ napari-0.4.18/napari/settings/_experimental.py 2024-01-25 13:30:22.484507544 +0000 +@@ -1,7 +1,6 @@ + from typing import Union + +-from pydantic import Field +- ++from napari._pydantic_compat import Field + from napari.settings._base import EventedSettings + from napari.utils.translations import trans + +diff -Nru napari-0.4.18.orig/napari/settings/_napari_settings.py napari-0.4.18/napari/settings/_napari_settings.py +--- napari-0.4.18.orig/napari/settings/_napari_settings.py 2024-01-25 13:30:10.984544395 +0000 ++++ napari-0.4.18/napari/settings/_napari_settings.py 2024-01-25 13:30:22.484507544 +0000 +@@ -2,8 +2,7 @@ + from pathlib import Path + from typing import Any, Optional + +-from pydantic import Field +- ++from napari._pydantic_compat import Field + from napari.settings._appearance import AppearanceSettings + from napari.settings._application import ApplicationSettings + from napari.settings._base import ( +diff -Nru napari-0.4.18.orig/napari/settings/_plugins.py napari-0.4.18/napari/settings/_plugins.py +--- napari-0.4.18.orig/napari/settings/_plugins.py 2024-01-25 13:30:10.984544395 +0000 ++++ napari-0.4.18/napari/settings/_plugins.py 2024-01-25 13:30:22.484507544 +0000 +@@ -1,8 +1,8 @@ + from typing import Dict, List, Set + +-from pydantic import Field + from typing_extensions import TypedDict + ++from napari._pydantic_compat import Field + from napari.settings._base import EventedSettings + from napari.utils.translations import trans + +diff -Nru napari-0.4.18.orig/napari/settings/_shortcuts.py napari-0.4.18/napari/settings/_shortcuts.py +--- napari-0.4.18.orig/napari/settings/_shortcuts.py 2024-01-25 13:30:10.984544395 +0000 ++++ napari-0.4.18/napari/settings/_shortcuts.py 2024-01-25 13:30:22.484507544 +0000 +@@ -1,7 +1,6 @@ + from typing import Dict, List + +-from pydantic import Field, validator +- ++from napari._pydantic_compat import Field, validator + from napari.utils.events.evented_model import EventedModel + from napari.utils.shortcuts import default_shortcuts + from napari.utils.translations import trans +diff -Nru napari-0.4.18.orig/napari/settings/_tests/test_settings.py napari-0.4.18/napari/settings/_tests/test_settings.py +--- napari-0.4.18.orig/napari/settings/_tests/test_settings.py 2024-01-25 13:30:10.984544395 +0000 ++++ napari-0.4.18/napari/settings/_tests/test_settings.py 2024-01-25 13:30:22.484507544 +0000 +@@ -2,11 +2,11 @@ + import os + from pathlib import Path + +-import pydantic + import pytest + from yaml import safe_load + + from napari import settings ++from napari._pydantic_compat import Field, ValidationError + from napari.settings import CURRENT_SCHEMA_VERSION, NapariSettings + from napari.utils.theme import get_theme, register_theme + +@@ -74,7 +74,7 @@ + data = "appearance:\n theme: 1" + fake_path = tmp_path / 'fake_path.yml' + fake_path.write_text(data) +- with pytest.raises(pydantic.ValidationError): ++ with pytest.raises(ValidationError): + NapariSettings(fake_path) + + +@@ -108,8 +108,8 @@ + fake_path = tmp_path / 'fake_path.yml' + fake_path.write_text(data) + +- settings = NapariSettings(fake_path) +- assert getattr(settings, "non_existing_section", None) is None ++ settings_ = NapariSettings(fake_path) ++ assert getattr(settings_, "non_existing_section", None) is None + + + def test_settings_to_dict(test_settings): +@@ -145,11 +145,11 @@ + + + def test_settings_model(test_settings): +- with pytest.raises(pydantic.error_wrappers.ValidationError): ++ with pytest.raises(ValidationError): + # Should be string + test_settings.appearance.theme = 1 + +- with pytest.raises(pydantic.error_wrappers.ValidationError): ++ with pytest.raises(ValidationError): + # Should be a valid string + test_settings.appearance.theme = "vaporwave" + +@@ -159,7 +159,7 @@ + custom_theme_name = "_test_blue_" + + # No theme registered yet, this should fail +- with pytest.raises(pydantic.error_wrappers.ValidationError): ++ with pytest.raises(ValidationError): + test_settings.appearance.theme = custom_theme_name + + blue_theme = get_theme('dark', True) +@@ -219,7 +219,7 @@ + + def test_settings_env_variables_fails(monkeypatch): + monkeypatch.setenv('NAPARI_APPEARANCE_THEME', 'FOOBAR') +- with pytest.raises(pydantic.ValidationError): ++ with pytest.raises(ValidationError): + NapariSettings() + + +@@ -228,7 +228,7 @@ + from napari.settings._base import EventedSettings + + class Sub(EventedSettings): +- x: int = pydantic.Field(1, env='varname') ++ x: int = Field(1, env='varname') + + class T(NapariSettings): + sub: Sub +diff -Nru napari-0.4.18.orig/napari/settings/_yaml.py napari-0.4.18/napari/settings/_yaml.py +--- napari-0.4.18.orig/napari/settings/_yaml.py 2024-01-25 13:30:10.984544395 +0000 ++++ napari-0.4.18/napari/settings/_yaml.py 2024-01-25 13:30:22.485507540 +0000 +@@ -3,9 +3,9 @@ + from enum import Enum + from typing import TYPE_CHECKING, Type + +-from pydantic import BaseModel + from yaml import SafeDumper, dump_all + ++from napari._pydantic_compat import BaseModel + from napari.settings._fields import Version + + if TYPE_CHECKING: +@@ -77,7 +77,7 @@ + exclude_none=exclude_none, + ) + if self.__custom_root_type__: +- from pydantic.utils import ROOT_KEY ++ from napari._pydantic_compat import ROOT_KEY + + data = data[ROOT_KEY] + return self._yaml_dump(data, dumper, **dumps_kwargs) +diff -Nru napari-0.4.18.orig/napari/utils/colormaps/colormap.py napari-0.4.18/napari/utils/colormaps/colormap.py +--- napari-0.4.18.orig/napari/utils/colormaps/colormap.py 2024-01-25 13:30:10.985544392 +0000 ++++ napari-0.4.18/napari/utils/colormaps/colormap.py 2024-01-25 13:33:20.714011699 +0000 +@@ -2,7 +2,7 @@ + from typing import Optional + + import numpy as np +-from pydantic import PrivateAttr, validator ++from napari._pydantic_compat import Field, PrivateAttr, validator + + from napari.utils.color import ColorArray + from napari.utils.colormaps.colorbars import make_colorbar +diff -Nru napari-0.4.18.orig/napari/utils/events/containers/_selection.py napari-0.4.18/napari/utils/events/containers/_selection.py +--- napari-0.4.18.orig/napari/utils/events/containers/_selection.py 2024-01-25 13:30:10.986544389 +0000 ++++ napari-0.4.18/napari/utils/events/containers/_selection.py 2024-01-25 13:30:22.485507540 +0000 +@@ -5,7 +5,7 @@ + from napari.utils.translations import trans + + if TYPE_CHECKING: +- from pydantic.fields import ModelField ++ from napari._pydantic_compat import ModelField + + _T = TypeVar("_T") + _S = TypeVar("_S") +@@ -140,7 +140,7 @@ + @classmethod + def validate(cls, v, field: 'ModelField'): + """Pydantic validator.""" +- from pydantic.utils import sequence_like ++ from napari._pydantic_compat import sequence_like + + if isinstance(v, dict): + data = v.get("selection", []) +@@ -180,7 +180,7 @@ + errors.append(error) + + if errors: +- from pydantic import ValidationError ++ from napari._pydantic_compat import ValidationError + + raise ValidationError(errors, cls) # type: ignore + obj = cls(data=data) +diff -Nru napari-0.4.18.orig/napari/utils/events/containers/_set.py napari-0.4.18/napari/utils/events/containers/_set.py +--- napari-0.4.18.orig/napari/utils/events/containers/_set.py 2024-01-25 13:30:10.986544389 +0000 ++++ napari-0.4.18/napari/utils/events/containers/_set.py 2024-01-25 13:30:22.485507540 +0000 +@@ -8,7 +8,7 @@ + _T = TypeVar("_T") + + if TYPE_CHECKING: +- from pydantic.fields import ModelField ++ from napari._pydantic_compat import ModelField + + + class EventedSet(MutableSet[_T]): +@@ -165,7 +165,7 @@ + @classmethod + def validate(cls, v, field: ModelField): + """Pydantic validator.""" +- from pydantic.utils import sequence_like ++ from napari._pydantic_compat import sequence_like + + if not sequence_like(v): + raise TypeError( +@@ -185,7 +185,7 @@ + if error: + errors.append(error) + if errors: +- from pydantic import ValidationError ++ from napari._pydantic_compat import ValidationError + + raise ValidationError(errors, cls) # type: ignore + return cls(v) +diff -Nru napari-0.4.18.orig/napari/utils/events/custom_types.py napari-0.4.18/napari/utils/events/custom_types.py +--- napari-0.4.18.orig/napari/utils/events/custom_types.py 2024-01-25 13:30:10.986544389 +0000 ++++ napari-0.4.18/napari/utils/events/custom_types.py 2024-01-25 13:30:22.485507540 +0000 +@@ -11,12 +11,13 @@ + ) + + import numpy as np +-from pydantic import errors, types ++ ++from napari._pydantic_compat import errors, types + + if TYPE_CHECKING: + from decimal import Decimal + +- from pydantic.fields import ModelField ++ from napari._pydantic_compat import ModelField + + Number = Union[int, float, Decimal] + +diff -Nru napari-0.4.18.orig/napari/utils/events/debugging.py napari-0.4.18/napari/utils/events/debugging.py +--- napari-0.4.18.orig/napari/utils/events/debugging.py 2024-01-25 13:30:10.986544389 +0000 ++++ napari-0.4.18/napari/utils/events/debugging.py 2024-01-25 13:30:22.485507540 +0000 +@@ -4,8 +4,7 @@ + from textwrap import indent + from typing import TYPE_CHECKING, ClassVar, Set + +-from pydantic import BaseSettings, Field, PrivateAttr +- ++from napari._pydantic_compat import BaseSettings, Field, PrivateAttr + from napari.utils.misc import ROOT_DIR + from napari.utils.translations import trans + +@@ -39,8 +38,12 @@ + # to include/exclude when printing events. + include_emitters: Set[str] = Field(default_factory=set) + include_events: Set[str] = Field(default_factory=set) +- exclude_emitters: Set[str] = {'TransformChain', 'Context'} +- exclude_events: Set[str] = {'status', 'position'} ++ exclude_emitters: Set[str] = Field( ++ default_factory=lambda: {'TransformChain', 'Context'} ++ ) ++ exclude_events: Set[str] = Field( ++ default_factory=lambda: {'status', 'position'} ++ ) + # stack depth to show + stack_depth: int = 20 + # how many sub-emit nesting levels to show +diff -Nru napari-0.4.18.orig/napari/utils/events/evented_model.py napari-0.4.18/napari/utils/events/evented_model.py +--- napari-0.4.18.orig/napari/utils/events/evented_model.py 2024-01-25 13:30:10.986544389 +0000 ++++ napari-0.4.18/napari/utils/events/evented_model.py 2024-01-25 13:30:22.485507540 +0000 +@@ -5,8 +5,14 @@ + from typing import Any, Callable, ClassVar, Dict, Set, Union + + import numpy as np +-from pydantic import BaseModel, PrivateAttr, main, utils + ++from napari._pydantic_compat import ( ++ BaseModel, ++ ModelMetaclass, ++ PrivateAttr, ++ main, ++ utils, ++) + from napari.utils.events.event import EmitterGroup, Event + from napari.utils.misc import pick_equality_operator + from napari.utils.translations import trans +@@ -63,7 +69,7 @@ + main.ClassAttribute = utils.ClassAttribute + + +-class EventedMetaclass(main.ModelMetaclass): ++class EventedMetaclass(ModelMetaclass): + """pydantic ModelMetaclass that preps "equality checking" operations. + + A metaclass is the thing that "constructs" a class, and ``ModelMetaclass`` +diff -Nru napari-0.4.18.orig/napari/utils/events/_tests/test_evented_model.py napari-0.4.18/napari/utils/events/_tests/test_evented_model.py +--- napari-0.4.18.orig/napari/utils/events/_tests/test_evented_model.py 2024-01-25 13:30:10.986544389 +0000 ++++ napari-0.4.18/napari/utils/events/_tests/test_evented_model.py 2024-01-25 13:30:22.485507540 +0000 +@@ -9,8 +9,8 @@ + import pytest + from dask import delayed + from dask.delayed import Delayed +-from pydantic import Field + ++from napari._pydantic_compat import Field + from napari.utils.events import EmitterGroup, EventedModel + from napari.utils.events.custom_types import Array + from napari.utils.misc import StringEnum +diff -Nru napari-0.4.18.orig/napari/utils/events/_tests/test_selection.py napari-0.4.18/napari/utils/events/_tests/test_selection.py +--- napari-0.4.18.orig/napari/utils/events/_tests/test_selection.py 2024-01-25 13:30:10.986544389 +0000 ++++ napari-0.4.18/napari/utils/events/_tests/test_selection.py 2024-01-25 13:30:22.485507540 +0000 +@@ -1,8 +1,8 @@ + from unittest.mock import Mock + + import pytest +-from pydantic import ValidationError + ++from napari._pydantic_compat import ValidationError + from napari.utils.events import EventedModel, Selection + + +diff -Nru napari-0.4.18.orig/napari/utils/_tests/test_theme.py napari-0.4.18/napari/utils/_tests/test_theme.py +--- napari-0.4.18.orig/napari/utils/_tests/test_theme.py 2024-01-25 13:30:10.985544392 +0000 ++++ napari-0.4.18/napari/utils/_tests/test_theme.py 2024-01-25 13:30:22.485507540 +0000 +@@ -5,8 +5,8 @@ + from npe2 import PluginManager, PluginManifest, __version__ as npe2_version + from npe2.manifest.schema import ContributionPoints + from packaging.version import parse as parse_version +-from pydantic import ValidationError + ++from napari._pydantic_compat import ValidationError + from napari.resources._icons import PLUGIN_FILE_NAME + from napari.settings import get_settings + from napari.utils.theme import ( +diff -Nru napari-0.4.18.orig/napari/utils/theme.py napari-0.4.18/napari/utils/theme.py +--- napari-0.4.18.orig/napari/utils/theme.py 2024-01-25 13:30:10.987544386 +0000 ++++ napari-0.4.18/napari/utils/theme.py 2024-01-25 13:30:22.485507540 +0000 +@@ -8,9 +8,8 @@ + from typing import List, Union + + import npe2 +-from pydantic import validator +-from pydantic.color import Color + ++from napari._pydantic_compat import Color, validator + from napari._vendor import darkdetect + from napari.resources._icons import ( + PLUGIN_FILE_NAME, +diff -Nru napari-0.4.18.orig/setup.cfg napari-0.4.18/setup.cfg +--- napari-0.4.18.orig/setup.cfg 2024-01-25 13:30:10.988544382 +0000 ++++ napari-0.4.18/setup.cfg 2024-01-25 13:34:10.674857084 +0000 +@@ -63,7 +63,7 @@ + pint>=0.17 + psutil>=5.0 + psygnal>=0.3.4 +- pydantic>=1.9.0,<2 ++ pydantic>=1.9.0 + pygments>=2.6.0 + PyOpenGL>=3.1.0 + PyYAML>=5.1 diff --git a/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.10-gompi-2023a.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.10-gompi-2023a.eb new file mode 100644 index 00000000000..f070a7bab5f --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.10-gompi-2023a.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'ncbi-vdb' +version = '3.0.10' + +homepage = 'https://github.com/ncbi/ncbi-vdb' +description = """The SRA Toolkit and SDK from NCBI is a collection of tools and libraries for + using data in the INSDC Sequence Read Archives.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['2e088a8542e6c3bc1aad01a5d2fca2ef5b745c36a3aafd3b0b42cb53b42b345d'] + +builddependencies = [ + ('Perl', '5.36.1'), + ('Python', '3.11.3'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('HDF5', '1.14.0'), + ('libxml2', '2.11.4'), + ('bzip2', '1.0.8'), +] + +configopts = "-DHDF5_INCDIR=$EBROOTHDF5/include -DHDF5_LIBDIR=$EBROOTHDF5/lib " +configopts += "-DXML2_INCDIR=$EBROOTLIBXML2/include -DXML2_LIBDIR=$EBROOTLIBXML2/lib " + +sanity_check_paths = { + 'files': ['include/ncbi/ncbi.h', 'include/ncbi/vdb-blast.h'] + + [('lib/libncbi-%s.%s' % (k, e)) for k in ['vdb', 'wvdb'] for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9.eb index 8f2c950f72b..18dd57e1d6e 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9.eb @@ -34,7 +34,7 @@ configopts = [ local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] -# need to take care of $CFLAGS ourselves with dummy toolchain +# need to take care of $CFLAGS ourselves with SYSTEM toolchain # we need to add -fPIC, but should also include -O* option to avoid compiling with -O0 (default for GCC) buildopts = 'CFLAGS="-O2 -fPIC"' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.1.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.1.eb index 244ea3bdd80..85438274955 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.1.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.1.eb @@ -22,7 +22,7 @@ configopts = [ local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] -# need to take care of $CFLAGS ourselves with dummy toolchain +# need to take care of $CFLAGS ourselves with SYSTEM toolchain # we need to add -fPIC, but should also include -O* option to avoid compiling with -O0 (default for GCC) buildopts = 'CFLAGS="-O2 -fPIC"' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.2.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.2.eb index 26cb42a20bf..14b48372eed 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.2.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.2.eb @@ -22,7 +22,7 @@ configopts = [ local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] -# need to take care of $CFLAGS ourselves with dummy toolchain +# need to take care of $CFLAGS ourselves with SYSTEM toolchain # we need to add -fPIC, but should also include -O* option to avoid compiling with -O0 (default for GCC) buildopts = 'CFLAGS="-O2 -fPIC"' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.3.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.3.eb index 3d144c5ab1a..83969aa9fa5 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.3.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.3.eb @@ -25,7 +25,7 @@ configopts = [ local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] -# need to take care of $CFLAGS ourselves with dummy toolchain +# need to take care of $CFLAGS ourselves with SYSTEM toolchain # we need to add -fPIC, but should also include -O* option to avoid compiling with -O0 (default for GCC) buildopts = 'CFLAGS="-O2 -fPIC"' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.4.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.4.eb index 7edecb90d1b..a5d4b191e8a 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.4.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.4.eb @@ -25,7 +25,7 @@ configopts = [ local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] -# need to take care of $CFLAGS ourselves with dummy toolchain +# need to take care of $CFLAGS ourselves with SYSTEM toolchain # we need to add -fPIC, but should also include -O* option to avoid compiling with -O0 (default for GCC) buildopts = 'CFLAGS="-O2 -fPIC"' diff --git a/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2023b.eb b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2023b.eb new file mode 100644 index 00000000000..272461e57c5 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2023b.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'netCDF-C++4' +version = '4.3.1' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +dependencies = [('netCDF', '4.9.2')] + +sanity_check_paths = { + 'files': ['include/netcdf', 'lib/libnetcdf_c++4.a', 'lib/libnetcdf_c++4.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-iimpi-2023b.eb b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-iimpi-2023b.eb new file mode 100644 index 00000000000..66d3e520395 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-iimpi-2023b.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'netCDF-C++4' +version = '4.3.1' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'iimpi', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +dependencies = [('netCDF', '4.9.2')] + +sanity_check_paths = { + 'files': ['include/netcdf', 'lib/libnetcdf_c++4.a', 'lib/libnetcdf_c++4.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-gompi-2023b.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-gompi-2023b.eb new file mode 100644 index 00000000000..375033b711e --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-gompi-2023b.eb @@ -0,0 +1,28 @@ +name = 'netCDF-Fortran' +version = '4.6.1' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['40b534e0c81b853081c67ccde095367bd8a5eead2ee883431331674e7aa9509f'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +dependencies = [ + ('netCDF', '4.9.2'), + ('bzip2', '1.0.8'), +] + +# (too) parallel build fails, but single-core build is fairly quick anyway (~1min) +parallel = 1 + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-iimpi-2023b.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-iimpi-2023b.eb new file mode 100644 index 00000000000..0fdc993e468 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-iimpi-2023b.eb @@ -0,0 +1,28 @@ +name = 'netCDF-Fortran' +version = '4.6.1' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'iimpi', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['40b534e0c81b853081c67ccde095367bd8a5eead2ee883431331674e7aa9509f'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +dependencies = [ + ('netCDF', '4.9.2'), + ('bzip2', '1.0.8'), +] + +# (too) parallel build fails, but single-core build is fairly quick anyway (~1min) +parallel = 1 + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-gompi-2023b.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-gompi-2023b.eb new file mode 100644 index 00000000000..ec41aadb943 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-gompi-2023b.eb @@ -0,0 +1,57 @@ +name = 'netCDF' +version = '4.9.2' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'netCDF-4.9.0_skip-nasa-test.patch', +] +checksums = [ + {'v4.9.2.tar.gz': 'bc104d101278c68b303359b3dc4192f81592ae8640f1aee486921138f7f88cb7'}, + {'netCDF-4.9.0_skip-nasa-test.patch': '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.27.6'), + ('Doxygen', '1.9.8'), +] + +dependencies = [ + ('HDF5', '1.14.3'), + ('cURL', '8.3.0'), + ('Szip', '2.1.1'), + ('zstd', '1.5.5'), + ('bzip2', '1.0.8'), + ('libxml2', '2.11.5'), +] + +# disable Szip, zlib parallel I/O tests, since these can hang on some systems, e.g. generoso +# see: https://github.com/easybuilders/easybuild-easyconfigs/pull/16834 +# and https://github.com/easybuilders/easybuild-easyconfigs/pull/17107#issuecomment-1432947172 +preconfigopts = ("sed -i -e 's|@MPIEXEC@ -n 4 ./tst_parallel5|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel_zlib|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel_compress|echo \"skipped by EasyBuild\"|g'" + " %(builddir)s/%(namelower)s-c-%(version)s/nc_test4/run_par_test.sh.in &&") + +# make sure both static and shared libs are built +# and disable "remote" tests that access a unreliable external test server over internet +configopts = [ + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=ON", +] + +# some tests try to start 16 MPI ranks, so we need to allow oversubscription to avoid failing tests +pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " + +runtest = 'test' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-iimpi-2023b.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-iimpi-2023b.eb new file mode 100644 index 00000000000..7d3a6e0f8ff --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-iimpi-2023b.eb @@ -0,0 +1,59 @@ +name = 'netCDF' +version = '4.9.2' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'iimpi', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'netCDF-4.9.0_skip-nasa-test.patch', +] +checksums = [ + {'v4.9.2.tar.gz': 'bc104d101278c68b303359b3dc4192f81592ae8640f1aee486921138f7f88cb7'}, + {'netCDF-4.9.0_skip-nasa-test.patch': '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.27.6'), + ('Doxygen', '1.9.8'), +] + +dependencies = [ + ('HDF5', '1.14.3'), + ('cURL', '8.3.0'), + ('Szip', '2.1.1'), + ('zstd', '1.5.5'), + ('bzip2', '1.0.8'), + ('libxml2', '2.11.5'), +] + +# disable Szip, zlib parallel I/O tests, since these can hang on some systems, e.g. generoso +# see: https://github.com/easybuilders/easybuild-easyconfigs/pull/16834 +# and https://github.com/easybuilders/easybuild-easyconfigs/pull/17107#issuecomment-1432947172 +# and https://github.com/easybuilders/easybuild-easyconfigs/pull/18523#issuecomment-1675313158 +preconfigopts = ("sed -i -e 's|@MPIEXEC@ -n 16 ./tst_parallel3|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel5|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel_zlib|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel_compress|echo \"skipped by EasyBuild\"|g'" + " %(builddir)s/%(namelower)s-c-%(version)s/nc_test4/run_par_test.sh.in &&") + +# make sure both static and shared libs are built +# and disable "remote" tests that access a unreliable external test server over internet +configopts = [ + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=ON", +] + +# some tests try to start 16 MPI ranks, so we need to allow oversubscription to avoid failing tests +pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " + +runtest = 'test' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.5-foss-2023b.eb b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.5-foss-2023b.eb new file mode 100644 index 00000000000..b870f5e92a4 --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.5-foss-2023b.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.6.5' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('netCDF', '4.9.2'), + ('cURL', '8.3.0'), + ('mpi4py', '3.1.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cftime', '1.6.2', { + 'checksums': ['8614c00fb8a5046de304fdd86dbd224f99408185d7b245ac6628d0276596e6d2'], + }), + (name, version, { + 'patches': [ + 'netcdf4-python-1.1.8-avoid-diskless-test.patch', + 'netcdf4-python-1.6.1_relax_tolerance_compression_test.patch', + ], + 'source_tmpl': 'netCDF4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4'], + 'checksums': [ + {'netCDF4-1.6.5.tar.gz': '824881d0aacfde5bd982d6adedd8574259c85553781e7b83e0ce82b890bfa0ef'}, + {'netcdf4-python-1.1.8-avoid-diskless-test.patch': + 'a8b262fa201d55f59015e1bc14466c1d113f807543bc1e05a22481ab0d216d72'}, + {'netcdf4-python-1.6.1_relax_tolerance_compression_test.patch': + '64d192a5d1e3e00af78f053da78f5a35015fa713c7f97b10b622be6a44347166'}, + ], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/nc3tonc4', 'bin/nc4tonc3', 'bin/ncinfo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "nc4tonc3 --help", + "nc3tonc4 --help", + "ncinfo --help", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/networkx/networkx-3.2.1-gfbf-2023b.eb b/easybuild/easyconfigs/n/networkx/networkx-3.2.1-gfbf-2023b.eb new file mode 100644 index 00000000000..8b1d917815d --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-3.2.1-gfbf-2023b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '3.2.1' + +homepage = 'https://pypi.python.org/pypi/networkx' +description = """NetworkX is a Python package for the creation, manipulation, +and study of the structure, dynamics, and functions of complex networks.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6'] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nf-core/nf-core-2.10-foss-2022b.eb b/easybuild/easyconfigs/n/nf-core/nf-core-2.10-foss-2022b.eb new file mode 100644 index 00000000000..16b8e909f3c --- /dev/null +++ b/easybuild/easyconfigs/n/nf-core/nf-core-2.10-foss-2022b.eb @@ -0,0 +1,109 @@ +easyblock = 'PythonBundle' + +name = 'nf-core' +version = '2.10' + +homepage = 'https://github.com/nf-core/tools' +description = """Python package with helper tools for the nf-core community.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('GitPython', '3.1.31'), + ('Markdown', '3.6'), + ('prompt-toolkit', '3.0.36'), + ('pydantic', '2.5.3'), + ('pyfaidx', '0.7.2.1'), + ('pytest-workflow', '2.0.1'), + ('PyYAML', '6.0'), + ('tqdm', '4.64.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('url-normalize', '1.4.3', { + 'checksums': ['d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2'], + }), + ('cattrs', '23.1.2', { + 'checksums': ['db1c821b8c537382b2c7c66678c3790091ca0275ac486c76f3c8f3920e83c657'], + }), + ('requests-cache', '1.1.0', { + 'source_tmpl': 'requests_cache-%(version)s.tar.gz', + 'checksums': ['41b79166aa8e300cc4de982f7ab7c52af914a785160be1eda25c6e9265969a67'], + }), + ('ubiquerg', '0.6.3', { + 'checksums': ['025509c4ec77a5cde8e8be66dabfef2ca6e3cd99da3cb15066c66a6f2bc3b9b5'], + }), + ('oyaml', '1.0', { + 'checksums': ['ed8fc096811f4763e1907dce29c35895d6d5936c4d0400fe843a91133d4744ed'], + }), + ('attmap', '0.13.2', { + 'checksums': ['fdffa45f8671c13428eb8c3a1702bfdd1123badb99f7af14d72ad53cc7e770de'], + }), + ('yacman', '0.9.2', { + 'checksums': ['a98fee7ebf936330a9c249190f1f36eff9444cc744822800fe15f077e46ca867'], + }), + ('refgenconf', '0.12.2', { + 'checksums': ['6c9f9ecd8b91b4f75a535cfbdbdfb136f2dc9e9864142d07aa0352c61cf0cf78'], + }), + ('logmuse', '0.2.7', { + 'checksums': ['a4692c44ddfa912c3cb149ca4c7545f80119aa7485868fd1412e7c647e9a7e7e'], + }), + ('peppy', '0.35.7', { + 'checksums': ['a7227ebb394f2af59e3efcd2f639928966654ad305cc113bedc67e20e2422687'], + }), + ('eido', '0.2.1', { + 'checksums': ['3e4cf582e854482980e4f54dee6e0259b7b866e677818d877573a6d3d2684fe2'], + }), + ('pipestat', '0.6.0', { + 'checksums': ['8dbb05e483663e7135a6c58faeaa8ca7a7ed95532202abfc240cc9324d9bfd9d'], + }), + ('piper', '0.13.2', { + 'modulename': 'pypiper', + 'checksums': ['edc68583bf7925a44ed0cf439cd059bec51499cd70b4ff8a81ed67a9b0093867'], + }), + ('refgenie', '0.12.1', { + 'checksums': ['cfd007ed0981e00d019deb49aaea896952341096494165cb8378488850eec451'], + }), + ('questionary', '2.0.1', { + 'checksums': ['bcce898bf3dbb446ff62830c86c5c6fb9a22a54146f0f5597d3da43b10d8fc8b'], + }), + ('nodeenv', '1.8.0', { + 'checksums': ['d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2'], + }), + ('identify', '2.5.30', { + 'checksums': ['f302a4256a15c849b91cfcdcec052a8ce914634b2f77ae87dad29cd749f2d88d'], + }), + ('cfgv', '3.4.0', { + 'checksums': ['e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560'], + }), + ('pre-commit', '3.5.0', { + 'source_tmpl': 'pre_commit-%(version)s.tar.gz', + 'checksums': ['5804465c675b659b0862f07907f96295d490822a450c4c40e747d0b1c6ebcb32'], + }), + ('filetype', '1.2.0', { + 'checksums': ['66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb'], + }), + ('rich', '13.6.0', { + 'checksums': ['5c14d22737e6d5084ef4771b62d5d4363165b403455a30a1c8ca39dc7b644bef'], + }), + ('rich-click', '1.7.0', { + 'checksums': ['ab34e5d9f7733c4e6072f4de79eb3b35ac9ae78e692ea8a543f3b2828b30fee4'], + }), + (name, version, { + 'checksums': ['5d3b3d51844fd5b2cec73b84aa736980daac54eb548796243db39680ae39980d'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nf-core/nf-core-2.13.1-foss-2023b.eb b/easybuild/easyconfigs/n/nf-core/nf-core-2.13.1-foss-2023b.eb new file mode 100644 index 00000000000..72b9788f014 --- /dev/null +++ b/easybuild/easyconfigs/n/nf-core/nf-core-2.13.1-foss-2023b.eb @@ -0,0 +1,107 @@ +easyblock = 'PythonBundle' + +name = 'nf-core' +version = '2.13.1' + +homepage = 'https://github.com/nf-core/tools' +description = """Python package with helper tools for the nf-core community.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +builddependencies = [('poetry', '1.6.1')] +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('GitPython', '3.1.42'), + ('Markdown', '3.6'), + ('Pillow', '10.2.0'), + ('prompt-toolkit', '3.0.36'), + ('pydantic', '2.6.4'), + ('pyfaidx', '0.8.1.1'), + ('pytest-workflow', '2.1.0'), + ('PyYAML', '6.0.1'), + ('tqdm', '4.66.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pdiff', '1.1.4', { + 'checksums': ['9d8f6f8e7ed2ee61aa2f2526106c0047a2bd80eab7d1237f7086139a6e921c45'], + }), + ('textual', '0.54.0', { + 'checksums': ['0cfd134dde5ae49d64dd73bb32a2fb5a86d878d9caeacecaa1d640082f31124e'], + }), + ('trogon', '0.5.0', { + 'checksums': ['61a57f0f1a38227d90601cd020f46960be8e36947b5e56c6932c2e01ecc5042a'], + }), + ('url-normalize', '1.4.3', { + 'checksums': ['d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2'], + }), + ('cattrs', '23.2.3', { + 'checksums': ['a934090d95abaa9e911dac357e3a8699e0b4b14f8529bcc7d2b1ad9d51672b9f'], + }), + ('requests-cache', '1.2.0', { + 'source_tmpl': 'requests_cache-%(version)s.tar.gz', + 'checksums': ['db1c709ca343cc1cd5b6c8b1a5387298eceed02306a6040760db538c885e3838'], + }), + ('ubiquerg', '0.7.0', { + 'checksums': ['b873ff87651e500fb32ac24a7850abe6261fde65c4c07bf6e0b5f14e32cd9387'], + }), + ('oyaml', '1.0', { + 'checksums': ['ed8fc096811f4763e1907dce29c35895d6d5936c4d0400fe843a91133d4744ed'], + }), + ('attmap', '0.13.2', { + 'checksums': ['fdffa45f8671c13428eb8c3a1702bfdd1123badb99f7af14d72ad53cc7e770de'], + }), + ('yacman', '0.9.3', { + 'checksums': ['91f29ecad7abf32425be034619bd5b00a50fe2be23447b1827c34e1fd68c055d'], + }), + ('refgenconf', '0.12.2', { + 'checksums': ['6c9f9ecd8b91b4f75a535cfbdbdfb136f2dc9e9864142d07aa0352c61cf0cf78'], + }), + ('logmuse', '0.2.7', { + 'checksums': ['a4692c44ddfa912c3cb149ca4c7545f80119aa7485868fd1412e7c647e9a7e7e'], + }), + ('peppy', '0.40.1', { + 'checksums': ['22ed51ae042ec2e1fbfa213205967133319fa498a7f09aa438eccfebfae5e78f'], + }), + ('eido', '0.2.2', { + 'checksums': ['3966c8e91296189d5827d6415843eb300d204c9da9b8a780807ebc5403be2800'], + }), + ('pipestat', '0.8.2', { + 'checksums': ['b1bf52bc6f47a617a597d674e1a0d9a5c66d9771a6fcd8f115039c017021b9c7'], + }), + ('piper', '0.14.0', { + 'modulename': 'pypiper', + 'checksums': ['2d2b226689f2e992da0735f25ea432f16f230bfaef51e732ef50b1b495ce153c'], + }), + ('refgenie', '0.12.1', { + 'checksums': ['cfd007ed0981e00d019deb49aaea896952341096494165cb8378488850eec451'], + }), + ('questionary', '2.0.1', { + 'checksums': ['bcce898bf3dbb446ff62830c86c5c6fb9a22a54146f0f5597d3da43b10d8fc8b'], + }), + ('nodeenv', '1.8.0', { + 'checksums': ['d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2'], + }), + ('identify', '2.5.35', { + 'checksums': ['10a7ca245cfcd756a554a7288159f72ff105ad233c7c4b9c6f0f4d108f5f6791'], + }), + ('cfgv', '3.4.0', { + 'checksums': ['e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560'], + }), + ('pre-commit', '3.7.0', { + 'source_tmpl': 'pre_commit-%(version)s.tar.gz', + 'checksums': ['e209d61b8acdcf742404408531f0c37d49d2c734fd7cff2d6076083d191cb060'], + }), + ('filetype', '1.2.0', { + 'checksums': ['66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb'], + }), + (name, version, { + 'checksums': ['297bb52144a0651b3b718325726b10a14bef0b1b3a1d65a0eadb4badb47c8a6f'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nichenetr/nichenetr-2.0.4-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/n/nichenetr/nichenetr-2.0.4-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..f7e62cf08dd --- /dev/null +++ b/easybuild/easyconfigs/n/nichenetr/nichenetr-2.0.4-foss-2022b-R-4.2.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'nichenetr' +version = '2.0.4' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/saeyslab/nichenetr' +description = """R implementation of the NicheNet method, + to predict active ligand-target links between interacting cells""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/saeyslab/nichenetr/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['52239f245802bdb2bc1822099896dd1776d9cec9d62c85caa2a97264347adde2'] + +dependencies = [ + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4928eeab104 --- /dev/null +++ b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.3-GCCcore-13.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'nlohmann_json' +version = '3.11.3' + +homepage = 'https://github.com/nlohmann/json' +description = """JSON for Modern C++""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/nlohmann/json/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +sanity_check_paths = { + 'files': ['include/nlohmann/json.hpp'], + 'dirs': ['share/cmake', 'share/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/noise/noise-1.2.2-gfbf-2023a.eb b/easybuild/easyconfigs/n/noise/noise-1.2.2-gfbf-2023a.eb new file mode 100644 index 00000000000..71930964e8b --- /dev/null +++ b/easybuild/easyconfigs/n/noise/noise-1.2.2-gfbf-2023a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonBundle' + +name = 'noise' +version = '1.2.2' + +homepage = 'https://github.com/caseman/noise' +description = "Native-code and shader implementations of Perlin noise for Python" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['57a2797436574391ff63a111e852e53a4164ecd81ad23639641743cd1a209b65'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bc5d8e11586 --- /dev/null +++ b/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'nose3' +version = '1.3.8' + +homepage = 'https://nose.readthedocs.io/' +description = """Nose extends unittest to make testing easier.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['762aae22cadb898b00b9d4f4bbb9f8e87f8e0dde6c49a88cd0c554f4e5925b76'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('coverage', '7.2.3'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/nosetests'], + 'dirs': [], +} + +options = {'modulename': 'nose'} + +sanity_check_commands = ["nosetests --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ntCard/ntCard-1.2.2-GCC-12.3.0.eb b/easybuild/easyconfigs/n/ntCard/ntCard-1.2.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..23d5a50253e --- /dev/null +++ b/easybuild/easyconfigs/n/ntCard/ntCard-1.2.2-GCC-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'ntCard' +version = '1.2.2' + +homepage = 'https://www.bcgsc.ca/resources/software/ntcard' +description = "ntCard is a streaming algorithm for estimating the frequencies of k-mers in genomics datasets." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/bcgsc/%(name)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bace4e6da2eb8e59770d38957d1a916844071fb567696994c8605fd5f92b5eea'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +# ignore "type qualifiers ignored on cast result type" warning being treated as error due to -Werror +preconfigopts = 'export CXXFLAGS="$CXXFLAGS -Wno-ignored-qualifiers" && ' + +sanity_check_paths = { + 'files': ['bin/ntcard', 'bin/nthll'], + 'dirs': ['share/doc/ntcard'], +} + +sanity_check_commands = [ + "ntcard --help", + "nthll --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/numba/llvmlite-0.41.1_static-linking-of-LLVM.patch b/easybuild/easyconfigs/n/numba/llvmlite-0.41.1_static-linking-of-LLVM.patch new file mode 100644 index 00000000000..9ead7b37820 --- /dev/null +++ b/easybuild/easyconfigs/n/numba/llvmlite-0.41.1_static-linking-of-LLVM.patch @@ -0,0 +1,22 @@ +Link llvmlite statically to LLVM. This allows us to use the version of LLVM that is +officially supported by llvmlite (14.0.3) instead of the one that is default in the toolchain +(for 2023a, that is LLVM 16.0.6). This is a pragmatic solution that is much easier than patching +llvmlite to work with a different version of LLVM. + +Author: Jakob Schiotz, Techn. Univ. Denmark +Email: schiotz@fysik.dtu.dk +Date: 10. November 2023 + +diff --git a/ffi/build.py b/ffi/build.py +index f4f8c69..189a0e9 100755 +--- a/ffi/build.py ++++ b/ffi/build.py +@@ -174,7 +174,7 @@ def main_posix(kind, library_ext): + raise RuntimeError(msg) + + # Get LLVM information for building +- libs = run_llvm_config(llvm_config, "--system-libs --libs all".split()) ++ libs = run_llvm_config(llvm_config, "--link-static --system-libs --libs all".split()) + # Normalize whitespace (trim newlines) + os.environ['LLVM_LIBS'] = ' '.join(libs.split()) + diff --git a/easybuild/easyconfigs/n/numba/numba-0.58.1-foss-2022b.eb b/easybuild/easyconfigs/n/numba/numba-0.58.1-foss-2022b.eb new file mode 100644 index 00000000000..c9540b4de8c --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.58.1-foss-2022b.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.58.1' + +homepage = 'https://numba.pydata.org/' +description = """Numba is an Open Source NumPy-aware optimizing compiler for +Python sponsored by Continuum Analytics, Inc. It uses the remarkable LLVM +compiler infrastructure to compile Python syntax to machine code.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('LLVM', '14.0.6', '-llvmlite'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('llvmlite', '0.41.1', { + 'patches': ['llvmlite-0.41.1_static-linking-of-LLVM.patch'], + 'preinstallopts': "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && ", + 'checksums': [ + {'llvmlite-0.41.1.tar.gz': 'f19f767a018e6ec89608e1f6b13348fa2fcde657151137cb64e56d48598a92db'}, + {'llvmlite-0.41.1_static-linking-of-LLVM.patch': + '0cb1fbe13db4ce8b697305229b6b6d79671a3ec5b93e95b4e059033ca626b43e'}, + ], + }), + (name, version, { + 'checksums': ['487ded0633efccd9ca3a46364b40006dbdaca0f95e99b8b83e778d1195ebcbaa'], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/numba'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -m llvmlite.tests", + "numba --help", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/numba/numba-0.58.1-foss-2023a.eb b/easybuild/easyconfigs/n/numba/numba-0.58.1-foss-2023a.eb new file mode 100644 index 00000000000..f07c3608f25 --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.58.1-foss-2023a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.58.1' + +homepage = 'https://numba.pydata.org/' +description = """Numba is an Open Source NumPy-aware optimizing compiler for +Python sponsored by Continuum Analytics, Inc. It uses the remarkable LLVM +compiler infrastructure to compile Python syntax to machine code.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('LLVM', '14.0.6', '-llvmlite'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('llvmlite', '0.41.1', { + 'patches': ['llvmlite-0.41.1_static-linking-of-LLVM.patch'], + 'preinstallopts': "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && ", + 'checksums': [ + {'llvmlite-0.41.1.tar.gz': 'f19f767a018e6ec89608e1f6b13348fa2fcde657151137cb64e56d48598a92db'}, + {'llvmlite-0.41.1_static-linking-of-LLVM.patch': + '0cb1fbe13db4ce8b697305229b6b6d79671a3ec5b93e95b4e059033ca626b43e'}, + ], + }), + (name, version, { + 'checksums': ['487ded0633efccd9ca3a46364b40006dbdaca0f95e99b8b83e778d1195ebcbaa'], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/numba'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -m llvmlite.tests", + "numba --help", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/o/OBITools3/OBITools3-3.0.1b26-GCCcore-12.3.0.eb b/easybuild/easyconfigs/o/OBITools3/OBITools3-3.0.1b26-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c2ae09ce853 --- /dev/null +++ b/easybuild/easyconfigs/o/OBITools3/OBITools3-3.0.1b26-GCCcore-12.3.0.eb @@ -0,0 +1,45 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'OBITools3' +version = '3.0.1b26' + +homepage = 'https://metabarcoding.org/obitools3' +description = """A package for the management of analyses and data in DNA metabarcoding.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d53d60b6b0d4f242a14a9c3da5934805f1ee26e889540add02dc066490a6aba7'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3') +] + +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), +] + +use_pip = True +download_dep_fail = True + +preinstallopts = "sed -i \"s|get_python_lib()|get_python_lib(prefix='%(installdir)s')|g\" setup.py &&" + +fix_python_shebang_for = ['bin/obi'] + +sanity_check_paths = { + 'files': ['bin/obi'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "obi --help", + "obi --version", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.14.0-GCC-11.3.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.14.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..f36af9c2792 --- /dev/null +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.14.0-GCC-11.3.0.eb @@ -0,0 +1,54 @@ +name = 'OCaml' +version = '4.14.0' + +homepage = 'http://ocaml.org/' +description = """OCaml is a general purpose industrial-strength programming language + with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria + it benefits from one of the most advanced type systems and supports functional, + imperative and object-oriented styles of programming.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +local_opam_ver = '2.1.5' +source_urls = [ + 'https://github.com/ocaml/ocaml/archive', + 'https://github.com/ocaml/opam/releases/download/%s' % local_opam_ver, +] +sources = [ + '%s.tar.gz' % version, + 'opam-full-%s.tar.gz' % local_opam_ver, +] +checksums = [ + {'4.14.0.tar.gz': '39f44260382f28d1054c5f9d8bf4753cb7ad64027da792f7938344544da155e8'}, + {'opam-full-2.1.5.tar.gz': '09f8d9e410b2f5723c2bfedbf7970e3b305f5017895fcd91759f05e753ddcea5'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('libreadline', '8.1.2'), +] + +preconfigopts = 'export CFLAGS="$CFLAGS -lm -lpthread" && ' +preconfigopts += 'export AS=as && ' + +# parallel build tends to break +parallel = 1 + +# handled by OPAM, order matters! +# see https://opam.ocaml.org/packages +exts_list = [ + ('ocamlfind', '1.9.6'), + ('batteries', '3.7.2'), + ('conf-pkg-config', '3'), + ('dune-configurator', '3.14.0'), + ('dune', '3.14.0'), + ('base', 'v0.16.3'), + ('stdio', 'v0.16.0'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.16.3-foss-2022b.eb b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.16.3-foss-2022b.eb new file mode 100644 index 00000000000..a94de01f28e --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.16.3-foss-2022b.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'ONNX-Runtime' +version = '1.16.3' + +homepage = 'https://onnxruntime.ai' +description = """ONNX Runtime inference can enable faster customer experiences and lower costs, +supporting models from deep learning frameworks such as PyTorch and +TensorFlow/Keras as well as classical machine learning libraries such as +scikit-learn, LightGBM, XGBoost, etc. ONNX Runtime is compatible with different +hardware, drivers, and operating systems, and provides optimal performance by +leveraging hardware accelerators where applicable alongside graph optimizations +and transforms.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('ONNX', '1.15.0'), + ('flatbuffers-python', '23.1.4'), + ('sympy', '1.12'), +] + +use_pip = True + +local_whl_tmpl = 'onnxruntime-%%(version)s-cp310-cp310-manylinux_2_17_%s.manylinux2014_%s.whl' + +exts_list = [ + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + (name, version, { + 'source_urls': ['http://pypi.python.org/packages/source/o/onnxruntime'], + 'sources': [local_whl_tmpl % ('%(arch)s', '%(arch)s')], + 'checksums': [{ + local_whl_tmpl % ('x86_64', 'x86_64'): + 'ef2b1fc269cabd27f129fb9058917d6fdc89b188c49ed8700f300b945c81f889', + local_whl_tmpl % ('aarch64', 'aarch64'): + '5f91f5497fe3df4ceee2f9e66c6148d9bfeb320cd6a71df361c66c5b8bac985a', + }], + 'modulename': 'onnxruntime', + }), +] + +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-foss-2022b.eb b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-foss-2022b.eb new file mode 100644 index 00000000000..0125931898c --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-foss-2022b.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonPackage' + +name = 'ONNX' +version = '1.15.0' + +homepage = 'https://onnx.ai' +description = """ +Open Neural Network Exchange (ONNX) is an open ecosystem that empowers AI +developers to choose the right tools as their project evolves. ONNX provides an +open source format for AI models, both deep learning and traditional ML. It +defines an extensible computation graph model, as well as definitions of +built-in operators and standard data types. Currently we focus on the +capabilities needed for inferencing (scoring).""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCELOWER_TAR_GZ] +patches = ['ONNX-1.15.0_fix-protobuf-linking.patch'] +checksums = [ + {'onnx-1.15.0.tar.gz': 'b18461a7d38f286618ca2a6e78062a2a9c634ce498e631e708a8041b00094825'}, + {'ONNX-1.15.0_fix-protobuf-linking.patch': '5c11eca5275a25d69f989571fe1f387b84c7334478356577f6f6349c5954f54d'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + # more recent setuptools required to fix: AttributeError: editable_mode + ('setuptools', '64.0.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('protobuf-python', '4.23.0'), + ('typing-extensions', '4.9.0'), +] + +use_pip = True +download_dep_fail = True + +# hardcode version in pyproject.toml rather than determining it dynamically +preinstallopts = """sed -i 's/"version",//g' pyproject.toml && """ +preinstallopts += """sed -i 's/readme = .*/version = "%(version)s"/g' pyproject.toml && """ + +# specify C++17 standard and link to protobuf shared library (also requires patch to use -DPROTOBUF_USE_DLLS); +# required to fix "error: 'string_view' in namespace 'std' does not name a type", +# see also https://github.com/onnx/onnx/issues/5430 +preinstallopts += "export CMAKE_ARGS='-DCMAKE_CXX_STANDARD=17 -DONNX_USE_PROTOBUF_SHARED_LIBS=ON' && " + +preinstallopts += 'env MAX_JOBS="%(parallel)s"' + +sanity_check_paths = { + 'files': ['bin/check-model', 'bin/check-node', 'bin/backend-test-tools'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + ('check-model', '-h'), + ('check-node', '-h'), + ('backend-test-tools', '-h'), +] + +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0_fix-protobuf-linking.patch b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0_fix-protobuf-linking.patch new file mode 100644 index 00000000000..5368859cb53 --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0_fix-protobuf-linking.patch @@ -0,0 +1,18 @@ +fix for: undefined symbol: _ZN6google8protobuf8internal15ThreadSafeArena13thread_cache_E +see also https://bugs.archlinux.org/task/75242 +author: Kenneth Hoste (HPC-UGent) +--- onnx-1.15.0/CMakeLists.txt.orig 2024-01-05 21:11:09.060853188 +0100 ++++ onnx-1.15.0/CMakeLists.txt 2024-01-05 21:11:21.587828423 +0100 +@@ -46,10 +46,10 @@ + endif() + + if(ONNX_USE_PROTOBUF_SHARED_LIBS) +- if(MSVC) ++ #if(MSVC) + #TODO: if ONNX_USE_MSVC_STATIC_RUNTIME is ON, it may not work + add_definitions(-DPROTOBUF_USE_DLLS) +- endif() ++ #endif() + set(Protobuf_USE_STATIC_LIBS OFF) + else() + set(Protobuf_USE_STATIC_LIBS ON) diff --git a/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.8-GCCcore-13.2.0.eb b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.8-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..627b4923cd7 --- /dev/null +++ b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.8-GCCcore-13.2.0.eb @@ -0,0 +1,44 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +# # + +easyblock = 'ConfigureMake' + +name = 'OPARI2' +version = '2.0.8' + +homepage = 'https://www.score-p.org' +description = """ + OPARI2, the successor of Forschungszentrum Juelich's OPARI, is a + source-to-source instrumentation tool for OpenMP and hybrid codes. + It surrounds OpenMP directives and runtime library calls with calls + to the POMP2 measurement interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['196e59a2a625e6c795a6124c61e784bad142f9f38df0b4fa4d435ba9b9c19721'] + +builddependencies = [ + ('binutils', '2.40'), +] + + +sanity_check_paths = { + 'files': ['bin/opari2', 'include/opari2/pomp2_lib.h'], + 'dirs': [], +} + +sanity_check_commands = ['opari2-config --help'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.4-gompi-2023a.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.4-gompi-2023a.eb new file mode 100644 index 00000000000..fb186ab49f3 --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.4-gompi-2023a.eb @@ -0,0 +1,23 @@ +name = 'ORCA' +version = '5.0.4' + +homepage = 'https://orcaforum.kofo.mpg.de' +description = """ +ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum +chemistry with specific emphasis on spectroscopic properties of open-shell +molecules. It features a wide variety of standard quantum chemical methods +ranging from semiempirical methods to DFT to single- and multireference +correlated ab initio methods. It can also treat environmental and relativistic +effects.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +download_instructions = "Shared build of ORCA: download from https://orcaforum.kofo.mpg.de" +# mostly dynamically linked (SCALAPACK, OpenBLAS are still embedded) +sources = ['%%(namelower)s_%s_linux_%%(orcaarch)s_shared_openmpi411.tar.xz' % version.replace('.', '_')] +checksums = [ + # orca_5_0_4_linux_x86-64_shared_openmpi411.tar.xz + 'c4ea5aea60da7bcb18a6b7042609206fbeb2a765c6fa958c5689d450b588b036', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..48cbf931ec5 --- /dev/null +++ b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-13.2.0.eb @@ -0,0 +1,50 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +# # + +easyblock = 'EB_Score_minus_P' + +name = 'OTF2' +version = '3.0.3' + +homepage = 'https://www.score-p.org' +description = """ + The Open Trace Format 2 is a highly scalable, memory efficient event trace + data format plus support library. It is the new standard trace format for + Scalasca, Vampir, and TAU and is open for other tools. + +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['18a3905f7917340387e3edc8e5766f31ab1af41f4ecc5665da6c769ca21c4ee8'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + # SIONlib container support (optional): + ('SIONlib', '1.7.7', '-tools'), +] + +configopts = '--enable-shared' + + +sanity_check_paths = { + 'files': ['bin/otf2-config', 'include/otf2/otf2.h', + 'lib/libotf2.a', 'lib/libotf2.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s-config --help'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OmegaFold/OmegaFold-1.1.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OmegaFold/OmegaFold-1.1.0-foss-2022a-CUDA-11.7.0.eb index 0008cde884d..9e13f1be82e 100644 --- a/easybuild/easyconfigs/o/OmegaFold/OmegaFold-1.1.0-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/o/OmegaFold/OmegaFold-1.1.0-foss-2022a-CUDA-11.7.0.eb @@ -22,7 +22,7 @@ sanity_pip_check = True # add missing version for OmegaFold exts_list = [ (name, version, { - 'preinstallopts': """sed -i '/^setup(/a \ version="%(version)s",' setup.py && """, # noqa: W605 + 'preinstallopts': """sed -i '/^setup(/a version="%(version)s",' setup.py && """, 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/HeliXonProtein/OmegaFold/archive/'], 'checksums': ['ab3b48fe7721539b6943b49cdbafc9799e15b4425a324cc25daf15a24e3f9e37'], diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0.eb index 7e7d8c4b75f..ea28ea399a4 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0.eb @@ -21,6 +21,7 @@ patches = [ 'OpenBLAS-0.3.21_fix-order-vectorization.patch', 'OpenBLAS-0.3.21-GCC-12.2.0_disable-fma-in-cscal-zscal.patch', 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', + 'OpenBLAS-0.3.21_disable-tree-vectorize.patch', ] checksums = [ {'v0.3.21.tar.gz': 'f36ba3d7a60e7c8bcc54cd9aaa9b1223dd42eaf02c811791c37e8ca707c241ca'}, @@ -36,6 +37,8 @@ checksums = [ {'OpenBLAS-0.3.21-GCC-12.2.0_disable-fma-in-cscal-zscal.patch': '9784e93567d100960a4c34d86e215bd7aa70bb28b0bc2c6bf1b22c6a05d56003'}, {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, + {'OpenBLAS-0.3.21_disable-tree-vectorize.patch': + '30abb2707ea5be5afcac53e12cc3febe66315b2bf84579142fdcd8f4fc0c23eb'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_disable-tree-vectorize.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_disable-tree-vectorize.patch new file mode 100644 index 00000000000..5085b51aff9 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_disable-tree-vectorize.patch @@ -0,0 +1,54 @@ +From 32566bfb44067e0c0459e94b53c9457613539eeb Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Thu, 13 Oct 2022 14:04:25 +0200 +Subject: [PATCH] Disable the gfortran tree vectorizer for netlib LAPACK + +--- + cmake/lapack.cmake | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/cmake/lapack.cmake b/cmake/lapack.cmake +index f8a27f5d4..3b221d420 100644 +--- a/cmake/lapack.cmake ++++ b/cmake/lapack.cmake +@@ -999,6 +999,9 @@ endforeach () + + if (NOT C_LAPACK) + set_source_files_properties(${LA_SOURCES} PROPERTIES COMPILE_FLAGS "${LAPACK_FFLAGS}") ++ if (${F_COMPILER} STREQUAL "GFORTRAN") ++ set_source_files_properties(${LA_SOURCES} PROPERTIES COMPILE_FLAGS "${LAPACK_FFLAGS} -fno-tree-vectorize") ++ endif() + else () + set_source_files_properties(${LA_SOURCES} PROPERTIES COMPILE_FLAGS "${LAPACK_CFLAGS}") + endif () +-- +2.25.1 + +From 57809526c430ef0a07f5c5c39dce20c6d73a1f35 Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Thu, 13 Oct 2022 09:12:23 +0200 +Subject: [PATCH] Disable the gfortran tree vectorizer for lapack-netlib + +--- + Makefile | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Makefile b/Makefile +index 289f0eca5..56af9847e 100644 +--- a/Makefile ++++ b/Makefile +@@ -278,7 +278,11 @@ prof_lapack : lapack_prebuild + lapack_prebuild : + ifeq ($(NO_LAPACK), $(filter 0,$(NO_LAPACK))) + -@echo "FC = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc ++ifeq ($(F_COMPILER), GFORTRAN) ++ -@echo "override FFLAGS = $(LAPACK_FFLAGS) -fno-tree-vectorize" >> $(NETLIB_LAPACK_DIR)/make.inc ++else + -@echo "override FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc ++endif + -@echo "FFLAGS_DRV = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "FFLAGS_NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc +-- +2.25.1 + diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23-GCC-12.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23-GCC-12.3.0.eb index 490f623ac15..2cbbd45397e 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23-GCC-12.3.0.eb @@ -19,10 +19,9 @@ patches = [ 'OpenBLAS-0.3.20_fix-x86-cpuid.patch', 'OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch', 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.23_disable-xDRGES-LAPACK-test.patch', 'OpenBLAS-0.3.23_fix-parallel-build.patch', - 'OpenBLAS-0.3.23_fix-lapack-test.patch', 'OpenBLAS-0.3.23_fix-tests-hang.patch', - 'OpenBLAS-0.3.23_disable-DDRGES3-LAPACK-test.patch', ] checksums = [ {'v0.3.23.tar.gz': '5d9491d07168a5d00116cdc068a40022c3455bf9293c7cb86a65b1054d7e5114'}, @@ -35,11 +34,10 @@ checksums = [ '1dbd0f9473963dbdd9131611b455d8a801f1e995eae82896186d3d3ffe6d5f03'}, {'OpenBLAS-0.3.21_fix-order-vectorization.patch': '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.23_disable-xDRGES-LAPACK-test.patch': + 'ab7e0af05f9b2a2ced32f3875e1e3767d9c3531a455421a38f7324350178a0ff'}, {'OpenBLAS-0.3.23_fix-parallel-build.patch': 'abe10ba3b0ca54772dbf235596e35325a5159018f6a60cfc88824c2c220d99d9'}, - {'OpenBLAS-0.3.23_fix-lapack-test.patch': 'f6b3d81061f136e34aaf5359bb80fb9d2bba28825cc1dd26179b8dd01a9a0054'}, {'OpenBLAS-0.3.23_fix-tests-hang.patch': '9de1fdee6edf3b2bb55e4639fdd92d2877b5f0ac880f7df2cfea47ecebf16609'}, - {'OpenBLAS-0.3.23_disable-DDRGES3-LAPACK-test.patch': - '36a16b4d3b867897413b43b774f8b57d641ad9a1b452e9de33ced198ab25e461'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_disable-xDRGES-LAPACK-test.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_disable-xDRGES-LAPACK-test.patch new file mode 100644 index 00000000000..bdc1262873a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_disable-xDRGES-LAPACK-test.patch @@ -0,0 +1,26 @@ +disable failing DDRGES3 test in LAPACK 3.10 test suite, fixes "Error code from DDRGES3 = 9"; +see also https://github.com/OpenMathLib/OpenBLAS/issues/4032 +author: Kenneth Hoste (HPC-UGent) +Similar for SDRGES: SGGES returned INFO= 9. +See https://github.com/OpenMathLib/OpenBLAS/issues/4415 +Author: Alexander Grund (TU Dresden) +--- OpenBLAS-0.3.23/lapack-netlib/TESTING/dgd.in.orig 2023-09-29 08:05:53.089031858 +0200 ++++ OpenBLAS-0.3.23/lapack-netlib/TESTING/dgd.in 2023-09-29 08:08:32.234680735 +0200 +@@ -1,6 +1,6 @@ + DGS Data for the Real Nonsymmetric Schur Form Driver + 5 Number of matrix dimensions +-2 6 10 12 20 30 Matrix dimensions ++2 10 12 20 30 Matrix dimensions + 1 1 1 2 1 Parameters NB, NBMIN, NXOVER, NS, NBCOL + 10 Threshold for test ratios + .TRUE. Put T to test the error exits +--- OpenBLAS-0.3.23/lapack-netlib/TESTING/sgd.in.orig 2023-06-06 11:01:50.512947527 +0000 ++++ OpenBLAS-0.3.23/lapack-netlib/TESTING/sgd.in 2023-06-06 11:02:05.318078733 +0000 +@@ -1,6 +1,6 @@ + SGS Data for the Real Nonsymmetric Schur Form Driver + 5 Number of matrix dimensions +-2 6 10 12 20 30 Matrix dimensions ++2 10 12 20 30 Matrix dimensions + 1 1 1 2 1 Parameters NB, NBMIN, NXOVER, NS, NBCOL + 10 Threshold for test ratios + .TRUE. Put T to test the error exits diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24-GCC-13.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24-GCC-13.2.0.eb index be80c46e97c..4835813e357 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24-GCC-13.2.0.eb @@ -18,8 +18,7 @@ patches = [ 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', 'OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch', 'OpenBLAS-0.3.21_fix-order-vectorization.patch', - 'OpenBLAS-0.3.23_fix-lapack-test.patch', - 'OpenBLAS-0.3.23_disable-DDRGES3-LAPACK-test.patch', + 'OpenBLAS-0.3.23_disable-xDRGES-LAPACK-test.patch', 'OpenBLAS-0.3.24_fix-czasum.patch', ] checksums = [ @@ -32,9 +31,8 @@ checksums = [ '1dbd0f9473963dbdd9131611b455d8a801f1e995eae82896186d3d3ffe6d5f03'}, {'OpenBLAS-0.3.21_fix-order-vectorization.patch': '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, - {'OpenBLAS-0.3.23_fix-lapack-test.patch': 'f6b3d81061f136e34aaf5359bb80fb9d2bba28825cc1dd26179b8dd01a9a0054'}, - {'OpenBLAS-0.3.23_disable-DDRGES3-LAPACK-test.patch': - '36a16b4d3b867897413b43b774f8b57d641ad9a1b452e9de33ced198ab25e461'}, + {'OpenBLAS-0.3.23_disable-xDRGES-LAPACK-test.patch': + 'ab7e0af05f9b2a2ced32f3875e1e3767d9c3531a455421a38f7324350178a0ff'}, {'OpenBLAS-0.3.24_fix-czasum.patch': '8132b87c519fb08caa3bd7291fe8a1d0e1afe6fcb667d16f3020b46122afe20c'}, ] diff --git a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2023a.eb b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2023a.eb new file mode 100644 index 00000000000..2316351baa8 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2023a.eb @@ -0,0 +1,65 @@ +name = 'OpenBabel' +version = '3.1.1' + +homepage = 'https://openbabel.org' +description = """Open Babel is a chemical toolbox designed to speak the many + languages of chemical data. It's an open, collaborative project allowing anyone + to search, convert, analyze, or store data from molecular modeling, chemistry, + solid-state materials, biochemistry, or related areas.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +# avoid failing tests on skylake and broadwell CPUs. +# remove option 'optarch' when building on CPUs that don't support AVX2 +# see also: https://github.com/openbabel/openbabel/issues/2138 +toolchainopts = {'pic': True, 'optarch': 'mavx2'} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%%(namelower)s-%s.tar.gz' % version.replace('.', '-')] +patches = [ + # Fix test failure with Python 3 + # Ref: https://github.com/openbabel/openbabel/commit/7de27f309db5f7ec026ef5c5235e5b33bf7d1a85.patch + 'OpenBabel-3.1.1_fix-distgeom-test.patch', + 'OpenBabel-3.1.1_fix-CoordgenLibs-no-templates.patch', + 'OpenBabel-3.1.1_disable_bad_tests.patch', + 'OpenBabel-3.1.1_fix-ctime.patch', +] +checksums = [ + {'openbabel-3-1-1.tar.gz': 'c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02'}, + {'OpenBabel-3.1.1_fix-distgeom-test.patch': '8d7687eb49142bb5ba2997cf90805b42480f313515c44b3912a9f826aaf4fbcd'}, + {'OpenBabel-3.1.1_fix-CoordgenLibs-no-templates.patch': + 'cc0396b38a78ef70c869cd93887210c64d6f4293c016aec9269b5a0230fdb51c'}, + {'OpenBabel-3.1.1_disable_bad_tests.patch': 'a88f54d834cc181ac66d98f0040dbfadabe9d3ef1bee7305f8e73c31c20f9de2'}, + {'OpenBabel-3.1.1_fix-ctime.patch': '79c5b7f65d99f42f039b3942bc52bae7363f3742a7e2564b5b7bfb29aa105b36'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('zlib', '1.2.13'), + ('libxml2', '2.11.4'), + ('Eigen', '3.4.0'), + ('RapidJSON', '1.1.0-20230928'), + ('cairo', '1.17.8'), # optional: for .png output + ('Boost', '1.82.0'), + ('maeparser', '1.3.1'), + ('CoordgenLibs', '3.0.2'), +] + +configopts = '-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib ' +# Enable support for OpenMP compilation of forcefield code (optional) +configopts += '-DENABLE_OPENMP=ON ' + +# OpenBabel-3.1.1 creates directories named 3.1.0, which leads to BABEL_LIBDIR and BABEL_DATDIR +# (set in the easyblock) having invalid values. Work around this with some symlinks. +postinstallcmds = [ + 'ln -s %(installdir)s/lib/openbabel/3.1.0 %(installdir)s/lib/openbabel/%(version)s', + 'ln -s %(installdir)s/share/openbabel/3.1.0 %(installdir)s/share/openbabel/%(version)s', +] + +pretestopts = 'cp lib/_openbabel.%s %%(builddir)s/openbabel-*/scripts/python/openbabel/ && ' % SHLIB_EXT +runtest = 'test' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_disable_bad_tests.patch b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_disable_bad_tests.patch new file mode 100644 index 00000000000..b0814fe6111 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_disable_bad_tests.patch @@ -0,0 +1,519 @@ +Disable tests that do textual compare of numerical values. +Some of these values may vary on the last one or two digits. + +Åke Sandgren, 2024-03-27 +diff -ru openbabel-openbabel-3-1-1.orig/test/testobconv_writers.py openbabel-openbabel-3-1-1/test/testobconv_writers.py +--- openbabel-openbabel-3-1-1.orig/test/testobconv_writers.py 2020-05-08 17:38:02.000000000 +0200 ++++ openbabel-openbabel-3-1-1/test/testobconv_writers.py 2024-03-27 08:19:01.012651395 +0100 +@@ -669,81 +669,82 @@ + """) + + # cdjson -- ChemDoodle JSON +-class TestCDJSON(unittest.TestCase, WriteMixin): +- fmt = "cdjson" +- maxDiff = None +- def test_default(self): +- self.assertWriters(self.fmt, """\ +-{ +- "m": [ +- { +- "a": [ +- { +- "x": 31.692, +- "y": -0.498 +- }, +- { +- "x": 31.406, +- "y": 19.51 +- }, +- { +- "x": 48.59, +- "y": 29.764 +- }, +- { +- "x": 66.062, +- "y": 20.008 +- }, +- { +- "x": 66.35, +- "y": -0.0 +- }, +- { +- "x": 0.0, +- "y": 0.0 +- }, +- { +- "x": -20.009999999999999, +- "y": 0.10200000000000001, +- "l": 8 +- } +- ], +- "b": [ +- { +- "b": 0, +- "e": 5, +- "o": 2 +- }, +- { +- "b": 0, +- "e": 1 +- }, +- { +- "b": 1, +- "e": 2, +- "o": 2 +- }, +- { +- "b": 2, +- "e": 3 +- }, +- { +- "b": 3, +- "e": 4, +- "o": 2 +- }, +- { +- "b": 4, +- "e": 5 +- }, +- { +- "b": 5, +- "e": 6 +- } +- ] +- } +- ] +-}""") ++## Should never do pure textual compare of numerical values. ++## class TestCDJSON(unittest.TestCase, WriteMixin): ++## fmt = "cdjson" ++## maxDiff = None ++## def test_default(self): ++## self.assertWriters(self.fmt, """\ ++## { ++## "m": [ ++## { ++## "a": [ ++## { ++## "x": 31.692, ++## "y": -0.498 ++## }, ++## { ++## "x": 31.406, ++## "y": 19.51 ++## }, ++## { ++## "x": 48.59, ++## "y": 29.764 ++## }, ++## { ++## "x": 66.062, ++## "y": 20.008 ++## }, ++## { ++## "x": 66.35, ++## "y": -0.0 ++## }, ++## { ++## "x": 0.0, ++## "y": 0.0 ++## }, ++## { ++## "x": -20.009999999999999, ++## "y": 0.10200000000000001, ++## "l": 8 ++## } ++## ], ++## "b": [ ++## { ++## "b": 0, ++## "e": 5, ++## "o": 2 ++## }, ++## { ++## "b": 0, ++## "e": 1 ++## }, ++## { ++## "b": 1, ++## "e": 2, ++## "o": 2 ++## }, ++## { ++## "b": 2, ++## "e": 3 ++## }, ++## { ++## "b": 3, ++## "e": 4, ++## "o": 2 ++## }, ++## { ++## "b": 4, ++## "e": 5 ++## }, ++## { ++## "b": 5, ++## "e": 6 ++## } ++## ] ++## } ++## ] ++## }""") + + ## # cdxml -- ChemDraw CDXML format + ## XXX fails on an unpatched system +@@ -2754,179 +2755,180 @@ + """) + + # pcjson -- PubChem JSON +-class TestPCJSON(unittest.TestCase, WriteMixin): +- fmt = "pcjson" +- maxDiff = None +- def test_default(self): +- self.assertWriters(self.fmt, """\ +-{ +- "PC_Compounds": [ +- { +- "atoms": { +- "aids": [ +- 1, +- 2, +- 3, +- 4, +- 5, +- 6, +- 7, +- 8, +- 9, +- 10, +- 11, +- 12, +- 13 +- ], +- "element": [ +- 6, +- 6, +- 6, +- 6, +- 6, +- 6, +- 8, +- 1, +- 1, +- 1, +- 1, +- 1, +- 1 +- ] +- }, +- "bonds": { +- "aid1": [ +- 1, +- 1, +- 2, +- 3, +- 4, +- 5, +- 6, +- 1, +- 2, +- 3, +- 4, +- 5, +- 7 +- ], +- "aid2": [ +- 6, +- 2, +- 3, +- 4, +- 5, +- 6, +- 7, +- 8, +- 9, +- 10, +- 11, +- 12, +- 13 +- ], +- "order": [ +- 2, +- 1, +- 2, +- 1, +- 2, +- 1, +- 1, +- 1, +- 1, +- 1, +- 1, +- 1, +- 1 +- ] +- }, +- "coords": [ +- { +- "type": [ +- 1 +- ], +- "aids": [ +- 1, +- 2, +- 3, +- 4, +- 5, +- 6, +- 7, +- 8, +- 9, +- 10, +- 11, +- 12, +- 13 +- ], +- "conformers": [ +- { +- "x": [ +- 1.5846, +- 1.5703, +- 2.4295, +- 3.3031, +- 3.3175, +- 0.0, +- -1.0005, +- 2.313816216007316, +- 0.669250157347277, +- 2.4146659588503769, +- 4.189331679349326, +- 4.052466878708012, +- -1.4648575597102012 +- ], +- "y": [ +- 1.5846, +- 1.5703, +- 2.4295, +- 3.3031, +- 3.3175, +- 0.0, +- -1.0005, +- 2.313816216007316, +- 0.669250157347277, +- 2.4146659588503769, +- 4.189331679349326, +- 4.052466878708012, +- -1.4648575597102012 +- ], +- "style": { +- "annotation": [ +- 8, +- 8, +- 8, +- 8, +- 8, +- 8 +- ], +- "aid1": [ +- 1, +- 1, +- 2, +- 3, +- 4, +- 5 +- ], +- "aid2": [ +- 6, +- 2, +- 3, +- 4, +- 5, +- 6 +- ] +- } +- } +- ] +- } +- ], +- "charge": 0 +- } +- ] +-}""") ++## Should never do pure textual compare of numerical values. ++## class TestPCJSON(unittest.TestCase, WriteMixin): ++## fmt = "pcjson" ++## maxDiff = None ++## def test_default(self): ++## self.assertWriters(self.fmt, """\ ++## { ++## "PC_Compounds": [ ++## { ++## "atoms": { ++## "aids": [ ++## 1, ++## 2, ++## 3, ++## 4, ++## 5, ++## 6, ++## 7, ++## 8, ++## 9, ++## 10, ++## 11, ++## 12, ++## 13 ++## ], ++## "element": [ ++## 6, ++## 6, ++## 6, ++## 6, ++## 6, ++## 6, ++## 8, ++## 1, ++## 1, ++## 1, ++## 1, ++## 1, ++## 1 ++## ] ++## }, ++## "bonds": { ++## "aid1": [ ++## 1, ++## 1, ++## 2, ++## 3, ++## 4, ++## 5, ++## 6, ++## 1, ++## 2, ++## 3, ++## 4, ++## 5, ++## 7 ++## ], ++## "aid2": [ ++## 6, ++## 2, ++## 3, ++## 4, ++## 5, ++## 6, ++## 7, ++## 8, ++## 9, ++## 10, ++## 11, ++## 12, ++## 13 ++## ], ++## "order": [ ++## 2, ++## 1, ++## 2, ++## 1, ++## 2, ++## 1, ++## 1, ++## 1, ++## 1, ++## 1, ++## 1, ++## 1, ++## 1 ++## ] ++## }, ++## "coords": [ ++## { ++## "type": [ ++## 1 ++## ], ++## "aids": [ ++## 1, ++## 2, ++## 3, ++## 4, ++## 5, ++## 6, ++## 7, ++## 8, ++## 9, ++## 10, ++## 11, ++## 12, ++## 13 ++## ], ++## "conformers": [ ++## { ++## "x": [ ++## 1.5846, ++## 1.5703, ++## 2.4295, ++## 3.3031, ++## 3.3175, ++## 0.0, ++## -1.0005, ++## 2.313816216007316, ++## 0.669250157347277, ++## 2.4146659588503769, ++## 4.189331679349326, ++## 4.052466878708012, ++## -1.4648575597102012 ++## ], ++## "y": [ ++## 1.5846, ++## 1.5703, ++## 2.4295, ++## 3.3031, ++## 3.3175, ++## 0.0, ++## -1.0005, ++## 2.313816216007316, ++## 0.669250157347277, ++## 2.4146659588503769, ++## 4.189331679349326, ++## 4.052466878708012, ++## -1.4648575597102012 ++## ], ++## "style": { ++## "annotation": [ ++## 8, ++## 8, ++## 8, ++## 8, ++## 8, ++## 8 ++## ], ++## "aid1": [ ++## 1, ++## 1, ++## 2, ++## 3, ++## 4, ++## 5 ++## ], ++## "aid2": [ ++## 6, ++## 2, ++## 3, ++## 4, ++## 5, ++## 6 ++## ] ++## } ++## } ++## ] ++## } ++## ], ++## "charge": 0 ++## } ++## ] ++## }""") + + # pcm -- PCModel Format + class TestPCM(unittest.TestCase, WriteMixin): diff --git a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_fix-ctime.patch b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_fix-ctime.patch new file mode 100644 index 00000000000..85457db3284 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_fix-ctime.patch @@ -0,0 +1,14 @@ + included +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/openbabel-openbabel-3-1-1.orig/include/openbabel/obutil.h b/openbabel-openbabel-3-1-1/include/openbabel/obutil.h +index 233ab0b..4ff35f0 100644 +--- a/openbabel-openbabel-3-1-1.orig/include/openbabel/obutil.h ++++ b/openbabel-openbabel-3-1-1/include/openbabel/obutil.h +@@ -37,6 +37,7 @@ GNU General Public License for more details. + #endif + + #include ++#include + + #ifndef M_PI + #define M_PI 3.14159265358979323846 diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2023a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2023a.eb new file mode 100644 index 00000000000..1ce1045701d --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2023a.eb @@ -0,0 +1,36 @@ +name = 'OpenFOAM' +version = '11' + +homepage = 'https://www.openfoam.org/' +description = """OpenFOAM is a free, open source CFD software package. + OpenFOAM has an extensive range of features to solve anything from complex fluid flows + involving chemical reactions, turbulence and heat transfer, + to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = ['version-%(version)s.tar.gz'] +patches = ['OpenFOAM-11-ThirdParty.patch'] +checksums = [ + {'version-%(version)s.tar.gz': 'ebc0f86ead699abba61290ba8aac5b730aa93256e675d1d93a5d5f116d51e0c0'}, + {'OpenFOAM-%(version)s-ThirdParty.patch': '7c526be93a0e241584c849cdcda682c23d1a87f23b1a06eae2fa8372a2cab415'}, +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.26.3'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('ncurses', '6.4'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.3'), + ('CGAL', '5.6'), + ('ParaView', '5.11.2'), + ('gnuplot', '5.4.8'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-7-foss-2022a-20200508-int64.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-7-foss-2022a-20200508-int64.eb new file mode 100644 index 00000000000..2bf9648d00c --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-7-foss-2022a-20200508-int64.eb @@ -0,0 +1,47 @@ +name = 'OpenFOAM' +local_commit = '3bcbaf9' +version = '7' +versionsuffix = '-20200508-int64' + +homepage = 'https://www.openfoam.org/' +description = """OpenFOAM is a free, open source CFD software package. + OpenFOAM has an extensive range of features to solve anything from complex fluid flows + involving chemical reactions, turbulence and heat transfer, + to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'cstd': 'c++11', 'i8': True} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': 'OpenFOAM-%(version)s%(versionsuffix)s.tar.gz', +}] +patches = [ + 'OpenFOAM-7-20200508-cleanup.patch', + 'OpenFOAM-%(version)s-mpi-compilation.patch', +] +checksums = [ + 'e91cc1355cdfc21b953e704d22ccd0e01a32bb11775cbbdd8105cf4364b498af', # OpenFOAM-7-20200508.tar.gz + '91f78714058a020da314b1311beb2c3cc2f4a817d02b1495c43b57156774cfa6', # OpenFOAM-7-20200508-cleanup.patch + '9f2af8f67a57a187f68aadaa99bc99f1cfbfe41086e5839a57e1bb4e41b3762c', # OpenFOAM-7-mpi-compilation.patch +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.23.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libreadline', '8.1.2'), + ('ncurses', '6.3'), + ('METIS', '5.1.0', '-int64'), + ('SCOTCH', '7.0.1', '-int64'), + ('CGAL', '4.14.3'), + ('gnuplot', '5.4.4'), +] +# Paraview is not included in here as it is an optional dependecy and +# OpenFOAM 7 is only compatible with old versions of Paraview (< 5.7) + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-7-foss-2022a-20200508.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-7-foss-2022a-20200508.eb new file mode 100644 index 00000000000..299b51f57b8 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-7-foss-2022a-20200508.eb @@ -0,0 +1,48 @@ +name = 'OpenFOAM' +local_commit = '3bcbaf9' +version = '7' +versionsuffix = '-20200508' + +homepage = 'https://www.openfoam.org/' +description = """OpenFOAM is a free, open source CFD software package. + OpenFOAM has an extensive range of features to solve anything from complex fluid flows + involving chemical reactions, turbulence and heat transfer, + to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': 'OpenFOAM-%(version)s%(versionsuffix)s.tar.gz', +}] +patches = [ + 'OpenFOAM-7-20200508-cleanup.patch', + 'OpenFOAM-%(version)s-mpi-compilation.patch', +] +checksums = [ + 'e91cc1355cdfc21b953e704d22ccd0e01a32bb11775cbbdd8105cf4364b498af', # OpenFOAM-7-20200508.tar.gz + '91f78714058a020da314b1311beb2c3cc2f4a817d02b1495c43b57156774cfa6', # OpenFOAM-7-20200508-cleanup.patch + '9f2af8f67a57a187f68aadaa99bc99f1cfbfe41086e5839a57e1bb4e41b3762c', # OpenFOAM-7-mpi-compilation.patch +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.23.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libreadline', '8.1.2'), + ('ncurses', '6.3'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.1'), + ('CGAL', '4.14.3'), + ('gnuplot', '5.4.4'), +] +# Paraview is not included in here as it is an optional dependecy and +# OpenFOAM 7 is only compatible with old versions of Paraview (< 5.7) + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-foss-2022a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-foss-2022a.eb new file mode 100644 index 00000000000..c98556c0982 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-foss-2022a.eb @@ -0,0 +1,45 @@ +name = 'OpenFOAM' +version = 'v2112' + +homepage = 'https://www.openfoam.com/' +description = """OpenFOAM is a free, open source CFD software package. + OpenFOAM has an extensive range of features to solve anything from complex fluid flows + involving chemical reactions, turbulence and heat transfer, + to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +# Users have found that vectorizion caused OpenFOAM to produce some very incorrect results. +# Disabling vectorize was confirmed to fix the the known issues. +# With no test suite, sticking to known working toolchain options until proven otherwise. +toolchainopts = {'cstd': 'c++11', 'vectorize': False} + +source_urls = ['https://sourceforge.net/projects/openfoam/files/%(version)s/'] +sources = [SOURCE_TGZ] +patches = [ + ('OpenFOAM-v2012-cleanup.patch', 1), + 'OpenFOAM-v1906-wmake-ompi.patch', +] +checksums = [ + '3e838731e79db1c288acc27aad8cc8a43d9dac1f24e5773e3b9fa91419a8c3f7', # OpenFOAM-v2112.tgz + 'cdd2597a1ac1448e9bd33a364a8dfe17f51cc9ab5a8e0ab67cf92bba3ed9da43', # OpenFOAM-v2012-cleanup.patch + '518e27683c5c41400cfbc17b31effa50b31b25916dccbf85b18b0b955f642505', # OpenFOAM-v1906-wmake-ompi.patch +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.23.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libreadline', '8.1.2'), + ('ncurses', '6.3'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.1'), + ('CGAL', '4.14.3'), + ('ParaView', '5.10.1', '-mpi'), + ('gnuplot', '5.4.4'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-foss-2022a-int64.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-foss-2022a-int64.eb new file mode 100644 index 00000000000..b830cfdf044 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-foss-2022a-int64.eb @@ -0,0 +1,47 @@ +name = 'OpenFOAM' +version = 'v2206' +versionsuffix = '-int64' + +homepage = 'https://www.openfoam.com/' +description = """OpenFOAM is a free, open source CFD software package. + OpenFOAM has an extensive range of features to solve anything from complex fluid flows + involving chemical reactions, turbulence and heat transfer, + to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +# Users have found that vectorizion caused OpenFOAM to produce some very incorrect results. +# Disabling vectorize was confirmed to fix the the known issues. +# With no test suite, sticking to known working toolchain options until proven otherwise. +toolchainopts = {'cstd': 'c++11', 'vectorize': False, 'i8': True} + + +source_urls = ['https://sourceforge.net/projects/openfoam/files/%(version)s/'] +sources = [SOURCE_TGZ] +patches = [ + ('OpenFOAM-v2206-cleanup.patch', 1), + 'OpenFOAM-v1906-wmake-ompi.patch', +] +checksums = [ + 'db95eda4afb97ca870733b2d4201ef539099d0778e3f3eca9a075d4f1a0eea46', # OpenFOAM-v2206.tgz + '25333124581acae57c173587de4ebd6e143b894b1a26e4f0326db8b7e0cb1972', # OpenFOAM-v2206-cleanup.patch + '518e27683c5c41400cfbc17b31effa50b31b25916dccbf85b18b0b955f642505', # OpenFOAM-v1906-wmake-ompi.patch +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.23.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libreadline', '8.1.2'), + ('ncurses', '6.3'), + ('METIS', '5.1.0', versionsuffix), + ('SCOTCH', '7.0.1', versionsuffix), + ('KaHIP', '3.14'), + ('CGAL', '4.14.3'), + ('ParaView', '5.10.1', '-mpi'), + ('gnuplot', '5.4.4'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2212-wmake-OpenMPI.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2212-wmake-OpenMPI.patch new file mode 100644 index 00000000000..0cd23ac34f7 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2212-wmake-OpenMPI.patch @@ -0,0 +1,12 @@ +# - Add mplibEASYBUILDMPI configuration for wmake (OpenMPI version) +# +# author: Jiri Furst +--- /dev/null 2023-03-06 18:30:28.397302047 +0100 ++++ OpenFOAM-v2212/wmake/rules/General/mplibEASYBUILDMPI 2023-03-10 14:52:38.100740228 +0100 +@@ -0,0 +1,6 @@ ++#------------------------------------------------------------------------------ ++# Use openmpi mpicc to obtain settings - mpicc must be available ++ ++include $(GENERAL_RULES)/mpi-mpicc-openmpi ++ ++#------------------------------------------------------------------------------ diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb new file mode 100644 index 00000000000..74d81fdd5a1 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb @@ -0,0 +1,47 @@ +name = 'OpenFOAM' +version = 'v2306' + +homepage = 'https://www.openfoam.com/' +description = """OpenFOAM is a free, open source CFD software package. + OpenFOAM has an extensive range of features to solve anything from complex fluid flows + involving chemical reactions, turbulence and heat transfer, + to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +# Users have found that vectorizion caused OpenFOAM to produce some very incorrect results. +# Disabling vectorize was confirmed to fix the the known issues. +# With no test suite, sticking to known working toolchain options until proven otherwise. +toolchainopts = {'usempi': True, 'cstd': 'c++14', 'vectorize': False} + +source_urls = ['https://sourceforge.net/projects/openfoam/files/%(version)s/'] +sources = [SOURCE_TGZ] +patches = [ + ('OpenFOAM-v2206-cleanup.patch', 1), + ('OpenFOAM-v2212-wmake-OpenMPI.patch', 1), +] +checksums = [ + {'OpenFOAM-v2306.tgz': 'd7fba773658c0f06ad17f90199565f32e9bf502b7bb03077503642064e1f5344'}, + {'OpenFOAM-v2206-cleanup.patch': '25333124581acae57c173587de4ebd6e143b894b1a26e4f0326db8b7e0cb1972'}, + {'OpenFOAM-v2212-wmake-OpenMPI.patch': '4f5110e98df1f057dc4b478a004e4ae2dc5cc763899f0d3ceb6773315c5c8ba9'}, +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.24.3'), + ('flex', '2.6.4'), + ('CGAL', '5.5.2'), # header only +] + +dependencies = [ + ('libreadline', '8.2'), + ('ncurses', '6.3'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.3'), + ('KaHIP', '3.14'), + ('Boost', '1.81.0'), + ('ParaView', '5.11.1'), + ('gnuplot', '5.4.6'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-cleanup.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-cleanup.patch new file mode 100644 index 00000000000..7d4add901e1 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-cleanup.patch @@ -0,0 +1,178 @@ +# Replaces OpenFOAM third-party libraries with EASYBUILD variants. +# Uses the OpenFOAM prefs mechanism and the FOAM_CONFIG_ETC variable +# to define the preferred settings without patching the original files +# +# Authors: Mark Olesen +# +# ChangeLog: +# - v2312 - activate METIS, KaHIP and readline support in etc/config.sh/setup +# author: Jiri Furst +# +# ------------------------------------------------------------------------- +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/prefs.sh 2020-12-14 10:02:26.488430802 +0100 +@@ -0,0 +1,7 @@ ++##Easybuild## settings -*- sh -*- ++ ++export FOAM_CONFIG_ETC="etc/easybuild" ++ ++export WM_MPLIB=EASYBUILDMPI ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/CGAL 2020-12-14 10:10:55.991841204 +0100 +@@ -0,0 +1,6 @@ ++##Easybuild## settings -*- sh -*- ++ ++export BOOST_ARCH_PATH="$EBROOTBOOST" ++export CGAL_ARCH_PATH="$EBROOTCGAL" ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/FFTW 2020-12-14 10:10:53.735843322 +0100 +@@ -0,0 +1,5 @@ ++##Easybuild## settings -*- sh -*- ++ ++export FFTW_ARCH_PATH="$EBROOTFFTW" ++ ++##EasyBuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/metis 2020-12-11 21:23:28.774934024 +0100 +@@ -0,0 +1,6 @@ ++##Easybuild## settings -*- sh -*- ++ ++METIS_VERSION="metis-$EBVERSIONMETIS" ++[ -d "$METIS_ARCH_PATH" ] || METIS_ARCH_PATH="$EBROOTMETIS" ++ ++##Easybuild## +--- /dev/null 2022-12-01 18:21:35.103878336 +0100 ++++ OpenFOAM-v2206/etc/easybuild/config.sh/kahip 2022-12-12 20:24:07.538408981 +0100 +@@ -0,0 +1,6 @@ ++##Easybuild## settings -*- sh -*- ++ ++KAHIP_VERSION="kahip-$EBVERSIONKAHIP" ++export KAHIP_ARCH_PATH="$EBROOTKAHIP" ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/readline 2020-12-11 21:23:22.534951043 +0100 +@@ -0,0 +1,5 @@ ++##Easybuild## settings -*- sh -*- ++ ++export READLINE_ARCH_PATH="$EBROOTLIBREADLINE" ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/scotch 2020-12-11 21:23:17.586964539 +0100 +@@ -0,0 +1,7 @@ ++##Easybuild## settings -*- sh -*- ++ ++export SCOTCH_VERSION="scotch_$EBVERSIONSCOTCH" ++export SCOTCH_ARCH_PATH="$EBROOTSCOTCH" ++[ -d "$SCOTCH_ARCH_PATH" ] || SCOTCH_ARCH_PATH="$SCOTCH_ROOT" ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/vtk 2020-12-11 21:22:55.463024882 +0100 +@@ -0,0 +1,9 @@ ++##Easybuild## settings -*- sh -*- ++ ++export VTK_DIR="$EBROOTVTK" ++export MESA_ARCH_PATH="$EBROOTMESA" ++ ++# Define paraview-mesa directory as required ++unset ParaView_MESA_DIR ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/paraview 2020-12-14 10:13:53.583674383 +0100 +@@ -0,0 +1,75 @@ ++##Easybuild## settings -*- sh -*- ++# ++# Largely a knockoff of the OpenFOAM etc/config.sh/paraview-system ++# readjusted for easybuild ++# ++# Copyright (C) 2020 OpenCFD Ltd. ++# ++#------------------------------------------------------------------------------ ++# Compiler-specific location for ThirdParty installations ++archDir="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER" ++ ++# Clean path and library path of previous settings ++eval \ ++ "$($WM_PROJECT_DIR/bin/foamCleanPath -sh-env=PATH \ ++ $ParaView_DIR $archDir/ParaView- $archDir/qt-)" ++ ++eval \ ++ "$($WM_PROJECT_DIR/bin/foamCleanPath -sh-env=LD_LIBRARY_PATH \ ++ $ParaView_DIR $archDir/ParaView- $archDir/qt-)" ++ ++ ++#------------------------------------------------------------------------------ ++ ++##Easybuild## settings ++ ++ParaView_VERSION="$EBVERSIONPARAVIEW" ++export ParaView_DIR="$EBROOTPARAVIEW" ++ ++#------------------------------------------------------------------------------ ++ ++unset PV_PLUGIN_PATH ++ ++# Set API to correspond to VERSION ++# pv_api is . from ParaView_VERSION ++#- ++# Extract API from VERSION ++pv_api=$(echo "$ParaView_VERSION" | \ ++ sed -ne 's/^[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p') ++ ++pv_plugin_dir="$FOAM_LIBBIN/paraview-$pv_api" ++ ++# Set paths if binaries are present ++if [ -r "$ParaView_DIR" ] ++then ++ export PATH="$ParaView_DIR/bin:$PATH" ++ ++ # ParaView libraries ++ # - 5.5 and later: lib/, but could also be lib64/ ++ for libDir in lib64 lib ++ do ++ pvLibDir="$libDir/paraview-$pv_api" ++ if [ -d "$ParaView_DIR/$pvLibDir" ] ++ then ++ export LD_LIBRARY_PATH="$ParaView_DIR/$libDir:$LD_LIBRARY_PATH" ++ break ++ fi ++ done ++ ++ # OpenFOAM plugin directory must be the first in PV_PLUGIN_PATH ++ # and have paraview-major.minor encoded in its name ++ if [ -d "$pv_plugin_dir" ] ++ then ++ export PV_PLUGIN_PATH="$pv_plugin_dir" ++ fi ++fi ++ ++ ++#------------------------------------------------------------------------------ ++ ++unset ParaView_VERSION ++ ++unset archDir libDir ++unset pv_api pv_plugin_dir pvLibDir ++ ++#------------------------------------------------------------------------------ +--- OpenFOAM-v2312/etc/config.sh/setup.orig 2024-01-11 09:49:24.823571481 +0100 ++++ OpenFOAM-v2312/etc/config.sh/setup 2024-01-11 09:51:40.545969774 +0100 +@@ -207,7 +207,9 @@ + _foamEtc -config CGAL + _foamEtc -config scotch + _foamEtc -config FFTW +- ++_foamEtc -config metis ++_foamEtc -config kahip ++_foamEtc -config readline + + # Finalize library paths + # ~~~~~~~~~~~~~~~~~~~~~~ + diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb new file mode 100644 index 00000000000..661327ff9a6 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb @@ -0,0 +1,46 @@ +name = 'OpenFOAM' +version = 'v2312' + +homepage = 'https://www.openfoam.com/' +description = """OpenFOAM is a free, open source CFD software package. + OpenFOAM has an extensive range of features to solve anything from complex fluid flows + involving chemical reactions, turbulence and heat transfer, + to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +# Users have found that vectorizion caused OpenFOAM to produce some very incorrect results. +# Disabling vectorize was confirmed to fix the the known issues. +# With no test suite, sticking to known working toolchain options until proven otherwise. +toolchainopts = {'cstd': 'c++14', 'vectorize': False} + +source_urls = ['https://sourceforge.net/projects/openfoam/files/%(version)s/'] +sources = [SOURCE_TGZ] +patches = [ + ('OpenFOAM-v2312-cleanup.patch', 1), + ('OpenFOAM-v2212-wmake-OpenMPI.patch', 1), +] +checksums = [ + {'OpenFOAM-v2312.tgz': 'f113183a4d027c93939212af8967053c5f8fe76fb62e5848cb11bbcf8e829552'}, + {'OpenFOAM-v2312-cleanup.patch': 'f1389e5d89510209d99d35917a4a6bd727134121bbbaa12471235042e675dacf'}, + {'OpenFOAM-v2212-wmake-OpenMPI.patch': '4f5110e98df1f057dc4b478a004e4ae2dc5cc763899f0d3ceb6773315c5c8ba9'}, +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.26.3'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libreadline', '8.2'), + ('ncurses', '6.4'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.3'), + ('KaHIP', '3.16'), + ('CGAL', '5.6'), + ('ParaView', '5.11.2'), + ('gnuplot', '5.4.8'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenMEEG/OpenMEEG-2.5.7-foss-2023a.eb b/easybuild/easyconfigs/o/OpenMEEG/OpenMEEG-2.5.7-foss-2023a.eb new file mode 100644 index 00000000000..8926a0833fa --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMEEG/OpenMEEG-2.5.7-foss-2023a.eb @@ -0,0 +1,56 @@ +easyblock = 'CMakeMake' + +name = 'OpenMEEG' +version = '2.5.7' + +homepage = 'http://openmeeg.github.io/' +description = """The OpenMEEG software is a C++ package for solving the forward problems of +electroencephalography (EEG) and magnetoencephalography (MEG).""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = "openmeeg" +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['OpenMEEG-2.5.7_find-blas-lapack-from-cmake.patch'] +checksums = [ + {'2.5.7.tar.gz': '19e982821affb67fedb76fbeac6fbdc0b6653f3c8d4a6f807ef729566a42b0dc'}, + {'OpenMEEG-2.5.7_find-blas-lapack-from-cmake.patch': + '223d15c9efac40f7875ca6605409613be7a9d2509b3baebde362e08297357367'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('HDF5', '1.14.0'), + ('MATIO', '1.5.26'), +] + +configopts = "-DENABLE_PYTHON=on -DPython3_ROOT_DIR=$EBROOTPYTHON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " + +_om_binaries = [ + 'om_assemble', 'om_forward', 'om_geometry_info', 'om_matrix_convert', 'om_mesh_concat', 'om_mesh_info', + 'om_mesh_to_dip', 'om_project_sensors', 'om_squids2vtk', 'om_check_geom', 'om_gain', 'om_make_nerve', + 'om_matrix_info', 'om_mesh_convert', 'om_mesh_smooth', 'om_minverser', 'om_register_squids', +] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _om_binaries] + + ['lib/libOpenMEEG.%s' % SHLIB_EXT, 'lib/libOpenMEEGMaths.%s' % SHLIB_EXT], + 'dirs': ['include/OpenMEEG', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "om_mesh_info --help", + "pip check", + "python -c 'import openmeeg'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/o/OpenMEEG/OpenMEEG-2.5.7_find-blas-lapack-from-cmake.patch b/easybuild/easyconfigs/o/OpenMEEG/OpenMEEG-2.5.7_find-blas-lapack-from-cmake.patch new file mode 100644 index 00000000000..fe53dc2cbe9 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMEEG/OpenMEEG-2.5.7_find-blas-lapack-from-cmake.patch @@ -0,0 +1,31 @@ +Use standard FindBLAS and FindLAPACK modules from CMake instead of a custom implementation. +Upstream modules can detect Flexiblas. +author: Alex Domingo (Vrije Universiteit Brussel) +--- cmake/thirdParties.cmake.orig 2024-02-10 12:57:15.285723739 +0100 ++++ cmake/thirdParties.cmake 2024-02-10 12:56:27.928866727 +0100 +@@ -1,4 +1,24 @@ +-include(FindBLASImplementation) ++find_package(BLAS REQUIRED) ++if (BLAS_FOUND) ++ set(USE_OPENBLAS ON) ++ set(HAVE_BLAS ON) ++endif (BLAS_FOUND) ++find_package(LAPACK REQUIRED) ++if (LAPACK_FOUND) ++ set(HAVE_LAPACK ON) ++endif (LAPACK_FOUND) ++ ++# OpenBLAS may or may not include lapacke. ++# Check which version is used. ++ ++set(CMAKE_REQUIRED_LIBRARIES LAPACK::LAPACK BLAS::BLAS) ++check_function_exists(LAPACKE_dlange LAPACKE_WORKS) ++mark_as_advanced(LAPACKE_WORKS) ++if (NOT LAPACKE_WORKS) ++ find_library(LAPACKE lapacke REQUIRED) ++ list(PREPEND _lapack_libs ${LAPACKE}) ++ set_target_properties(LAPACK::LAPACK PROPERTIES INTERFACE_LINK_LIBRARIES "${_lapack_libs}") ++endif() + + if (BLA_STATIC) + set(MATIO_USE_STATIC_LIBRARIES TRUE) # XXX This should be an option diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.1-GCC-7.3.0-2.30.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.1-GCC-7.3.0-2.30.eb index f18855e0146..f71cda3c24b 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.1-GCC-7.3.0-2.30.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.1-GCC-7.3.0-2.30.eb @@ -10,13 +10,15 @@ source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/ sources = [SOURCELOWER_TAR_GZ] patches = [ 'OpenMPI-3.1_fix-ib-query.patch', - '%(name)s-%(version)s-add_ompi_datatype_attribute_to_release_ucp_datatype.patch' + '%(name)s-%(version)s-add_ompi_datatype_attribute_to_release_ucp_datatype.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '846bb7ed2aa0c96fc0594423e7b21904ee4f160dcfd62b8a0d1274256fbf25ce', # openmpi-3.1.1.tar.gz '8031ff093788a750f30ec7b4b06573af008009e62ddfd558ecfe97cbe404d9d2', # OpenMPI-3.1_fix-ib-query.patch # OpenMPI-3.1.1-add_ompi_datatype_attribute_to_release_ucp_datatype.patch '945d19eb583af1e4d2ddcb40bafe505352244635c812308d1c77ad1db2811538', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.1-gcccuda-2018b.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.1-gcccuda-2018b.eb index a11fc78e42a..5d8c9fd855e 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.1-gcccuda-2018b.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.1-gcccuda-2018b.eb @@ -10,13 +10,15 @@ source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/ sources = [SOURCELOWER_TAR_GZ] patches = [ 'OpenMPI-3.1_fix-ib-query.patch', - '%(name)s-%(version)s-add_ompi_datatype_attribute_to_release_ucp_datatype.patch' + '%(name)s-%(version)s-add_ompi_datatype_attribute_to_release_ucp_datatype.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '846bb7ed2aa0c96fc0594423e7b21904ee4f160dcfd62b8a0d1274256fbf25ce', # openmpi-3.1.1.tar.gz '8031ff093788a750f30ec7b4b06573af008009e62ddfd558ecfe97cbe404d9d2', # OpenMPI-3.1_fix-ib-query.patch # OpenMPI-3.1.1-add_ompi_datatype_attribute_to_release_ucp_datatype.patch '945d19eb583af1e4d2ddcb40bafe505352244635c812308d1c77ad1db2811538', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] # needed for --with-verbs diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb index dce3d8fbc8d..481d63e5af5 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb @@ -12,6 +12,7 @@ patches = [ '%(name)s-%(version)s-add_ompi_datatype_attribute_to_release_ucp_datatype.patch', 'OpenMPI-3.1_fix-ib-query.patch', 'OpenMPI-3.1.3_fix-support-for-external-PMIx-v3.1.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '0254627d8a9b12a8f50213ed01e7a94dd7e91b340abf5c53bcf0b89afe6fb77d', # openmpi-3.1.3.tar.gz @@ -20,6 +21,7 @@ checksums = [ '8031ff093788a750f30ec7b4b06573af008009e62ddfd558ecfe97cbe404d9d2', # OpenMPI-3.1_fix-ib-query.patch # OpenMPI-3.1.3_fix-support-for-external-PMIx-v3.1.patch '94846bee50b43b220fd6fead576c4be2cbc8baaa423ce7346d7d193fda523357', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb index 742cf80152b..8f7e724e3a3 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb @@ -11,6 +11,7 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ '%(name)s-3.1.3-add_ompi_datatype_attribute_to_release_ucp_datatype.patch', 'OpenMPI-3.1.4_openib-device-params-ConnectX-6.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ 'a7c34ad052ea8201ed9e7389994069fe6996403beabdd2d711caf0532808156c', # openmpi-3.1.4.tar.gz @@ -18,6 +19,7 @@ checksums = [ '46fa94eb417954bdb297291bad4f4d32018af4911bebf3e59af6276eba6a50a9', # OpenMPI-3.1.4_openib-device-params-ConnectX-6.patch '77df4f04802f84c49659c0d89c92724972c0634ac2155ed787482c4ddf1ee999', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0.eb index e60121be567..61aeb4ab521 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0.eb @@ -11,6 +11,7 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ '%(name)s-3.1.3-add_ompi_datatype_attribute_to_release_ucp_datatype.patch', 'OpenMPI-3.1.4_openib-device-params-ConnectX-6.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ 'a7c34ad052ea8201ed9e7389994069fe6996403beabdd2d711caf0532808156c', # openmpi-3.1.4.tar.gz @@ -18,6 +19,7 @@ checksums = [ '46fa94eb417954bdb297291bad4f4d32018af4911bebf3e59af6276eba6a50a9', # OpenMPI-3.1.4_openib-device-params-ConnectX-6.patch '77df4f04802f84c49659c0d89c92724972c0634ac2155ed787482c4ddf1ee999', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-gcccuda-2019b.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-gcccuda-2019b.eb index d2dc52abe14..5bc9297b6bd 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-gcccuda-2019b.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-gcccuda-2019b.eb @@ -11,6 +11,7 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ '%(name)s-3.1.3-add_ompi_datatype_attribute_to_release_ucp_datatype.patch', 'OpenMPI-3.1.4_openib-device-params-ConnectX-6.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ 'a7c34ad052ea8201ed9e7389994069fe6996403beabdd2d711caf0532808156c', # openmpi-3.1.4.tar.gz @@ -18,6 +19,7 @@ checksums = [ '46fa94eb417954bdb297291bad4f4d32018af4911bebf3e59af6276eba6a50a9', # OpenMPI-3.1.4_openib-device-params-ConnectX-6.patch '77df4f04802f84c49659c0d89c92724972c0634ac2155ed787482c4ddf1ee999', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.0-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.0-GCC-8.2.0-2.31.1.eb index 077d51b2f9e..d8185fe1dd3 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.0-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.0-GCC-8.2.0-2.31.1.eb @@ -8,11 +8,15 @@ toolchain = {'name': 'GCC', 'version': '8.2.0-2.31.1'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_GZ] -patches = ['OpenMPI-4.0.1_add-support-for-ucx-1.7.patch'] +patches = [ + 'OpenMPI-4.0.1_add-support-for-ucx-1.7.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', +] checksums = [ '36f10daa3f1b1d37530f686bf7f70966b2a13c0bc6e2e05aebc7e85e3d21b10d', # openmpi-4.0.0.tar.gz # OpenMPI-4.0.1_add-support-for-ucx-1.7.patch '3c5ce8fe164869f309821a4528bbd8a4c087bc748dadf589850482bbccf8890c', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb index dc5286d3362..c6e650ef6e6 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb @@ -10,12 +10,14 @@ source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/ sources = [SOURCELOWER_TAR_GZ] patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', ] checksums = [ '6346bf976001ad274c7e018d6cc35c92bbb9426d8f7754fac00a17ea5ac8eebc', # openmpi-4.0.3.tar.gz # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch ] diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-gcccuda-2020a.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-gcccuda-2020a.eb index a9103a8a934..6eb936f50ad 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-gcccuda-2020a.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-gcccuda-2020a.eb @@ -10,12 +10,14 @@ source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/ sources = [SOURCELOWER_TAR_GZ] patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', ] checksums = [ '6346bf976001ad274c7e018d6cc35c92bbb9426d8f7754fac00a17ea5ac8eebc', # openmpi-4.0.3.tar.gz # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch ] diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifort-2020.1.217.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifort-2020.1.217.eb index 75c1dbb9195..435d229f4f0 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifort-2020.1.217.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifort-2020.1.217.eb @@ -10,12 +10,14 @@ source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/ sources = [SOURCELOWER_TAR_GZ] patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', ] checksums = [ '6346bf976001ad274c7e018d6cc35c92bbb9426d8f7754fac00a17ea5ac8eebc', # openmpi-4.0.3.tar.gz # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch ] diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifortcuda-2020a.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifortcuda-2020a.eb index 564f903d56a..8acb43b7ce6 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifortcuda-2020a.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifortcuda-2020a.eb @@ -10,12 +10,14 @@ source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/ sources = [SOURCELOWER_TAR_GZ] patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', ] checksums = [ '6346bf976001ad274c7e018d6cc35c92bbb9426d8f7754fac00a17ea5ac8eebc', # openmpi-4.0.3.tar.gz # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch ] diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0.eb index 1536146190d..184de98e331 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0.eb @@ -12,6 +12,7 @@ patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', 'OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '572e777441fd47d7f06f1b8a166e7f44b8ea01b8b2e79d1e299d509725d1bd05', # openmpi-4.0.5.tar.gz @@ -20,6 +21,7 @@ checksums = [ '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch # OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch '7d8695f0d23453c82638ad33b18e41690274d5c7784291213e98335b42c54578', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-9.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-9.3.0.eb index c399450ab49..c62a1b54501 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-9.3.0.eb @@ -12,6 +12,7 @@ patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', 'OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '572e777441fd47d7f06f1b8a166e7f44b8ea01b8b2e79d1e299d509725d1bd05', # openmpi-4.0.5.tar.gz @@ -20,6 +21,7 @@ checksums = [ '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch # OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch '7d8695f0d23453c82638ad33b18e41690274d5c7784291213e98335b42c54578', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.1.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.1.eb index 383370dd6f5..bb1fb2730ac 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.1.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.1.eb @@ -14,6 +14,7 @@ patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', 'OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '572e777441fd47d7f06f1b8a166e7f44b8ea01b8b2e79d1e299d509725d1bd05', # openmpi-4.0.5.tar.gz @@ -22,6 +23,7 @@ checksums = [ '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch # OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch '7d8695f0d23453c82638ad33b18e41690274d5c7784291213e98335b42c54578', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-gcccuda-2020b.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-gcccuda-2020b.eb index 3746daadf8e..838b2563b31 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-gcccuda-2020b.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-gcccuda-2020b.eb @@ -12,6 +12,7 @@ patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', 'OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '572e777441fd47d7f06f1b8a166e7f44b8ea01b8b2e79d1e299d509725d1bd05', # openmpi-4.0.5.tar.gz @@ -20,6 +21,7 @@ checksums = [ '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch # OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch '7d8695f0d23453c82638ad33b18e41690274d5c7784291213e98335b42c54578', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-iccifort-2020.4.304.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-iccifort-2020.4.304.eb index de0f5b3d2e1..08a4dbccb2d 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-iccifort-2020.4.304.eb @@ -12,6 +12,7 @@ patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', 'OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '572e777441fd47d7f06f1b8a166e7f44b8ea01b8b2e79d1e299d509725d1bd05', # openmpi-4.0.5.tar.gz @@ -20,6 +21,7 @@ checksums = [ '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch # OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch '7d8695f0d23453c82638ad33b18e41690274d5c7784291213e98335b42c54578', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5_fix-MS_RDONLY-error.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5_fix-MS_RDONLY-error.patch new file mode 100644 index 00000000000..89df2e3ff36 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5_fix-MS_RDONLY-error.patch @@ -0,0 +1,47 @@ +From 5b525b251c3433bf50b44b05c84937a39fb10074 Mon Sep 17 00:00:00 2001 +From: Bert Wesarg +Date: Tue, 23 Feb 2021 08:21:22 +0100 +Subject: [PATCH] fs/lustre: Remove unneeded includes + +The functionality was migrated to `fs/base/fs_base_get_parent_dir.c` long +ago, but the includes stayed. Though in lustre 2.14 `lustre_user.h` +moved the inclusion of `linux/fs.h` outside the `__KERNEL__` guard. This +triggered now Debian bug #898743 [1], which states that including +`sys/mount.h` after `linux/fs.h` breaks compilation. Thus the include +removal also avoids this breakage. + +Closes #8508. + +[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898743 + +Signed-off-by: Bert Wesarg +--- + ompi/mca/fs/lustre/fs_lustre.c | 15 --------------- + 1 file changed, 15 deletions(-) + +diff --git a/ompi/mca/fs/lustre/fs_lustre.c b/ompi/mca/fs/lustre/fs_lustre.c +index df2c7c3ac7c..20fdfc76991 100644 +--- a/ompi/mca/fs/lustre/fs_lustre.c ++++ b/ompi/mca/fs/lustre/fs_lustre.c +@@ -32,21 +32,6 @@ + #include "ompi/mca/fs/base/base.h" + #include "ompi/mca/fs/lustre/fs_lustre.h" + +-#ifdef HAVE_SYS_STATFS_H +-#include /* or */ +-#endif +-#ifdef HAVE_SYS_PARAM_H +-#include +-#endif +-#ifdef HAVE_SYS_MOUNT_H +-#include +-#endif +-#ifdef HAVE_SYS_STAT_H +-#include +-#endif +- +-#include +- + /* + * ******************************************************************* + * ************************ actions structure ************************ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.0-GCC-10.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.0-GCC-10.2.0.eb index b82c542c424..ec897b5c4c1 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.0-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.0-GCC-10.2.0.eb @@ -13,16 +13,18 @@ patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', 'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - '228467c3dd15339d9b26cf26a291af3ee7c770699c5e8a1b3ad786f9ae78140a', # openmpi-4.1.0.tar.gz - # OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch - 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e', - # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch - 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', - '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch - # OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch - 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea', + {'openmpi-4.1.0.tar.gz': '228467c3dd15339d9b26cf26a291af3ee7c770699c5e8a1b3ad786f9ae78140a'}, + {'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch': + 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e'}, + {'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch': + 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb'}, + {'OpenMPI-4.x_fix_pmix_discovery.patch': '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b'}, + {'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch': + 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb index 5314ed77d40..415e81332a2 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb @@ -17,19 +17,21 @@ patches = [ 'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch', 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda', # openmpi-4.1.1.tar.bz2 - # OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch - 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e', - # OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch - '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d', - # OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch - 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea', - # OpenMPI-4.1.1_build-with-internal-cuda-header.patch - '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', - # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch - 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', + {'openmpi-4.1.1.tar.bz2': 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda'}, + {'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch': + 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e'}, + {'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch': + '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d'}, + {'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch': + 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb index 762189ad19d..3cafd8e33fe 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb @@ -16,21 +16,23 @@ patches = [ 'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch', 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda', # openmpi-4.1.1.tar.bz2 - # OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch - 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e', - # OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch - '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d', - '04353672cf7be031e5306c94068d7012d99e6cd94b69d93230797ffcd7f31903', # OpenMPI-4.1.1_opal-pmix-package-rank.patch - '384ef9f1fa803b0d71dae2ec0748d0f20295992437532afedf21478bda164ff8', # OpenMPI-4.1.1_pmix3x-protection.patch - # OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch - 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea', - # OpenMPI-4.1.1_build-with-internal-cuda-header.patch - '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', - # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch - 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', + {'openmpi-4.1.1.tar.bz2': 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda'}, + {'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch': + 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e'}, + {'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch': + '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d'}, + {'OpenMPI-4.1.1_opal-pmix-package-rank.patch': '04353672cf7be031e5306c94068d7012d99e6cd94b69d93230797ffcd7f31903'}, + {'OpenMPI-4.1.1_pmix3x-protection.patch': '384ef9f1fa803b0d71dae2ec0748d0f20295992437532afedf21478bda164ff8'}, + {'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch': + 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0.eb index 523bf0bb069..0df727a62a3 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0.eb @@ -15,15 +15,17 @@ patches = [ 'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch', 'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda', # openmpi-4.1.1.tar.bz2 - # OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch - 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e', - # OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch - '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d', - # OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch - 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea', + {'openmpi-4.1.1.tar.bz2': 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda'}, + {'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch': + 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e'}, + {'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch': + '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d'}, + {'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch': + 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.4.0.eb old mode 100755 new mode 100644 index 6e354371c1c..55381169f03 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.4.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.4.0.eb @@ -14,20 +14,21 @@ patches = [ 'OpenMPI-4.1.1_opal-pmix-package-rank.patch', 'OpenMPI-4.1.1_pmix3x-protection.patch', 'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda', # openmpi-4.1.1.tar.bz2 - # OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch - 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e', - # OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch - '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d', - '04353672cf7be031e5306c94068d7012d99e6cd94b69d93230797ffcd7f31903', # OpenMPI-4.1.1_opal-pmix-package-rank.patch - '384ef9f1fa803b0d71dae2ec0748d0f20295992437532afedf21478bda164ff8', # OpenMPI-4.1.1_pmix3x-protection.patch - # OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch - 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea', + {'openmpi-4.1.1.tar.bz2': 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda'}, + {'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch': + 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e'}, + {'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch': + '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d'}, + {'OpenMPI-4.1.1_opal-pmix-package-rank.patch': '04353672cf7be031e5306c94068d7012d99e6cd94b69d93230797ffcd7f31903'}, + {'OpenMPI-4.1.1_pmix3x-protection.patch': '384ef9f1fa803b0d71dae2ec0748d0f20295992437532afedf21478bda164ff8'}, + {'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch': + 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] - builddependencies = [ ('pkg-config', '0.29.2'), ] diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-10.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-10.2.0.eb index 5148de10aa7..d0d18bc3a0b 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-10.2.0.eb @@ -8,7 +8,11 @@ toolchain = {'name': 'GCC', 'version': '10.2.0'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_BZ2] -checksums = ['9b78c7cf7fc32131c5cf43dd2ab9740149d9d87cadb2e2189f02685749a6b527'] +patches = ['OpenMPI-4.1.x_add_atomic_wmb.patch'] +checksums = [ + {'openmpi-4.1.2.tar.bz2': '9b78c7cf7fc32131c5cf43dd2ab9740149d9d87cadb2e2189f02685749a6b527'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb index 65660f70e15..eebd0204a24 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb @@ -8,7 +8,11 @@ toolchain = {'name': 'GCC', 'version': '11.2.0'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_BZ2] -checksums = ['9b78c7cf7fc32131c5cf43dd2ab9740149d9d87cadb2e2189f02685749a6b527'] +patches = ['OpenMPI-4.1.x_add_atomic_wmb.patch'] +checksums = [ + {'openmpi-4.1.2.tar.bz2': '9b78c7cf7fc32131c5cf43dd2ab9740149d9d87cadb2e2189f02685749a6b527'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, +] builddependencies = [ ('pkgconf', '1.8.0'), diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb index 524393cf31b..6471a45d999 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb @@ -11,13 +11,15 @@ sources = [SOURCELOWER_TAR_BZ2] patches = [ 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d', # openmpi-4.1.4.tar.bz2 - # OpenMPI-4.1.1_build-with-internal-cuda-header.patch - '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', - # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch - 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', + {'openmpi-4.1.4.tar.bz2': '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb index 09a6bc393d3..fbb50478eec 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb @@ -11,13 +11,15 @@ sources = [SOURCELOWER_TAR_BZ2] patches = [ 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d', # openmpi-4.1.4.tar.bz2 - # OpenMPI-4.1.1_build-with-internal-cuda-header.patch - '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', - # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch - 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', + {'openmpi-4.1.4.tar.bz2': '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb index 34c4551c73e..9ef5b5d1bb4 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb @@ -11,13 +11,15 @@ sources = [SOURCELOWER_TAR_BZ2] patches = [ 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d', # openmpi-4.1.4.tar.bz2 - # OpenMPI-4.1.1_build-with-internal-cuda-header.patch - '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', - # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch - 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', + {'openmpi-4.1.4.tar.bz2': '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.2.0.eb index 634b2a2f67b..3ff4b9d8e66 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.2.0.eb @@ -11,6 +11,7 @@ sources = [SOURCELOWER_TAR_BZ2] patches = [ 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ {'openmpi-4.1.5.tar.bz2': 'a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3'}, @@ -18,6 +19,7 @@ checksums = [ '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb index 6279c1af7bd..797e9c0f0de 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb @@ -12,6 +12,7 @@ patches = [ 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', 'OpenMPI-4.1.5_fix-pmix3x.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ {'openmpi-4.1.5.tar.bz2': 'a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3'}, @@ -19,8 +20,8 @@ checksums = [ '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, - {'OpenMPI-4.1.5_fix-pmix3x.patch': - '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, + {'OpenMPI-4.1.5_fix-pmix3x.patch': '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-intel-compilers-2023.1.0.eb index 4d79ac0d55a..59780f6df6e 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-intel-compilers-2023.1.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-intel-compilers-2023.1.0.eb @@ -12,6 +12,7 @@ patches = [ 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', 'OpenMPI-4.1.5_fix-pmix3x.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ {'openmpi-4.1.5.tar.bz2': 'a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3'}, @@ -19,8 +20,8 @@ checksums = [ '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, - {'OpenMPI-4.1.5_fix-pmix3x.patch': - '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, + {'OpenMPI-4.1.5_fix-pmix3x.patch': '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.6-GCC-13.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.6-GCC-13.2.0.eb index 3e4baa87735..831148339ac 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.6-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.6-GCC-13.2.0.eb @@ -11,6 +11,7 @@ sources = [SOURCELOWER_TAR_BZ2] patches = [ 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ {'openmpi-4.1.6.tar.bz2': 'f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415'}, @@ -18,6 +19,7 @@ checksums = [ '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.x_add_atomic_wmb.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.x_add_atomic_wmb.patch new file mode 100644 index 00000000000..960e6100ed1 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.x_add_atomic_wmb.patch @@ -0,0 +1,35 @@ +From b6bfd8ef4ea52fb0257af8013b953f7942d06bae Mon Sep 17 00:00:00 2001 +From: Luke Robison +Date: Wed, 14 Feb 2024 21:14:29 +0000 +Subject: [PATCH] btl/smcuda: Add atomic_wmb() before sm_fifo_write + +This change fixes https://github.com/open-mpi/ompi/issues/12270 + +Testing on c7g instance type (arm64) confirms this change elminates +hangs and crashes that were previously observed in 1 in 30 runs of +IMB alltoall benchmark. Tested with over 300 runs and no failures. + +The write memory barrier prevents other CPUs from observing the fifo +get updated before they observe the updated contents of the header +itself. Without the barrier, uninitialized header contents caused +the crashes and invalid data. + +Signed-off-by: Luke Robison +(cherry picked from commit 71f378d28cb89dd80379dbad570849b297594cde) +--- + opal/mca/btl/smcuda/btl_smcuda_fifo.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/opal/mca/btl/smcuda/btl_smcuda_fifo.h b/opal/mca/btl/smcuda/btl_smcuda_fifo.h +index c4db00d10a8..f1c222d7ae0 100644 +--- a/opal/mca/btl/smcuda/btl_smcuda_fifo.h ++++ b/opal/mca/btl/smcuda/btl_smcuda_fifo.h +@@ -86,6 +86,8 @@ add_pending(struct mca_btl_base_endpoint_t *ep, void *data, bool resend) + #define MCA_BTL_SMCUDA_FIFO_WRITE(endpoint_peer, my_smp_rank, \ + peer_smp_rank, hdr, resend, retry_pending_sends, rc) \ + do { \ ++ /* memory barrier: ensure writes to the hdr have completed */ \ ++ opal_atomic_wmb(); \ + sm_fifo_t* fifo = &(mca_btl_smcuda_component.fifo[peer_smp_rank][FIFO_MAP(my_smp_rank)]); \ + \ + if ( retry_pending_sends ) { \ diff --git a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-3.eb b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-3.eb new file mode 100644 index 00000000000..13b0f8437a9 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-3.eb @@ -0,0 +1,40 @@ +easyblock = 'EB_OpenSSL_wrapper' + +name = 'OpenSSL' +version = '3' +minimum_openssl_version = '3.0.0' + +homepage = 'https://www.openssl.org/' +description = """The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, + and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) + protocols as well as a full-strength general purpose cryptography library. """ + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('Perl', '5.38.0'), +] + +# This easyconfig will wrap the OpenSSL installation in the host system. +# If the system provides the required binary, header files, and libraries for +# this version of OpenSSL, the installation directory of this module will be +# populated with symlinks to the system files. The minimum required version of +# OpenSSL can be finely controled with 'minimum_openssl_version' (defaults to +# easyconfig version). +# If the host system does not have this version of OpenSSL (or with the option +# wrap_system_openssl = False), EasyBuild will fall back to the following +# component list, which will be build and installed as usual. + +components = [ + (name, '3.2.1', { + 'easyblock': 'EB_OpenSSL', + 'source_urls': ['https://www.openssl.org/source/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39'], + 'start_dir': '%(namelower)s-%(version)s', + }), +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/o/OpenSlide-Java/OpenSlide-Java-0.12.4-GCCcore-12.3.0-Java-17.eb b/easybuild/easyconfigs/o/OpenSlide-Java/OpenSlide-Java-0.12.4-GCCcore-12.3.0-Java-17.eb new file mode 100644 index 00000000000..55957819d5f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSlide-Java/OpenSlide-Java-0.12.4-GCCcore-12.3.0-Java-17.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'OpenSlide-Java' +version = '0.12.4' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://github.com/openslide/openslide-java' +description = """This is a Java binding to OpenSlide.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/openslide/%(namelower)s/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.xz'] +checksums = ['63a6cd63fedc7c700020708c0a362b3807b6780f0246b12c8dc372cecd6130cf'] + +builddependencies = [ + ('binutils', '2.40'), + ('ant', '1.10.12', versionsuffix, SYSTEM), +] + +dependencies = [ + ('OpenSlide', '3.4.1', '-largefiles'), + ('Java', '17', '', SYSTEM), +] + +sanity_check_paths = { + 'files': [ + 'lib/openslide-java/openslide.jar', + 'lib/openslide-java/libopenslide-jni.%s' % SHLIB_EXT, + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/Optuna/Optuna-3.5.0-foss-2023a.eb b/easybuild/easyconfigs/o/Optuna/Optuna-3.5.0-foss-2023a.eb new file mode 100644 index 00000000000..90959bb82f0 --- /dev/null +++ b/easybuild/easyconfigs/o/Optuna/Optuna-3.5.0-foss-2023a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'Optuna' +version = '3.5.0' + +homepage = "https://optuna.org/" +description = """Optuna is an automatic hyperparameter optimization software framework, +particularly designed for machine learning. It features an imperative, +define-by-run style user API. Thanks to our define-by-run API, the code written +with Optuna enjoys high modularity, and the user of Optuna can dynamically +construct the search spaces for the hyperparameters.""" + + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('PyYAML', '6.0'), + ('SciPy-bundle', '2023.07'), + ('tqdm', '4.66.1'), + ('matplotlib', '3.7.2'), # optional + ('plotly.py', '5.16.0'), # optional + ('redis-py', '5.0.1'), # optional + ('scikit-learn', '1.3.1'), # optional + ('Mako', '1.2.4'), + ('Greenlet', '3.0.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('alembic', '1.13.0', { + 'checksums': ['ab4b3b94d2e1e5f81e34be8a9b7b7575fc9dd5398fccb0bef351ec9b14872623'], + }), + ('cmaes', '0.10.0', { + 'checksums': ['48afc70df027114739872b50489ae6b32461c307b92d084a63c7090a9742faf9'], + }), + ('colorlog', '6.8.0', { + 'checksums': ['fbb6fdf9d5685f2517f388fb29bb27d54e8654dd31f58bc2a3b217e967a95ca6'], + }), + ('SQLAlchemy', '2.0.23', { + 'checksums': ['c1bda93cbbe4aa2aa0aa8655c5aeda505cd219ff3e8da91d1d329e143e4aff69'], + }), + ('optuna', version, { + 'use_pip_extras': 'optional', + 'checksums': ['ca9e1ce16aa6c6a5af0e1cc1d0cbcd98eb1c75b6a2f06be6bd9c0c5ab0698724'], + }), +] + +sanity_check_paths = { + 'files': ['bin/optuna'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = [('optuna', '--help')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OrfM/OrfM-0.7.1-GCC-12.3.0.eb b/easybuild/easyconfigs/o/OrfM/OrfM-0.7.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..260970f668b --- /dev/null +++ b/easybuild/easyconfigs/o/OrfM/OrfM-0.7.1-GCC-12.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'OrfM' +version = '0.7.1' + +homepage = 'https://github.com/wwood/OrfM' +description = "A simple and not slow open reading frame (ORF) caller." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/wwood/OrfM/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['19f39c72bcc48127b757613c5eef4abae95ee6c82dccf96b041db527b27f319a'] + +dependencies = [('zlib', '1.2.13')] + +sanity_check_paths = { + 'files': ['bin/orfm'], + 'dirs': [], +} + +sanity_check_commands = ["orfm -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/Osi/Osi-0.108.9-GCC-12.3.0.eb b/easybuild/easyconfigs/o/Osi/Osi-0.108.9-GCC-12.3.0.eb new file mode 100644 index 00000000000..4be65c422ec --- /dev/null +++ b/easybuild/easyconfigs/o/Osi/Osi-0.108.9-GCC-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'Osi' +version = '0.108.9' + +homepage = "https://github.com/coin-or/Osi" +description = """Osi (Open Solver Interface) provides an abstract base class to a generic linear +programming (LP) solver, along with derived classes for specific solvers. Many +applications may be able to use the Osi to insulate themselves from a specific +LP solver. That is, programs written to the OSI standard may be linked to any +solver with an OSI interface and should produce correct results. The OSI has +been significantly extended compared to its first incarnation. Currently, the +OSI supports linear programming solvers and has rudimentary support for integer +programming.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/coin-or/Osi/archive/refs/tags/releases/'] +sources = ['%(version)s.tar.gz'] +checksums = ['8b09802960d7d4fd9579b3e4320bfb36e7f8dca5e5094bf1f5edf1b7003f5562'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.7'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('CoinUtils', '2.11.10'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), +] + +# Disable GLPK because Osi requires GLPK<=4.48 +configopts = '--without-glpk ' +# Use CoinUtils from EB +configopts += '--with-coinutils-lib="-lCoinUtils" --with-coinutils-incdir=$EBROOTCOINUTILS/include/coin ' +configopts += '--with-coinutils-datadir=$EBROOTCOINUTILS/share/coin/Data' + +sanity_check_paths = { + 'files': ['lib/libOsi.%s' % SHLIB_EXT, 'lib/libOsiCommonTests.%s' % SHLIB_EXT], + 'dirs': ['include/coin', 'lib/pkgconfig', 'share/coin'] +} + +# other coin-or projects expect instead of +modextrapaths = {'CPATH': 'include/coin'} + +moduleclass = "math" diff --git a/easybuild/easyconfigs/o/occt/occt-7.8.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/o/occt/occt-7.8.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..01121a9e9c0 --- /dev/null +++ b/easybuild/easyconfigs/o/occt/occt-7.8.0-GCCcore-12.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'occt' +version = '7.8.0' + +homepage = 'https://www.opencascade.com/' +description = """Open CASCADE Technology (OCCT) is an object-oriented C++ +class library designed for rapid production of sophisticated domain-specific +CAD/CAM/CAE applications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags'] +sources = ['V7_8_0.tar.gz'] +checksums = ['096cd0f268fa9f6a50818e1d628ac92ecf87e10fd72187e2e8d6be57dfe12530'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Doxygen', '1.9.7'), + ('binutils', '2.40'), +] +dependencies = [ + ('Mesa', '23.1.4'), + ('freetype', '2.13.0'), + ('Tcl', '8.6.13'), + ('Tk', '8.6.13'), + ('FreeImage', '3.18.0'), + ('tbb', '2021.11.0'), +] + + +separate_build_dir = True + +configopts = "-DUSE_FREEIMAGE=ON -D3RDPARTY_FREEIMAGE_DIR=$EBROOTFREEIMAGE " +configopts += "-D3RDPARTY_TBB_DIR=$EBROOTTBB " +configopts += "-D3RDPARTY_TCL_DIR=$EBROOTTCL " +configopts += "-D3RDPARTY_TK_DIR=$EBROOTTK " +configopts += "-D3RDPARTY_FREETYPE_DIR=$EBROOTFREETYPE " + +sanity_check_paths = { + 'files': ['bin/DRAWEXE', 'bin/env.sh'], + 'dirs': ['lib/cmake/opencascade'], +} + +sanity_check_commands = ['DRAWEXE -h'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/onedrive/onedrive-2.4.25-GCCcore-12.3.0.eb b/easybuild/easyconfigs/o/onedrive/onedrive-2.4.25-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b22cd1206b7 --- /dev/null +++ b/easybuild/easyconfigs/o/onedrive/onedrive-2.4.25-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'onedrive' +version = '2.4.25' + +homepage = 'https://abraunegg.github.io/' +description = """ +A free Microsoft OneDrive Client which supports OneDrive Personal, OneDrive for Business, +OneDrive for Office365 and SharePoint.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/abraunegg/onedrive/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e7d782ea7d1973b6b578899a84c4f90ba69302263b4be30d80a363ba8ba27eb3'] + +builddependencies = [ + ('binutils', '2.40'), + ('LDC', '1.36.0'), +] + +dependencies = [ + ('cURL', '8.0.1'), + ('SQLite', '3.42.0'), +] + +_compldir = '%(installdir)s/share/tab_completion' +configopts = 'DC="$EBROOTLDC"/bin/ldc2 --with-systemdsystemunitdir=no ' +configopts += '--enable-completions --with-bash-completion-dir=%s ' % _compldir +configopts += '--with-zsh-completion-dir=%s --with-fish-completion-dir=%s ' % (_compldir, _compldir) + +sanity_check_paths = { + 'files': ['bin/onedrive'], + 'dirs': ['etc', 'share'], +} + +sanity_check_commands = ['onedrive -h'] + +# optionally enable tab completion for bash (zsh: '_onedrive', fish: 'onedrive.fish') +modluafooter = 'execute {cmd="source $EBROOTONEDRIVE/share/tab_completion/onedrive",modeA={"load"}}' + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.1.2-foss-2023a.eb b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.1.2-foss-2023a.eb new file mode 100644 index 00000000000..6850f3a6d99 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.1.2-foss-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'ont-fast5-api' +version = '4.1.2' + +homepage = 'https://github.com/nanoporetech/ont_fast5_api' +description = "ont_fast5_api is a simple interface to HDF5 files of the Oxford Nanopore .fast5 file format." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0'), +] + +use_pip = True + +exts_list = [ + ('progressbar33', '2.4', { + 'modulename': 'progressbar', + 'checksums': ['51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff'], + }), + (name, version, { + 'checksums': ['c7c59c6100e992ef8bc239cdf91f7a8ab46abf57ecd689f94b2b98e72a9e9472'], + }), +] + +sanity_check_paths = { + 'files': [ + 'bin/compress_fast5', + 'bin/fast5_subset', + 'bin/multi_to_single_fast5', + 'bin/single_to_multi_fast5' + ], + 'dirs': [''], +} + +sanity_check_commands = [ + "compress_fast5 --help", + "fast5_subset --help", + "multi_to_single_fast5 --help", + "single_to_multi_fast5 --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/openkim-models/openkim-models-20210811-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/o/openkim-models/openkim-models-20210811-intel-compilers-2023.1.0.eb new file mode 100644 index 00000000000..e26d2ec61f0 --- /dev/null +++ b/easybuild/easyconfigs/o/openkim-models/openkim-models-20210811-intel-compilers-2023.1.0.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'openkim-models' +version = '20210811' + +homepage = 'https://openkim.org/' +description = """Open Knowledgebase of Interatomic Models. + +OpenKIM is an API and a collection of interatomic models (potentials) for +atomistic simulations. It is a library that can be used by simulation programs +to get access to the models in the OpenKIM database. + +This EasyBuild installs the models. The API itself is in the kim-api +package. + """ + +toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} + +builddependencies = [ + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('kim-api', '2.3.0'), +] + +source_urls = ['https://s3.openkim.org/archives/collection/'] +sources = ['openkim-models-2021-08-11.txz'] +checksums = ['f42d241969787297d839823bdd5528bc9324cd2d85f5cf2054866e654ce576da'] + +separate_build_dir = True +abs_path_compilers = True # Otherwise some KIM-API magic breaks cmake. +configopts = '-DKIM_API_INSTALL_COLLECTION=SYSTEM ' +configopts += '-DKIM_API_PORTABLE_MODEL_INSTALL_PREFIX=%(installdir)s/lib/kim-api/portable-models ' +configopts += '-DKIM_API_SIMULATOR_MODEL_INSTALL_PREFIX=%(installdir)s/lib/kim-api/simulator-models ' +configopts += '-DKIM_API_MODEL_DRIVER_INSTALL_PREFIX=%(installdir)s/lib/kim-api/model-drivers ' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/kim-api/model-drivers', 'lib/kim-api/portable-models', 'lib/kim-api/simulator-models'] +} + +modextravars = { + 'KIM_API_MODEL_DRIVERS_DIR': '%(installdir)s/lib/kim-api/model-drivers', + 'KIM_API_PORTABLE_MODELS_DIR': '%(installdir)s/lib/kim-api/portable-models', + 'KIM_API_SIMULATOR_MODELS_DIR': '%(installdir)s/lib/kim-api/simulator-models', +} + + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/openpyxl/openpyxl-3.1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.1.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f2b7ecdd044 --- /dev/null +++ b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.1.2-GCCcore-13.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'openpyxl' +version = '3.1.2' + +homepage = 'https://openpyxl.readthedocs.io' +description = "A Python library to read/write Excel 2010 xlsx/xlsm files" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), + ('lxml', '4.9.3'), + ('Pillow', '10.2.0'), +] + +use_pip = True + +exts_list = [ + ('et_xmlfile', '1.1.0', { + 'checksums': ['8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c'], + }), + ('jdcal', '1.4.1', { + 'checksums': ['472872e096eb8df219c23f2689fc336668bdb43d194094b5cc1707e1640acfc8'], + }), + (name, version, { + 'checksums': ['a6f5977418eff3b2d5500d54d9db50c8277a368436f4e4f8ddb1be3422870184'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PAGAN2/PAGAN2-1.53_20230824-linux64.eb b/easybuild/easyconfigs/p/PAGAN2/PAGAN2-1.53_20230824-linux64.eb new file mode 100644 index 00000000000..58d8d806b58 --- /dev/null +++ b/easybuild/easyconfigs/p/PAGAN2/PAGAN2-1.53_20230824-linux64.eb @@ -0,0 +1,39 @@ +easyblock = 'PackedBinary' + +name = 'PAGAN2' +version = '1.53_20230824' +versionsuffix = '-linux64' +_commit = 'c7fa56d' + +homepage = 'https://github.com/ariloytynoja/pagan2-msa' +description = """ +PAGAN2 is a general-purpose method for the alignment of DNA, codon and +amino-acid sequences as graphs. It aligns sequences either with pileup or, when +related by a tree, using phylogeny-aware progressive alignment algorithm. In +both cases it uses graphs to describe the uncertainty in the presence of +characters at certain sequence positions. PAGAN2 is largely compatible with +PAGAN but implements new algorithms for alignment anchoring and memory handling. +As a result, PAGAN2 can align sequences of several hundreds of kilobases in +length.""" + +toolchain = SYSTEM + +sources = [{ + 'source_urls': ['https://github.com/ariloytynoja/pagan2-msa/archive'], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': SOURCE_TAR_GZ, +}] +checksums = ['e4368d6a271fd527aae8bed93c38d9b3ed66f7d781f0509c01486f7b5ffc683e'] + +install_cmds = [ + 'cd %(installdir)s && mkdir -p bin && cp %(builddir)s/pagan2*/bin/pagan2 bin/', +] + +sanity_check_paths = { + 'files': ['bin/pagan2'], + 'dirs': [], +} + +sanity_check_commands = ['pagan2 --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..fafbe94664c --- /dev/null +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb @@ -0,0 +1,49 @@ +## +# Author: Robert Mijakovic +# Updated: Alexander Grund +## + +easyblock = 'ConfigureMake' + +name = 'PAPI' +version = '7.1.0' + +homepage = 'https://icl.cs.utk.edu/projects/papi/' +description = """ + PAPI provides the tool designer and application engineer with a consistent + interface and methodology for use of the performance counter hardware found + in most major microprocessors. PAPI enables software engineers to see, in near + real time, the relation between software performance and processor events. + In addition Component PAPI provides access to a collection of components + that expose performance measurement opportunites across the hardware and + software stack. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://icl.utk.edu/projects/papi/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5818afb6dba3ece57f51e65897db5062f8e3464e6ed294b654ebf34c3991bc4f'] + +builddependencies = [ + ('binutils', '2.40'), +] + +start_dir = 'src' + +configopts = "--with-components=rapl " # for energy measurements + +# There is also "fulltest" that is a superset of "test" but hangs on some processors +# indefinitely with a defunct `make` process. So use only "test". +runtest = 'test' + +sanity_check_paths = { + 'files': ["bin/papi_%s" % x + for x in ["avail", "clockres", "command_line", "component_avail", + "cost", "decode", "error_codes", "event_chooser", + "mem_info", "multiplex_cost", "native_avail", + "version", "xml_event_info"]], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/PASA/PASA-2.5.3-foss-2022b.eb b/easybuild/easyconfigs/p/PASA/PASA-2.5.3-foss-2022b.eb new file mode 100644 index 00000000000..ee1d056b034 --- /dev/null +++ b/easybuild/easyconfigs/p/PASA/PASA-2.5.3-foss-2022b.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = 'PASA' +version = '2.5.3' + +homepage = 'https://github.com/PASApipeline/PASApipeline' +description = """PASA, acronym for Program to Assemble Spliced Alignments (and pronounced 'pass-uh'), + is a eukaryotic genome annotation tool that exploits spliced alignments of expressed transcript + sequences to automatically model gene structures, and to maintain gene structure annotation consistent + with the most recently available experimental sequence data. PASA also identifies and classifies all + splicing variations supported by the transcript alignments.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/PASApipeline/PASApipeline/archive/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['9b2f6a301b73fd8c713af0977cf6e97f3d928988d6b79715ebe81e19b51152eb'] + +dependencies = [ + ('SQLite', '3.39.4'), + ('GMAP-GSNAP', '2023-04-20'), + ('pblat', '2.5.1'), + ('minimap2', '2.26'), + ('FASTA', '36.3.8i'), +] + +buildininstalldir = True + +skipsteps = ['configure', 'install'] + +unpack_options = '--strip-components=1' + +local_bins = [ + '%(namelower)s', + 'cdbfasta', + 'cdbyank', + 'cln2qual', + 'mdust', + 'psx', + 'seqclean', + 'seqclean.psx', + 'slclust', + 'trimpoly', +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': [] +} + +sanity_check_commands = ['command -v %(namelower)s'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PBZIP2/PBZIP2-1.1.13-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PBZIP2/PBZIP2-1.1.13-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..03088bf2860 --- /dev/null +++ b/easybuild/easyconfigs/p/PBZIP2/PBZIP2-1.1.13-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'ConfigureMake' + +name = 'PBZIP2' +version = '1.1.13' + +homepage = 'http://compression.great-site.net/pbzip2' +description = """PBZIP2 is a parallel implementation of the bzip2 block-sorting + file compressor that uses pthreads and achieves near-linear speedup on SMP + machines. The output of this version is fully compatible with bzip2 v1.0.2 or + newer (ie: anything compressed with pbzip2 can be decompressed with bzip2). + PBZIP2 should work on any system that has a pthreads compatible C++ compiler + (such as gcc). It has been tested on: Linux, Windows (cygwin & MinGW), Solaris, + Tru64/OSF1, HP-UX, OS/2, OSX, and Irix. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://launchpad.net/pbzip2/1.1/1.1.13/+download'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_makefile-hardening.patch'] +checksums = [ + {'pbzip2-1.1.13.tar.gz': '8fd13eaaa266f7ee91f85c1ea97c86d9c9cc985969db9059cdebcb1e1b7bdbe6'}, + {'PBZIP2-1.1.13_makefile-hardening.patch': 'd493c0757c445f91960c62f735b90f83951b2e26f0b7359aa5898a95024dbcef'}, +] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('bzip2', '1.0.8')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/pbzip2', 'share/man/man1/pbzip2.1'], + 'dirs': [], +} + +sanity_check_commands = ['pbzip2 -h 2>&1 | grep "Parallel BZIP2 v%(version)s"'] +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PBZIP2/PBZIP2-1.1.13_makefile-hardening.patch b/easybuild/easyconfigs/p/PBZIP2/PBZIP2-1.1.13_makefile-hardening.patch new file mode 100644 index 00000000000..c8f65024b4c --- /dev/null +++ b/easybuild/easyconfigs/p/PBZIP2/PBZIP2-1.1.13_makefile-hardening.patch @@ -0,0 +1,29 @@ +Author: William Grzybowski +Subject: Fix build for debug and hardening, do not install symlinks. +Last-Update: 2019-07-10 +--- pbzip2.orig/Makefile 2019-07-08 18:46:10.382725910 -0300 ++++ pbzip2/Makefile 2019-07-08 18:46:24.886865907 -0300 +@@ -19,3 +19,3 @@ + # Optimization flags +-CXXFLAGS = -O2 ++CXXFLAGS += $(CPPFLAGS) + +@@ -49,9 +49,6 @@ + CXXFLAGS += $(CXXFLAGS_PTHREAD) + + +-# Linker flags +-LDFLAGS = +- + + # External libraries + LDLIBS = -lbz2 +@@ -81,8 +81,6 @@ + if ( test ! -d $(DESTDIR)$(PREFIX)/share/man/man1 ) ; then mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1 ; fi + cp -f pbzip2 $(DESTDIR)$(PREFIX)/bin/pbzip2 + chmod a+x $(DESTDIR)$(PREFIX)/bin/pbzip2 +- ln -s -f pbzip2 $(DESTDIR)$(PREFIX)/bin/pbunzip2 +- ln -s -f pbzip2 $(DESTDIR)$(PREFIX)/bin/pbzcat + cp -f pbzip2.1 $(DESTDIR)$(PREFIX)/share/man/man1 + chmod a+r $(DESTDIR)$(PREFIX)/share/man/man1/pbzip2.1 + diff --git a/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-iimpi-2020b.eb b/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-iimpi-2020b.eb new file mode 100644 index 00000000000..2ee4d8e8eb5 --- /dev/null +++ b/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-iimpi-2020b.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'PCMSolver' +version = '1.2.3' + +homepage = 'https://pcmsolver.readthedocs.org' +description = """An API for the Polarizable Continuum Model.""" + +toolchain = {'name': 'iimpi', 'version': '2020b'} +# we have to disable use of -march=native to ensure a correct build on recent Intel systems +# see also https://github.com/PCMSolver/pcmsolver/issues/159 +toolchainopts = {'optarch': False} + +source_urls = ['https://github.com/PCMSolver/pcmsolver/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d1ef6bdc268a2e719b36c85125c3543df7a26e1a738daf4483f4ded0c76f5b60'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('Eigen', '3.3.8'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('zlib', '1.2.11'), + ('Boost', '1.74.0'), +] + +configopts = '-DEIGEN3_ROOT=$EBROOTEIGEN ' + +# The spherical test fails regardless of how it is compiled. +# Instead of patching the tests to skip it just don't run the tests for now. +# runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/run_pcm', 'lib/libpcm.a', 'lib/libpcm.%s' % SHLIB_EXT], + 'dirs': ['include/PCMSolver'] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6815128938a --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE' +version = '8.45' + +homepage = 'https://www.pcre.org/' +description = """ + The PCRE library is a set of functions that implement regular expression + pattern matching using the same syntax and semantics as Perl 5. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + SOURCEFORGE_SOURCE, + 'https://ftp.%(namelower)s.org/pub/%(namelower)s/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), +] + +configopts = "--enable-utf --enable-unicode-properties --enable-pcre16 --enable-pcre32" + + +sanity_check_paths = { + 'files': [ + 'bin/%(namelower)s-config', + 'include/%(namelower)s.h', + 'share/man/man3/%(namelower)s.3', + 'lib/libpcre32.%s' % SHLIB_EXT + ], + 'dirs': ['lib/pkgconfig', 'share/doc/%(namelower)s/html', 'share/man/man1'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PDM/PDM-2.12.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PDM/PDM-2.12.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ecbfa7162d4 --- /dev/null +++ b/easybuild/easyconfigs/p/PDM/PDM-2.12.4-GCCcore-12.3.0.eb @@ -0,0 +1,109 @@ +easyblock = 'PythonBundle' + +name = 'PDM' +version = '2.12.4' + +homepage = 'https://pdm-project.org' +description = "A modern Python package and dependency manager supporting the latest PEP standards." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.7.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('virtualenv', '20.23.1'), +] + +use_pip = True + +exts_list = [ + ('pdm_backend', '2.1.8', { + 'modulename': 'pdm.backend', + 'checksums': ['2487dfbd13f69d80fb4e6a08006a3ee68272833970813047dc5fcfacdfdc0151'], + }), + ('blinker', '1.7.0', { + 'checksums': ['e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182'], + }), + ('idna', '3.6', { + 'checksums': ['9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca'], + }), + ('urllib3', '2.1.0', { + 'checksums': ['df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54'], + }), + ('charset-normalizer', '3.3.2', { + 'checksums': ['f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5'], + }), + ('requests', '2.31.0', { + 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], + }), + ('msgpack', '1.0.7', { + 'checksums': ['572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87'], + }), + ('cachecontrol', '0.14.0', { + 'checksums': ['7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938'], + }), + ('certifi', '2024.2.2', { + 'checksums': ['0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f'], + }), + ('dep_logic', '0.2.0', { + 'checksums': ['cff502b515aff2d413d19d6afc70174fc67da19e821be4a9b68460ccee2514c9'], + }), + ('findpython', '0.4.1', { + 'checksums': ['d7d014558681b3761d57a5b2342a713a8bf302f6c1fc9d99f81b9d8bd1681b04'], + }), + ('installer', '0.7.0', { + 'checksums': ['a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + ('python-dotenv', '1.0.1', { + 'modulename': 'dotenv', + 'checksums': ['e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca'], + }), + ('requests-toolbelt', '1.0.0', { + 'checksums': ['7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6'], + }), + ('resolvelib', '1.0.1', { + 'checksums': ['04ce76cbd63fded2078ce224785da6ecd42b9564b1390793f64ddecbe997b309'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('pygments', '2.17.2', { + 'checksums': ['da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367'], + }), + ('rich', '13.7.1', { + 'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'], + }), + ('shellingham', '1.5.4', { + 'checksums': ['8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de'], + }), + ('tomlkit', '0.12.4', { + 'checksums': ['7ca1cfc12232806517a8515047ba66a19369e71edf2439d0f5824f91032b6cc3'], + }), + ('truststore', '0.8.0', { + 'checksums': ['dc70da89634944a579bfeec70a7a4523c53ffdb3cf52d1bb4a431fda278ddb96'], + }), + ('unearth', '0.14.0', { + 'checksums': ['f3cddfb94ac0f865fbcf964231556ef7183010379c00b01205517a50c78a186d'], + }), + ('pdm', version, { + 'checksums': ['d04877362f95cf9ffc1d2c38b851f693706e4928840e48986ae576dad5741496'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PDT/PDT-3.25.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PDT/PDT-3.25.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..182c5d920a0 --- /dev/null +++ b/easybuild/easyconfigs/p/PDT/PDT-3.25.2-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +# # + +name = 'PDT' +version = '3.25.2' + +homepage = 'https://www.cs.uoregon.edu/research/pdt/' +description = """ + Program Database Toolkit (PDT) is a framework for analyzing source code + written in several programming languages and for making rich program + knowledge accessible to developers of static and dynamic analysis tools. + PDT implements a standard program representation, the program database + (PDB), that can be accessed in a uniform way through a class library + supporting common PDB operations. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['http://tau.uoregon.edu/pdt_releases/'] +sources = ['pdtoolkit-%(version)s.tar.gz'] +# Might now be available as direct download although e.g. http://tau.uoregon.edu/pdt.tgz may work +download_instructions = ("Download from https://www.cs.uoregon.edu/research/pdt/downloads.php " + + "and rename to " + sources[0]) +checksums = ['01c2d403bc6672b2b264a182c325806541066c5ed5713878eb598f5506428cbe'] + +builddependencies = [ + ('binutils', '2.40'), +] + + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/PETSc/PETSc-3.20.3-foss-2023a.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.20.3-foss-2023a.eb new file mode 100644 index 00000000000..7c4db8a3646 --- /dev/null +++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.20.3-foss-2023a.eb @@ -0,0 +1,45 @@ +## +# Author: Robert Mijakovic +# Author: Jasper Grimm (UoY) +## +name = 'PETSc' +version = '3.20.3' + +homepage = 'https://www.mcs.anl.gov/petsc' +description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the + scalable (parallel) solution of scientific applications modeled by partial differential equations.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = [ + 'https://web.cels.anl.gov/projects/petsc/download/release-snapshots', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['75a94fb44df0512f51ad093fa784e56b61f51b7ead5956fbe49185c203f8c245'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost', '1.82.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.3'), + ('MUMPS', '5.6.1', '-metis'), + ('SuiteSparse', '7.1.0'), + ('Hypre', '2.29.0'), + ('ParMETIS', '4.0.3'), + ('SuperLU_DIST', '8.1.2'), + ('mpi4py', '3.1.4'), +] + +configopts = '--LIBS="$LIBS -lrt" --with-mpi4py=0 ' + +shared_libs = 1 + +# only required when building PETSc in a SLURM job environment +# configopts += '--with-batch=1 --known-mpi-shared-libraries=1 --known-64-bit-blas-indices=0 ' +# prebuildopts = "srun ./conftest-arch-linux2-c-opt && ./reconfigure-arch-linux2-c-opt.py && " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..fef20411822 --- /dev/null +++ b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-13.2.0.eb @@ -0,0 +1,61 @@ +easyblock = 'CmdCp' + +name = 'PGPLOT' +version = '5.2.2' + +homepage = 'https://sites.astro.caltech.edu/~tjp/pgplot/' +description = """The PGPLOT Graphics Subroutine Library is a Fortran- or C-callable, +device-independent graphics package for making simple scientific graphs. It is intended +for making graphical images of publication quality with minimum effort on the part of +the user. For most applications, the program can be device-independent, and the output +can be directed to the appropriate device at run time.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['ftp://ftp.astro.caltech.edu/pub/%(namelower)s/'] +sources = ['%%(namelower)s%s.tar.gz' % version.replace('.', '')] +patches = ['%(name)s-%(version_major_minor)s.2_gfortran-deps-fixes.patch'] +checksums = [ + {'pgplot522.tar.gz': 'a5799ff719a510d84d26df4ae7409ae61fe66477e3f1e8820422a9a4727a5be4'}, + {'PGPLOT-5.2.2_gfortran-deps-fixes.patch': 'b1822eb32499dc18aa4aa4fae0b31c3c64ff8abb3a243716e78addafa7e58cec'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('libpng', '1.6.40'), + ('zlib', '1.2.13'), + ('X11', '20231019'), +] + +# create .so symlinks for shared libraries +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s libcpgplot.%s.%%(version)s libcpgplot.%s.5" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libcpgplot.%s.%%(version)s libcpgplot.%s" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libpgplot.%s.%%(version)s libpgplot.%s.5" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libpgplot.%s.%%(version)s libpgplot.%s" % (SHLIB_EXT, SHLIB_EXT), +] + +files_to_copy = [ + (['pgdemo*'], 'bin'), + (['libpgplot.*', 'libcpgplot.*'], 'lib'), + (['grfont.dat'], 'share'), + (['cpgplot.h'], 'include'), +] +cmds_map = [('.*', './makemake . linux g77_gcc && make && make shared && make cpg && make cpg-shared')] + +sanity_check_paths = { + 'files': [ + 'include/cpgplot.h', + 'lib/libpgplot.a', + 'lib/libcpgplot.a', + 'lib/libpgplot.%s' % SHLIB_EXT, + 'lib/libcpgplot.%s' % SHLIB_EXT + ], + 'dirs': ['bin'], +} + +modextravars = {'PGPLOT_FONT': '%(installdir)s/share/grfont.dat'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.697-GCC-12.3.0.eb b/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.697-GCC-12.3.0.eb new file mode 100644 index 00000000000..435d189659d --- /dev/null +++ b/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.697-GCC-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'MakeCp' + +name = 'PHYLIP' +version = '3.697' + +homepage = 'https://phylipweb.github.io/phylip' +description = "PHYLIP is a free package of programs for inferring phylogenies." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +# -fcommon is required to avoid 'multiple definitions' linking error +toolchainopts = {'extra_cflags': "-fcommon"} + +source_urls = ['https://phylipweb.github.io/phylip/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9a26d8b08b8afea7f708509ef41df484003101eaf4beceb5cf7851eb940510c1'] + +buildopts = '-Csrc -fMakefile.unx all CFLAGS="$CFLAGS" && make -Csrc -fMakefile.unx install' + +files_to_copy = [(['exe/*'], 'bin'), (['src/libdrawgram.%s' % SHLIB_EXT, 'src/libdrawtree.%s' % SHLIB_EXT], 'lib')] + +sanity_check_paths = { + 'files': ['bin/dnapars', 'bin/fitch', 'bin/gendist', 'bin/penny', 'bin/seqboot', + 'lib/libdrawgram.%s' % SHLIB_EXT, 'lib/libdrawtree.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-gfbf-2023a.eb b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-gfbf-2023a.eb new file mode 100644 index 00000000000..c6d897b040b --- /dev/null +++ b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-gfbf-2023a.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'PLINK' +version = '2.00a3.7' + +homepage = 'https://www.cog-genomics.org/plink/2.0/' +description = """PLINK is a free, open-source whole genome association analysis toolset, +designed to perform a range of basic, large-scale analyses in a computationally +efficient manner.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + + +dependencies = [ + ('zlib', '1.2.13'), + ('zstd', '1.5.5'), + ('libdeflate', '1.18'), +] + +default_easyblock = 'MakeCp' + +default_component_specs = { + 'source_urls': ['https://github.com/chrchang/plink-ng/archive/refs/tags/'], + 'sources': ['v%s.tar.gz' % version], + 'skipsteps': ['configure'], +} + +components = [ + ('PLINK1', '1.90', { + 'checksums': ['145717350205f5562a01292a0fcbd617b7500758f20cad0393c7cc54665a614e'], + 'start_dir': '%s-ng-%s/1.9' % (name.lower(), version), + 'buildopts': ( + 'CFLAGS="${CFLAGS} -DDYNAMIC_ZLIB" CXXFLAGS="${CXXFLAGS} -DDYNAMIC_ZLIB" ' + 'LDFLAGS="${LDFLAGS} -lm -lpthread -ldl" BLASFLAGS="${LIBBLAS}" ZLIB="-L$EBROOTZLIB/lib -lz"' + ), + 'files_to_copy': [(['plink'], 'bin')], + }), + ('PLINK2', version, { + 'checksums': ['145717350205f5562a01292a0fcbd617b7500758f20cad0393c7cc54665a614e'], + 'start_dir': '%s-ng-%s/2.0' % (name.lower(), version), + 'prebuildopts': "sed -i 's/(OBJ)/(OBJ_NO_ZSTD)/g' Makefile && sed -i '9,19d' Makefile.src && ", + 'buildopts': ( + 'BASEFLAGS="-g -DNDEBUG -DZSTD_MULTITHREAD" BLASFLAGS64="$LIBBLAS" ZSTD="-lzstd -ldeflate" ' + 'CINCLUDE="-Isimde" CINCLUDE2="-I../simde"' + ), + 'files_to_copy': [(['bin/*'], 'bin')], + }), +] + +# run tests (<1h) +postinstallcmds = ["cd Tests && sh run_tests.sh %(installdir)s/bin"] + +sanity_check_paths = { + 'files': ['bin/plink', 'bin/plink2', 'bin/pgen_compress'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLY/PLY-3.11-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PLY/PLY-3.11-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1ce6d43a775 --- /dev/null +++ b/easybuild/easyconfigs/p/PLY/PLY-3.11-GCCcore-12.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'PLY' +version = '3.11' + +homepage = "https://www.dabeaz.com/ply/" +description = """PLY is yet another implementation of lex and yacc for Python.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.3')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-12.3.0.eb b/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-12.3.0.eb new file mode 100644 index 00000000000..4d5f9b5fae7 --- /dev/null +++ b/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-12.3.0.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel + +easyblock = 'MakeCp' + +name = 'PRANK' +version = '170427' + +homepage = 'http://wasabiapp.org/software/prank/' +description = """ PRANK is a probabilistic multiple alignment program for DNA, + codon and amino-acid sequences. PRANK is based on a novel algorithm that treats + insertions correctly and avoids over-estimation of the number of deletion events.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['http://wasabiapp.org/download/prank/'] +sources = ['%(namelower)s.source.%(version)s.tgz'] +checksums = ['623eb5e9b5cb0be1f49c3bf715e5fabceb1059b21168437264bdcd5c587a8859'] + +# PRANK uses MAFFT as external tool to construct guide tree +dependencies = [('MAFFT', '7.520', '-with-extensions')] + +start_dir = 'src' + +files_to_copy = [(['prank'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/prank'], + 'dirs': [], +} + +sanity_check_commands = ['prank -help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PROJ/PROJ-9.3.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-9.3.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4b2f17e16ad --- /dev/null +++ b/easybuild/easyconfigs/p/PROJ/PROJ-9.3.1-GCCcore-13.2.0.eb @@ -0,0 +1,49 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'CMakeMake' + +name = 'PROJ' +version = '9.3.1' + +homepage = 'https://proj.org' +description = """Program proj is a standard Unix filter function which converts +geographic longitude and latitude coordinates into cartesian coordinates""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/proj/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b0f919cb9e1f42f803a3e616c2b63a78e4d81ecfaed80978d570d3a5e29d10bc'] + +builddependencies = [ + ('pkgconf', '2.0.3'), + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('googletest', '1.14.0'), +] + +dependencies = [ + ('SQLite', '3.43.1'), + ('LibTIFF', '4.6.0'), + ('cURL', '8.3.0'), + ('XZ', '5.4.4'), + ('nlohmann_json', '3.11.3'), +] + +# build twice, once for static, once for shared libraries +configopts = ['', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/cct', 'bin/cs2cs', 'bin/geod', 'bin/gie', 'bin/proj', 'bin/projinfo', + 'lib/libproj.a', 'lib/libproj.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSASS/PSASS-3.1.0-GCC-12.3.0.eb b/easybuild/easyconfigs/p/PSASS/PSASS-3.1.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..1cd13b8f919 --- /dev/null +++ b/easybuild/easyconfigs/p/PSASS/PSASS-3.1.0-GCC-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'PSASS' +version = '3.1.0' + +homepage = 'https://github.com/SexGenomicsToolkit/PSASS' +description = """ +PSASS (Pooled Sequencing Analysis for Sex Signal) is a software to compare pooled sequencing +datasets from two groups (usually two sexes). Results from PSASS can be easily visualized +using the sgtr R package. PSASS is integrated in a Snakemake workflow to perform all required +steps starting from a genome and reads files. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +dependencies = [ + ('HTSlib', '1.18'), +] + +source_urls = ['https://github.com/SexGenomicsToolkit/PSASS/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['6c22fb2db52df76bdf8e5073895da11678a35c4a0e1500245e19d13c1f67df2b'] + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/psass'], + 'dirs': [], +} + +sanity_check_commands = [ + "psass --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PSI4/PSI4-1.7-foss-2021b.eb b/easybuild/easyconfigs/p/PSI4/PSI4-1.7-foss-2021b.eb index a45e9eb8eb6..8f23ffda609 100644 --- a/easybuild/easyconfigs/p/PSI4/PSI4-1.7-foss-2021b.eb +++ b/easybuild/easyconfigs/p/PSI4/PSI4-1.7-foss-2021b.eb @@ -19,9 +19,9 @@ patches = [ 'PSI4-%(version)s_fix_snsmp2_version.patch', ] checksums = [ - '85a2772a148d57423a909fd91f3f9b068ae393b161510e78e7a824fbe3997366', # v1.7.tar.gz - 'a8af68947fb4d632d16adb3341b90990d9129d3fe9a28dee733b67bcd2aeff08', # PSI4-1.3.1_fix_cmake_release.patch - '064dcf60e74e0c449f77bb6e4dcf4b3338edad7d9a046089ecc2979aed1a00f9', # PSI4-1.7_fix_snsmp2_version.patch + {'v1.7.tar.gz': '85a2772a148d57423a909fd91f3f9b068ae393b161510e78e7a824fbe3997366'}, + {'PSI4-1.7_fix_cmake_release.patch': 'a8af68947fb4d632d16adb3341b90990d9129d3fe9a28dee733b67bcd2aeff08'}, + {'PSI4-1.7_fix_snsmp2_version.patch': '064dcf60e74e0c449f77bb6e4dcf4b3338edad7d9a046089ecc2979aed1a00f9'}, ] dependencies = [ @@ -32,6 +32,7 @@ dependencies = [ ('psutil', '5.9.4'), ('pytest', '7.1.3'), ('Boost', '1.77.0'), + ('PyYAML', '5.4.1'), ] builddependencies = [ @@ -76,10 +77,25 @@ exts_list = [ 'modulename': 'msgpack', 'checksums': ['378cc8a6d3545b532dfd149da715abae4fda2a3adb6d74e525d0d5e51f46909b'], }), + ('qcelemental', '0.25.1', { + 'checksums': ['e3e0e53fe047d14756718441040a5d737135f0bdb33efb1d63a1935b95821a74'], + }), + ('qcengine', '0.26.0', { + 'checksums': ['8c10377b11ffab311a2997ae9af80a0f4b4a9c3a6d65d96fd4aca4c941ecf018'], + }), + ('OptKing', '0.2.1', { + 'source_urls': ['https://github.com/psi-rking/optking/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['7c4a2ea83b61fa91a178d2470612069eb9968ed3157336694c77805752ba545d'], + }), + ('snsmp2', '1.0.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['acfc95f8eb40e18d9d0c737b42fc8dfa786c381a5510a3094772b82538d211ed'], + }), ('py-cpuinfo', '9.0.0', { 'modulename': 'cpuinfo', 'checksums': ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'], - }) + }), ] modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2023a.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2023a.eb new file mode 100644 index 00000000000..f7b83302873 --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2023a.eb @@ -0,0 +1,29 @@ +## +# Author: Robert Mijakovic +## +name = 'ParMETIS' +version = '4.0.3' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview' +description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning + unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the + functionality provided by METIS and includes routines that are especially suited for parallel AMR computations and + large scale numerical simulations. The algorithms implemented in ParMETIS are based on the parallel multilevel k-way + graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning schemes.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f'] + +builddependencies = [('CMake', '3.26.3')] + +# Build static and shared libraries +configopts = ['', '-DSHARED=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.12.0-foss-2023b.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.12.0-foss-2023b.eb new file mode 100644 index 00000000000..018edd70431 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.12.0-foss-2023b.eb @@ -0,0 +1,73 @@ +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.12.0' + +homepage = 'https://www.paraview.org' +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +local_download_suffix = 'download.php?submit=Download&version=v%(version_major_minor)s&type=source&os=all&downloadFile=' +source_urls = ['https://www.paraview.org/paraview-downloads/%s' % local_download_suffix] +sources = ["%(name)s-v%(version)s.tar.gz"] +patches = ['ParaView-5.11.1-remove_glew_init_warning.patch'] +checksums = [ + {'ParaView-v5.12.0.tar.gz': '2cc5733608fd508e2da8fc5d4ee693523d350dc1e1f89f9a89a78dc63107f70e'}, + {'ParaView-5.11.1-remove_glew_init_warning.patch': + 'dd86134f3a5b2c1b834224c69665dd31f99ef7d367688fe77dbaada212758710'}, +] + +builddependencies = [('CMake', '3.27.6')] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('Boost', '1.83.0'), + ('XZ', '5.4.4'), + ('HDF5', '1.14.3'), + ('netCDF', '4.9.2'), + ('libdrm', '2.4.117'), + ('Mesa', '23.1.9'), + ('Qt6', '6.6.3'), + ('zlib', '1.2.13'), + ('FFmpeg', '6.0'), + ('Szip', '2.1.1'), +] + +_copts = [ + # Basic configuration + # Embedded docs not supported with Qt6 https://gitlab.kitware.com/paraview/paraview/-/issues/19742 + '-DPARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION=OFF', + '-DCMAKE_AUTOMOC=OFF', # err Qt6? + '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON', + '-DPARAVIEW_BUILD_SHARED_LIBS=ON', + '-DPARAVIEW_USE_MPI=ON', + '-DPARAVIEW_ENABLE_FFMPEG=ON', + '-DPARAVIEW_USE_PYTHON=ON', + '-DPython3_ROOT_DIR=$EBROOTPYTHON', + # Useful input formats + '-DPARAVIEW_ENABLE_XDMF2=ON', + '-DPARAVIEW_ENABLE_XDMF3=ON', + # EGL, X and Mesa + '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s' % SHLIB_EXT, + '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include', + '-DEGL_INCLUDE_DIR=$EBROOTLIBGLVND/include', + '-DEGL_LIBRARY=$EBROOTLIBGLVND/lib/libEGL.%s' % SHLIB_EXT, + '-DEGL_opengl_LIBRARY=$EBROOTLIBGLVND/libOpenGL.%s' % SHLIB_EXT, + '-DVTK_OPENGL_HAS_EGL=ON', + '-DVTK_USE_X=ON', + '-DVTK_OPENGL_HAS_OSMESA=OFF'] +configopts = ' '.join(_copts) + +sanity_check_paths = { + 'files': ['bin/paraview', 'bin/pvserver', 'bin/pvpython'], + 'dirs': ['include/paraview-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['python -c "import paraview"'] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Parallel-Hashmap/Parallel-Hashmap-1.3.12-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Parallel-Hashmap/Parallel-Hashmap-1.3.12-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9c1e920324e --- /dev/null +++ b/easybuild/easyconfigs/p/Parallel-Hashmap/Parallel-Hashmap-1.3.12-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'Parallel-Hashmap' +version = '1.3.12' + +homepage = 'https://github.com/greg7mdp/parallel-hashmap' +description = """Parallel Hashmap is built on a modified version of +Abseil's flat_hash_map. Parallel Hashmap has lower space requirements, +is nearly as fast as the underlying flat_hash_map, and can be used from +multiple threads with high levels of concurrency.""" + +# There is no actual library built, so it can be at GCCcore level despite being a C++ "library" +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'greg7mdp' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['0cc203144321924cfbfcc401f42d8204c0dd24e2760c7a1c091baa16d9777c08'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +configopts = '-DPHMAP_BUILD_TESTS=OFF -DPHMAP_BUILD_EXAMPLES=OFF' # The test code doesn't build + +sanity_check_paths = { + 'files': ['include/parallel_hashmap/phmap%s.h' % x for x in [ + '', '_base', '_bits', '_config', '_dump', '_fwd_decl', '_utils' + ]], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Net-SSLeay-1.92_fix.patch b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Net-SSLeay-1.92_fix.patch new file mode 100644 index 00000000000..2129e8f555e --- /dev/null +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Net-SSLeay-1.92_fix.patch @@ -0,0 +1,212 @@ +fix failing tests on RHEL 9.x +see https://github.com/radiator-software/p5-net-ssleay/pull/433 +diff -ru Net-SSLeay-1.92.orig/t/local/33_x509_create_cert.t Net-SSLeay-1.92/t/local/33_x509_create_cert.t +--- Net-SSLeay-1.92.orig/t/local/33_x509_create_cert.t 2021-09-29 00:15:32.000000000 +0200 ++++ Net-SSLeay-1.92/t/local/33_x509_create_cert.t 2024-03-12 14:42:37.501231963 +0100 +@@ -93,8 +93,8 @@ + &Net::SSLeay::NID_crl_distribution_points => 'URI:http://pki.dom.com/crl1.pem,URI:http://pki.dom.com/crl2.pem', + ), "P_X509_add_extensions"); + +- ok(my $sha1_digest = Net::SSLeay::EVP_get_digestbyname("sha1"), "EVP_get_digestbyname"); +- ok(Net::SSLeay::X509_sign($x509, $ca_pk, $sha1_digest), "X509_sign"); ++ ok(my $sha256_digest = Net::SSLeay::EVP_get_digestbyname("sha256"), "EVP_get_digestbyname"); ++ ok(Net::SSLeay::X509_sign($x509, $ca_pk, $sha256_digest), "X509_sign"); + + is(Net::SSLeay::X509_get_version($x509), 3, "X509_get_version"); + is(Net::SSLeay::X509_verify($x509, Net::SSLeay::X509_get_pubkey($ca_cert)), 1, "X509_verify"); +@@ -186,8 +186,8 @@ + + ok(Net::SSLeay::X509_REQ_set_version($req, 2), "X509_REQ_set_version"); + +- ok(my $sha1_digest = Net::SSLeay::EVP_get_digestbyname("sha1"), "EVP_get_digestbyname"); +- ok(Net::SSLeay::X509_REQ_sign($req, $pk, $sha1_digest), "X509_REQ_sign"); ++ ok(my $sha256_digest = Net::SSLeay::EVP_get_digestbyname("sha256"), "EVP_get_digestbyname"); ++ ok(Net::SSLeay::X509_REQ_sign($req, $pk, $sha256_digest), "X509_REQ_sign"); + + ok(my $req_pubkey = Net::SSLeay::X509_REQ_get_pubkey($req), "X509_REQ_get_pubkey"); + is(Net::SSLeay::X509_REQ_verify($req, $req_pubkey), 1, "X509_REQ_verify"); +@@ -228,7 +228,7 @@ + ok(Net::SSLeay::X509_set_pubkey($x509ss,$tmppkey), "X509_set_pubkey"); + Net::SSLeay::EVP_PKEY_free($tmppkey); + +- ok(Net::SSLeay::X509_sign($x509ss, $ca_pk, $sha1_digest), "X509_sign"); ++ ok(Net::SSLeay::X509_sign($x509ss, $ca_pk, $sha256_digest), "X509_sign"); + like(my $crt_pem = Net::SSLeay::PEM_get_string_X509($x509ss), qr/-----BEGIN CERTIFICATE-----/, "PEM_get_string_X509"); + + #write_file("tmp_cert2.crt.pem", $crt_pem); +@@ -296,8 +296,8 @@ + ok(Net::SSLeay::P_ASN1_TIME_set_isotime(Net::SSLeay::X509_get_notAfter($x509), "2038-01-01T00:00:00Z"), "P_ASN1_TIME_set_isotime+X509_get_notAfter"); + } + +- ok(my $sha1_digest = Net::SSLeay::EVP_get_digestbyname("sha1"), "EVP_get_digestbyname"); +- ok(Net::SSLeay::X509_sign($x509, $ca_pk, $sha1_digest), "X509_sign"); ++ ok(my $sha256_digest = Net::SSLeay::EVP_get_digestbyname("sha256"), "EVP_get_digestbyname"); ++ ok(Net::SSLeay::X509_sign($x509, $ca_pk, $sha256_digest), "X509_sign"); + + like(my $crt_pem = Net::SSLeay::PEM_get_string_X509($x509), qr/-----BEGIN CERTIFICATE-----/, "PEM_get_string_X509"); + like(my $key_pem = Net::SSLeay::PEM_get_string_PrivateKey($pk), qr/-----BEGIN (RSA )?PRIVATE KEY-----/, "PEM_get_string_PrivateKey"); +@@ -311,8 +311,8 @@ + ok(my $bio = Net::SSLeay::BIO_new_file($req_pem, 'r'), "BIO_new_file"); + ok(my $req = Net::SSLeay::PEM_read_bio_X509_REQ($bio), "PEM_read_bio_X509"); + +- ok(my $sha1_digest = Net::SSLeay::EVP_get_digestbyname("sha1"), "EVP_get_digestbyname"); +- is(unpack("H*", Net::SSLeay::X509_REQ_digest($req, $sha1_digest)), "372c21a20a6d4e15bf8ecefb487cc604d9a10960", "X509_REQ_digest"); ++ ok(my $sha256_digest = Net::SSLeay::EVP_get_digestbyname("sha256"), "EVP_get_digestbyname"); ++ is(unpack("H*", Net::SSLeay::X509_REQ_digest($req, $sha256_digest)), "420e99da1e23e192409ab2a5f1a9b09ac03c52fa4b8bd0d19e561358f9880e88", "X509_REQ_digest"); + + ok(my $req2 = Net::SSLeay::X509_REQ_new(), "X509_REQ_new"); + ok(my $name = Net::SSLeay::X509_REQ_get_subject_name($req), "X509_REQ_get_subject_name"); +Only in Net-SSLeay-1.92/t/local: 33_x509_create_cert.t.orig +diff -ru Net-SSLeay-1.92.orig/t/local/34_x509_crl.t Net-SSLeay-1.92/t/local/34_x509_crl.t +--- Net-SSLeay-1.92.orig/t/local/34_x509_crl.t 2020-11-18 10:12:44.000000000 +0100 ++++ Net-SSLeay-1.92/t/local/34_x509_crl.t 2024-03-12 14:43:38.874896528 +0100 +@@ -39,8 +39,8 @@ + } + + is(Net::SSLeay::X509_CRL_get_version($crl1), 1, "X509_CRL_get_version"); +- ok(my $sha1_digest = Net::SSLeay::EVP_get_digestbyname("sha1"), "EVP_get_digestbyname"); +- is(unpack("H*",Net::SSLeay::X509_CRL_digest($crl1, $sha1_digest)), 'f0e5c853477a206c03f7347aee09a01d91df0ac5', "X509_CRL_digest"); ++ ok(my $sha256_digest = Net::SSLeay::EVP_get_digestbyname("sha256"), "EVP_get_digestbyname"); ++ is(unpack("H*",Net::SSLeay::X509_CRL_digest($crl1, $sha256_digest)), '4edc18ec956e722cbcf96589a43535c2d1d557e3cec55b1e421897827c3bb8be', "X509_CRL_digest"); + } + + { ### X509_CRL create +@@ -100,12 +100,12 @@ + &Net::SSLeay::NID_authority_key_identifier => 'keyid:always,issuer:always', + ), "P_X509_CRL_add_extensions"); + +- ok(my $sha1_digest = Net::SSLeay::EVP_get_digestbyname("sha1"), "EVP_get_digestbyname"); ++ ok(my $sha256_digest = Net::SSLeay::EVP_get_digestbyname("sha256"), "EVP_get_digestbyname"); + SKIP: { + skip('requires openssl-0.9.7', 1) unless Net::SSLeay::SSLeay >= 0x0090700f; + ok(Net::SSLeay::X509_CRL_sort($crl), "X509_CRL_sort"); + } +- ok(Net::SSLeay::X509_CRL_sign($crl, $ca_pk, $sha1_digest), "X509_CRL_sign"); ++ ok(Net::SSLeay::X509_CRL_sign($crl, $ca_pk, $sha256_digest), "X509_CRL_sign"); + + like(my $crl_pem = Net::SSLeay::PEM_get_string_X509_CRL($crl), qr/-----BEGIN X509 CRL-----/, "PEM_get_string_X509_CRL"); + +diff -ru Net-SSLeay-1.92.orig/t/local/44_sess.t Net-SSLeay-1.92/t/local/44_sess.t +--- Net-SSLeay-1.92.orig/t/local/44_sess.t 2021-09-29 00:15:32.000000000 +0200 ++++ Net-SSLeay-1.92/t/local/44_sess.t 2024-03-12 14:42:37.501231963 +0100 +@@ -2,7 +2,7 @@ + + use lib 'inc'; + +-use Net::SSLeay; ++use Net::SSLeay qw( ERROR_SSL ); + use Test::Net::SSLeay qw( + can_fork data_file_path initialise_libssl is_protocol_usable new_ctx + tcp_socket +@@ -13,7 +13,7 @@ + if (not can_fork()) { + plan skip_all => "fork() not supported on this system"; + } else { +- plan tests => 58; ++ plan tests => 59; + } + + initialise_libssl(); +@@ -142,6 +142,7 @@ + my ($server_ctx, $client_ctx, $server_ssl, $client_ssl); + + my $server = tcp_socket(); ++my $proto_count = 0; + + sub server + { +@@ -256,6 +257,14 @@ + Net::SSLeay::set_fd($ssl, $cl); + my $ret = Net::SSLeay::connect($ssl); + if ($ret <= 0) { ++ # Connection might fail due to attempted use of algorithm in key ++ # exchange that is forbidden by security policy, resulting in ERROR_SSL ++ my $ssl_err = Net::SSLeay::get_error($ssl, $ret); ++ if ($ssl_err == ERROR_SSL) { ++ diag("Protocol $proto, connect() failed, maybe due to security policy"); ++ $usable{$round} = 0; ++ next; ++ } + diag("Protocol $proto, connect() returns $ret, Error: ".Net::SSLeay::ERR_error_string(Net::SSLeay::ERR_get_error())); + } + my $msg = Net::SSLeay::read($ssl); +@@ -275,6 +284,7 @@ + Net::SSLeay::shutdown($ssl); + Net::SSLeay::free($ssl); + close($cl) || die("client close: $!"); ++ $proto_count += 1; + } + + $cl = $server->connect(); +@@ -359,6 +369,8 @@ + } + } + ++ cmp_ok($proto_count, '>=', 1, "At least one protocol fully testable"); ++ + # use Data::Dumper; print "Server:\n" . Dumper(\%srv_stats); + # use Data::Dumper; print "Client:\n" . Dumper(\%clt_stats); + } +Only in Net-SSLeay-1.92/t/local: 44_sess.t.orig +diff -ru Net-SSLeay-1.92.orig/t/local/45_exporter.t Net-SSLeay-1.92/t/local/45_exporter.t +--- Net-SSLeay-1.92.orig/t/local/45_exporter.t 2021-09-29 00:15:32.000000000 +0200 ++++ Net-SSLeay-1.92/t/local/45_exporter.t 2024-03-12 14:42:37.501231963 +0100 +@@ -2,7 +2,7 @@ + + use lib 'inc'; + +-use Net::SSLeay; ++use Net::SSLeay qw( ERROR_SSL ); + use Test::Net::SSLeay qw( + can_fork data_file_path initialise_libssl is_protocol_usable new_ctx + tcp_socket +@@ -15,7 +15,7 @@ + } elsif (!defined &Net::SSLeay::export_keying_material) { + plan skip_all => "No export_keying_material()"; + } else { +- plan tests => 36; ++ plan tests => 37; + } + + initialise_libssl(); +@@ -37,6 +37,7 @@ + my ($server_ctx, $client_ctx, $server_ssl, $client_ssl); + + my $server = tcp_socket(); ++my $proto_count = 0; + + sub server + { +@@ -88,6 +89,16 @@ + Net::SSLeay::set_fd( $ssl, $cl ); + my $ret = Net::SSLeay::connect($ssl); + if ($ret <= 0) { ++ # Connection might fail due to attempted use of algorithm in key ++ # exchange that is forbidden by security policy, resulting in ERROR_SSL ++ my $ssl_err = Net::SSLeay::get_error($ssl, $ret); ++ if ($ssl_err == ERROR_SSL) { ++ diag("Protocol $round, connect() failed, maybe due to security policy"); ++ SKIP: { ++ skip( "$round not available in this enviornment", 9 ); ++ } ++ next; ++ } + diag("Protocol $round, connect() returns $ret, Error: ".Net::SSLeay::ERR_error_string(Net::SSLeay::ERR_get_error())); + } + +@@ -100,6 +111,7 @@ + Net::SSLeay::shutdown($ssl); + Net::SSLeay::free($ssl); + close($cl) || die("client close: $!"); ++ $proto_count += 1; + } + else { + SKIP: { +@@ -168,4 +180,7 @@ + server(); + client(); + waitpid $pid, 0; ++ ++cmp_ok($proto_count, '>=', 1, "At least one protocol fully testable"); ++ + exit(0); diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-5.36.1-debian-release.patch b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-5.36.1-debian-release.patch new file mode 100644 index 00000000000..e738ee0fa5c --- /dev/null +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-5.36.1-debian-release.patch @@ -0,0 +1,73 @@ +From a1c14cce4121862bb12fe34f294b5ab1d3dce7da Mon Sep 17 00:00:00 2001 +From: Vincent Lefevre +Date: Tue, 8 Oct 2019 17:06:57 +0200 +Subject: [PATCH] Update for Debian 8.0 (jessie), 9.0 (stretch) and 10.0 + (buster). + +Also removed the obsolete debian_version and debian_release lines, +as Distribution.pm no longer supports multiple release files and +they made the tests fail (fixes issue #2 for Debian). + +Bug: https://github.com/burak/CPAN-Sys-Info-Driver-Linux/pull/3 + +Added bullseye and bookworm as well. + +--- + lib/Sys/Info/Driver/Linux/OS/Distribution/Conf.pm | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- a/lib/Sys/Info/Driver/Linux/OS/Distribution/Conf.pm ++++ b/lib/Sys/Info/Driver/Linux/OS/Distribution/Conf.pm +@@ -31,8 +31,6 @@ + + manufacturer = Debian Project + version_match = (.+) +- release = debian_version +- release = debian_release + + 1.1 = buzz + 1.2 = rex +@@ -46,21 +44,31 @@ + 5.0 = lenny + 6.0 = squeeze + 7.0 = wheezy ++ 8.0 = jessie ++ 9.0 = stretch ++ 10.0 = buster ++ 11.0 = bullseye ++ 12.0 = bookworm + + # we get the version as "lenny/sid" for example + +- buzz = 1.1 +- rex = 1.2 +- bo = 1.3 +- hamm = 2.0 +- slink = 2.1 +- potato = 2.2 +- woody = 3.0 +- sarge = 3.1 +- etch = 4.0 +- lenny = 5.0 +- squeeze = 6.0 +- wheezy = 7.0 ++ buzz = 1.1 ++ rex = 1.2 ++ bo = 1.3 ++ hamm = 2.0 ++ slink = 2.1 ++ potato = 2.2 ++ woody = 3.0 ++ sarge = 3.1 ++ etch = 4.0 ++ lenny = 5.0 ++ squeeze = 6.0 ++ wheezy = 7.0 ++ jessie = 8.0 ++ stretch = 9.0 ++ buster = 10.0 ++ bullseye = 11.0 ++ bookworm = 12.0 + + + diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-5.36.1-pod.patch b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-5.36.1-pod.patch new file mode 100644 index 00000000000..0f21a1395d9 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-5.36.1-pod.patch @@ -0,0 +1,159 @@ +Description: remove duplicate NAME sections, keep the one with a synopsis +Origin: vendor +Author: gregor herrmann +Last-Update: 2019-10-25 + +--- a/lib/Sys/Info/Driver/Linux.pm ++++ b/lib/Sys/Info/Driver/Linux.pm +@@ -29,7 +29,7 @@ + + =head1 NAME + +-Sys::Info::Driver::Linux ++Sys::Info::Driver::Linux - Linux driver for Sys::Info + + =head1 VERSION + +@@ -43,10 +43,6 @@ + + This is the main module in the C driver collection. + +-=head1 NAME +- +-Sys::Info::Driver::Linux - Linux driver for Sys::Info +- + =head1 METHODS + + None. +--- a/lib/Sys/Info/Driver/Linux/Constants.pm ++++ b/lib/Sys/Info/Driver/Linux/Constants.pm +@@ -74,7 +74,7 @@ + + =head1 NAME + +-Sys::Info::Driver::Linux::Constants ++Sys::Info::Driver::Linux::Constants - Constants for Linux driver + + =head1 VERSION + +@@ -86,10 +86,6 @@ + + Constants for Linux driver. + +-=head1 NAME +- +-Sys::Info::Driver::Linux::Constants - Constants for Linux driver +- + =head1 METHODS + + None. +--- a/lib/Sys/Info/Driver/Linux/Device.pm ++++ b/lib/Sys/Info/Driver/Linux/Device.pm +@@ -13,7 +13,7 @@ + + =head1 NAME + +-Sys::Info::Driver::Linux::Device ++Sys::Info::Driver::Linux::Device - Base class for Linux device drivers + + =head1 VERSION + +@@ -27,10 +27,6 @@ + + Base class for Linux device drivers. + +-=head1 NAME +- +-Sys::Info::Driver::Linux::Device - Base class for Linux device drivers +- + =head1 METHODS + + None. +--- a/lib/Sys/Info/Driver/Linux/Device/CPU.pm ++++ b/lib/Sys/Info/Driver/Linux/Device/CPU.pm +@@ -94,7 +94,7 @@ + + =head1 NAME + +-Sys::Info::Driver::Linux::Device::CPU ++Sys::Info::Driver::Linux::Device::CPU - Linux CPU Device Driver + + =head1 VERSION + +@@ -108,10 +108,6 @@ + + Identifies the CPU with L, L and C<< /proc >>. + +-=head1 NAME +- +-Sys::Info::Driver::Linux::Device::CPU - Linux CPU Device Driver +- + =head1 METHODS + + =head2 identify +--- a/lib/Sys/Info/Driver/Linux/OS.pm ++++ b/lib/Sys/Info/Driver/Linux/OS.pm +@@ -263,7 +263,7 @@ + + =head1 NAME + +-Sys::Info::Driver::Linux::OS ++Sys::Info::Driver::Linux::OS - Linux backend + + =head1 VERSION + +@@ -277,10 +277,6 @@ + + - + +-=head1 NAME +- +-Sys::Info::Driver::Linux::OS - Linux backend +- + =head1 METHODS + + Please see L for definitions of these methods and more. +--- a/lib/Sys/Info/Driver/Linux/OS/Distribution.pm ++++ b/lib/Sys/Info/Driver/Linux/OS/Distribution.pm +@@ -360,7 +360,7 @@ + + =head1 NAME + +-Sys::Info::Driver::Linux::OS::Distribution ++Sys::Info::Driver::Linux::OS::Distribution - Linux distribution probe + + =head1 VERSION + +@@ -394,10 +394,6 @@ + redflag and ubuntu(lsb). People running unsupported distro's are greatly + encouraged to submit patches. + +-=head1 NAME +- +-Sys::Info::Driver::Linux::OS::Distribution - Linux distribution probe +- + =head1 METHODS + + =head2 build +--- a/lib/Sys/Info/Driver/Linux/OS/Distribution/Conf.pm ++++ b/lib/Sys/Info/Driver/Linux/OS/Distribution/Conf.pm +@@ -259,7 +259,7 @@ + + =head1 NAME + +-Sys::Info::Driver::Linux::OS::Distribution::Conf ++Sys::Info::Driver::Linux::OS::Distribution::Conf - Distro configuration + + =head1 VERSION + +@@ -269,10 +269,6 @@ + + =head1 DESCRIPTION + +-=head1 NAME +- +-Sys::Info::Driver::Linux::OS::Distribution::Conf - Distro configuration +- + =head1 AUTHOR + + Burak Gursoy diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb index 9c5ab28d7b7..a3645c938f4 100644 --- a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb @@ -673,10 +673,14 @@ exts_list = [ 'checksums': ['aa12d1a4c0ac260b94d448fa01feba242a8a85cb6cbfdc66432e3b5b468add96'], }), ('Net::SSLeay', '1.92', { + 'patches': ['Net-SSLeay-1.92_fix.patch'], 'preconfigopts': "export OPENSSL_PREFIX=$EBROOTOPENSSL && ", 'source_tmpl': 'Net-SSLeay-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHRISN'], - 'checksums': ['47c2f2b300f2e7162d71d699f633dd6a35b0625a00cbda8c50ac01144a9396a9'], + 'checksums': [ + {'Net-SSLeay-1.92.tar.gz': '47c2f2b300f2e7162d71d699f633dd6a35b0625a00cbda8c50ac01144a9396a9'}, + {'Net-SSLeay-1.92_fix.patch': '37790b10c5551bce92bc4bd7c98a92b0058fc16604272c7459a63096b52a8d1c'}, + ], }), ('IO::Socket::SSL', '2.083', { 'source_tmpl': 'IO-Socket-SSL-%(version)s.tar.gz', @@ -1764,6 +1768,7 @@ exts_list = [ 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], }), ('Time::HiRes', '1.9764', { + 'runtest': False, # https://github.com/easybuilders/easybuild-easyconfigs/issues/20145 unreliable atime tests 'source_tmpl': 'Time-HiRes-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], 'checksums': ['9841be5587bfb7cd1f2fe267b5e5ac04ce25e79d5cc77e5ef9a9c5abd101d7b1'], @@ -2053,7 +2058,18 @@ exts_list = [ ('Sys::Info::Driver::Linux::Device::CPU', '0.7905', { 'source_tmpl': 'Sys-Info-Driver-Linux-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], - 'checksums': ['899c329bd3508ec5849ad0e5dadfa7c3679bbacaea9dda12404a7893032e8b7b'], + 'patches': [ + ('Perl-bundle-5.36.1-debian-release.patch'), + ('Perl-bundle-5.36.1-pod.patch'), + ], + 'checksums': [ + {'Sys-Info-Driver-Linux-%(version)s.tar.gz': + '899c329bd3508ec5849ad0e5dadfa7c3679bbacaea9dda12404a7893032e8b7b'}, + {'Perl-bundle-5.36.1-debian-release.patch': + '18b8d876db5b3abe7e5a1bb8c6abf8b5fef481b56294472fcf9f96f974c56c48'}, + {'Perl-bundle-5.36.1-pod.patch': + '7c70bd91a06c256a8d85845e011e53a1a9d4f8a250d9f06bd06f5004596f271a'}, + ], }), ('Sys::Info', '0.7811', { 'source_tmpl': 'Sys-Info-%(version)s.tar.gz', @@ -2103,7 +2119,18 @@ exts_list = [ ('Sys::Info::Driver::Linux', '0.7905', { 'source_tmpl': 'Sys-Info-Driver-Linux-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], - 'checksums': ['899c329bd3508ec5849ad0e5dadfa7c3679bbacaea9dda12404a7893032e8b7b'], + 'patches': [ + ('Perl-bundle-5.36.1-debian-release.patch'), + ('Perl-bundle-5.36.1-pod.patch'), + ], + 'checksums': [ + {'Sys-Info-Driver-Linux-%(version)s.tar.gz': + '899c329bd3508ec5849ad0e5dadfa7c3679bbacaea9dda12404a7893032e8b7b'}, + {'Perl-bundle-5.36.1-debian-release.patch': + '18b8d876db5b3abe7e5a1bb8c6abf8b5fef481b56294472fcf9f96f974c56c48'}, + {'Perl-bundle-5.36.1-pod.patch': + '7c70bd91a06c256a8d85845e011e53a1a9d4f8a250d9f06bd06f5004596f271a'}, + ], }), ('Unix::Processors', '2.046', { 'source_tmpl': 'Unix-Processors-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb index 89d9819e7fb..2ee75d5ffc3 100644 --- a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb @@ -400,6 +400,7 @@ exts_list = [ 'source_tmpl': 'DBI-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], 'checksums': ['8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa'], + 'pretestopts': 'LC_ALL=C ', # Test fails if run in localized environments }), ('DBD::SQLite', '1.74', { 'source_tmpl': 'DBD-SQLite-%(version)s.tar.gz', @@ -673,10 +674,14 @@ exts_list = [ 'checksums': ['aa12d1a4c0ac260b94d448fa01feba242a8a85cb6cbfdc66432e3b5b468add96'], }), ('Net::SSLeay', '1.92', { + 'patches': ['Net-SSLeay-1.92_fix.patch'], 'preconfigopts': "export OPENSSL_PREFIX=$EBROOTOPENSSL && ", 'source_tmpl': 'Net-SSLeay-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHRISN'], - 'checksums': ['47c2f2b300f2e7162d71d699f633dd6a35b0625a00cbda8c50ac01144a9396a9'], + 'checksums': [ + {'Net-SSLeay-1.92.tar.gz': '47c2f2b300f2e7162d71d699f633dd6a35b0625a00cbda8c50ac01144a9396a9'}, + {'Net-SSLeay-1.92_fix.patch': '37790b10c5551bce92bc4bd7c98a92b0058fc16604272c7459a63096b52a8d1c'}, + ], }), ('IO::Socket::SSL', '2.083', { 'source_tmpl': 'IO-Socket-SSL-%(version)s.tar.gz', @@ -1502,6 +1507,7 @@ exts_list = [ 'source_tmpl': 'Variable-Magic-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/V/VP/VPIT'], 'checksums': ['ba4083b2c31ff2694f2371333d554c826aaf24b4d98d03e48b5b4a43a2a0e679'], + 'pretestopts': 'LC_ALL=C ', # Test fails if run in localized environments }), ('MooseX::Types::Perl', '0.101344', { 'source_tmpl': 'MooseX-Types-Perl-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0-minimal.eb index 865360a39d3..fec6c89d995 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0-minimal.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0-minimal.eb @@ -13,7 +13,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['66db7df8a91979eb576fac91743644da878244cf8ee152f02cd6f5cd7a731689'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.30.2.tar.gz': '66db7df8a91979eb576fac91743644da878244cf8ee152f02cd6f5cd7a731689'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.34'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0.eb index a0b67405467..98e93f98b52 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0.eb @@ -9,7 +9,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['66db7df8a91979eb576fac91743644da878244cf8ee152f02cd6f5cd7a731689'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.30.2.tar.gz': '66db7df8a91979eb576fac91743644da878244cf8ee152f02cd6f5cd7a731689'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.34'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0-minimal.eb index 882c2de9022..d3674a9d64b 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0-minimal.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0-minimal.eb @@ -13,7 +13,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.32.0.tar.gz': 'efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.35'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0.eb index 34e3a3e297d..7340496b8a7 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0.eb @@ -9,7 +9,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.32.0.tar.gz': 'efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.35'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-FCC-4.5.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-FCC-4.5.0.eb index 6b718496c02..7081ac17a66 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-FCC-4.5.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-FCC-4.5.0.eb @@ -12,7 +12,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.32.1.tar.gz': '03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.36.1'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0-minimal.eb index 123f7022a08..636dcf44b69 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0-minimal.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0-minimal.eb @@ -13,7 +13,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.32.1.tar.gz': '03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.36.1'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb index 264dc8a3d15..b4cb6226cf0 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb @@ -12,7 +12,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.32.1.tar.gz': '03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.36.1'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0-minimal.eb index 75ba2d908fa..5d29f924c4a 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0-minimal.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0-minimal.eb @@ -13,7 +13,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.34.0.tar.gz': '551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.37'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb index 2a9ef4add3d..c0b5956c8b3 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb @@ -9,7 +9,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = ['perl-%(version)s.tar.gz'] -checksums = ['551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.34.0.tar.gz': '551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.37'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0-minimal.eb index 727f35d6cc4..fe47b032b83 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0-minimal.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0-minimal.eb @@ -13,7 +13,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.34.1.tar.gz': '357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.38'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb index 142a6d15917..f30c0c81715 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb @@ -9,7 +9,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = ['perl-%(version)s.tar.gz'] -checksums = ['357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.34.1.tar.gz': '357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.38'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb index 78044193927..c865a27e6aa 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb @@ -9,7 +9,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = ['perl-%(version)s.tar.gz'] -checksums = ['e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.36.0.tar.gz': 'e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.38'), @@ -106,7 +111,7 @@ exts_list = [ ('File::ShareDir::Install', '0.14', { 'source_tmpl': 'File-ShareDir-Install-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], - 'checksums': ['8f9533b198f2d4a9a5288cbc7d224f7679ad05a7a8573745599789428bc5aea0'] + 'checksums': ['8f9533b198f2d4a9a5288cbc7d224f7679ad05a7a8573745599789428bc5aea0'], }), ('IPC::System::Simple', '1.30', { 'source_tmpl': 'IPC-System-Simple-%(version)s.tar.gz', @@ -156,12 +161,12 @@ exts_list = [ ('DateTime::Locale', '1.36', { 'source_tmpl': 'DateTime-Locale-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], - 'checksums': ['90a8243f2b2d4068019c65178600e76e03f5b478cb41d18c8c81cdf0d481f0a4'] + 'checksums': ['90a8243f2b2d4068019c65178600e76e03f5b478cb41d18c8c81cdf0d481f0a4'], }), ('DateTime::TimeZone', '2.53', { 'source_tmpl': 'DateTime-TimeZone-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], - 'checksums': ['4f6e9ff86892a52334bfb8dfa74ebea6adb8afd04fefcba8ae52fc054c4c15b3'] + 'checksums': ['4f6e9ff86892a52334bfb8dfa74ebea6adb8afd04fefcba8ae52fc054c4c15b3'], }), ('Test::Requires', '0.11', { 'source_tmpl': 'Test-Requires-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0-minimal.eb index c426d66b7eb..15256f12d96 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0-minimal.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0-minimal.eb @@ -13,7 +13,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.36.0.tar.gz': 'e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.39'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb index 157d352765f..cd326152ab6 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb @@ -9,7 +9,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = ['perl-%(version)s.tar.gz'] -checksums = ['e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.36.0.tar.gz': 'e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.39'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb index 0d05c82ee82..6233aaee505 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb @@ -12,7 +12,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['68203665d8ece02988fc77dc92fccbb297a83a4bb4b8d07558442f978da54cc1'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.36.1.tar.gz': '68203665d8ece02988fc77dc92fccbb297a83a4bb4b8d07558442f978da54cc1'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.40'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb index 929a2807a02..9666a1b1a4d 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb @@ -12,7 +12,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['68203665d8ece02988fc77dc92fccbb297a83a4bb4b8d07558442f978da54cc1'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.36.1.tar.gz': '68203665d8ece02988fc77dc92fccbb297a83a4bb4b8d07558442f978da54cc1'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.40'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch b/easybuild/easyconfigs/p/Perl/Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch new file mode 100644 index 00000000000..b63b2c1692b --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch @@ -0,0 +1,27 @@ +From https://github.com/perl/perl5/issues/15544#issuecomment-544083477 + +From b197f9a55e2ae877b3089282cfe07f3647d240f9 Mon Sep 17 00:00:00 2001 +From: James E Keenan +Date: Mon, 22 Aug 2016 09:25:08 -0400 +Subject: [PATCH] Avoid spurious test failure due to PATH line > 1000 + characters. + +--- + lib/perlbug.t | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/perlbug.t b/lib/perlbug.t +index ed32c04..8ff8991 100644 +--- a/lib/perlbug.t ++++ b/lib/perlbug.t +@@ -148,7 +148,7 @@ my $maxlen1 = 0; # body + my $maxlen2 = 0; # attachment + for (split(/\n/, $contents)) { + my $len = length; +- $maxlen1 = $len if $len > $maxlen1 and !/$B/; ++ $maxlen1 = $len if $len > $maxlen1 and ! (/(?:$B|PATH)/); + $maxlen2 = $len if $len > $maxlen2 and /$B/; + } + ok($maxlen1 < 1000, "[perl #128020] long body lines are wrapped: maxlen $maxlen1"); +-- +2.7.4 diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb new file mode 100644 index 00000000000..059a04bfd90 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb @@ -0,0 +1,91 @@ +name = 'Perl' +version = '5.38.0' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language + +Includes a small selection of extra CPAN packages for core functionality. +""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['213ef58089d2f2c972ea353517dc60ec3656f050dcc027666e118b508423e517'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +# need to take care of $CFLAGS ourselves with SYSTEM toolchain +# we need to add -fPIC, but should also include -O* option to avoid +# compiling with -O0 (default for GCC) +configopts = '-Dccflags="-O2 -fPIC"' + +# !! order of extensions is important !! +# extensions updated on 2023-09-03 +# includes all dependencies for Autotools +exts_list = [ + ('threads', '2.21', { + 'source_tmpl': 'threads-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['28394c98a2bcae6f20ffb8a3d965a1c194b764c650169e2050ee38dbaa10f110'], + }), + ('constant', '1.33', { + 'source_tmpl': 'constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['79965d4130eb576670e27ca0ae6899ef0060c76da48b02b97682166882f1b504'], + }), + ('Getopt::Long', '2.54', { + 'source_tmpl': 'Getopt-Long-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + 'checksums': ['584ba3c99bb2d6b341375212f9b874613f706cfb01cee21b8a2676a98ab985fe'], + }), + ('File::Path', '2.18', { + 'source_tmpl': 'File-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN/'], + 'checksums': ['980f0a17edb353df46e9cd7b357f9f5929cde0f80c45fd7a06cf7e0e8bd6addd'], + }), + ('File::Spec', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + }), + ('IO::File', '1.51', { + 'source_tmpl': 'IO-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR/'], + 'checksums': ['5493ea55998728cd2b7ecb8234c58fb5d5df27098d0f07addca22444d7616ce0'], + }), + ('Thread::Queue', '3.13', { + 'source_tmpl': 'Thread-Queue-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['6ba3dacddd2fbb66822b4aa1d11a0a5273cd04c825cb3ff31c20d7037cbfdce8'], + }), + ('Carp', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('Exporter', '5.77', { + 'source_tmpl': 'Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['3892ee5c6ae6e482068d53b61e25cae4fc71ddc79cc47446e385df0a669bb8ed'], + }), + ('Text::ParseWords', '3.31', { + 'source_tmpl': 'Text-ParseWords-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB/'], + 'checksums': ['2ae555ba084d75b2b8feeeb8d1a00911276815ada86bccb1452236964d5a2fc7'], + }), + ('Data::Dumper', '2.183', { + 'source_tmpl': 'Data-Dumper-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/'], + 'checksums': ['e42736890b7dae1b37818d9c5efa1f1fdc52dec04f446a33a4819bf1d4ab5ad3'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Philosopher/Philosopher-5.0.0-GCC-11.3.0.eb b/easybuild/easyconfigs/p/Philosopher/Philosopher-5.0.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..cb66397c224 --- /dev/null +++ b/easybuild/easyconfigs/p/Philosopher/Philosopher-5.0.0-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'Philosopher' +version = '5.0.0' + +homepage = 'https://philosopher.nesvilab.org/' +description = """Philosopher is a fast, easy-to-use, scalable, and versatile + data analysis software for mass spectrometry-based proteomics. Philosopher + is dependency-free and can analyze both traditional database searches and + open searches for post-translational modification (PTM) discovery.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/Nesvilab/philosopher/archive/'] +sources = [{'download_filename': 'v%s.tar.gz' % version, 'filename': SOURCE_TAR_GZ}] +checksums = ['0c6895c60c1c2543f7b0ad7f8baae4be39c9c519d6035c8fdd2ad8a2f83a99cc'] + +builddependencies = [ + ('Go', '1.21.2', '', SYSTEM), +] + +prebuildopts = 'export CC="$CC" CFLAGS="$CFLAGS" && ' +# we want to make sure we get a static binary, +# see also https://mt165.co.uk/blog/static-link-go +buildopts = "deploy && export CGO_ENABLED=0 && make philosopher" + +files_to_copy = [ + (['%(namelower)s'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.2.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.2.0-GCCcore-10.3.0.eb index 23fe713f7d7..a9782146eca 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.2.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.2.0-GCCcore-10.3.0.eb @@ -31,6 +31,12 @@ dependencies = [ use_pip = True download_dep_fail = True +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + options = {'modulename': 'PIL'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.1-GCCcore-11.2.0.eb index 74b967e8926..870700860cf 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.1-GCCcore-11.2.0.eb @@ -31,6 +31,12 @@ dependencies = [ use_pip = True download_dep_fail = True +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + options = {'modulename': 'PIL'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.2-GCCcore-11.2.0.eb index cea197aa05e..99dab09b9c1 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.2-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.2-GCCcore-11.2.0.eb @@ -27,6 +27,12 @@ dependencies = [ use_pip = True download_dep_fail = True +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + options = {'modulename': 'PIL'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb index c430b0e2e0a..ae933c15e3b 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb @@ -28,6 +28,12 @@ dependencies = [ use_pip = True download_dep_fail = True +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + options = {'modulename': 'PIL'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..c93625ec7d8 --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonPackage' + +name = 'Pillow-SIMD' +version = '9.5.0' + +homepage = 'https://github.com/uploadcare/pillow-simd' +description = """Pillow is the 'friendly PIL fork' by Alex Clark and Contributors. + PIL is the Python Imaging Library by Fredrik Lundh and Contributors.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/uploadcare/pillow-simd/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1a9819343b451b7faf34663156e2abca3ae69ab604f82e445478c8133422e4f0'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('libjpeg-turbo', '2.1.4'), + ('libpng', '1.6.38'), + ('zlib', '1.2.12'), + ('LibTIFF', '4.4.0'), + ('freetype', '2.12.1'), + ('libwebp', '1.3.1'), +] + +use_pip = True +download_dep_fail = True + +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + +options = {'modulename': 'PIL'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/PIL'], +} + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.3.0.eb index ed0cd77c949..0505a2e0fbd 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.3.0.eb @@ -23,11 +23,19 @@ dependencies = [ ('LibTIFF', '4.5.0'), ('freetype', '2.13.0'), ('libwebp', '1.3.1'), + ('OpenJPEG', '2.5.0'), + ('LittleCMS', '2.15'), ] use_pip = True download_dep_fail = True +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + options = {'modulename': 'PIL'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-10.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-10.0.0-GCCcore-12.3.0.eb index a630306348f..adf7020295d 100644 --- a/easybuild/easyconfigs/p/Pillow/Pillow-10.0.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Pillow/Pillow-10.0.0-GCCcore-12.3.0.eb @@ -20,7 +20,10 @@ dependencies = [ ('libpng', '1.6.39'), ('zlib', '1.2.13'), ('LibTIFF', '4.5.0'), - ('freetype', '2.13.0') + ('freetype', '2.13.0'), + ('libwebp', '1.3.1'), + ('OpenJPEG', '2.5.0'), + ('LittleCMS', '2.15'), ] download_dep_fail = True diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-10.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-10.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..7a797cb69bd --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-10.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '10.2.0' + +homepage = 'https://pillow.readthedocs.org/' +description = """Pillow is the 'friendly PIL fork' by Alex Clark and Contributors. + PIL is the Python Imaging Library by Fredrik Lundh and Contributors.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.40'), + ('zlib', '1.2.13'), + ('LibTIFF', '4.6.0'), + ('freetype', '2.13.2'), + ('libwebp', '1.3.2'), + ('OpenJPEG', '2.5.0'), + ('LittleCMS', '2.15'), +] + +download_dep_fail = True + +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + +# avoid that hardcoded paths like /usr/include are used in build commands +installopts = "--global-option=build_ext --global-option='--disable-platform-guessing' " + +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'PIL'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pilon/Pilon-1.23-Java-11.eb b/easybuild/easyconfigs/p/Pilon/Pilon-1.23-Java-11.eb index d5381887055..1423f7b4e54 100644 --- a/easybuild/easyconfigs/p/Pilon/Pilon-1.23-Java-11.eb +++ b/easybuild/easyconfigs/p/Pilon/Pilon-1.23-Java-11.eb @@ -10,21 +10,29 @@ description = " Pilon is an automated genome assembly improvement and variant de toolchain = SYSTEM source_urls = ['https://github.com/broadinstitute/pilon/releases/download/v%(version)s/'] -sources = ['%(namelower)s-%(version)s.jar'] +sources = ['pilon-%(version)s.jar'] checksums = ['bde1d3c8da5537abbc80627f0b2a4165c2b68551690e5733a6adf62413b87185'] dependencies = [('Java', '11')] -sanity_check_paths = { - 'files': ['pilon-%(version)s.jar'], - 'dirs': [], -} - -postinstallcmds = ['cd %(installdir)s && ln -s %(namelower)s-%(version)s.jar pilon.jar'] +postinstallcmds = [ + "cd %(installdir)s && ln -s pilon-%(version)s.jar pilon.jar", + "mkdir -p %(installdir)s/bin", + "echo '#!/bin/sh' > %(installdir)s/bin/pilon", + "echo 'java -jar -Xmx8G %(installdir)s/pilon-%(version)s.jar $@' >> %(installdir)s/bin/pilon", + "chmod a+rx %(installdir)s/bin/pilon" +] modloadmsg = """ To execute Pilon run: java -Xmx8G -jar $EBROOTPILON/pilon.jar Adjust the memory value according to the size of your input files """ +sanity_check_paths = { + 'files': ['bin/pilon', 'pilon.jar'], + 'dirs': [], +} + +sanity_check_commands = ["pilon --help"] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pint/Pint-0.23-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Pint/Pint-0.23-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d0b98ea0102 --- /dev/null +++ b/easybuild/easyconfigs/p/Pint/Pint-0.23-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'Pint' +version = '0.23' + +homepage = 'https://github.com/hgrecco/pint' +description = """Pint is a Python package to define, operate and +manipulate physical quantities: the product of a numerical value and a +unit of measurement. It allows arithmetic operations between them and +conversions from and to different units.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e1509b91606dbc52527c600a4ef74ffac12fff70688aff20e9072409346ec9b4'] + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('typing-extensions', '4.9.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-16.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-16.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a2b79b4e50a --- /dev/null +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-16.1-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'PostgreSQL' +version = '16.1' + +homepage = 'https://www.postgresql.org/' +description = """PostgreSQL is a powerful, open source object-relational database system. + It is fully ACID compliant, has full support for foreign keys, + joins, views, triggers, and stored procedures (in multiple languages). + It includes most SQL:2008 data types, including INTEGER, + NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. + It also supports storage of binary large objects, including pictures, + sounds, or video. It has native programming interfaces for C/C++, Java, + .Net, Perl, Python, Ruby, Tcl, ODBC, among others, and exceptional documentation.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['http://ftp.postgresql.org/pub/source/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bf0564725613f7c57f1c3ebf5c909b3ec58b9cfb3d81b4bb1209d88767065a87'] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Perl', '5.38.0'), + ('Python', '3.11.5'), +] + +dependencies = [ + ('libreadline', '8.2'), + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-python --with-openssl --without-icu' + +sanity_check_paths = { + 'files': ['bin/psql', 'bin/pg_config', 'lib/libpq.a', 'lib/libpq.%s' % SHLIB_EXT], + 'dirs': ['share/postgresql'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PuLP/PuLP-2.8.0-foss-2023a.eb b/easybuild/easyconfigs/p/PuLP/PuLP-2.8.0-foss-2023a.eb new file mode 100644 index 00000000000..63aeec327a8 --- /dev/null +++ b/easybuild/easyconfigs/p/PuLP/PuLP-2.8.0-foss-2023a.eb @@ -0,0 +1,36 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO +# Updated: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'PuLP' +version = '2.8.0' + +homepage = 'https://github.com/coin-or/pulp' +description = """ +PuLP is an LP modeler written in Python. PuLP can generate MPS or LP files and +call GLPK, COIN-OR CLP/CBC, CPLEX, GUROBI, MOSEK, XPRESS, CHOCO, MIPCL, SCIP to +solve linear problems. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['4903bf96110bbab8ed2c68533f90565ebb76aa367d9e4df38e51bf727927c125'] + +dependencies = [ + ('Python', '3.11.3'), + ('GLPK', '5.0'), + ('Cbc', '2.10.11'), + # Gurobi requires a seperate license + # ('Gurobi', '9.5.0'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PyBerny/PyBerny-0.6.3-foss-2022b.eb b/easybuild/easyconfigs/p/PyBerny/PyBerny-0.6.3-foss-2022b.eb new file mode 100644 index 00000000000..570de2838b1 --- /dev/null +++ b/easybuild/easyconfigs/p/PyBerny/PyBerny-0.6.3-foss-2022b.eb @@ -0,0 +1,38 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'PyBerny' +version = '0.6.3' + +homepage = 'https://github.com/jhrmnn/pyberny' +description = """PyBerny is an optimizer of molecular geometries with respect to the total energy, +using nuclear gradient information.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True + +exts_list = [ + ('pyberny', version, { + 'modulename': 'berny', + 'checksums': ['b4bd9d3d2d58261e8f1d91b8204cc563617044d4b9daf6aae8feee31893cb336'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/berny'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["berny -h"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PyCheMPS2/PyCheMPS2-1.8.12-foss-2022b.eb b/easybuild/easyconfigs/p/PyCheMPS2/PyCheMPS2-1.8.12-foss-2022b.eb new file mode 100644 index 00000000000..8b8ff5ae60e --- /dev/null +++ b/easybuild/easyconfigs/p/PyCheMPS2/PyCheMPS2-1.8.12-foss-2022b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'PyCheMPS2' +version = '1.8.12' + +homepage = 'https://sebwouters.github.io/CheMPS2' +description = """PyCheMPS2 is a python interface to CheMPS2, for compilation without +MPI. CheMPS2 is a scientific library which contains a spin-adapted +implementation of the density matrix renormalization group (DMRG) +for ab initio quantum chemistry.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('CheMPS2', version), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': '%(name)s', + 'source_urls': ['https://github.com/SebWouters/CheMPS2/archive/'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['eef1b92d74ac07fde58c043f64e8cac02b5400c209c44dcbb51641f86e0c7c83'], + 'install_src': './%(name)s', + }), +] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PyFrag/PyFrag-2023-dev.20240220-intel-2022a-ASA.eb b/easybuild/easyconfigs/p/PyFrag/PyFrag-2023-dev.20240220-intel-2022a-ASA.eb new file mode 100644 index 00000000000..9287e606340 --- /dev/null +++ b/easybuild/easyconfigs/p/PyFrag/PyFrag-2023-dev.20240220-intel-2022a-ASA.eb @@ -0,0 +1,53 @@ +easyblock = 'Tarball' + +name = 'PyFrag' +version = '2023-dev.20240220' +versionsuffix = '-ASA' +_commit = '9d8611e2eef56e90d265e4aae80c220a1bf00d9e' + +homepage = 'https://pyfragdocument.readthedocs.io/en/latest/includeme.html' +description = """The PyFrag program is specially designed to facilitate the analysis of reaction +mechanism in a more efficient and user-friendly way. PyFrag resolves three main +challenges associated with the automatized computational exploration of +reaction mechanisms: 1) the management of multiple parallel calculations to +automatically find a reaction path; 2) the monitoring of the entire +computational process along with the extraction and plotting of relevant +information from large amounts of data; and 3) the analysis and presentation of +these data in a clear and informative way. +This module provides the Activation Strain Analysis (ASA) Module of PyFrag 2023""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +github_account = 'TheoChem-VU' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] +patches = ['PyFrag-2023-dev.20240220_fix-bondlength-header.patch'] +checksums = [ + {'PyFrag-2023-dev.20240220.tar.gz': '684674b90e354f5d40b0779fccd7a310ece965a5c0f7b129eede41a4a3d306c9'}, + {'PyFrag-2023-dev.20240220_fix-bondlength-header.patch': + '01b714c7840f1746733641dd8bb84ed37bbe003eb0354ff7d0e49f8354ec49ad'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('dill', '0.3.6'), +] + +start_dir = 'host' + +# for PBS based schedulers: +# postinstallcmds = ["sed -i 's/sbatch/qsub/' %(installdir)s/bin/adf.sh"] + +sanity_check_paths = { + 'files': ['bin/pyfrag'], + 'dirs': ['argueparce', 'result', 'standalone'], +} + +sanity_check_commands = ['pyfrag -h | grep "^Usage:"'] + +modextrapaths = { + 'HOSTPYFRAG': '', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PyFrag/PyFrag-2023-dev.20240220_fix-bondlength-header.patch b/easybuild/easyconfigs/p/PyFrag/PyFrag-2023-dev.20240220_fix-bondlength-header.patch new file mode 100644 index 00000000000..f27ba290fb9 --- /dev/null +++ b/easybuild/easyconfigs/p/PyFrag/PyFrag-2023-dev.20240220_fix-bondlength-header.patch @@ -0,0 +1,28 @@ +Fix key names for bond lengths in results table headers +author: Alex Domingo (Vrije Universiteit Brussel) +--- ./host/standalone/adf_new/PyFragModules.py.orig 2024-02-23 13:20:13.952195000 +0100 ++++ ./host/standalone/adf_new/PyFragModules.py 2024-02-23 13:20:22.601881593 +0100 +@@ -203,8 +203,8 @@ + def WriteTable(tableValues, fileName): + energyfile = open(f"pyfrag_{fileName}.txt", "w") + headerlist_all = sorted(tableValues[0]) +- headerlist_select = [e for e in headerlist_all if e not in ("#IRC", "bondlength_1", "EnergyTotal", "Int", "Elstat", "Pauli", "OI", "Disp", "StrainTotal", "frag1Strain", "frag2Strain")] +- headerlist = ["#IRC", "bondlength_1", "EnergyTotal", "Int", "Elstat", "Pauli", "OI", "Disp", "StrainTotal", "frag1Strain", "frag2Strain"] + headerlist_select ++ headerlist_select = [e for e in headerlist_all if e not in ("#IRC", "bondlength", "EnergyTotal", "Int", "Elstat", "Pauli", "OI", "Disp", "StrainTotal", "frag1Strain", "frag2Strain")] ++ headerlist = ["#IRC", "bondlength", "EnergyTotal", "Int", "Elstat", "Pauli", "OI", "Disp", "StrainTotal", "frag1Strain", "frag2Strain"] + headerlist_select + writeKey(energyfile, headerlist) + for entry in tableValues: + sortedEntry = [entry[i] for i in headerlist] +--- ./host/standalone/adf_newopen/PyFragModules.py.orig 2024-02-23 13:18:00.235407000 +0100 ++++ ./host/standalone/adf_newopen/PyFragModules.py 2024-02-23 13:18:49.028392911 +0100 +@@ -193,8 +193,8 @@ + def WriteTable(tableValues, fileName): + energyfile = open(f"pyfrag_{fileName}.txt", "w") + headerlist_all = sorted(tableValues[0]) +- headerlist_select = [e for e in headerlist_all if e not in ("#IRC", "bondlength_1", "EnergyTotal", "Int", "Elstat", "Pauli", "OI", "Disp", "StrainTotal", "frag1Strain", "frag2Strain")] +- headerlist = ["#IRC", "bondlength_1", "EnergyTotal", "Int", "Elstat", "Pauli", "OI", "Disp", "StrainTotal", "frag1Strain", "frag2Strain"] + headerlist_select ++ headerlist_select = [e for e in headerlist_all if e not in ("#IRC", "bondlength", "EnergyTotal", "Int", "Elstat", "Pauli", "OI", "Disp", "StrainTotal", "frag1Strain", "frag2Strain")] ++ headerlist = ["#IRC", "bondlength", "EnergyTotal", "Int", "Elstat", "Pauli", "OI", "Disp", "StrainTotal", "frag1Strain", "frag2Strain"] + headerlist_select + writeKey(energyfile, headerlist) + for entry in tableValues: + sortedEntry = [entry[i] for i in headerlist] diff --git a/easybuild/easyconfigs/p/PyInstaller/PyInstaller-6.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyInstaller/PyInstaller-6.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..04ff0394098 --- /dev/null +++ b/easybuild/easyconfigs/p/PyInstaller/PyInstaller-6.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'PyInstaller' +version = '6.3.0' + +homepage = 'https://pyinstaller.org/en/stable/' +description = """PyInstaller bundles a Python application and all its dependencies into a single package. + The user can run the packaged app without installing a Python interpreter or any modules.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('makeinfo', '7.0.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('altgraph', '0.17.4', { + 'checksums': ['1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('pyinstaller-hooks-contrib', '2023.12', { + 'modulename': '_pyinstaller_hooks_contrib', + 'checksums': ['11a9d59d903723dd693e8c10b054f3ea1ecad390623c9fa527c731d715fc5b3f'], + }), + (name, version, { + 'sources': [SOURCELOWER_TAR_GZ], + 'modulename': name, + 'checksums': ['914d4c96cc99472e37ac552fdd82fbbe09e67bb592d0717fcffaa99ea74273df'], + }), +] + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2023.1.4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2023.1.4-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..83b28565e3f --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2023.1.4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'PyOpenCL' +version = '2023.1.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = "https://mathema.tician.de/software/pyopencl/" +description = """PyOpenCL lets you access GPUs and other massively parallel compute devices from Python.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('pocl', '1.8', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('pytools', '2023.1.1', { + 'checksums': ['80637873d206f6bcedf7cdb46ad93e868acb4ea2256db052dfcca872bdd0321f'], + }), + ('pyopencl', version, { + 'preinstallopts': "./configure.py --cl-pretend-version=1.2 && ", + 'checksums': ['220174efca900e9d5de5aef2aa1b77a6f2550501de92b035a91013aeae4d4c5e'], + }), +] + +sanity_check_commands = [ + "python -c 'import pyopencl as cl; platform = cl.get_platforms()[0]; print(platform.get_devices())'", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2023.1.4-foss-2022a.eb b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2023.1.4-foss-2022a.eb new file mode 100644 index 00000000000..d640ea4b99f --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2023.1.4-foss-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'PyOpenCL' +version = '2023.1.4' + +homepage = "https://mathema.tician.de/software/pyopencl/" +description = """PyOpenCL lets you access GPUs and other massively parallel compute devices from Python.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('pocl', '1.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('pytools', '2023.1.1', { + 'checksums': ['80637873d206f6bcedf7cdb46ad93e868acb4ea2256db052dfcca872bdd0321f'], + }), + ('pyopencl', version, { + 'preinstallopts': "./configure.py --cl-pretend-version=1.2 && ", + 'checksums': ['220174efca900e9d5de5aef2aa1b77a6f2550501de92b035a91013aeae4d4c5e'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2023.1.4-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2023.1.4-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..57cb3d5be99 --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2023.1.4-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'PyOpenCL' +version = '2023.1.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = "https://mathema.tician.de/software/pyopencl/" +description = """PyOpenCL lets you access GPUs and other massively parallel compute devices from Python.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('pocl', '4.0', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytools', '2023.1.1', { + 'checksums': ['80637873d206f6bcedf7cdb46ad93e868acb4ea2256db052dfcca872bdd0321f'], + }), + ('pyopencl', version, { + 'preinstallopts': "./configure.py --cl-pretend-version=1.2 && ", + 'checksums': ['220174efca900e9d5de5aef2aa1b77a6f2550501de92b035a91013aeae4d4c5e'], + }), +] + +sanity_check_commands = [ + "python -c 'import pyopencl as cl; platform = cl.get_platforms()[0]; print(platform.get_devices())'", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2023.1.4-foss-2023a.eb b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2023.1.4-foss-2023a.eb new file mode 100644 index 00000000000..a89383bb849 --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2023.1.4-foss-2023a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'PyOpenCL' +version = '2023.1.4' + +homepage = "https://mathema.tician.de/software/pyopencl/" +description = """PyOpenCL lets you access GPUs and other massively parallel compute devices from Python.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('pocl', '4.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytools', '2023.1.1', { + 'checksums': ['80637873d206f6bcedf7cdb46ad93e868acb4ea2256db052dfcca872bdd0321f'], + }), + ('pyopencl', version, { + 'preinstallopts': "./configure.py --cl-pretend-version=1.2 && ", + 'checksums': ['220174efca900e9d5de5aef2aa1b77a6f2550501de92b035a91013aeae4d4c5e'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f473908d956 --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'PyOpenGL' +version = '3.1.7' + +homepage = 'http://pyopengl.sourceforge.net' +description = """PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('bzip2', '1.0.8'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Mesa', '23.1.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'OpenGL', + 'checksums': ['eef31a3888e6984fd4d8e6c9961b184c9813ca82604d37fe3da80eb000a76c86'], + }), + ('PyOpenGL-accelerate', version, { + 'modulename': 'OpenGL_accelerate', + 'checksums': ['2b123621273a939f7fd2ec227541e399f9b5d4e815d69ae0bdb1b6c70a293680'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.15.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.15.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..dfef8b1802c --- /dev/null +++ b/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.15.4-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/01 +easyblock = 'PythonBundle' + +name = 'PyQt-builder' +version = '1.15.4' + +homepage = 'http://www.example.com' +description = """PyQt-builder is the PEP 517 compliant build system for PyQt and projects that +extend PyQt. It extends the SIP build system and uses Qt’s qmake to perform the +actual compilation and installation of extension modules. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.3'), + ('SIP', '6.8.1'), +] + + +exts_list = [ + (name, version, { + 'modulename': 'pyqtbuild', + 'checksums': ['39f8c75db17d9ce17cb6bbf3df1650b5cebc1ea4e5bd73843d21cc96612b2ae1'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.10-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.10-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..531882e6f56 --- /dev/null +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.10-GCCcore-12.3.0.eb @@ -0,0 +1,113 @@ +# update 5.15.10, sip6: THEMBL +easyblock = 'PythonBundle' + +name = 'PyQt5' +version = '5.15.10' + +homepage = 'https://www.riverbankcomputing.com/software/pyqt' +description = """PyQt5 is a set of Python bindings for v5 of the Qt application framework from The Qt Company. +This bundle includes PyQtWebEngine, a set of Python bindings for The Qt Company’s Qt WebEngine framework.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'cstd': 'c++11'} + +builddependencies = [ + ('binutils', '2.40'), + ('PyQt-builder', '1.15.4'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Qt5', '5.15.10'), +] +local_sipdir = '%(installdir)s/share/sip' + +local_pylibdir = '%(installdir)s/lib/python%(pyshortver)s/site-packages' + +local_setup_env = "export PATH=%(installdir)s/bin:$PATH && " +local_setup_env += "export PYTHONPATH=%s:$PYTHONPATH && " % local_pylibdir + + +local_sip_configopts_common = [ + "--no-make", + "--jobs %(parallel)s", + "--qmake-setting 'QMAKE_CXXFLAGS+=$$(CFLAGS)'", + "--qmake-setting 'QMAKE_CFLAGS+=$$(CFLAGS)'", + "--qmake-setting 'QMAKE_LFLAGS+=$$(LDFLAGS)'", + "--api-dir %(installdir)s/qsci", + "--scripts-dir %(installdir)s/bin", + "--target-dir %s" % local_pylibdir, +] + +local_pyqt5_configopts = [ + "--confirm-license", + "--no-designer-plugin", + "--no-qml-plugin", +] + local_sip_configopts_common + +local_pyqtwebengine_configopts = local_sip_configopts_common +default_easyblock = 'PythonPackage' + +components = [ + ('%s_sip' % name, '12.13.0', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'checksums': ['7f321daf84b9c9dbca61b80e1ef37bdaffc0e93312edae2cd7da25b953971d91'], + }), + (name, version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'easyblock': 'ConfigureMake', + 'configure_cmd': 'sip-build', + 'start_dir': '%(name)s-%(version)s', + 'configure_without_installdir': True, + 'preconfigopts': local_setup_env, + 'configopts': ' '.join(local_pyqt5_configopts), + 'prebuildopts': local_setup_env + "cd build && ", + 'preinstallopts': "cd build && ", + 'checksums': ['d46b7804b1b10a4ff91753f8113e5b5580d2b4462f3226288e2d84497334898a'], + }), + ('PyQtWebEngine', '5.15.6', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'easyblock': 'ConfigureMake', + 'configure_cmd': 'sip-build', + 'start_dir': '%(name)s-%(version)s', + 'configure_without_installdir': True, + 'preconfigopts': local_setup_env, + 'configopts': ' '.join(local_pyqtwebengine_configopts), + 'prebuildopts': local_setup_env + "cd build && ", + 'preinstallopts': "cd build && ", + 'checksums': ['ae241ef2a61c782939c58b52c2aea53ad99b30f3934c8358d5e0a6ebb3fd0721'], + }) +] + +postinstallcmds = [ + 'mkdir %(installdir)s/share', + 'ln -s --relative %s/%%(name)s/bindings %s' % (local_pylibdir, local_sipdir) +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in [ + 'pyrcc5', 'pyuic5', 'pylupdate5']], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'qsci'], +} + +use_pip = True + +sanity_pip_check = True + +sanity_check_commands = [ + "python -c 'import %(name)s.QtCore'", + "python -c 'import %(name)s.QtWebEngineWidgets'", + "pyuic5 --help", + "pylupdate5 -version 2>&1 | grep 'pylupdate5 v%(version)s'", + "pyrcc5 -version 2>&1 | grep 'pyrcc5 v%(version)s'", +] + +modextrapaths = { + 'QT_INSTALL_DATA': 'qsci', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.4.0-foss-2022b.eb b/easybuild/easyconfigs/p/PySCF/PySCF-2.4.0-foss-2022b.eb new file mode 100644 index 00000000000..5a3844f6a3c --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.4.0-foss-2022b.eb @@ -0,0 +1,135 @@ +easyblock = 'CMakeMakeCp' +name = 'PySCF' +version = '2.4.0' + +homepage = 'http://www.pyscf.org' +description = "PySCF is an open-source collection of electronic structure modules powered by Python." + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/pyscf/pyscf/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['cc76440b9a7bf6a4969559b61eceb67c25760d211e6f59fc540209b1ea359d8d'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pybind11', '2.10.3'), # needed by zquatev +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # for numpy, scipy + ('h5py', '3.8.0'), + ('libcint', '5.5.0'), + ('libxc', '6.1.0'), + ('XCFun', '2.1.1'), + ('CPPE', '0.3.1'), # extra + ('PyBerny', '0.6.3'), # extra + ('PyCheMPS2', '1.8.12'), # needed by dmrgscf + ('Block', '1.5.3-20200525'), # needed by dmrgscf + ('NECI', '20230620'), # needed by fciqmc + ('Dice', '20240101'), # needed by icmpspt +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, + 'modulename': 'pyscf.%(name)s', + 'source_urls': ['https://github.com/pyscf/%(name)s/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], +} + +# The following list of extensions is equivalent to installing PySCF with extras: +# all + dmrgscf + fciqmcscf + hci + mbd + tblis + zquatev +exts_list = [ + ('dftd3', '94091d8', { + 'checksums': ['a69ae44b3d02d2c06fd531373f20ee1251ef27fc932d40a7cafea6c09d8784fc'], + }), + ('doci', '08079a9', { + 'checksums': ['f492ba45dfe50c9b459e53a946a677528af0dc2097ff77ea3767aa4f46c5d9ba'], + }), + ('icmpspt', 'f26062b', { + 'patches': [('PySCF-2.1.1_icmpspt-exe-path.patch', 0)], + 'checksums': [ + {'icmpspt-f26062b.tar.gz': '8f44b317da209882e0353d2731d8bc907de450af02429e962ae9b8d3f8c95a47'}, + {'PySCF-2.1.1_icmpspt-exe-path.patch': 'e972e377b34b964c48a99909301bf21a9c73d8eb9ecb96a889621d71471c56c9'}, + ], + }), + ('properties', '8b94d8d', { + 'modulename': 'pyscf.prop', + 'checksums': ['b40e071472a6bdfcaec8cd358c7c58c58748c59d8b188fdca09d6eca63329914'], + }), + ('qsdopt', '3ad2c02', { + 'checksums': ['cc639150e5f9efad8ffe496b3dccd2952a1f60fdad51f611cffba701892b384e'], + }), + ('semiempirical', '470d716', { + 'checksums': ['0bbe304867fd053ed647445ac84c4c76787ad23def9f72415aec297740121eef'], + }), + ('shciscf', 'e8985e7', { + 'checksums': ['a017ffcf54601ccb3e95a273eff47289905c81d7fd590f9b51e22a69e141b592'], + }), + ('MCfun', '0.2.2', { + 'modulename': 'mcfun', + 'source_urls': ['https://github.com/Multi-collinear/%(name)s/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['1cb6b36be86bcf13c15ecc9934d13dc67eb15834a7a6545e73f82f53835e278d'], + }), + ('pyqmc', '0.6.0', { + 'modulename': 'pyqmc', + 'source_urls': ['https://github.com/WagnerGroup/%(name)s/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['6e9f612c2d0bf2198154520e01dce57cf3a6e474840c1892466de3171eaeb7db'], + }), + ('dmrgscf', '4ff57bf', { + 'patches': [('PySCF-2.1.1_dmrgscf-settings.patch', 0)], + 'checksums': [ + {'dmrgscf-4ff57bf.tar.gz': '0683cfc2e6676aa11da7b2eee66e96442a64a37b72f65057779718c5fdb43c5f'}, + {'PySCF-2.1.1_dmrgscf-settings.patch': 'a0310a2a90e96bd64d1560b2cc73a805717e129d2921e91cc5e6038b9f153677'}, + ], + }), + ('fciqmc', 'ee98fb4', { + 'modulename': 'pyscf.fciqmcscf', + 'checksums': ['b2f081ac295df0e622c6d1b3bff6d7834f97131f1f0fc87ec8bcff2137ef4199'], + }), + ('mbd', '485c18c', { + 'patches': [('PySCF-2.1.1_mbd-fix-init.patch', 0)], + 'checksums': [ + {'mbd-485c18c.tar.gz': 'de1fb14650fcb87909cae33dc318d2e213653ac4393ced7e070dfa6308d95846'}, + {'PySCF-2.1.1_mbd-fix-init.patch': '4f8e4b2e39b77428187851c4b6ced39401561bc81f4f3a4605da5d5c7b798cbc'}, + ], + }), + ('naive-hci', '0c28d6e', { + 'modulename': 'pyscf.hci', + 'checksums': ['de247d17b80133655df5966341e5adb691b0df150cd9b0f1980cf62ec55229d5'], + }), + ('tblis', '0d4dfd2', { + 'modulename': 'pyscf.tblis_einsum', + 'source_urls': ['https://github.com/pyscf/pyscf-tblis/archive/'], + 'checksums': ['5e0e5840b78451085420b333cd4b5ee06fd659df06f142fa854de65b3f73fc5e'], + }), + ('zquatev', '4eb41b1', { + 'modulename': 'zquatev', + 'preinstallopts': "sed -i 's/add_subdirectory(pybind11)/find_package(pybind11 REQUIRED)/' CMakeLists.txt && ", + 'source_urls': ['https://github.com/sunqm/%(name)s/archive/'], + 'checksums': ['4caf08e3831a5d86e6bc22f3b4028cc159101cb9658d09de16e382e268a5a2e9'], + }), +] + +start_dir = 'pyscf/lib' +configopts = "-DBUILD_LIBCINT=OFF -DBUILD_LIBXC=OFF -DBUILD_XCFUN=OFF" +prebuildopts = "export PYSCF_INC_DIR=$EBROOTQCINT/include:$EBROOTLIBXC/lib && " + +_py_site_packages = 'lib/python%(pyshortver)s/site-packages' +files_to_copy = [(['pyscf'], _py_site_packages)] + +sanity_check_paths = { + 'files': [_py_site_packages + '/pyscf/__init__.py'], + 'dirs': [_py_site_packages + d for d in ['/pyscf/data', '/pyscf/lib']], +} + +sanity_check_commands = ["python -c 'import pyscf'"] + +modextrapaths = {'PYTHONPATH': _py_site_packages} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.9.2-foss-2023b.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.9.2-foss-2023b.eb new file mode 100644 index 00000000000..51b07f31b27 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.9.2-foss-2023b.eb @@ -0,0 +1,76 @@ +# http://www.pytables.org/usersguide/installation.html +# updated: Denis Kristak (INUITS) + +easyblock = 'PythonBundle' + +name = 'PyTables' +version = '3.9.2' + +homepage = 'https://www.pytables.org' +description = """PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope + with extremely large amounts of data. PyTables is built on top of the HDF5 library, using the Python language and the + NumPy package. It features an object-oriented interface that, combined with C extensions for the performance-critical + parts of the code (generated using Cython), makes it a fast, yet extremely easy to use tool for interactively browsing, + processing and searching very large amounts of data. One important feature of PyTables is that it optimizes memory and + disk resources so that data takes much less space (specially if on-flight compression is used) than other solutions + such as relational or object oriented databases.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True} + +builddependencies = [ + ('pkgconf', '2.0.3'), + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), + ('scikit-build', '0.17.6'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), # provides numexpr + ('HDF5', '1.14.3'), + ('LZO', '2.10'), + ('Blosc', '1.21.5'), + ('Blosc2', '2.13.2'), + ('py-cpuinfo', '9.0.0'), +] + +use_pip = True + +exts_list = [ + ('ndindex', '1.8', { + 'checksums': ['5fc87ebc784605f01dd5367374cb40e8da8f2c30988968990066c5098a7eebe8'], + }), + # need to align version of blosc2 Python package with version of C Blosc2 used, + # see https://github.com/Blosc/python-blosc2/blob/main/RELEASE_NOTES.md + ('blosc2', '2.5.1', { + 'checksums': ['47d5df50e7286edf81e629ece35f87f13f55c13c5e8545832188c420c75d1659'], + 'preinstallopts': """sed -i 's/version=/cmake_args=["-DUSE_SYSTEM_BLOSC2=YES"], version=/g' setup.py && """, + }), + ('tables', version, { + 'patches': [ + 'PyTables-3.8.0_fix-libs.patch', + 'PyTables-3.9.2_fix-find-blosc2-dep.patch', + ], + 'checksums': [ + {'tables-3.9.2.tar.gz': 'd470263c2e50c4b7c8635a0d99ac1ff2f9e704c24d71e5fa33c4529e7d0ad9c3'}, + {'PyTables-3.8.0_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, + {'PyTables-3.9.2_fix-find-blosc2-dep.patch': + 'e2149f43da12d9ba26cca4c838f6e8a4694adab75c0f055b186674a017e41a55'}, + ], + }), +] + +local_bins = ['pt2to3', 'ptdump', 'ptrepack', 'pttree'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'tables'} + +sanity_check_commands = ["%s --help" % x for x in local_bins] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.9.2_fix-find-blosc2-dep.patch b/easybuild/easyconfigs/p/PyTables/PyTables-3.9.2_fix-find-blosc2-dep.patch new file mode 100644 index 00000000000..e832e65b278 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.9.2_fix-find-blosc2-dep.patch @@ -0,0 +1,20 @@ +determine installation prefix of Blosc2 dependency via $EBROOTBLOSC2, if defined, +since mechanism to locate the library via blosc2-*.dist-info/RECORD doesn't work if blosc2 was not installed +with vendored c-blosc2 library; +author: Kenneth Hoste (HPC-UGent) +--- tables-3.9.2/setup.py.orig 2024-03-14 19:17:54.100800849 +0100 ++++ tables-3.9.2/setup.py 2024-03-14 19:22:04.099371064 +0100 +@@ -97,6 +97,13 @@ + + def get_blosc2_directories(): + """Get Blosc2 directories for the C library""" ++ blosc2_root = os.getenv('EBROOTBLOSC2') ++ if blosc2_root: ++ library_path = Path(os.path.join(blosc2_root, 'lib')) ++ include_path = Path(os.path.join(blosc2_root, 'include')) ++ runtime_path = None ++ return include_path, library_path, runtime_path ++ + try: + import blosc2 + except ModuleNotFoundError: diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.1.0-foss-2022a-PyTorch-1.12.0.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.1.0-foss-2022a-PyTorch-1.12.0.eb new file mode 100644 index 00000000000..c8dbbb4853e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.1.0-foss-2022a-PyTorch-1.12.0.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Geometric' +version = '2.1.0' +local_pytorchver = '1.12.0' +versionsuffix = '-PyTorch-%s' % local_pytorchver + +homepage = 'https://github.com/rusty1s/pytorch_geometric' +description = "PyTorch Geometric (PyG) is a geometric deep learning extension library for PyTorch." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', local_pytorchver), + ('scikit-learn', '1.1.2'), + ('scikit-image', '0.19.3'), + ('numba', '0.56.4'), + ('h5py', '3.7.0'), + ('tqdm', '4.64.0'), + ('RDFlib', '6.2.0'), + ('ASE', '3.22.1'), + ('YACS', '0.1.8'), +] + +use_pip = True + +exts_list = [ + ('googledrivedownloader', '0.4', { + 'modulename': 'google_drive_downloader', + 'checksums': ['4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204'], + }), + ('plyfile', '0.7.4', { + 'checksums': ['9e9a18d22a3158fcd74df38761d43a7facc6df75126f2ab9f4e9a5d4d2188652'], + }), + ('torch_scatter', version, { + 'checksums': ['3a7124c2a033552febbdc72407f7d4d8cb6dce465720e84ab831512e81c1d208'], + }), + ('torch_sparse', '0.6.15', { + 'checksums': ['3a741ae8a7cc19247a44de549fa4d593c4257b5f741e1eb5110b712a14209dd9'], + }), + ('torch_cluster', '1.6.0', { + 'checksums': ['249c1bd8c33a887b22bf569a59d0868545804032123594dd8c76ba1885859c39'], + }), + ('torch_spline_conv', '1.2.1', { + 'checksums': ['364f658e0ecb4c5263a728c2961553e022fc44c11a633d5a1bf986cf169ab438'], + }), + ('python-louvain', '0.16', { + 'modulename': 'community.community_louvain', + 'checksums': ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'], + }), + ('torch_geometric', version, { + 'checksums': ['72653deca925885e4d613eb5c72268bb9710325d9c717516922499fbe1197079'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.13-foss-2023a.eb b/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.13-foss-2023a.eb new file mode 100644 index 00000000000..d11672d31f9 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.13-foss-2023a.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Ignite' +version = '0.4.13' + +homepage = 'https://pytorch-ignite.ai/' +description = """Ignite is a high-level library to help with training and evaluating neural +networks in PyTorch flexibly and transparently.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch', '2.1.2'), +] + +use_pip = True + +exts_list = [ + ('pytorch-ignite', version, { + 'modulename': 'ignite', + 'checksums': ['f334dd65161cc4f4a77da5d0ed3b1e8bc08235be832016515f8a33c249dac060'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.1.2-foss-2022b.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.1.2-foss-2022b.eb new file mode 100644 index 00000000000..0696a5bcb67 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.1.2-foss-2022b.eb @@ -0,0 +1,168 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '2.1.2' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + # dependencies from requirements/app/base.txt + ('aiohttp', '3.8.5'), + ('BeautifulSoup', '4.11.1'), + ('deepdiff', '6.7.1'), + # dependencies from requirements/pytorch/base.txt + ('PyTorch', '1.13.1'), + ('tqdm', '4.64.1'), + ('tensorboardX', '2.6.2.2'), + ('pydantic', '2.5.3'), + ('typing-extensions', '4.9.0'), +] + +use_pip = True + +# dependencies from requirements/app/base.txt and requirements/pytorch/base.txt +exts_list = [ + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + 'modulename': 'markdown_it', + }), + ('rich', '13.7.0', { + 'checksums': ['5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + ('starlette', '0.32.0.post1', { + 'checksums': ['e54e2b7e2fb06dff9eac40133583f10dfa05913f5a85bf26f427c7a40a9a3d02'], + }), + ('fastapi', '0.108.0', { + 'preinstallopts': "sed -i '/Framework :: Pydantic/d' pyproject.toml && ", + 'checksums': ['5056e504ac6395bf68493d71fcfc5352fdbd5fda6f88c21f6420d80d81163296'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('exceptiongroup', '1.2.0', { + 'checksums': ['91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68'], + }), + ('anyio', '4.2.0', { + 'checksums': ['e1875bb4b4e2de1669f4bc7869b6d3f54231cdced71605e6e64c9be77e3be50f'], + }), + ('websocket-client', '1.7.0', { + 'modulename': 'websocket', + 'checksums': ['10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6'], + }), + ('python_multipart', '0.0.6', { + 'checksums': ['e9925a80bb668529f1b67c7fdb0a5dacdd7cbfc6fb0bff3ea443fe22bdd62132'], + 'modulename': 'multipart', + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('uvicorn', '0.25.0', { + 'checksums': ['6dddbad1d7ee0f5140aba5ec138ddc9612c5109399903828b4874c9937f009c2'], + }), + ('lightning_cloud', '0.5.57', { + 'checksums': ['1d30427a2935a367e0bd19873decb564425f1b648901abab2da9318a8b88c80b'], + }), + ('itsdangerous', version, { + 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], + }), + ('starsessions', '2.1.3', { + 'checksums': ['d20c5f277b64a86c16819f65ac50814ccdbd146776159e08c88b378b6612297d'], + }), + ('fsspec', '2023.12.2', { + 'checksums': ['8548d39e8810b59c38014934f6b31e57f40c1b20f911f4cc2b85389c7e9bf0cb'], + }), + ('croniter', '2.0.1', { + 'checksums': ['d199b2ec3ea5e82988d1f72022433c5f9302b3b3ea9e6bfd6a1518f6ea5e700a'], + }), + ('traitlets', '5.14.1', { + 'checksums': ['8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e'], + }), + ('types-python-dateutil', '2.8.19.14', { + 'checksums': ['1f4f10ac98bb8b16ade9dbee3518d9ace017821d94b057a425b069f834737f4b'], + 'modulename': False, + }), + ('arrow', '1.3.0', { + 'preinstallopts': "PYTHONPATH=$PWD:$PYTHONPATH ", + 'checksums': ['d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85'], + }), + ('lightning-utilities', '0.10.0', { + 'checksums': ['9e31617eccbbadc6b737a2432fd7076ff8e24957f9c63aeba2530b189e19319c'], + }), + ('blessed', '1.20.0', { + 'checksums': ['2cdd67f8746e048f00df47a2880f4d6acbcdb399031b604e34ba8f71d5787680'], + }), + ('python-editor', '1.0.4', { + 'modulename': 'editor', + 'checksums': ['51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b'], + }), + ('readchar', '4.0.5', { + 'checksums': ['08a456c2d7c1888cde3f4688b542621b676eb38cd6cfed7eb6cb2e2905ddc826'], + }), + ('runs', '1.2.0', { + 'checksums': ['8804271011b7a2eeb0d77c3e3f556e5ce5f602fa0dd2a31ed0c1222893be69b7'], + }), + ('xmod', '1.8.1', { + 'checksums': ['38c76486b9d672c546d57d8035df0beb7f4a9b088bc3fb2de5431ae821444377'], + }), + ('editor', '1.6.3', { + 'checksums': ['6d004f3087d7c587c111cc88a7ac0436df3539297c6b24243dd5aa5bc5bdcc08'], + }), + ('inquirer', '3.2.0', { + 'checksums': ['93f4beaad9b887cc3a068198c40837c67eb42b39ea87b3e80fff2a7773e8f29a'], + }), + ('wrapt', '1.16.0', { + 'checksums': ['5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d'], + }), + ('aioitertools', '0.11.0', { + 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], + }), + ('aiobotocore', '2.9.0', { + 'preinstallopts': """sed -i "s/botocore>.*',/botocore',/g" setup.py && """, + 'checksums': ['4dc1e20da4561ae662219ca95b20f923328c3106764a741bec00e98eb6680f7e'], + }), + # s3fs requires recent botocore + ('botocore', '1.34.18', { + 'checksums': ['85a77e72560a45b0dfdad94f92f5e114c82be07a51bb2d19dd310dab8be158cf'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('s3transfer', '0.10.0', { + 'checksums': ['d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b'], + }), + ('boto3', '1.34.18', { + 'checksums': ['5e38ca63007e903a7efe0a1751a0374d287b50d7bc148b9d3d495cdf74a0b712'], + }), + ('s3fs', '2023.12.2', { + 'checksums': ['b5ec07062481bbb45cb061b31984c7188d106e292c27033039e024e4ba5740dc'], + }), + ('torchmetrics', '1.2.1', { + 'checksums': ['217387738f84939c39b534b20d4983e737cc448d27aaa5340e0327948d97ca3e'], + }), + ('pytorch-lightning', version, { + 'checksums': ['58e26406215f3bfafe1b9b5b4bf37c9b8cff16494f7fd60e4db1ae37461b2b28'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib/python%(pyshortver)s/site-packages/dateutil-stubs'], +} + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..9e4d061f651 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,172 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '2.2.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('flit', '3.9.0'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + # dependencies from requirements/app/base.txt + ('aiohttp', '3.8.5'), + ('BeautifulSoup', '4.12.2'), + ('deepdiff', '6.7.1'), + # dependencies from requirements/pytorch/base.txt + ('PyTorch', '2.1.2', versionsuffix), + ('tqdm', '4.66.1'), + ('tensorboardX', '2.6.2.2'), + ('pydantic', '2.5.3'), + ('typing-extensions', '4.9.0'), +] + +use_pip = True + +# dependencies from requirements/app/base.txt and requirements/pytorch/base.txt +exts_list = [ + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('rich', '13.7.1', { + 'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + ('starlette', '0.36.3', { + 'checksums': ['90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080'], + }), + ('fastapi', '0.110.0', { + 'checksums': ['266775f0dcc95af9d3ef39bad55cff525329a931d5fd51930aadd4f428bf7ff3'], + }), + ('sniffio', '1.3.1', { + 'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc'], + }), + ('exceptiongroup', '1.2.0', { + 'checksums': ['91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68'], + }), + ('anyio', '4.3.0', { + 'checksums': ['f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6'], + }), + ('websocket-client', '1.7.0', { + 'modulename': 'websocket', + 'checksums': ['10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6'], + }), + ('python_multipart', '0.0.9', { + 'modulename': 'multipart', + 'checksums': ['03f54688c663f1b7977105f021043b0793151e4cb1c1a9d4a11fc13d622c4026'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('uvicorn', '0.27.1', { + 'checksums': ['3d9a267296243532db80c83a959a3400502165ade2c1338dea4e67915fd4745a'], + }), + ('lightning_cloud', '0.5.64', { + 'checksums': ['44c44b387260e7f808bef7a2368966da166bf58fa37562a8ce8366febe3ca38e'], + }), + ('itsdangerous', '2.1.2', { + 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], + }), + ('starsessions', '2.1.3', { + 'checksums': ['d20c5f277b64a86c16819f65ac50814ccdbd146776159e08c88b378b6612297d'], + }), + ('fsspec', '2024.2.0', { + 'checksums': ['b6ad1a679f760dda52b1168c859d01b7b80648ea6f7f7c7f5a8a91dc3f3ecb84'], + }), + ('croniter', '2.0.2', { + 'checksums': ['8bff16c9af4ef1fb6f05416973b8f7cb54997c02f2f8365251f9bf1dded91866'], + }), + ('traitlets', '5.14.1', { + 'checksums': ['8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e'], + }), + ('types-python-dateutil', '2.8.19.20240106', { + 'modulename': False, + 'checksums': ['1f8db221c3b98e6ca02ea83a58371b22c374f42ae5bbdf186db9c9a76581459f'], + }), + ('arrow', '1.3.0', { + 'preinstallopts': "PYTHONPATH=$PWD:$PYTHONPATH ", + 'checksums': ['d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85'], + }), + ('lightning-utilities', '0.10.1', { + 'checksums': ['362755023dcf93b8fa519bc002ae41794943a3ffbc5318e40804d36aa14bf1fd'], + }), + ('blessed', '1.20.0', { + 'checksums': ['2cdd67f8746e048f00df47a2880f4d6acbcdb399031b604e34ba8f71d5787680'], + }), + ('python-editor', '1.0.4', { + 'modulename': 'editor', + 'checksums': ['51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b'], + }), + ('readchar', '4.0.5', { + 'checksums': ['08a456c2d7c1888cde3f4688b542621b676eb38cd6cfed7eb6cb2e2905ddc826'], + }), + ('runs', '1.2.2', { + 'checksums': ['9dc1815e2895cfb3a48317b173b9f1eac9ba5549b36a847b5cc60c3bf82ecef1'], + }), + ('xmod', '1.8.1', { + 'checksums': ['38c76486b9d672c546d57d8035df0beb7f4a9b088bc3fb2de5431ae821444377'], + }), + ('editor', '1.6.6', { + 'checksums': ['bb6989e872638cd119db9a4fce284cd8e13c553886a1c044c6b8d8a160c871f8'], + }), + ('inquirer', '3.2.4', { + 'checksums': ['33b09efc1b742b9d687b540296a8b6a3f773399673321fcc2ab0eb4c109bf9b5'], + }), + ('wrapt', '1.16.0', { + 'checksums': ['5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d'], + }), + ('aioitertools', '0.11.0', { + 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], + }), + ('botocore', '1.34.51', { + 'checksums': ['5086217442e67dd9de36ec7e87a0c663f76b7790d5fb6a12de565af95e87e319'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('s3transfer', '0.10.0', { + 'checksums': ['d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b'], + }), + ('boto3', '1.34.51', { + 'checksums': ['2cd9463e738a184cbce8a6824027c22163c5f73e277a35ff5aa0fb0e845b4301'], + }), + ('aiobotocore', '2.12.1', { + 'checksums': ['8706b28f16f93c541f6ed50352115a79d8f3499539f8d0bb70aa0f7a5379c1fe'], + }), + ('s3fs', '2024.2.0', { + 'checksums': ['f8064f522ad088b56b043047c825734847c0269df19f2613c956d4c20de15b62'], + }), + ('torchmetrics', '1.3.1', { + 'checksums': ['8d371f7597a1a5eb02d5f2ed59642d6fef09093926997ce91e18b1147cc8defa'], + }), + ('pytorch-lightning', version, { + 'checksums': ['aa3be30c9109239a371748565a7f4b7b41ea1395725c30e04426cf946b3e2745'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib/python%(pyshortver)s/site-packages/dateutil-stubs'], +} + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.1-foss-2023a.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.1-foss-2023a.eb new file mode 100644 index 00000000000..a3c1fa088e8 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.1-foss-2023a.eb @@ -0,0 +1,170 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '2.2.1' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('flit', '3.9.0'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + # dependencies from requirements/app/base.txt + ('aiohttp', '3.8.5'), + ('BeautifulSoup', '4.12.2'), + ('deepdiff', '6.7.1'), + # dependencies from requirements/pytorch/base.txt + ('PyTorch', '2.1.2'), + ('tqdm', '4.66.1'), + ('tensorboardX', '2.6.2.2'), + ('pydantic', '2.5.3'), + ('typing-extensions', '4.9.0'), +] + +use_pip = True + +# dependencies from requirements/app/base.txt and requirements/pytorch/base.txt +exts_list = [ + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('rich', '13.7.1', { + 'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + ('starlette', '0.36.3', { + 'checksums': ['90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080'], + }), + ('fastapi', '0.110.0', { + 'checksums': ['266775f0dcc95af9d3ef39bad55cff525329a931d5fd51930aadd4f428bf7ff3'], + }), + ('sniffio', '1.3.1', { + 'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc'], + }), + ('exceptiongroup', '1.2.0', { + 'checksums': ['91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68'], + }), + ('anyio', '4.3.0', { + 'checksums': ['f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6'], + }), + ('websocket-client', '1.7.0', { + 'modulename': 'websocket', + 'checksums': ['10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6'], + }), + ('python_multipart', '0.0.9', { + 'modulename': 'multipart', + 'checksums': ['03f54688c663f1b7977105f021043b0793151e4cb1c1a9d4a11fc13d622c4026'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('uvicorn', '0.27.1', { + 'checksums': ['3d9a267296243532db80c83a959a3400502165ade2c1338dea4e67915fd4745a'], + }), + ('lightning_cloud', '0.5.64', { + 'checksums': ['44c44b387260e7f808bef7a2368966da166bf58fa37562a8ce8366febe3ca38e'], + }), + ('itsdangerous', '2.1.2', { + 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], + }), + ('starsessions', '2.1.3', { + 'checksums': ['d20c5f277b64a86c16819f65ac50814ccdbd146776159e08c88b378b6612297d'], + }), + ('fsspec', '2024.2.0', { + 'checksums': ['b6ad1a679f760dda52b1168c859d01b7b80648ea6f7f7c7f5a8a91dc3f3ecb84'], + }), + ('croniter', '2.0.2', { + 'checksums': ['8bff16c9af4ef1fb6f05416973b8f7cb54997c02f2f8365251f9bf1dded91866'], + }), + ('traitlets', '5.14.1', { + 'checksums': ['8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e'], + }), + ('types-python-dateutil', '2.8.19.20240106', { + 'modulename': False, + 'checksums': ['1f8db221c3b98e6ca02ea83a58371b22c374f42ae5bbdf186db9c9a76581459f'], + }), + ('arrow', '1.3.0', { + 'preinstallopts': "PYTHONPATH=$PWD:$PYTHONPATH ", + 'checksums': ['d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85'], + }), + ('lightning-utilities', '0.10.1', { + 'checksums': ['362755023dcf93b8fa519bc002ae41794943a3ffbc5318e40804d36aa14bf1fd'], + }), + ('blessed', '1.20.0', { + 'checksums': ['2cdd67f8746e048f00df47a2880f4d6acbcdb399031b604e34ba8f71d5787680'], + }), + ('python-editor', '1.0.4', { + 'modulename': 'editor', + 'checksums': ['51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b'], + }), + ('readchar', '4.0.5', { + 'checksums': ['08a456c2d7c1888cde3f4688b542621b676eb38cd6cfed7eb6cb2e2905ddc826'], + }), + ('runs', '1.2.2', { + 'checksums': ['9dc1815e2895cfb3a48317b173b9f1eac9ba5549b36a847b5cc60c3bf82ecef1'], + }), + ('xmod', '1.8.1', { + 'checksums': ['38c76486b9d672c546d57d8035df0beb7f4a9b088bc3fb2de5431ae821444377'], + }), + ('editor', '1.6.6', { + 'checksums': ['bb6989e872638cd119db9a4fce284cd8e13c553886a1c044c6b8d8a160c871f8'], + }), + ('inquirer', '3.2.4', { + 'checksums': ['33b09efc1b742b9d687b540296a8b6a3f773399673321fcc2ab0eb4c109bf9b5'], + }), + ('wrapt', '1.16.0', { + 'checksums': ['5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d'], + }), + ('aioitertools', '0.11.0', { + 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], + }), + ('botocore', '1.34.51', { + 'checksums': ['5086217442e67dd9de36ec7e87a0c663f76b7790d5fb6a12de565af95e87e319'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('s3transfer', '0.10.0', { + 'checksums': ['d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b'], + }), + ('boto3', '1.34.51', { + 'checksums': ['2cd9463e738a184cbce8a6824027c22163c5f73e277a35ff5aa0fb0e845b4301'], + }), + ('aiobotocore', '2.12.1', { + 'checksums': ['8706b28f16f93c541f6ed50352115a79d8f3499539f8d0bb70aa0f7a5379c1fe'], + }), + ('s3fs', '2024.2.0', { + 'checksums': ['f8064f522ad088b56b043047c825734847c0269df19f2613c956d4c20de15b62'], + }), + ('torchmetrics', '1.3.1', { + 'checksums': ['8d371f7597a1a5eb02d5f2ed59642d6fef09093926997ce91e18b1147cc8defa'], + }), + ('pytorch-lightning', version, { + 'checksums': ['aa3be30c9109239a371748565a7f4b7b41ea1395725c30e04426cf946b3e2745'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib/python%(pyshortver)s/site-packages/dateutil-stubs'], +} + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb index 59244119da2..13b4fae31ae 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb @@ -25,6 +25,7 @@ patches = [ 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', 'PyTorch-1.11.0_install-vsx-vec-headers.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', 'PyTorch-1.12.1_fix-skip-decorators.patch', @@ -44,6 +45,7 @@ patches = [ 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', 'PyTorch-1.12.1_skip-failing-grad-test.patch', 'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ {'pytorch-v1.12.0.tar.gz': '46eff236370b759c427b03ff535c3597099043e8e467b8f81f9cd4b258a7a321'}, @@ -70,6 +72,8 @@ checksums = [ 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d'}, {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, {'PyTorch-1.12.1_add-hypothesis-suppression.patch': 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, {'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch': @@ -102,6 +106,8 @@ checksums = [ '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc'}, {'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch': '1435fcac3234edc865479199673b902eb67f6a2bd046af7d731141f03594666d'}, + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a.eb index 9d518f41a3d..a361777ca2a 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a.eb @@ -24,6 +24,7 @@ patches = [ 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', 'PyTorch-1.11.0_install-vsx-vec-headers.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', 'PyTorch-1.12.1_fix-skip-decorators.patch', @@ -43,6 +44,7 @@ patches = [ 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', 'PyTorch-1.12.1_skip-failing-grad-test.patch', 'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ {'pytorch-v1.12.0.tar.gz': '46eff236370b759c427b03ff535c3597099043e8e467b8f81f9cd4b258a7a321'}, @@ -69,6 +71,8 @@ checksums = [ 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d'}, {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, {'PyTorch-1.12.1_add-hypothesis-suppression.patch': 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, {'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch': @@ -101,6 +105,8 @@ checksums = [ '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc'}, {'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch': '1435fcac3234edc865479199673b902eb67f6a2bd046af7d731141f03594666d'}, + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch new file mode 100644 index 00000000000..19c24ca3f91 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch @@ -0,0 +1,30 @@ +`struct ethtool_link_settings` contains a "Flexible array member" which must be the last member +in a struct. However in an anonymous struct in Gloo it is before a member intented to provide +the storage for that array causing a warning/error in GCC for newer kernels +where the Flexible array member is used instead of a zero-sized array. +> /usr/include/linux/ethtool.h:2182:17: error: flexible array member ethtool_link_settings::link_mode_masks not at end of struct gloo::getInterfaceSpeedGLinkSettings(int, ifreq*):: +> 2182 | __u32 link_mode_masks[]; +See https://github.com/facebookincubator/gloo/issues/345 + +Fix by using an union of that struct and another struct providing the storage. + +Author: Alexander Grund (TU Dresden) + +diff -ur pytorch-v1.12.0-orig/third_party/gloo/gloo/common/linux.cc pytorch-v1.12.0/third_party/gloo/gloo/common/linux.cc +--- pytorch-v1.12.0-orig/third_party/gloo/gloo/common/linux.cc 2024-03-21 09:26:21.393691678 +0100 ++++ pytorch-v1.12.0/third_party/gloo/gloo/common/linux.cc 2024-03-21 09:40:49.263165348 +0100 +@@ -187,9 +187,12 @@ + static int getInterfaceSpeedGLinkSettings(int sock, struct ifreq* ifr) { + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0) + constexpr auto link_mode_data_nwords = 3 * 127; +- struct { ++ union { + struct ethtool_link_settings req; +- __u32 link_mode_data[link_mode_data_nwords]; ++ struct { // Only to provide the memory ++ __u32 link_mode_data[link_mode_data_nwords]; ++ struct ethtool_link_settings dummy; ++ }; + } ecmd; + int rv; + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a-CUDA-11.7.0.eb index 83c6b9df6c4..ec3d5b3d62c 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a-CUDA-11.7.0.eb @@ -27,6 +27,7 @@ patches = [ 'PyTorch-1.11.0_install-vsx-vec-headers.patch', 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch', 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', @@ -47,6 +48,7 @@ patches = [ 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', 'PyTorch-1.12.1_skip-failing-grad-test.patch', 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz @@ -75,6 +77,8 @@ checksums = [ '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7', {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, # PyTorch-1.12.1_add-hypothesis-suppression.patch 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c', # PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch @@ -108,6 +112,8 @@ checksums = [ '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch # PyTorch-1.12.1_skip-test_round_robin.patch '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349', + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -164,6 +170,10 @@ excluded_tests = { ] } +# several tests are known to be flaky, and fail in some contexts (like having multiple GPUs available), +# so we allow some tests to fail before treating the installation to be faulty +max_failed_tests = 4 + runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' # The readelf sanity check command can be taken out once the TestRPATH test from diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb index 7914c2c0e24..6d7b0753752 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb @@ -25,6 +25,7 @@ patches = [ 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', 'PyTorch-1.11.0_install-vsx-vec-headers.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', 'PyTorch-1.12.1_fix-skip-decorators.patch', @@ -44,6 +45,7 @@ patches = [ 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', 'PyTorch-1.12.1_skip-failing-grad-test.patch', 'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz @@ -70,6 +72,8 @@ checksums = [ 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, # PyTorch-1.12.1_add-hypothesis-suppression.patch 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c', # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch @@ -101,6 +105,8 @@ checksums = [ '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch # PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch '1435fcac3234edc865479199673b902eb67f6a2bd046af7d731141f03594666d', + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -149,6 +155,10 @@ excluded_tests = { runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' +# Some tests fail randomöy due to random inputs being used +# So allow a low number of tests to fail as the tests "usually" succeed +max_failed_tests = 2 + tests = ['PyTorch-check-cpp-extension.py'] moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a-CUDA-11.7.0.eb index 3303a814d56..bd559ee8dfd 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a-CUDA-11.7.0.eb @@ -16,6 +16,7 @@ patches = [ 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-skip-decorators.patch', 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', @@ -42,6 +43,7 @@ patches = [ 'PyTorch-1.13.1_skip-failing-grad-test.patch', 'PyTorch-1.13.1_skip-test-requiring-online-access.patch', 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ {'pytorch-v1.13.1.tar.gz': 'dbc229ee9750b02b514937d017744443a269ea0241ed3f32b9af0703589d25d4'}, @@ -53,6 +55,8 @@ checksums = [ '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7'}, {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, {'PyTorch-1.12.1_add-hypothesis-suppression.patch': 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, {'PyTorch-1.12.1_fix-skip-decorators.patch': 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c'}, @@ -93,6 +97,8 @@ checksums = [ '61c3b7859dc06a9969981b07aa2789630de110d6d1d3633d27364be47af74712'}, {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a.eb index c2eb02d4435..2cc54d6522f 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a.eb @@ -15,6 +15,7 @@ patches = [ 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-skip-decorators.patch', 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', @@ -34,6 +35,7 @@ patches = [ 'PyTorch-1.13.1_remove-flaky-test-in-testnn.patch', 'PyTorch-1.13.1_skip-failing-grad-test.patch', 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ {'pytorch-v1.13.1.tar.gz': 'dbc229ee9750b02b514937d017744443a269ea0241ed3f32b9af0703589d25d4'}, @@ -45,6 +47,8 @@ checksums = [ '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7'}, {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, {'PyTorch-1.12.1_add-hypothesis-suppression.patch': 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, {'PyTorch-1.12.1_fix-skip-decorators.patch': 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c'}, @@ -72,6 +76,8 @@ checksums = [ {'PyTorch-1.13.1_skip-failing-grad-test.patch': '6681200f9509893cb9231b5c93ac9bc5e6d9d9ae4febefca52e7cbc843ba8f51'}, {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -119,6 +125,11 @@ excluded_tests = { runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' +# Especially test_quantization has a few corner cases that are triggered by the random input values, +# those cannot be easily avoided, see https://github.com/pytorch/pytorch/issues/107030 +# So allow a low number of tests to fail as the tests "usually" succeed +max_failed_tests = 12 + tests = ['PyTorch-check-cpp-extension.py'] moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b.eb index e567f93765a..a7196938e26 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b.eb @@ -15,6 +15,7 @@ patches = [ 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-skip-decorators.patch', 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', @@ -44,6 +45,7 @@ patches = [ 'PyTorch-1.13.1_skip-failing-singular-grad-test.patch', 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', 'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ {'pytorch-v1.13.1.tar.gz': 'dbc229ee9750b02b514937d017744443a269ea0241ed3f32b9af0703589d25d4'}, @@ -55,6 +57,8 @@ checksums = [ '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7'}, {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, {'PyTorch-1.12.1_add-hypothesis-suppression.patch': 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, {'PyTorch-1.12.1_fix-skip-decorators.patch': 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c'}, @@ -101,6 +105,8 @@ checksums = [ '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, {'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch': 'a09a2d7ebd428c65988729578bb3fa372565ba176ab9ed7abf11f6fcb15e903e'}, + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -151,7 +157,7 @@ runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-throu # Especially test_quantization has a few corner cases that are triggered by the random input values, # those cannot be easily avoided, see https://github.com/pytorch/pytorch/issues/107030 # So allow a low number of tests to fail as the tests "usually" succeed -max_failed_tests = 2 +max_failed_tests = 5 tests = ['PyTorch-check-cpp-extension.py'] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_disable-cudnn-tf32-for-too-strict-tests.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_disable-cudnn-tf32-for-too-strict-tests.patch new file mode 100644 index 00000000000..e40b2cccf53 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_disable-cudnn-tf32-for-too-strict-tests.patch @@ -0,0 +1,41 @@ +Disallow TF32 on tests with thresholds too strict for this data type. Nvidia +GPUs with TF32 support default to this data type instead of regular FP32 to +improve performance at the expense of precision. +author: Alex Domingo (Vrije Universiteit Brussel) +--- test/test_nn.py.orig 2024-01-15 14:07:35.421908795 +0100 ++++ test/test_nn.py 2024-01-15 14:54:00.867537101 +0100 +@@ -3762,6 +3761,7 @@ + self.assertEqual(weight_data, all_vars[4].data) + + @unittest.skipIf(not TEST_CUDNN, 'CUDNN not available') ++ @torch.backends.cudnn.flags(enabled=True, allow_tf32=False) + def test_cudnn_weight_tying(self): + rnns = [ + nn.LSTM(10, 20, batch_first=True, bidirectional=True), +@@ -4461,6 +4461,7 @@ + self._test_RNN_cpu_vs_cudnn(1) + + @unittest.skipIf(not TEST_CUDNN, "needs cudnn") ++ @torch.backends.cudnn.flags(enabled=True, allow_tf32=False) + def test_RNN_cudnn_weight_norm(self): + input_size = 10 + hidden_size = 6 +@@ -4492,6 +4493,7 @@ + check_weight_norm(nn.LSTM(input_size, hidden_size, num_layers, proj_size=3), 'weight_hr_l0') + + @unittest.skipIf(not TEST_CUDA, 'CUDA not available') ++ @torch.backends.cudnn.flags(enabled=True, allow_tf32=False) + def test_partial_flat_weights(self): + input_size = 10 + hidden_size = 6 +--- ../PyTorch/2.1.2/foss-2023a-CUDA-12.1.1/pytorch-v2.1.2/test/nn/test_convolution.py 2023-12-15 03:03:27.000000000 +0100 ++++ test/nn/test_convolution.py 2024-01-15 15:03:15.606208376 +0100 +@@ -518,7 +518,7 @@ + # Covering special case when group > 1, input-channel / group < 16 and output-channel is multiple of 16 + # See also https://github.com/pytorch/pytorch/pull/18463#issuecomment-476563686 + # and https://github.com/pytorch/pytorch/pull/18463#issuecomment-477001024 +- @torch.backends.cudnn.flags(enabled=True, benchmark=False) ++ @torch.backends.cudnn.flags(enabled=True, benchmark=False, allow_tf32=False) + def test_Conv2d_groups_nobias_v2(self): + torch.manual_seed(123) + dev_dtypes = [("cpu", torch.float)] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_fix-test_numpy_torch_operators.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_fix-test_numpy_torch_operators.patch new file mode 100644 index 00000000000..acbb6b1ca72 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_fix-test_numpy_torch_operators.patch @@ -0,0 +1,41 @@ +From b03ef1d96909da213771c7590e36bbe1d258df53 Mon Sep 17 00:00:00 2001 +From: Oguz Ulgen +Date: Sat, 16 Sep 2023 07:37:04 +0000 +Subject: [PATCH] [Dynamo] Fix numpy error in test_numpy_torch_operators + (#109087) + +When you inplace matmul two one dimensional numpy arrays, numpy=="1.24.3" gives +``` +TypeError: In-place matrix multiplication is not (yet) supported. Use 'a = a @ b' instead of 'a @= b'. +``` +but numpy=="1.25.2" gives +``` +ValueError: inplace matrix multiplication requires the first operand to have at least one and the second at least two dimensions. +``` + +This diff makes it so that newer versions of numpy does not fail on this test because we do not catch ValueError. + +An alternative solution would be to update the test cases to be 2 dimensional, but that would have impact on other operators being tested. + +Pull Request resolved: https://github.com/pytorch/pytorch/pull/109087 +Approved by: https://github.com/jansel +--- + test/dynamo/test_misc.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/test/dynamo/test_misc.py b/test/dynamo/test_misc.py +index 311bffc3e5fba9..a0486278599dcf 100644 +--- a/test/dynamo/test_misc.py ++++ b/test/dynamo/test_misc.py +@@ -1339,6 +1339,11 @@ def fn(op, t1, t2): + # skip + # Did you know that tensor[ndarray_of_floats] works? + continue ++ if op is operator.imatmul and (t1_np or t2_np): ++ # skip ++ # in numpy, in place matmul does not work single ++ # dimensional arrays ++ continue + t1 = torch.rand(5) + if t1_np: + t1 = t1.numpy() diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test-linalg-svd-complex.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test-linalg-svd-complex.patch new file mode 100644 index 00000000000..92ea36337eb --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test-linalg-svd-complex.patch @@ -0,0 +1,19 @@ +Skip test_python_ref_meta__refs_linalg_svd_cpu_complex +Result varies depending on underlying device +see https://github.com/pytorch/pytorch/issues/105068 +author: Alex Domingo (Vrije Universiteit Brussel) +--- test/test_ops.py.orig 2024-01-16 15:37:02.596411122 +0100 ++++ test/test_ops.py 2024-01-16 15:39:02.824489395 +0100 +@@ -311,6 +311,12 @@ + return out + return x + ++ # Skip test_python_ref_meta__refs_linalg_svd_cpu_complex ++ # Result varies depending on underlying device ++ # see https://github.com/pytorch/pytorch/issues/105068 ++ if op.name == '_refs.linalg.svd' and dtype in (torch.complex64, torch.complex128): ++ self.skipTest("Unreliable on certain devices, see issue #105068") ++ + # TODO: iterate over requires_grad true/false + for sample in op.reference_inputs(device, dtype, requires_grad=False): + result = op(sample.input, *sample.args, **sample.kwargs) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022a.eb index f38a49fcfee..0f6d51fd1bb 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022a.eb @@ -40,6 +40,13 @@ patches = [ 'PyTorch-2.1.0_skip-test_jvp_linalg_det_singular.patch', 'PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch', 'PyTorch-2.1.0_skip-test_wrap_bad.patch', + 'PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch', + 'PyTorch-2.1.2_fix-test_memory_profiler.patch', + 'PyTorch-2.1.2_fix-test_torchinductor-rounding.patch', + 'PyTorch-2.1.2_fix-vsx-vector-abs.patch', + 'PyTorch-2.1.2_fix-vsx-vector-div.patch', + 'PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch', + 'PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch', ] checksums = [ {'pytorch-v2.1.2.tar.gz': '85effbcce037bffa290aea775c9a4bad5f769cb229583450c40055501ee1acd7'}, @@ -94,6 +101,18 @@ checksums = [ {'PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch': '5dcc79883b6e3ec0a281a8e110db5e0a5880de843bb05653589891f16473ead5'}, {'PyTorch-2.1.0_skip-test_wrap_bad.patch': 'b8583125ee94e553b6f77c4ab4bfa812b89416175dc7e9b7390919f3b485cb63'}, + {'PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch': + 'cd1455495886a7d6b2d30d48736eb0103fded21e2e36de6baac719b9c52a1c92'}, + {'PyTorch-2.1.2_fix-test_memory_profiler.patch': + '30b0c9355636c0ab3dedae02399789053825dc3835b4d7dac6e696767772b1ce'}, + {'PyTorch-2.1.2_fix-test_torchinductor-rounding.patch': + 'a0ef99192ee2ad1509c78a8377023d5be2b5fddb16f84063b7c9a0b53d979090'}, + {'PyTorch-2.1.2_fix-vsx-vector-abs.patch': 'd67d32407faed7dc1dbab4bba0e2f7de36c3db04560ced35c94caf8d84ade886'}, + {'PyTorch-2.1.2_fix-vsx-vector-div.patch': '11f497a6892eb49b249a15320e4218e0d7ac8ae4ce67de39e4a018a064ca1acc'}, + {'PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch': + '7ace835af60c58d9e0754a34c19d4b9a0c3a531f19e5d0eba8e2e49206eaa7eb'}, + {'PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch': + 'fb96eefabf394617bbb3fbd3a7a7c1aa5991b3836edc2e5d2a30e708bfe49ba1'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -128,6 +147,8 @@ dependencies = [ ('Z3', '4.10.2', '-Python-%(pyver)s'), ] +use_pip = True + excluded_tests = { '': [ # This test seems to take too long on NVIDIA Ampere at least. diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022b.eb index 85f9942c63e..146e42cb2b8 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022b.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022b.eb @@ -41,6 +41,13 @@ patches = [ 'PyTorch-2.1.0_skip-test_jvp_linalg_det_singular.patch', 'PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch', 'PyTorch-2.1.0_skip-test_wrap_bad.patch', + 'PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch', + 'PyTorch-2.1.2_fix-test_memory_profiler.patch', + 'PyTorch-2.1.2_fix-test_torchinductor-rounding.patch', + 'PyTorch-2.1.2_fix-vsx-vector-abs.patch', + 'PyTorch-2.1.2_fix-vsx-vector-div.patch', + 'PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch', + 'PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch', ] checksums = [ {'pytorch-v2.1.2.tar.gz': '85effbcce037bffa290aea775c9a4bad5f769cb229583450c40055501ee1acd7'}, @@ -96,6 +103,18 @@ checksums = [ {'PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch': '5dcc79883b6e3ec0a281a8e110db5e0a5880de843bb05653589891f16473ead5'}, {'PyTorch-2.1.0_skip-test_wrap_bad.patch': 'b8583125ee94e553b6f77c4ab4bfa812b89416175dc7e9b7390919f3b485cb63'}, + {'PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch': + 'cd1455495886a7d6b2d30d48736eb0103fded21e2e36de6baac719b9c52a1c92'}, + {'PyTorch-2.1.2_fix-test_memory_profiler.patch': + '30b0c9355636c0ab3dedae02399789053825dc3835b4d7dac6e696767772b1ce'}, + {'PyTorch-2.1.2_fix-test_torchinductor-rounding.patch': + 'a0ef99192ee2ad1509c78a8377023d5be2b5fddb16f84063b7c9a0b53d979090'}, + {'PyTorch-2.1.2_fix-vsx-vector-abs.patch': 'd67d32407faed7dc1dbab4bba0e2f7de36c3db04560ced35c94caf8d84ade886'}, + {'PyTorch-2.1.2_fix-vsx-vector-div.patch': '11f497a6892eb49b249a15320e4218e0d7ac8ae4ce67de39e4a018a064ca1acc'}, + {'PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch': + '7ace835af60c58d9e0754a34c19d4b9a0c3a531f19e5d0eba8e2e49206eaa7eb'}, + {'PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch': + 'fb96eefabf394617bbb3fbd3a7a7c1aa5991b3836edc2e5d2a30e708bfe49ba1'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -128,6 +147,8 @@ dependencies = [ ('Z3', '4.12.2', '-Python-%(pyver)s'), ] +use_pip = True + excluded_tests = { '': [ # This test seems to take too long on NVIDIA Ampere at least. diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..7990dd1511b --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,236 @@ +name = 'PyTorch' +version = '2.1.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorch.org/' +description = """Tensors and Dynamic neural networks in Python with strong GPU acceleration. +PyTorch is a deep learning framework that puts Python first.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +patches = [ + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', + 'PyTorch-1.12.1_add-hypothesis-suppression.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch', + 'PyTorch-1.13.1_fix-protobuf-dependency.patch', + 'PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch', + 'PyTorch-1.13.1_skip-failing-singular-grad-test.patch', + 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', + 'PyTorch-2.0.1_avoid-test_quantization-failures.patch', + 'PyTorch-2.0.1_fix-skip-decorators.patch', + 'PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch', + 'PyTorch-2.0.1_fix-vsx-loadu.patch', + 'PyTorch-2.0.1_no-cuda-stubs-rpath.patch', + 'PyTorch-2.0.1_skip-failing-gradtest.patch', + 'PyTorch-2.0.1_skip-test_shuffle_reproducibility.patch', + 'PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch', + 'PyTorch-2.1.0_disable-gcc12-warning.patch', + 'PyTorch-2.1.0_disable-cudnn-tf32-for-too-strict-tests.patch', + 'PyTorch-2.1.0_fix-bufferoverflow-in-oneDNN.patch', + 'PyTorch-2.1.0_fix-test_numpy_torch_operators.patch', + 'PyTorch-2.1.0_fix-validationError-output-test.patch', + 'PyTorch-2.1.0_fix-vsx-vector-shift-functions.patch', + 'PyTorch-2.1.0_increase-tolerance-functorch-test_vmapvjpvjp.patch', + 'PyTorch-2.1.0_remove-sparse-csr-nnz-overflow-test.patch', + 'PyTorch-2.1.0_remove-test-requiring-online-access.patch', + 'PyTorch-2.1.0_skip-diff-test-on-ppc.patch', + 'PyTorch-2.1.0_skip-dynamo-test_predispatch.patch', + 'PyTorch-2.1.0_skip-test_jvp_linalg_det_singular.patch', + 'PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch', + 'PyTorch-2.1.0_skip-test_wrap_bad.patch', + 'PyTorch-2.1.2_add-cuda-skip-markers.patch', + 'PyTorch-2.1.2_fix-conj-mismatch-test-failures.patch', + 'PyTorch-2.1.2_fix-device-mesh-check.patch', + 'PyTorch-2.1.2_fix-locale-issue-in-nvrtcCompileProgram.patch', + 'PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch', + 'PyTorch-2.1.2_fix-test_memory_profiler.patch', + 'PyTorch-2.1.2_fix-test_torchinductor-rounding.patch', + 'PyTorch-2.1.2_fix-vsx-vector-abs.patch', + 'PyTorch-2.1.2_fix-vsx-vector-div.patch', + 'PyTorch-2.1.2_fix-with_temp_dir-decorator.patch', + 'PyTorch-2.1.2_fix-wrong-device-mesh-size-in-tests.patch', + 'PyTorch-2.1.2_relax-cuda-tolerances.patch', + 'PyTorch-2.1.2_remove-nccl-backend-default-without-gpus.patch', + 'PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch', + 'PyTorch-2.1.2_skip-failing-test_dtensor_ops-subtests.patch', + 'PyTorch-2.1.2_skip-test_fsdp_tp_checkpoint_integration.patch', + 'PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch', +] +checksums = [ + {'pytorch-v2.1.2.tar.gz': '85effbcce037bffa290aea775c9a4bad5f769cb229583450c40055501ee1acd7'}, + {'PyTorch-1.7.0_disable-dev-shm-test.patch': '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a'}, + {'PyTorch-1.11.1_skip-test_init_from_local_shards.patch': + '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7'}, + {'PyTorch-1.12.1_add-hypothesis-suppression.patch': + 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, + {'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch': + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83'}, + {'PyTorch-1.12.1_fix-TestTorch.test_to.patch': '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535'}, + {'PyTorch-1.12.1_skip-test_round_robin.patch': '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349'}, + {'PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch': + '5c7be91a6096083a0b1315efe0001537499c600f1f569953c6a2c7f4cc1d0910'}, + {'PyTorch-1.13.1_fix-protobuf-dependency.patch': + '8bd755a0cab7233a243bc65ca57c9630dfccdc9bf8c9792f0de4e07a644fcb00'}, + {'PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch': + 'bdde0f2105215c95a54de64ec4b1a4520528510663174fef6d5b900eb1db3937'}, + {'PyTorch-1.13.1_skip-failing-singular-grad-test.patch': + '72688a57b2bb617665ad1a1d5e362c5111ae912c10936bb38a089c0204729f48'}, + {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': + '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, + {'PyTorch-2.0.1_avoid-test_quantization-failures.patch': + '02e3f47e4ed1d7d6077e26f1ae50073dc2b20426269930b505f4aefe5d2f33cd'}, + {'PyTorch-2.0.1_fix-skip-decorators.patch': '2039012cef45446065e1a2097839fe20bb29fe3c1dcc926c3695ebf29832e920'}, + {'PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch': + '1b37194f55ae678f3657b8728dfb896c18ffe8babe90987ce468c4fa9274f357'}, + {'PyTorch-2.0.1_fix-vsx-loadu.patch': 'a0ffa61da2d47c6acd09aaf6d4791e527d8919a6f4f1aa7ed38454cdcadb1f72'}, + {'PyTorch-2.0.1_no-cuda-stubs-rpath.patch': '8902e58a762240f24cdbf0182e99ccdfc2a93492869352fcb4ca0ec7e407f83a'}, + {'PyTorch-2.0.1_skip-failing-gradtest.patch': '8030bdec6ba49b057ab232d19a7f1a5e542e47e2ec340653a246ec9ed59f8bc1'}, + {'PyTorch-2.0.1_skip-test_shuffle_reproducibility.patch': + '7047862abc1abaff62954da59700f36d4f39fcf83167a638183b1b7f8fec78ae'}, + {'PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch': + '166c134573a95230e39b9ea09ece3ad8072f39d370c9a88fb2a1e24f6aaac2b5'}, + {'PyTorch-2.1.0_disable-gcc12-warning.patch': 'c858b8db0010f41005dc06f9a50768d0d3dc2d2d499ccbdd5faf8a518869a421'}, + {'PyTorch-2.1.0_disable-cudnn-tf32-for-too-strict-tests.patch': + 'd895018ebdfd46e65d9f7645444a3b4c5bbfe3d533a08db559a04be34e01e478'}, + {'PyTorch-2.1.0_fix-bufferoverflow-in-oneDNN.patch': + 'b15b1291a3c37bf6a4982cfbb3483f693acb46a67bc0912b383fd98baf540ccf'}, + {'PyTorch-2.1.0_fix-test_numpy_torch_operators.patch': + '84bb51a719abc677031a7a3dfe4382ff098b0cbd8b39b8bed2a7fa03f80ac1e9'}, + {'PyTorch-2.1.0_fix-validationError-output-test.patch': + '7eba0942afb121ed92fac30d1529447d892a89eb3d53c565f8e9d480e95f692b'}, + {'PyTorch-2.1.0_fix-vsx-vector-shift-functions.patch': + '3793b4b878be1abe7791efcbd534774b87862cfe7dc4774ca8729b6cabb39e7e'}, + {'PyTorch-2.1.0_increase-tolerance-functorch-test_vmapvjpvjp.patch': + 'aef38adf1210d0c5455e91d7c7a9d9e5caad3ae568301e0ba9fc204309438e7b'}, + {'PyTorch-2.1.0_remove-sparse-csr-nnz-overflow-test.patch': + '0ac36411e76506b3354c85a8a1260987f66af947ee52ffc64230aee1fa02ea8b'}, + {'PyTorch-2.1.0_remove-test-requiring-online-access.patch': + '35184b8c5a1b10f79e511cc25db3b8a5585a5d58b5d1aa25dd3d250200b14fd7'}, + {'PyTorch-2.1.0_skip-diff-test-on-ppc.patch': '394157dbe565ffcbc1821cd63d05930957412156cc01e949ef3d3524176a1dda'}, + {'PyTorch-2.1.0_skip-dynamo-test_predispatch.patch': + '6298daf9ddaa8542850eee9ea005f28594ab65b1f87af43d8aeca1579a8c4354'}, + {'PyTorch-2.1.0_skip-test_jvp_linalg_det_singular.patch': + '5229ca88a71db7667a90ddc0b809b2c817698bd6e9c5aaabd73d3173cf9b99fe'}, + {'PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch': + '5dcc79883b6e3ec0a281a8e110db5e0a5880de843bb05653589891f16473ead5'}, + {'PyTorch-2.1.0_skip-test_wrap_bad.patch': 'b8583125ee94e553b6f77c4ab4bfa812b89416175dc7e9b7390919f3b485cb63'}, + {'PyTorch-2.1.2_add-cuda-skip-markers.patch': 'd007d6d0cdb533e7d01f503e9055218760123a67c1841c57585385144be18c9a'}, + {'PyTorch-2.1.2_fix-conj-mismatch-test-failures.patch': + 'c164357efa4ce88095376e590ba508fc1daa87161e1e59544eda56daac7f2847'}, + {'PyTorch-2.1.2_fix-device-mesh-check.patch': 'c0efc288bf3d9a9a3c8bbd2691348a589a2677ea43880a8c987db91c8de4806b'}, + {'PyTorch-2.1.2_fix-locale-issue-in-nvrtcCompileProgram.patch': + 'f7adafb4e4d3b724b93237a259797b6ed6f535f83be0e34a7b759c71c6a8ddf2'}, + {'PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch': + 'cd1455495886a7d6b2d30d48736eb0103fded21e2e36de6baac719b9c52a1c92'}, + {'PyTorch-2.1.2_fix-test_memory_profiler.patch': + '30b0c9355636c0ab3dedae02399789053825dc3835b4d7dac6e696767772b1ce'}, + {'PyTorch-2.1.2_fix-test_torchinductor-rounding.patch': + 'a0ef99192ee2ad1509c78a8377023d5be2b5fddb16f84063b7c9a0b53d979090'}, + {'PyTorch-2.1.2_fix-vsx-vector-abs.patch': 'd67d32407faed7dc1dbab4bba0e2f7de36c3db04560ced35c94caf8d84ade886'}, + {'PyTorch-2.1.2_fix-vsx-vector-div.patch': '11f497a6892eb49b249a15320e4218e0d7ac8ae4ce67de39e4a018a064ca1acc'}, + {'PyTorch-2.1.2_fix-with_temp_dir-decorator.patch': + '90bd001e034095329277d70c6facc4026b4ce6d7f8b8d6aa81c0176eeb462eb1'}, + {'PyTorch-2.1.2_fix-wrong-device-mesh-size-in-tests.patch': + '07a5e4233d02fb6348872838f4d69573c777899c6f0ea4e39ae23c08660d41e5'}, + {'PyTorch-2.1.2_relax-cuda-tolerances.patch': '554ad09787f61080fafdb84216e711e32327aa357e2a9c40bb428eb6503dee6e'}, + {'PyTorch-2.1.2_remove-nccl-backend-default-without-gpus.patch': + 'e6a1efe3d127fcbf4723476a7a1c01cfcf2ccb16d1fb250f478192623e8b6a15'}, + {'PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch': + '7ace835af60c58d9e0754a34c19d4b9a0c3a531f19e5d0eba8e2e49206eaa7eb'}, + {'PyTorch-2.1.2_skip-failing-test_dtensor_ops-subtests.patch': + '6cf711bf26518550903b09ed4431de9319791e79d61aab065785d6608fd5cc88'}, + {'PyTorch-2.1.2_skip-test_fsdp_tp_checkpoint_integration.patch': + '943ee92f5fd518f608a59e43fe426b9bb45d7e7ad0ba04639e516db2d61fa57d'}, + {'PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch': + 'fb96eefabf394617bbb3fbd3a7a7c1aa5991b3836edc2e5d2a30e708bfe49ba1'}, +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.26.3'), + ('hypothesis', '6.82.0'), + # For tests + ('pytest-flakefinder', '1.1.0'), + ('pytest-rerunfailures', '12.0'), + ('pytest-shard', '0.1.2'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('cuDNN', '8.9.2.26', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.7.2', '-CUDA-%(cudaver)s'), + ('NCCL', '2.18.3', '-CUDA-%(cudaver)s'), + ('Ninja', '1.11.1'), # Required for JIT compilation of C++ extensions + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('protobuf', '24.0'), + ('protobuf-python', '4.24.0'), + ('pybind11', '2.11.1'), + ('SciPy-bundle', '2023.07'), + ('PyYAML', '6.0'), + ('MPFR', '4.2.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.16'), + ('FFmpeg', '6.0'), + ('Pillow', '10.0.0'), + ('expecttest', '0.1.5'), + ('networkx', '3.1'), + ('sympy', '1.12'), + ('Z3', '4.12.2'), +] + +use_pip = True +buildcmd = '%(python)s setup.py build' # Run the (long) build in the build step + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # Broken on CUDA 11.6/11.7: https://github.com/pytorch/pytorch/issues/75375 + 'distributions/test_constraints', + # no xdoctest + 'doctests', + # failing on broadwell + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17712 + 'test_native_mha', + # intermittent failures on various systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17712 + 'distributed/rpc/test_tensorpipe_agent', + # Broken test, can't ever succeed, see https://github.com/pytorch/pytorch/issues/122184 + 'distributed/tensor/parallel/test_tp_random_state', + # failures on OmniPath systems, which don't support some optional InfiniBand features + # See https://github.com/pytorch/tensorpipe/issues/413 + 'distributed/pipeline/sync/skip/test_gpipe', + 'distributed/pipeline/sync/skip/test_leak', + 'distributed/pipeline/sync/test_bugs', + 'distributed/pipeline/sync/test_inplace', + 'distributed/pipeline/sync/test_pipe', + 'distributed/pipeline/sync/test_transparency', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +# Especially test_quantization has a few corner cases that are triggered by the random input values, +# those cannot be easily avoided, see https://github.com/pytorch/pytorch/issues/107030 +# test_nn is also prone to spurious failures: https://github.com/pytorch/pytorch/issues/118294 +# So allow a low number of tests to fail as the tests "usually" succeed +max_failed_tests = 2 + +# The readelf sanity check command can be taken out once the TestRPATH test from +# https://github.com/pytorch/pytorch/pull/109493 is accepted, since it is then checked as part of the PyTorch test suite +local_libcaffe2 = "$EBROOTPYTORCH/lib/python%%(pyshortver)s/site-packages/torch/lib/libcaffe2_nvrtc.%s" % SHLIB_EXT +sanity_check_commands = [ + "readelf -d %s | egrep 'RPATH|RUNPATH' | grep -v stubs" % local_libcaffe2, +] + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023a.eb new file mode 100644 index 00000000000..413e3254f8a --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023a.eb @@ -0,0 +1,182 @@ +name = 'PyTorch' +version = '2.1.2' + +homepage = 'https://pytorch.org/' +description = """Tensors and Dynamic neural networks in Python with strong GPU acceleration. +PyTorch is a deep learning framework that puts Python first.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +patches = [ + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', + 'PyTorch-1.12.1_add-hypothesis-suppression.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch', + 'PyTorch-1.13.1_fix-protobuf-dependency.patch', + 'PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch', + 'PyTorch-1.13.1_skip-failing-singular-grad-test.patch', + 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', + 'PyTorch-2.0.1_avoid-test_quantization-failures.patch', + 'PyTorch-2.0.1_fix-skip-decorators.patch', + 'PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch', + 'PyTorch-2.0.1_fix-vsx-loadu.patch', + 'PyTorch-2.0.1_no-cuda-stubs-rpath.patch', + 'PyTorch-2.0.1_skip-failing-gradtest.patch', + 'PyTorch-2.0.1_skip-test_shuffle_reproducibility.patch', + 'PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch', + 'PyTorch-2.1.0_disable-gcc12-warning.patch', + 'PyTorch-2.1.0_fix-bufferoverflow-in-oneDNN.patch', + 'PyTorch-2.1.0_fix-test_numpy_torch_operators.patch', + 'PyTorch-2.1.0_fix-validationError-output-test.patch', + 'PyTorch-2.1.0_fix-vsx-vector-shift-functions.patch', + 'PyTorch-2.1.0_increase-tolerance-functorch-test_vmapvjpvjp.patch', + 'PyTorch-2.1.0_remove-sparse-csr-nnz-overflow-test.patch', + 'PyTorch-2.1.0_remove-test-requiring-online-access.patch', + 'PyTorch-2.1.0_skip-diff-test-on-ppc.patch', + 'PyTorch-2.1.0_skip-dynamo-test_predispatch.patch', + 'PyTorch-2.1.0_skip-test_jvp_linalg_det_singular.patch', + 'PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch', + 'PyTorch-2.1.0_skip-test_wrap_bad.patch', + 'PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch', + 'PyTorch-2.1.2_fix-test_memory_profiler.patch', + 'PyTorch-2.1.2_fix-test_torchinductor-rounding.patch', + 'PyTorch-2.1.2_fix-vsx-vector-abs.patch', + 'PyTorch-2.1.2_fix-vsx-vector-div.patch', + 'PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch', + 'PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch', +] +checksums = [ + {'pytorch-v2.1.2.tar.gz': '85effbcce037bffa290aea775c9a4bad5f769cb229583450c40055501ee1acd7'}, + {'PyTorch-1.7.0_disable-dev-shm-test.patch': '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a'}, + {'PyTorch-1.11.1_skip-test_init_from_local_shards.patch': + '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7'}, + {'PyTorch-1.12.1_add-hypothesis-suppression.patch': + 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, + {'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch': + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83'}, + {'PyTorch-1.12.1_fix-TestTorch.test_to.patch': '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535'}, + {'PyTorch-1.12.1_skip-test_round_robin.patch': '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349'}, + {'PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch': + '5c7be91a6096083a0b1315efe0001537499c600f1f569953c6a2c7f4cc1d0910'}, + {'PyTorch-1.13.1_fix-protobuf-dependency.patch': + '8bd755a0cab7233a243bc65ca57c9630dfccdc9bf8c9792f0de4e07a644fcb00'}, + {'PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch': + 'bdde0f2105215c95a54de64ec4b1a4520528510663174fef6d5b900eb1db3937'}, + {'PyTorch-1.13.1_skip-failing-singular-grad-test.patch': + '72688a57b2bb617665ad1a1d5e362c5111ae912c10936bb38a089c0204729f48'}, + {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': + '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, + {'PyTorch-2.0.1_avoid-test_quantization-failures.patch': + '02e3f47e4ed1d7d6077e26f1ae50073dc2b20426269930b505f4aefe5d2f33cd'}, + {'PyTorch-2.0.1_fix-skip-decorators.patch': '2039012cef45446065e1a2097839fe20bb29fe3c1dcc926c3695ebf29832e920'}, + {'PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch': + '1b37194f55ae678f3657b8728dfb896c18ffe8babe90987ce468c4fa9274f357'}, + {'PyTorch-2.0.1_fix-vsx-loadu.patch': 'a0ffa61da2d47c6acd09aaf6d4791e527d8919a6f4f1aa7ed38454cdcadb1f72'}, + {'PyTorch-2.0.1_no-cuda-stubs-rpath.patch': '8902e58a762240f24cdbf0182e99ccdfc2a93492869352fcb4ca0ec7e407f83a'}, + {'PyTorch-2.0.1_skip-failing-gradtest.patch': '8030bdec6ba49b057ab232d19a7f1a5e542e47e2ec340653a246ec9ed59f8bc1'}, + {'PyTorch-2.0.1_skip-test_shuffle_reproducibility.patch': + '7047862abc1abaff62954da59700f36d4f39fcf83167a638183b1b7f8fec78ae'}, + {'PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch': + '166c134573a95230e39b9ea09ece3ad8072f39d370c9a88fb2a1e24f6aaac2b5'}, + {'PyTorch-2.1.0_disable-gcc12-warning.patch': 'c858b8db0010f41005dc06f9a50768d0d3dc2d2d499ccbdd5faf8a518869a421'}, + {'PyTorch-2.1.0_fix-bufferoverflow-in-oneDNN.patch': + 'b15b1291a3c37bf6a4982cfbb3483f693acb46a67bc0912b383fd98baf540ccf'}, + {'PyTorch-2.1.0_fix-test_numpy_torch_operators.patch': + '84bb51a719abc677031a7a3dfe4382ff098b0cbd8b39b8bed2a7fa03f80ac1e9'}, + {'PyTorch-2.1.0_fix-validationError-output-test.patch': + '7eba0942afb121ed92fac30d1529447d892a89eb3d53c565f8e9d480e95f692b'}, + {'PyTorch-2.1.0_fix-vsx-vector-shift-functions.patch': + '3793b4b878be1abe7791efcbd534774b87862cfe7dc4774ca8729b6cabb39e7e'}, + {'PyTorch-2.1.0_increase-tolerance-functorch-test_vmapvjpvjp.patch': + 'aef38adf1210d0c5455e91d7c7a9d9e5caad3ae568301e0ba9fc204309438e7b'}, + {'PyTorch-2.1.0_remove-sparse-csr-nnz-overflow-test.patch': + '0ac36411e76506b3354c85a8a1260987f66af947ee52ffc64230aee1fa02ea8b'}, + {'PyTorch-2.1.0_remove-test-requiring-online-access.patch': + '35184b8c5a1b10f79e511cc25db3b8a5585a5d58b5d1aa25dd3d250200b14fd7'}, + {'PyTorch-2.1.0_skip-diff-test-on-ppc.patch': '394157dbe565ffcbc1821cd63d05930957412156cc01e949ef3d3524176a1dda'}, + {'PyTorch-2.1.0_skip-dynamo-test_predispatch.patch': + '6298daf9ddaa8542850eee9ea005f28594ab65b1f87af43d8aeca1579a8c4354'}, + {'PyTorch-2.1.0_skip-test_jvp_linalg_det_singular.patch': + '5229ca88a71db7667a90ddc0b809b2c817698bd6e9c5aaabd73d3173cf9b99fe'}, + {'PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch': + '5dcc79883b6e3ec0a281a8e110db5e0a5880de843bb05653589891f16473ead5'}, + {'PyTorch-2.1.0_skip-test_wrap_bad.patch': 'b8583125ee94e553b6f77c4ab4bfa812b89416175dc7e9b7390919f3b485cb63'}, + {'PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch': + 'cd1455495886a7d6b2d30d48736eb0103fded21e2e36de6baac719b9c52a1c92'}, + {'PyTorch-2.1.2_fix-test_memory_profiler.patch': + '30b0c9355636c0ab3dedae02399789053825dc3835b4d7dac6e696767772b1ce'}, + {'PyTorch-2.1.2_fix-test_torchinductor-rounding.patch': + 'a0ef99192ee2ad1509c78a8377023d5be2b5fddb16f84063b7c9a0b53d979090'}, + {'PyTorch-2.1.2_fix-vsx-vector-abs.patch': 'd67d32407faed7dc1dbab4bba0e2f7de36c3db04560ced35c94caf8d84ade886'}, + {'PyTorch-2.1.2_fix-vsx-vector-div.patch': '11f497a6892eb49b249a15320e4218e0d7ac8ae4ce67de39e4a018a064ca1acc'}, + {'PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch': + '7ace835af60c58d9e0754a34c19d4b9a0c3a531f19e5d0eba8e2e49206eaa7eb'}, + {'PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch': + 'fb96eefabf394617bbb3fbd3a7a7c1aa5991b3836edc2e5d2a30e708bfe49ba1'}, +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.26.3'), + ('hypothesis', '6.82.0'), + # For tests + ('pytest-flakefinder', '1.1.0'), + ('pytest-rerunfailures', '12.0'), + ('pytest-shard', '0.1.2'), +] + +dependencies = [ + ('Ninja', '1.11.1'), # Required for JIT compilation of C++ extensions + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('protobuf', '24.0'), + ('protobuf-python', '4.24.0'), + ('pybind11', '2.11.1'), + ('SciPy-bundle', '2023.07'), + ('PyYAML', '6.0'), + ('MPFR', '4.2.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.16'), + ('FFmpeg', '6.0'), + ('Pillow', '10.0.0'), + ('expecttest', '0.1.5'), + ('networkx', '3.1'), + ('sympy', '1.12'), + ('Z3', '4.12.2',), +] + +use_pip = True + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # Broken on CUDA 11.6/11.7: https://github.com/pytorch/pytorch/issues/75375 + 'distributions/test_constraints', + # no xdoctest + 'doctests', + # failing on broadwell + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17712 + 'test_native_mha', + # intermittent failures on various systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17712 + 'distributed/rpc/test_tensorpipe_agent', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +# Especially test_quantization has a few corner cases that are triggered by the random input values, +# those cannot be easily avoided, see https://github.com/pytorch/pytorch/issues/107030 +# So allow a low number of tests to fail as the tests "usually" succeed +max_failed_tests = 2 + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023b.eb new file mode 100644 index 00000000000..151e13356fe --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023b.eb @@ -0,0 +1,183 @@ +name = 'PyTorch' +version = '2.1.2' + +homepage = 'https://pytorch.org/' +description = """Tensors and Dynamic neural networks in Python with strong GPU acceleration. +PyTorch is a deep learning framework that puts Python first.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +patches = [ + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', + 'PyTorch-1.12.1_add-hypothesis-suppression.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch', + 'PyTorch-1.13.1_fix-protobuf-dependency.patch', + 'PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch', + 'PyTorch-1.13.1_skip-failing-singular-grad-test.patch', + 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', + 'PyTorch-2.0.1_avoid-test_quantization-failures.patch', + 'PyTorch-2.0.1_fix-skip-decorators.patch', + 'PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch', + 'PyTorch-2.0.1_fix-vsx-loadu.patch', + 'PyTorch-2.0.1_no-cuda-stubs-rpath.patch', + 'PyTorch-2.0.1_skip-failing-gradtest.patch', + 'PyTorch-2.0.1_skip-test_shuffle_reproducibility.patch', + 'PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch', + 'PyTorch-2.1.0_disable-gcc12-warning.patch', + 'PyTorch-2.1.0_fix-bufferoverflow-in-oneDNN.patch', + 'PyTorch-2.1.0_fix-test_numpy_torch_operators.patch', + 'PyTorch-2.1.0_fix-validationError-output-test.patch', + 'PyTorch-2.1.0_fix-vsx-vector-shift-functions.patch', + 'PyTorch-2.1.0_increase-tolerance-functorch-test_vmapvjpvjp.patch', + 'PyTorch-2.1.0_remove-sparse-csr-nnz-overflow-test.patch', + 'PyTorch-2.1.0_remove-test-requiring-online-access.patch', + 'PyTorch-2.1.0_skip-diff-test-on-ppc.patch', + 'PyTorch-2.1.0_skip-dynamo-test_predispatch.patch', + 'PyTorch-2.1.0_skip-test_jvp_linalg_det_singular.patch', + 'PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch', + 'PyTorch-2.1.0_skip-test_wrap_bad.patch', + 'PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch', + 'PyTorch-2.1.2_fix-test_memory_profiler.patch', + 'PyTorch-2.1.2_fix-test_torchinductor-rounding.patch', + 'PyTorch-2.1.2_fix-vsx-vector-abs.patch', + 'PyTorch-2.1.2_fix-vsx-vector-div.patch', + 'PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch', + 'PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch', +] +checksums = [ + {'pytorch-v2.1.2.tar.gz': '85effbcce037bffa290aea775c9a4bad5f769cb229583450c40055501ee1acd7'}, + {'PyTorch-1.7.0_disable-dev-shm-test.patch': '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a'}, + {'PyTorch-1.11.1_skip-test_init_from_local_shards.patch': + '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7'}, + {'PyTorch-1.12.1_add-hypothesis-suppression.patch': + 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, + {'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch': + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83'}, + {'PyTorch-1.12.1_fix-TestTorch.test_to.patch': '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535'}, + {'PyTorch-1.12.1_skip-test_round_robin.patch': '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349'}, + {'PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch': + '5c7be91a6096083a0b1315efe0001537499c600f1f569953c6a2c7f4cc1d0910'}, + {'PyTorch-1.13.1_fix-protobuf-dependency.patch': + '8bd755a0cab7233a243bc65ca57c9630dfccdc9bf8c9792f0de4e07a644fcb00'}, + {'PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch': + 'bdde0f2105215c95a54de64ec4b1a4520528510663174fef6d5b900eb1db3937'}, + {'PyTorch-1.13.1_skip-failing-singular-grad-test.patch': + '72688a57b2bb617665ad1a1d5e362c5111ae912c10936bb38a089c0204729f48'}, + {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': + '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, + {'PyTorch-2.0.1_avoid-test_quantization-failures.patch': + '02e3f47e4ed1d7d6077e26f1ae50073dc2b20426269930b505f4aefe5d2f33cd'}, + {'PyTorch-2.0.1_fix-skip-decorators.patch': '2039012cef45446065e1a2097839fe20bb29fe3c1dcc926c3695ebf29832e920'}, + {'PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch': + '1b37194f55ae678f3657b8728dfb896c18ffe8babe90987ce468c4fa9274f357'}, + {'PyTorch-2.0.1_fix-vsx-loadu.patch': 'a0ffa61da2d47c6acd09aaf6d4791e527d8919a6f4f1aa7ed38454cdcadb1f72'}, + {'PyTorch-2.0.1_no-cuda-stubs-rpath.patch': '8902e58a762240f24cdbf0182e99ccdfc2a93492869352fcb4ca0ec7e407f83a'}, + {'PyTorch-2.0.1_skip-failing-gradtest.patch': '8030bdec6ba49b057ab232d19a7f1a5e542e47e2ec340653a246ec9ed59f8bc1'}, + {'PyTorch-2.0.1_skip-test_shuffle_reproducibility.patch': + '7047862abc1abaff62954da59700f36d4f39fcf83167a638183b1b7f8fec78ae'}, + {'PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch': + '166c134573a95230e39b9ea09ece3ad8072f39d370c9a88fb2a1e24f6aaac2b5'}, + {'PyTorch-2.1.0_disable-gcc12-warning.patch': 'c858b8db0010f41005dc06f9a50768d0d3dc2d2d499ccbdd5faf8a518869a421'}, + {'PyTorch-2.1.0_fix-bufferoverflow-in-oneDNN.patch': + 'b15b1291a3c37bf6a4982cfbb3483f693acb46a67bc0912b383fd98baf540ccf'}, + {'PyTorch-2.1.0_fix-test_numpy_torch_operators.patch': + '84bb51a719abc677031a7a3dfe4382ff098b0cbd8b39b8bed2a7fa03f80ac1e9'}, + {'PyTorch-2.1.0_fix-validationError-output-test.patch': + '7eba0942afb121ed92fac30d1529447d892a89eb3d53c565f8e9d480e95f692b'}, + {'PyTorch-2.1.0_fix-vsx-vector-shift-functions.patch': + '3793b4b878be1abe7791efcbd534774b87862cfe7dc4774ca8729b6cabb39e7e'}, + {'PyTorch-2.1.0_increase-tolerance-functorch-test_vmapvjpvjp.patch': + 'aef38adf1210d0c5455e91d7c7a9d9e5caad3ae568301e0ba9fc204309438e7b'}, + {'PyTorch-2.1.0_remove-sparse-csr-nnz-overflow-test.patch': + '0ac36411e76506b3354c85a8a1260987f66af947ee52ffc64230aee1fa02ea8b'}, + {'PyTorch-2.1.0_remove-test-requiring-online-access.patch': + '35184b8c5a1b10f79e511cc25db3b8a5585a5d58b5d1aa25dd3d250200b14fd7'}, + {'PyTorch-2.1.0_skip-diff-test-on-ppc.patch': '394157dbe565ffcbc1821cd63d05930957412156cc01e949ef3d3524176a1dda'}, + {'PyTorch-2.1.0_skip-dynamo-test_predispatch.patch': + '6298daf9ddaa8542850eee9ea005f28594ab65b1f87af43d8aeca1579a8c4354'}, + {'PyTorch-2.1.0_skip-test_jvp_linalg_det_singular.patch': + '5229ca88a71db7667a90ddc0b809b2c817698bd6e9c5aaabd73d3173cf9b99fe'}, + {'PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch': + '5dcc79883b6e3ec0a281a8e110db5e0a5880de843bb05653589891f16473ead5'}, + {'PyTorch-2.1.0_skip-test_wrap_bad.patch': 'b8583125ee94e553b6f77c4ab4bfa812b89416175dc7e9b7390919f3b485cb63'}, + {'PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch': + 'cd1455495886a7d6b2d30d48736eb0103fded21e2e36de6baac719b9c52a1c92'}, + {'PyTorch-2.1.2_fix-test_memory_profiler.patch': + '30b0c9355636c0ab3dedae02399789053825dc3835b4d7dac6e696767772b1ce'}, + {'PyTorch-2.1.2_fix-test_torchinductor-rounding.patch': + 'a0ef99192ee2ad1509c78a8377023d5be2b5fddb16f84063b7c9a0b53d979090'}, + {'PyTorch-2.1.2_fix-vsx-vector-abs.patch': 'd67d32407faed7dc1dbab4bba0e2f7de36c3db04560ced35c94caf8d84ade886'}, + {'PyTorch-2.1.2_fix-vsx-vector-div.patch': '11f497a6892eb49b249a15320e4218e0d7ac8ae4ce67de39e4a018a064ca1acc'}, + {'PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch': + '7ace835af60c58d9e0754a34c19d4b9a0c3a531f19e5d0eba8e2e49206eaa7eb'}, + {'PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch': + 'fb96eefabf394617bbb3fbd3a7a7c1aa5991b3836edc2e5d2a30e708bfe49ba1'}, +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.27.6'), + ('hypothesis', '6.90.0'), + # For tests + ('pytest-flakefinder', '1.1.0'), + ('pytest-rerunfailures', '14.0'), + ('pytest-shard', '0.1.2'), +] + +dependencies = [ + ('Ninja', '1.11.1'), # Required for JIT compilation of C++ extensions + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('protobuf', '25.3'), + ('protobuf-python', '4.25.3'), + ('pybind11', '2.11.1'), + ('SciPy-bundle', '2023.11'), + ('PyYAML', '6.0.1'), + ('MPFR', '4.2.1'), + ('GMP', '6.3.0'), + ('numactl', '2.0.16'), + ('FFmpeg', '6.0'), + ('Pillow', '10.2.0'), + ('expecttest', '0.2.1'), + ('networkx', '3.2.1'), + ('sympy', '1.12'), + ('Z3', '4.13.0',), +] + +use_pip = True +buildcmd = '%(python)s setup.py build' # Run the (long) build in the build step + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # Broken on CUDA 11.6/11.7: https://github.com/pytorch/pytorch/issues/75375 + 'distributions/test_constraints', + # no xdoctest + 'doctests', + # failing on broadwell + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17712 + 'test_native_mha', + # intermittent failures on various systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17712 + 'distributed/rpc/test_tensorpipe_agent', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +# Especially test_quantization has a few corner cases that are triggered by the random input values, +# those cannot be easily avoided, see https://github.com/pytorch/pytorch/issues/107030 +# So allow a low number of tests to fail as the tests "usually" succeed +max_failed_tests = 2 + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_add-cuda-skip-markers.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_add-cuda-skip-markers.patch new file mode 100644 index 00000000000..4bf18dde737 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_add-cuda-skip-markers.patch @@ -0,0 +1,59 @@ +distributed/test_inductor_collectives & distributed/test_dynamo_distributed fail when run without GPUs +with "RuntimeError: ProcessGroupNCCL is only supported with GPUs, no GPUs found!" +Skip those in that case. +See https://github.com/pytorch/pytorch/pull/117741 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/test_dynamo_distributed.py b/test/distributed/test_dynamo_distributed.py +index c8fae62bd62..6220b62a9a9 100644 +--- a/test/distributed/test_dynamo_distributed.py ++++ b/test/distributed/test_dynamo_distributed.py +@@ -30,6 +30,7 @@ from torch.testing._internal.common_distributed import ( + requires_nccl, + _dynamo_dist_per_rank_init, + ) ++from torch.testing._internal.common_utils import requires_cuda + import torch._dynamo.logging + from torch._dynamo.comptime import comptime + +@@ -452,6 +453,7 @@ class TestMultiProc(DynamoDistributedMultiProcTestCase): + + + @requires_nccl() ++@requires_cuda + class TestSingleProc(DynamoDistributedSingleProcTestCase): + """ + Test harness initializes dist process group. +diff --git a/test/distributed/test_inductor_collectives.py b/test/distributed/test_inductor_collectives.py +index 9183e2e9ce4..37149865fd9 100644 +--- a/test/distributed/test_inductor_collectives.py ++++ b/test/distributed/test_inductor_collectives.py +@@ -19,6 +19,7 @@ from torch.testing._internal.common_distributed import ( + requires_nccl, + skip_if_lt_x_gpu, + ) ++from torch.testing._internal.common_utils import requires_cuda + from torch._inductor.compile_fx import compile_fx as inductor_compile_fx + from torch._inductor.utils import has_triton, run_and_get_triton_code + import torch._dynamo.logging +@@ -216,6 +217,7 @@ class TestCollectivesMultiProc(DynamoDistributedMultiProcTestCase): + + + @requires_nccl() ++@requires_cuda + class TestCollectivesInductor(DynamoDistributedSingleProcTestCase): + """ + Prefer single-proc test runner for basic tests as it is easier to work with. +diff --git a/torch/testing/_internal/common_utils.py b/torch/testing/_internal/common_utils.py +index 1e18ca2afec..bad5af5212f 100644 +--- a/torch/testing/_internal/common_utils.py ++++ b/torch/testing/_internal/common_utils.py +@@ -1111,6 +1111,7 @@ if TEST_CUDA and 'NUM_PARALLEL_PROCS' in os.environ: + # other libraries take up about 11% of space per process + torch.cuda.set_per_process_memory_fraction(round(1 / num_procs - .11, 2)) + ++requires_cuda = unittest.skipUnless(torch.cuda.is_available(), "Requires CUDA") + + def skipIfCrossRef(fn): + @wraps(fn) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-conj-mismatch-test-failures.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-conj-mismatch-test-failures.patch new file mode 100644 index 00000000000..0fcb86b1624 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-conj-mismatch-test-failures.patch @@ -0,0 +1,66 @@ +In test_ops.py the tests test_python_ref_meta__refs_linalg_svd_cpu_complex* fail +when PyTorch is compiled with CUDA support with +> RuntimeError: Conj mismatch! is_conj is set to False and True + +This is a known issue (https://github.com/pytorch/pytorch/issues/105068) +so don't check the flag in the test. + +diff --git a/test/test_ops.py b/test/test_ops.py +index 08a8185d346..dc98e7c7439 100644 +--- a/test/test_ops.py ++++ b/test/test_ops.py +@@ -302,6 +302,10 @@ class TestCommon(TestCase): + @ops(python_ref_db) + @skipIfTorchInductor("Takes too long for inductor") + def test_python_ref_meta(self, device, dtype, op): ++ CHECK_CONJ_SKIPS = { ++ torch._refs.linalg.svd, ++ } ++ + with FakeTensorMode() as mode: + pass + +@@ -328,12 +332,12 @@ class TestCommon(TestCase): + + if isinstance(result, torch.Tensor): + self.assertTrue(isinstance(meta_result, FakeTensor)) +- prims.utils.compare_tensor_meta(result, meta_result) ++ prims.utils.compare_tensor_meta(result, meta_result, check_conj=op.op not in CHECK_CONJ_SKIPS) + elif isinstance(result, Sequence): + for a, b in zip(result, meta_result): + if isinstance(a, torch.Tensor) or isinstance(b, torch.Tensor): + self.assertTrue(isinstance(b, FakeTensor)) +- prims.utils.compare_tensor_meta(a, b) ++ prims.utils.compare_tensor_meta(a, b, check_conj=op.op not in CHECK_CONJ_SKIPS) + + def _ref_test_helper( + self, +diff --git a/torch/_prims_common/__init__.py b/torch/_prims_common/__init__.py +index d60931162da..da217470930 100644 +--- a/torch/_prims_common/__init__.py ++++ b/torch/_prims_common/__init__.py +@@ -90,7 +90,7 @@ def same_shape(a: ShapeType, b: ShapeType) -> bool: + + # TODO: look at using torch.testing.assert_close instead with an option + # to just compare metadata +-def compare_tensor_meta(a: TensorLikeType, b: TensorLikeType, check_strides=False): ++def compare_tensor_meta(a: TensorLikeType, b: TensorLikeType, check_strides=False, check_conj=True): + """ + Checks that two tensor likes have the same shape, + dtype and device. +@@ -131,10 +131,11 @@ def compare_tensor_meta(a: TensorLikeType, b: TensorLikeType, check_strides=Fals + msg = f"Storage offset mismatch! Storage offsets are {a.storage_offset()} and {b.storage_offset()}!" + raise RuntimeError(msg) + +- if a.is_conj() != b.is_conj(): +- raise RuntimeError( +- f"Conj mismatch! is_conj is set to {a.is_conj()} and {b.is_conj()}" +- ) ++ if check_conj: ++ if a.is_conj() != b.is_conj(): ++ raise RuntimeError( ++ f"Conj mismatch! is_conj is set to {a.is_conj()} and {b.is_conj()}" ++ ) + + if a.is_neg() != b.is_neg(): + raise RuntimeError( diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-device-mesh-check.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-device-mesh-check.patch new file mode 100644 index 00000000000..e3458341436 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-device-mesh-check.patch @@ -0,0 +1,22 @@ +Fix error when there are more GPUs than ranks: +> RuntimeError: DeviceMesh only support homogeneous hardware, but found 4 ranks and 8 cuda devices! + +See https://github.com/pytorch/pytorch/pull/111091 + +diff --git a/torch/distributed/_tensor/device_mesh.py b/torch/distributed/_tensor/device_mesh.py +index b5e30eeca82..21ba82503a8 100644 +--- a/torch/distributed/_tensor/device_mesh.py ++++ b/torch/distributed/_tensor/device_mesh.py +@@ -165,7 +165,10 @@ class DeviceMesh: + # automatically set the current cuda/cuda-like device base on num of gpu devices available in each host + # NOTE: This device selection would only work for homogeneous hardware. + num_devices_per_host = device_handle.device_count() +- if world_size % num_devices_per_host != 0: ++ if ( ++ world_size > num_devices_per_host ++ and world_size % num_devices_per_host != 0 ++ ): + raise RuntimeError( + f"DeviceMesh only support homogeneous hardware, but found " + f"{world_size} ranks and {num_devices_per_host} {self.device_type} devices!" + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-locale-issue-in-nvrtcCompileProgram.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-locale-issue-in-nvrtcCompileProgram.patch new file mode 100644 index 00000000000..a8aa712d4ad --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-locale-issue-in-nvrtcCompileProgram.patch @@ -0,0 +1,106 @@ +There is a bug in CUDA 11.7 through at least CUDA 12.4 which changes the current thread locale +when calling nvrtcCompileProgram. +See e.g. https://stackoverflow.com/questions/74044994 +This also includes the encoding used by Python by default for e.g. subsequent invocations of `subprocess` calls. +When the user environment is now set to e.g. UTF-8 and changed by CUDA (to ASCII/ANSI_X3.4-1968) Python will fail +to decode UTF-8 output from programs invoked. +This happens e.g. in `test_torch` which calls `from scipy import stats` which runs `lscpu` and errors +with something like +> /software/SciPy-bundle/2023.07-gfbf-2023a/lib/python3.11/site-packages/numpy/testing/_private/utils.py", line 1253, in +> _SUPPORTS_SVE = check_support_sve() +> /software/SciPy-bundle/2023.07-gfbf-2023a/lib/python3.11/site-packages/numpy/testing/_private/utils.py", line 1247, in check_support_sve +> output = subprocess.run(cmd, capture_output=True, text=True) +> /software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/subprocess.py", line 2113, in _communicate +> stdout = self._translate_newlines(stdout, +> UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 96: ordinal not in range(128) + +Fix by wrapping the nvrtcCompileProgram saving and restoring the thread locale. + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/cuda/detail/LazyNVRTC.cpp b/aten/src/ATen/cuda/detail/LazyNVRTC.cpp +index 1b85e7776e2..1c13a3b1168 100644 +--- a/aten/src/ATen/cuda/detail/LazyNVRTC.cpp ++++ b/aten/src/ATen/cuda/detail/LazyNVRTC.cpp +@@ -2,6 +2,7 @@ + + #include + #include ++#include + #include + + namespace at { +@@ -143,6 +144,29 @@ nvrtcResult nvrtcCreateProgram(nvrtcProgram *prog, + return fn(prog, src, name, numHeaders, headers, includeNames); + } + ++nvrtcResult nvrtcCompileProgram_wrapped(nvrtcProgram prog, ++ int numOptions, ++ const char * const *options) { ++ // Save & restore current thread locale which can get modified by nvrtcCompileProgram ++ locale_t oldLocale = uselocale((locale_t) 0); ++ auto result = lazyNVRTC.nvrtcCompileProgram_real(prog, numOptions, options); ++ if (oldLocale != (locale_t) 0) ++ uselocale(oldLocale); ++ return result; ++} ++ ++nvrtcResult nvrtcCompileProgram(nvrtcProgram prog, ++ int numOptions, ++ const char * const *options) { ++ auto fn = reinterpret_cast(getNVRTCLibrary().sym(__func__)); ++ if (!fn) ++ throw std::runtime_error("Can't get nvrtcCompileProgram"); ++ lazyNVRTC.nvrtcCompileProgram_real = fn; ++ fn = &nvrtcCompileProgram_wrapped; ++ lazyNVRTC.nvrtcCompileProgram = fn; ++ return fn(prog, numOptions, options); ++} ++ + NVRTC_STUB1(nvrtcDestroyProgram, nvrtcProgram *); + NVRTC_STUB2(nvrtcGetPTXSize, nvrtcProgram, size_t *); + NVRTC_STUB2(nvrtcGetPTX, nvrtcProgram, char *); +@@ -150,7 +174,6 @@ NVRTC_STUB2(nvrtcGetPTX, nvrtcProgram, char *); + NVRTC_STUB2(nvrtcGetCUBINSize, nvrtcProgram, size_t *); + NVRTC_STUB2(nvrtcGetCUBIN, nvrtcProgram, char *); + #endif +-NVRTC_STUB3(nvrtcCompileProgram, nvrtcProgram, int, const char * const *); + _STUB_1(NVRTC, nvrtcGetErrorString, const char *, nvrtcResult); + NVRTC_STUB2(nvrtcGetProgramLogSize,nvrtcProgram, size_t*); + NVRTC_STUB2(nvrtcGetProgramLog, nvrtcProgram, char *); +diff --git a/aten/src/ATen/cuda/nvrtc_stub/ATenNVRTC.h b/aten/src/ATen/cuda/nvrtc_stub/ATenNVRTC.h +index 574b2c41c26..4ddc5316dad 100644 +--- a/aten/src/ATen/cuda/nvrtc_stub/ATenNVRTC.h ++++ b/aten/src/ATen/cuda/nvrtc_stub/ATenNVRTC.h +@@ -120,6 +120,8 @@ extern "C" typedef struct NVRTC { + #define CREATE_MEMBER(name) decltype(&name) name; + AT_FORALL_NVRTC(CREATE_MEMBER) + #undef CREATE_MEMBER ++ // Must be at end! ++ decltype(nvrtcCompileProgram) nvrtcCompileProgram_real; + } NVRTC; + + extern "C" TORCH_CUDA_CPP_API NVRTC* load_nvrtc(); +diff --git a/caffe2/cuda_rtc/common_rtc.h b/caffe2/cuda_rtc/common_rtc.h +index 9d9582d34b6..562a653a67a 100644 +--- a/caffe2/cuda_rtc/common_rtc.h ++++ b/caffe2/cuda_rtc/common_rtc.h +@@ -1,6 +1,7 @@ + #ifndef CAFFE2_CUDA_RTC_COMMON_RTC_H_ + #define CAFFE2_CUDA_RTC_COMMON_RTC_H_ + ++#include + #include + #include + +@@ -46,7 +47,10 @@ class CudaRTCFunction { + // coding it? + const char* nvrtc_opts[] = { + "--gpu-architecture=compute_35", "--use_fast_math"}; ++ locale_t oldLocale = uselocale((locale_t) 0); + nvrtcResult compile_result = nvrtcCompileProgram(prog, 2, nvrtc_opts); ++ if (oldLocale != (locale_t) 0) ++ uselocale(oldLocale); + if (compile_result != NVRTC_SUCCESS) { + size_t log_size; + NVRTC_CHECK(nvrtcGetProgramLogSize(prog, &log_size)); diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch new file mode 100644 index 00000000000..eacc92b9e84 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-test_extension_backend-without-vectorization.patch @@ -0,0 +1,39 @@ +The test checks for a substring "loadu" in generated code. +On AVX systems that line is: +> auto tmp0 = at::vec::Vectorized::loadu(in_ptr0 + static_cast(i0)) +however on non-AVX systems it is +> auto tmp0 = in_ptr0[static_cast(i0)]; + +the difference depends on `codecache.valid_vec_isa_list()` being non-empty. +See torch/_inductor/codegen/cpp.py:2639 + +Modify the test to account for that. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/inductor/test_extension_backend.py b/test/inductor/test_extension_backend.py +index 7d6f35d7b74..decc61d62d7 100644 +--- a/test/inductor/test_extension_backend.py ++++ b/test/inductor/test_extension_backend.py +@@ -20,7 +20,7 @@ except ImportError: + ) + + from torch._C import FileCheck +-from torch._inductor import metrics ++from torch._inductor import codecache, metrics + from torch._inductor.codegen.common import ( + get_scheduling_for_device, + get_wrapper_codegen_for_device, +@@ -130,7 +130,11 @@ class ExtensionBackendTests(TestCase): + metrics.reset() + opt_fn = torch.compile()(fn) + code = run_and_get_cpp_code(opt_fn, x, y, z) +- FileCheck().check("void kernel").check("loadu").check("extension_device").run( ++ if codecache.valid_vec_isa_list(): ++ load_expr = 'loadu' ++ else: ++ load_expr = ' = in_ptr0[static_cast(i0)];' ++ FileCheck().check("void kernel").check(load_expr).check("extension_device").run( + code + ) + opt_fn(x, y, z) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-test_memory_profiler.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-test_memory_profiler.patch new file mode 100644 index 00000000000..163c474053b --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-test_memory_profiler.patch @@ -0,0 +1,19 @@ +The test seems to be too sensitive and may fail due to a small temporary allocation. +Increase the filter size to make it pass. +See https://github.com/pytorch/pytorch/issues/109592 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/profiler/test_memory_profiler.py b/test/profiler/test_memory_profiler.py +index 243d109693b..3f46ea6ac58 100644 +--- a/test/profiler/test_memory_profiler.py ++++ b/test/profiler/test_memory_profiler.py +@@ -1480,7 +1480,7 @@ class TestMemoryProfilerE2E(TestCase): + + # We generally don't care about tiny allocations during memory + # profiling and they add a lot of noise to the unit test. +- if size > 512 ++ if size > 1024 + ] + + self.assertExpectedInline( diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-test_torchinductor-rounding.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-test_torchinductor-rounding.patch new file mode 100644 index 00000000000..18ce6456a0e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-test_torchinductor-rounding.patch @@ -0,0 +1,87 @@ +test_round_correctness_dynamic_shapes_cpu in test_torchinductor_dynamic_shapes.py +and test_comprehensive_round_cpu_float16 in test_torchinductor_opinfo +may fail, e.g. on PPC, due to unsafe math optimizations changing the rounding. +In particular it does not round halfway cases to even leading to a diff of 1.0: + +Mismatched elements: 6 / 200 (3.0%) +Greatest absolute difference: 1.0 at index (15,) (up to 1e-07 allowed) +Greatest relative difference: 0.5 at index (75,) (up to 1e-07 allowed) + +See https://github.com/pytorch/pytorch/issues/117346 +Fix by disabling -funsafe-math-optimizations for these tests. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/inductor/test_torchinductor.py b/test/inductor/test_torchinductor.py +index e6f1ea5a056..d6922da0289 100644 +--- a/test/inductor/test_torchinductor.py ++++ b/test/inductor/test_torchinductor.py +@@ -81,7 +81,7 @@ from torch._inductor import config, test_operators + from torch._inductor.compile_fx import compile_fx, compile_fx_inner + from torch._inductor.utils import has_torchvision_roi_align + +-from torch.testing._internal.common_utils import slowTest ++from torch.testing._internal.common_utils import slowTest, disable_unsafe_math_optimizations + from torch.testing._internal.inductor_utils import HAS_CPU, HAS_CUDA + + HAS_MULTIGPU = HAS_CUDA and torch.cuda.device_count() >= 2 +@@ -1287,6 +1287,7 @@ class CommonTemplate: + # with *100 we are always getting a number exactly at .5 which we don't do right in half + self.common(fn, (torch.randn(8, 8) * 100, torch.randn(8, 8) * 10)) + ++ @disable_unsafe_math_optimizations + def test_round_correctness(self): + if self.device == "cuda": + raise unittest.SkipTest("need to debug tl.libdevice on A100/V100") +diff --git a/torch/testing/_internal/common_methods_invocations.py b/torch/testing/_internal/common_methods_invocations.py +index 5f6fa9e3eda..b25d5663b4e 100644 +--- a/torch/testing/_internal/common_methods_invocations.py ++++ b/torch/testing/_internal/common_methods_invocations.py +@@ -16,7 +16,7 @@ from torch import inf, nan + from typing import Any, Dict, List, Tuple, Union, Sequence + from torch.testing import make_tensor + from torch.testing._internal.common_dtype import ( +- _dispatch_dtypes, floating_types, floating_types_and, complex_types, floating_and_complex_types, ++ _dispatch_dtypes, floating_types, floating_types_and, floating_types_and_half, complex_types, floating_and_complex_types, + floating_and_complex_types_and, all_types_and_complex_and, all_types_and, all_types_and_complex, integral_types_and, + all_types, empty_types, complex_types_and, integral_types + ) +@@ -30,6 +30,7 @@ from torch.testing._internal.common_cuda import ( + _get_torch_cuda_version, _get_torch_rocm_version, + ) + from torch.testing._internal.common_utils import ( ++ disable_unsafe_math_optimizations, + make_fullrank_matrices_with_distinct_singular_values, + TEST_WITH_ROCM, IS_WINDOWS, IS_MACOS, TEST_SCIPY, + torch_to_numpy_dtype_dict, TEST_WITH_ASAN, +@@ -14353,6 +14354,11 @@ op_db: List[OpInfo] = [ + 'TestNNCOpInfo', + 'test_nnc_correctness', + dtypes=(torch.bfloat16,)), ++ DecorateInfo(disable_unsafe_math_optimizations, ++ 'TestInductorOpInfo', ++ 'test_comprehensive', ++ dtypes=floating_types_and_half(), ++ device_type='cpu'), + ), + supports_sparse=True, + supports_sparse_csr=True, +diff --git a/torch/testing/_internal/common_utils.py b/torch/testing/_internal/common_utils.py +index 1e18ca2afec..fe183bbc736 100644 +--- a/torch/testing/_internal/common_utils.py ++++ b/torch/testing/_internal/common_utils.py +@@ -999,6 +999,14 @@ def is_avx512_vnni_supported(): + + IS_AVX512_VNNI_SUPPORTED = is_avx512_vnni_supported() + ++def disable_unsafe_math_optimizations(method): ++ @wraps(method) ++ def wrapper(*args, **kwargs): ++ flags = torch._inductor.codecache.optimization_flags() + ' -fno-unsafe-math-optimizations' ++ with unittest.mock.patch("torch._inductor.codecache.optimization_flags", return_value=flags): ++ method(*args, **kwargs) ++ return wrapper ++ + if IS_WINDOWS: + @contextmanager + def TemporaryFileName(*args, **kwargs): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-vsx-vector-abs.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-vsx-vector-abs.patch new file mode 100644 index 00000000000..ee7baf51f3d --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-vsx-vector-abs.patch @@ -0,0 +1,47 @@ +VSX: Fix vectorized abs function for complex tensors + +Use a similar approach with Sleef as in #99550 +to improve the precision and extremal value handling of the `abs` +function for complex tensors. + +This fixes +- test_reference_numerics_extremal__refs_abs_cpu_float64 +- test_reference_numerics_extremal__refs_abs_cpu_float128 +which failed on PPC. + +See https://github.com/pytorch/pytorch/pull/116859 + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h +index b80f7b79fca..382f32c0305 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h +@@ -226,8 +226,9 @@ class Vectorized { + } + + Vectorized abs_() const { +- auto ret = abs_2_(); +- return ret.elwise_sqrt(); ++ auto vi = el_mergeo(); ++ auto vr = el_mergee(); ++ return {Sleef_hypotd2_u05vsx(vr._vec0, vi._vec0), Sleef_hypotd2_u05vsx(vr._vec1, vi._vec1)}; + } + + Vectorized abs() const { +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h +index 7efffa76c3a..0e30742eb9b 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h +@@ -274,8 +274,9 @@ class Vectorized { + } + + Vectorized abs_() const { +- auto ret = abs_2_(); +- return ret.elwise_sqrt(); ++ auto vi = el_mergeo(); ++ auto vr = el_mergee(); ++ return {Sleef_hypotf4_u05vsx(vr._vec0, vi._vec0), Sleef_hypotf4_u05vsx(vr._vec1, vi._vec1)}; + } + + Vectorized abs() const { diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-vsx-vector-div.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-vsx-vector-div.patch new file mode 100644 index 00000000000..5e7330f21c2 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-vsx-vector-div.patch @@ -0,0 +1,104 @@ +Fix overflow (to inf) in division of large complex values leading to failures in e.g. +test_reference_numerics_extremal__refs_abs_cpu_complex64 (test_unary_ufuncs) +See https://github.com/pytorch/pytorch/pull/116972 + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h +index 0e30742eb9b..5bff72e6874 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h +@@ -238,18 +238,14 @@ class Vectorized { + return loadu(tmp); + } + +- static Vectorized horizontal_add_permD8( ++ static Vectorized horizontal_add( + Vectorized& first, + Vectorized& second) { +- // we will simulate it differently with 6 instructions total +- // lets permute second so that we can add it getting horizontal sums +- auto first_perm = first.el_swapped(); // 2perm +- auto second_perm = second.el_swapped(); // 2perm +- // sum +- auto first_ret = first + first_perm; // 2add +- auto second_ret = second + second_perm; // 2 add +- // now lets choose evens +- return el_mergee(first_ret, second_ret); // 2 mergee's ++ // Operates on individual floats, see _mm_hadd_ps ++ // {f0+f1, s0+s1, f2+f3, s2+s3, ...} ++ // i.e. it sums the re and im of each value and interleaves first and second: ++ // {f_re0 + f_im0, s_re0 + s_im0, f_re1 + f_im1, s_re1 + s_im1, ...} ++ return el_mergee(first, second) + el_mergeo(first, second); + } + + static Vectorized horizontal_sub_permD8( +@@ -353,12 +349,19 @@ class Vectorized { + static Vectorized el_mergee( + Vectorized& first, + Vectorized& second) { +- // as mergee phased in , we can use vec_perm with mask + return { + vec_mergee(first._vecb0, second._vecb0), + vec_mergee(first._vecb1, second._vecb1)}; + } + ++ static Vectorized el_mergeo( ++ Vectorized& first, ++ Vectorized& second) { ++ return { ++ vec_mergeo(first._vecb0, second._vecb0), ++ vec_mergeo(first._vecb1, second._vecb1)}; ++ } ++ + Vectorized angle_() const { + // angle = atan2(b/a) + // auto b_a = _mm256_permute_ps(values, 0xB1); // b a +@@ -485,25 +488,20 @@ class Vectorized { + // re + im*i = (a + bi) / (c + di) + // re = (ac + bd)/abs_2() + // im = (bc - ad)/abs_2() +-#if 1 +- auto vi = b.el_mergeo(); +- auto vr = b.el_mergee(); +- auto abs_b = b.abs_2_(); +- vi = vi ^ isign_mask; +- auto ret = elwise_mult(vr); +- auto vx_swapped = el_swapped(); +- ret = vx_swapped.el_madd(vi, ret); +- ret = ret.elwise_div(abs_b); +-#else +- // Vectorized x86 simulation +- auto ac_bd = elwise_mult(b); +- auto d_c = b.el_swapped(); +- d_c = d_c ^ rsign_mask; +- auto ad_bc = elwise_mult(d_c); +- auto abs_b = b.abs_2_(); +- auto re_im = horizontal_add_permD8(ac_bd, ad_bc); +- auto ret = re_im.elwise_div(abs_b); +-#endif ++ auto fabs_cd = Vectorized{ ++ vec_andc(b._vec0, sign_mask), ++ vec_andc(b._vec1, sign_mask)}; // |c| |d| ++ auto fabs_dc = fabs_cd.el_swapped(); // |d| |c| ++ auto scale = fabs_cd.elwise_max(fabs_dc); // sc = max(|c|, |d|) ++ auto a2 = elwise_div(scale); // a/sc b/sc ++ auto b2 = b.elwise_div(scale); // c/sc d/sc ++ auto acbd2 = a2.elwise_mult(b2); // ac/sc^2 bd/sc^2 ++ auto dc2 = b2.el_swapped(); // d/sc c/sc ++ dc2 = dc2 ^ rsign_mask; // -d/sc c/sc ++ auto adbc2 = a2.elwise_mult(dc2); // -ad/sc^2 bc/sc^2 ++ auto ret = horizontal_add(acbd2, adbc2); // (ac+bd)/sc^2 (bc-ad)/sc^2 ++ auto denom2 = b2.abs_2_(); // (c^2+d^2)/sc^2 (c^2+d^2)/sc^2 ++ ret = ret.elwise_div(denom2); + return ret; + } + +@@ -628,6 +626,7 @@ class Vectorized { + DEFINE_MEMBER_OP(elwise_ge, ComplexFlt, vec_cmpge) + DEFINE_MEMBER_OP(elwise_lt, ComplexFlt, vec_cmplt) + DEFINE_MEMBER_OP(elwise_le, ComplexFlt, vec_cmple) ++ DEFINE_MEMBER_OP(elwise_max, ComplexFlt, vec_max) + }; + + template <> diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-with_temp_dir-decorator.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-with_temp_dir-decorator.patch new file mode 100644 index 00000000000..3834bdf3d25 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-with_temp_dir-decorator.patch @@ -0,0 +1,19 @@ +The decorator fails to pass the argument list to the function. +This then fails e.g. test/distributed/checkpoint/test_fsdp_optim_state.py with +> TypeError: FsdpOptimStateCheckpoint.test_load_sharded_optimizer_state_dict() missing 1 required positional argument: 'pass_planner' + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/distributed/checkpoint_utils.py b/torch/testing/_internal/distributed/checkpoint_utils.py +index 1a6e43a038c..52f79b37bfd 100644 +--- a/torch/testing/_internal/distributed/checkpoint_utils.py ++++ b/torch/testing/_internal/distributed/checkpoint_utils.py +@@ -31,7 +31,7 @@ def with_temp_dir( + self.temp_dir = object_list[0] + + try: +- func(self) ++ func(self, *args, **kwargs) + finally: + if dist.get_rank() == 0: + shutil.rmtree(self.temp_dir, ignore_errors=True) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-wrong-device-mesh-size-in-tests.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-wrong-device-mesh-size-in-tests.patch new file mode 100644 index 00000000000..9d867607472 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_fix-wrong-device-mesh-size-in-tests.patch @@ -0,0 +1,28 @@ +From 1d1308649298caf8884970fc57ed82a2d8ea6079 Mon Sep 17 00:00:00 2001 +From: Xilun Wu <12968408+XilunWu@users.noreply.github.com> +Date: Tue, 26 Dec 2023 17:48:11 -0800 +Subject: [PATCH] [BE] force DTensorTestBase.build_device_mesh to use + world_size rather than NUM_DEVICES constant (#116439) + +**Test**: +`python test/distributed/fsdp/test_shard_utils.py -k test_create_chunk_dtensor` + +Pull Request resolved: https://github.com/pytorch/pytorch/pull/116439 +Approved by: https://github.com/wanchaol +--- + torch/testing/_internal/distributed/_tensor/common_dtensor.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/torch/testing/_internal/distributed/_tensor/common_dtensor.py b/torch/testing/_internal/distributed/_tensor/common_dtensor.py +index ab86ecd1616a74f..05a3c0872878965 100644 +--- a/torch/testing/_internal/distributed/_tensor/common_dtensor.py ++++ b/torch/testing/_internal/distributed/_tensor/common_dtensor.py +@@ -192,7 +192,7 @@ def backend(self) -> str: + return PG_BACKEND + + def build_device_mesh(self) -> DeviceMesh: +- return DeviceMesh(DEVICE_TYPE, list(range(NUM_DEVICES))) ++ return DeviceMesh(DEVICE_TYPE, list(range(self.world_size))) + + def init_pg(self) -> None: + if "nccl" in self.backend and torch.cuda.device_count() < self.world_size: diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_relax-cuda-tolerances.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_relax-cuda-tolerances.patch new file mode 100644 index 00000000000..7301efcdd10 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_relax-cuda-tolerances.patch @@ -0,0 +1,22 @@ +test_jit fails in test_freeze_conv_relu_fusion with +Mismatched elements: 7 / 30 (23.3%) +Greatest absolute difference: 3.053247928619385e-05 at index (1, 1, 0, 0, 0) (up to 1e-05 allowed) +Greatest relative difference: 0.0004548609140329063 at index (3, 1, 0, 0, 0) (up to 1.3e-06 allowed) + +Increase the tolerance to allow this to pass. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/jit/test_freezing.py b/test/jit/test_freezing.py +index c8c1441adbf..e0feffd6bb5 100644 +--- a/test/jit/test_freezing.py ++++ b/test/jit/test_freezing.py +@@ -2733,7 +2733,7 @@ class TestFrozenOptimizations(JitTestCase): + else: + FileCheck().check("aten::cudnn_convolution_relu").run(frozen_mod.graph) + +- self.assertEqual(mod_eager(inp), frozen_mod(inp)) ++ self.assertEqual(mod_eager(inp), frozen_mod(inp), atol=1e-4, rtol=4e-3) + + @unittest.skipIf(not (TEST_CUDNN or TEST_WITH_ROCM), "requires CUDNN") + def test_freeze_conv_relu_fusion_not_forward(self): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_remove-nccl-backend-default-without-gpus.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_remove-nccl-backend-default-without-gpus.patch new file mode 100644 index 00000000000..6506508c916 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_remove-nccl-backend-default-without-gpus.patch @@ -0,0 +1,41 @@ +In some code paths the ProcessGroupNCCL is created when PyTorch was compiled with NCCL. +However without any GPUs present at runtime the creation will fail with +> RuntimeError: ProcessGroupNCCL is only supported with GPUs, no GPUs found! + +Remove NCCL as a available default backend if CUDA isn't available. +See https://github.com/pytorch/pytorch/issues/117746 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/distributed/distributed_c10d.py b/torch/distributed/distributed_c10d.py +index 098e209264c..80962466bff 100644 +--- a/torch/distributed/distributed_c10d.py ++++ b/torch/distributed/distributed_c10d.py +@@ -271,9 +271,11 @@ class BackendConfig: + if backend == Backend.UNDEFINED: + # default config when backend is not specified + # supported since PyTorch 2.0 +- for device in Backend.default_device_backend_map: +- if is_backend_available(Backend.default_device_backend_map[device]): +- self.device_backend_map[device] = Backend.default_device_backend_map[device] ++ for device, default_backend in Backend.default_device_backend_map.items(): ++ if is_backend_available(default_backend): ++ if default_backend == Backend.NCCL and not torch.cuda.is_available(): ++ continue ++ self.device_backend_map[device] = default_backend + elif backend.lower() in Backend.backend_list: + # Cases for when backend is a single string (without device types) + # e.g. "nccl", "gloo", "ucc", "mpi" +diff --git a/test/distributed/test_c10d_common.py b/test/distributed/test_c10d_common.py +index a717c875e76..b382ba760f4 100644 +--- a/test/distributed/test_c10d_common.py ++++ b/test/distributed/test_c10d_common.py +@@ -1775,7 +1775,7 @@ class ProcessGroupWithDispatchedCollectivesTests(MultiProcessTestCase): + if not dist.is_mpi_available(): + continue + elif backend == dist.Backend.NCCL: +- if not dist.is_nccl_available(): ++ if not dist.is_nccl_available() or not torch.cuda.is_available(): + continue + elif backend == dist.Backend.GLOO: + if not dist.is_gloo_available(): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch new file mode 100644 index 00000000000..cb6028e1b06 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_skip-cpu_repro-test-without-vectorization.patch @@ -0,0 +1,88 @@ +test_cpu_repro fails on e.g. PPC where no AVX is available +Failures are all of the kind + + assert metrics.generated_cpp_vec_kernel_count == 1 +AssertionError + +As this is expected, skip the affected tests. +See https://github.com/pytorch/pytorch/pull/117262 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/inductor/test_cpu_repro.py b/test/inductor/test_cpu_repro.py +index 102c5af5168..3bc107b960b 100644 +--- a/test/inductor/test_cpu_repro.py ++++ b/test/inductor/test_cpu_repro.py +@@ -56,6 +56,8 @@ TestCase = test_torchinductor.TestCase + aten = torch.ops.aten + check_model = test_torchinductor.check_model + ++requires_vectorization = unittest.skipUnless(codecache.valid_vec_isa_list(), ++ "Does not support vectorization") + + class LstmModule(torch.nn.Module): + def __init__( +@@ -2165,6 +2167,7 @@ class CPUReproTests(TestCase): + self.assertEqual(metrics.generated_kernel_count, 1) + self.assertTrue(same(fn(a, b, c, idx), opt_fn(a, b, c, idx))) + ++ @requires_vectorization + def test_lowp_fp_neg_abs(self): + def fn(x): + return x.neg().abs() +@@ -2177,6 +2180,7 @@ class CPUReproTests(TestCase): + assert metrics.cpp_to_dtype_count == 0 + assert metrics.generated_cpp_vec_kernel_count == 1 + ++ @requires_vectorization + def test_transpose_non_contiguous(self): + def fn(a): + # From part of timm HaloAttn: +@@ -2214,6 +2218,7 @@ class CPUReproTests(TestCase): + self.common(fn, (x,)) + assert metrics.generated_cpp_vec_kernel_count == 1 + ++ @requires_vectorization + def test_non_contiguous_index_with_constant_stride(self): + def fn(x): + x1 = x[:, :, :, ::2] +@@ -2252,6 +2257,7 @@ class CPUReproTests(TestCase): + fn(torch.randn([8, 128])) + self.assertGreater(len(strings), 3) + ++ @requires_vectorization + def test_vertical_sum_cpu_only(self): + def fn1(a): + return a.sum(dim=0) +@@ -2269,6 +2275,7 @@ class CPUReproTests(TestCase): + self.common(fn2, (x,)) + assert metrics.generated_cpp_vec_kernel_count == 1 + ++ @requires_vectorization + def test_transpose_vertical_sum_cpu_only(self): + def fn(a, b): + c = a * b +@@ -2280,6 +2287,7 @@ class CPUReproTests(TestCase): + self.common(fn, (x, y)) + assert metrics.generated_cpp_vec_kernel_count == 2 + ++ @requires_vectorization + def test_transpose_sum2d_cpu_only(self): + def fn(a, b): + c = a * b +@@ -2291,6 +2299,7 @@ class CPUReproTests(TestCase): + self.common(fn, (x, y)) + assert metrics.generated_cpp_vec_kernel_count == 2 + ++ @requires_vectorization + def test_transpose_sum_outer(self): + # https://github.com/pytorch/pytorch/issues/98573 + def fn(a): +@@ -2417,6 +2426,7 @@ class CPUReproTests(TestCase): + ) + self.assertEqual(metrics.generated_kernel_count, 1) + ++ @requires_vectorization + def test_scalar_mul_bfloat16(self): + def f(x): + return torch.ops.aten.mul.Tensor(x, 1.7015043497085571) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_skip-failing-test_dtensor_ops-subtests.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_skip-failing-test_dtensor_ops-subtests.patch new file mode 100644 index 00000000000..41bf3660301 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_skip-failing-test_dtensor_ops-subtests.patch @@ -0,0 +1,36 @@ +test_dtensor_op_db_nn_functional_pad_circular_cpu_float32 may unexpectatly succeed, just skip it. +Failure is expected until https://github.com/pytorch/pytorch/commit/9378a2ceda8 +test_dtensor_op_db_nn_functional_multi_head_attention_forward_cpu_float32 fails with +> NotImplementedError: Operator aten.constant_pad_nd.default does not have a sharding strategy registered. +Marked xfail in https://github.com/pytorch/pytorch/commit/49d826bcd3de952eb84a33c89ed399a1a2821c15 +test_dtensor_op_db_empty_strided_cpu_float32 doesn't make sense to run in the first place, +see https://github.com/pytorch/pytorch/issues/118094 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/_tensor/test_dtensor_ops.py b/test/distributed/_tensor/test_dtensor_ops.py +index b7d453e56be..5a27c7f84da 100644 +--- a/test/distributed/_tensor/test_dtensor_ops.py ++++ b/test/distributed/_tensor/test_dtensor_ops.py +@@ -147,6 +147,7 @@ dtensor_fails = { + xfail("dot"), + xfail("einsum"), + xfail("empty"), ++ skip("empty_strided"), + xfail("empty_like"), + xfail("empty_permuted"), + xfail("exponential"), +@@ -359,11 +360,12 @@ dtensor_fails = { + xfail("nn.functional.mish"), + xfail("nn.functional.mse_loss"), + xfail("nn.functional.multi_margin_loss"), ++ skip("nn.functional.multi_head_attention_forward"), + xfail("nn.functional.multilabel_margin_loss"), + xfail("nn.functional.multilabel_soft_margin_loss"), + xfail("nn.functional.nll_loss"), + xfail("nn.functional.normalize"), +- xfail("nn.functional.pad", "circular"), ++ skip("nn.functional.pad", "circular"), + xfail("nn.functional.pad", "constant"), + xfail("nn.functional.pad", "reflect"), + xfail("nn.functional.pad", "replicate"), diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_skip-test_fsdp_tp_checkpoint_integration.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_skip-test_fsdp_tp_checkpoint_integration.patch new file mode 100644 index 00000000000..6a0461a7dcb --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_skip-test_fsdp_tp_checkpoint_integration.patch @@ -0,0 +1,33 @@ +test_fsdp_tp_checkpoint_integration in distributed/fsdp/test_fsdp_tp_integration.py +fails due to a regression. See https://github.com/pytorch/pytorch/issues/101162 + +> RuntimeError: Error(s) in loading state_dict for FullyShardedDataParallel: +> size mismatch for _fsdp_wrapped_module.net1.weight: copying a param with shape torch.Size([4, 5]) from checkpoint, the shape in current model is torch.Size([8, 5]). +> size mismatch for _fsdp_wrapped_module.net1.bias: copying a param with shape torch.Size([4]) from checkpoint, the shape in current model is torch.Size([8]). +> size mismatch for _fsdp_wrapped_module.net2.weight: copying a param with shape torch.Size([4, 4]) from checkpoint, the shape in current model is torch.Size([4, 8]). + +Skip the test. This should be fixed already for 2.2.x + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/fsdp/test_fsdp_tp_integration.py b/test/distributed/fsdp/test_fsdp_tp_integration.py +index bc7a4aef4a3..aea16a1f1fb 100644 +--- a/test/distributed/fsdp/test_fsdp_tp_integration.py ++++ b/test/distributed/fsdp/test_fsdp_tp_integration.py +@@ -3,6 +3,7 @@ import copy + import sys + from collections import OrderedDict + from typing import Any, Dict, List, Optional, Tuple ++import unittest + + import torch + from torch import distributed as dist +@@ -306,7 +307,7 @@ class TestTPFSDPIntegration(FSDPTest): + tp_fsdp_out = tp_fsdp_model(inp) + self.assertEqual(fsdp_out, tp_fsdp_out) + +- @skip_if_lt_x_gpu(4) ++ @unittest.skip("Known failure: #101162") + def test_fsdp_tp_checkpoint_integration(self): + """Tests checkpointing for TP + FSDP integration.""" + self.assertTrue( diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch new file mode 100644 index 00000000000..2386210fd23 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch @@ -0,0 +1,32 @@ +test_module_partitioner_functional_conv_relu_conv in test_fx.py fails with an IndexError +on e.g. POWER systems. + +Last part of the stacktrace: + File "/sympy/printing/printer.py", line 331, in _print + return printmethod(expr, **kwargs) + File "/torch/fx/experimental/symbolic_shapes.py", line 1575, in _print_Symbol + return self.print_source(self.symbol_to_source[expr][0]) +IndexError: list index out of range + +One cause is the missing MKLDNN and NNPACK (unavailable on PPC) making it skip some checks. +A workaround here is adding a check that has side effects but doesn't change the result. +That makes at least the test pass. +Another change in PyTorch 2.2.x also avoids that issue but is to large to backport. + +See https://github.com/pytorch/pytorch/issues/117033 + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/native/Convolution.cpp b/aten/src/ATen/native/Convolution.cpp +index 7af281a7cd9..3709d27b2bb 100644 +--- a/aten/src/ATen/native/Convolution.cpp ++++ b/aten/src/ATen/native/Convolution.cpp +@@ -543,7 +543,7 @@ struct ConvParams { + #endif + ; + #endif +- return false; ++ return (at::symint::size(weight, 2) < 17) && (at::symint::size(weight, 3) < 17) && false; + } + bool use_xnnpack(const at::Tensor& input, const at::Tensor& weight, + const at::OptionalArrayRef bias_sizes_opt) const { diff --git a/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-11.3.0.eb index 0c55d6c41a2..a715d91e530 100644 --- a/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-11.3.0.eb @@ -24,4 +24,6 @@ sanity_pip_check = True use_pip = True options = {'modulename': 'yaml'} +sanity_check_commands = ["python -c 'import yaml; yaml.CLoader'"] + moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.2.0.eb index 6f216f2874f..a9baad89a06 100644 --- a/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.2.0.eb @@ -24,4 +24,6 @@ sanity_pip_check = True use_pip = True options = {'modulename': 'yaml'} +sanity_check_commands = ["python -c 'import yaml; yaml.CLoader'"] + moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.3.0.eb index a1f8e4ff4f6..b373b0c8033 100644 --- a/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.3.0.eb @@ -17,6 +17,7 @@ builddependencies = [ dependencies = [ ('Python', '3.11.3'), ('libyaml', '0.2.5'), + ('Python-bundle-PyPI', '2023.06'), ] download_dep_fail = True @@ -24,4 +25,6 @@ sanity_pip_check = True use_pip = True options = {'modulename': 'yaml'} +sanity_check_commands = ["python -c 'import yaml; yaml.CLoader'"] + moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0.1-GCCcore-13.2.0.eb index caa66c5b231..23133f20f02 100644 --- a/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0.1-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0.1-GCCcore-13.2.0.eb @@ -17,11 +17,17 @@ builddependencies = [ dependencies = [ ('Python', '3.11.5'), ('libyaml', '0.2.5'), + ('Python-bundle-PyPI', '2023.10'), ] +# Use Cython old_build_ext, as PyYAML does not support the new build_ext in Cython 3 +preinstallopts = 'sed -i "s/Cython.Distutils import /Cython.Distutils.old_build_ext import old_/" setup.py &&' + download_dep_fail = True sanity_pip_check = True use_pip = True options = {'modulename': 'yaml'} +sanity_check_commands = ["python -c 'import yaml; yaml.CLoader'"] + moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyZMQ/PyZMQ-25.1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-25.1.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..56cef4cbe67 --- /dev/null +++ b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-25.1.2-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'PyZMQ' +version = '25.1.2' + +homepage = 'https://www.zeromq.org/bindings:python' +description = "Python bindings for ZeroMQ" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['93f1aa311e8bb912e34f004cf186407a4e90eec4f0ecc0efd26056bf7eda0226'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('ZeroMQ', '4.3.5'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True +options = {'modulename': 'zmq'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/Pysam/Pysam-0.22.0-GCC-12.3.0.eb b/easybuild/easyconfigs/p/Pysam/Pysam-0.22.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..684f6806245 --- /dev/null +++ b/easybuild/easyconfigs/p/Pysam/Pysam-0.22.0-GCC-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'Pysam' +version = '0.22.0' + +homepage = 'https://github.com/pysam-developers/pysam' +description = """Pysam is a python module for reading and manipulating Samfiles. + It's a lightweight wrapper of the samtools C-API. Pysam also includes an interface for tabix.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/pysam-developers/pysam/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['61b3377c5f889ddc6f6979912c3bb960d7e08407dada9cb38f13955564ea036f'] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('ncurses', '6.4'), + ('cURL', '8.0.1'), + ('XZ', '5.4.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.06-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.06-GCCcore-12.3.0.eb index 642b6fed379..6a91bcca5e4 100644 --- a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.06-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.06-GCCcore-12.3.0.eb @@ -105,9 +105,6 @@ exts_list = [ ('semantic_version', '2.10.0', { 'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'], }), - ('typing_extensions', '4.6.3', { - 'checksums': ['d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5'], - }), ('pyasn1', '0.5.0', { 'checksums': ['97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde'], }), diff --git a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb index f1c29800a58..d551945f5e7 100644 --- a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb @@ -105,9 +105,6 @@ exts_list = [ ('semantic_version', '2.10.0', { 'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'], }), - ('typing_extensions', '4.8.0', { - 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], - }), ('pyasn1', '0.5.0', { 'checksums': ['97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde'], }), diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.15-GCCcore-8.2.0.eb b/easybuild/easyconfigs/p/Python/Python-2.7.15-GCCcore-8.2.0.eb index 175bf270b5a..2c26ddf75ff 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.15-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.15-GCCcore-8.2.0.eb @@ -45,7 +45,8 @@ exts_list = [ 'checksums': ['6e4eec90337e849ade7103723b9a99631c1f0d19990d6e8412dc42f5ae8b304d'], }), ('wheel', '0.33.1', { - 'checksums': ['66a8fd76f28977bb664b098372daef2b27f60dc4d1688cfab7b37a09448f0e9d'], + 'source_tmpl': SOURCE_WHL, + 'checksums': ['8eb4a788b3aec8abf5ff68d4165441bc57420c9f64ca5f471f58c3969fe08668'], }), ('pip', '19.0.3', { 'checksums': ['6e6f197a1abfb45118dbb878b5c859a0edbdd33fd250100bc015b67fded4b9f2'], @@ -72,7 +73,8 @@ exts_list = [ 'checksums': ['52ab47715fa0fc7d8e6cd15168d1a69ba995feb1505131c3e814eb7087b57358'], }), ('python-dateutil', '2.8.0', { - 'checksums': ['c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e'], + 'source_tmpl': 'python_dateutil-%(version)s-py2.py3-none-any.whl', + 'checksums': ['7e6584c74aeed623791615e26efd690f29817a27c73085b78e4bad02493df2fb'], 'modulename': 'dateutil', }), ('deap', '1.2.2', { @@ -118,16 +120,19 @@ exts_list = [ }), ('cryptography', '2.6.1', { 'checksums': ['26c821cbeb683facb966045e2064303029d572a87ee69ca5a1bf54bf55f93ca6'], + 'use_pip': False, }), ('pyasn1', '0.4.5', { 'checksums': ['da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7'], }), ('PyNaCl', '1.3.0', { 'checksums': ['0c6100edd16fefd1557da078c7a31e7b7d7a52ce39fdca2bec29d4f7b6e7600c'], + 'use_pip': False, 'modulename': 'nacl', }), ('bcrypt', '3.1.6', { 'checksums': ['44636759d222baa62806bbceb20e96f75a015a6381690d1bc2eda91c01ec02ea'], + 'use_pip': False, }), ('paramiko', '2.4.2', { 'checksums': ['a8975a7df3560c9f1e2b43dc54ebd40fd00a7017392ca5445ce7df409f900fcb'], @@ -155,7 +160,8 @@ exts_list = [ 'checksums': ['c163a86fcef377c314690051885d86b47419e3e1770990c212e16723c1c08faa'], }), ('virtualenv', '16.4.3', { - 'checksums': ['984d7e607b0a5d1329425dd8845bd971b957424b5ba664729fab51ab8c11bc39'], + 'source_tmpl': SOURCE_WHL, + 'checksums': ['6aebaf4dd2568a0094225ebbca987859e369e3e5c22dc7d52e5406d504890417'], }), ('docopt', '0.6.2', { 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], @@ -201,6 +207,7 @@ exts_list = [ }), ('pluggy', '0.9.0', { 'checksums': ['19ecf9ce9db2fce065a7a0586e07cfb4ac8614fe96edf628a264b1c70116cf8f'], + 'use_pip': False, }), ('more-itertools', '5.0.0', { 'checksums': ['38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4'], @@ -208,12 +215,14 @@ exts_list = [ ('attrs', '19.1.0', { 'checksums': ['f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399'], 'modulename': 'attr', + 'use_pip': False, }), ('wcwidth', '0.1.7', { 'checksums': ['3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e'], }), ('pytest', '4.3.1', { - 'checksums': ['592eaa2c33fae68c7d75aacf042efc9f77b27c08a6224a4f59beab8d9a420523'], + 'source_tmpl': SOURCE_WHL, + 'checksums': ['ad3ad5c450284819ecde191a654c09b0ec72257a2c711b9633d677c71c9850c4'], }), ('MarkupSafe', '1.1.1', { 'checksums': ['29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b'], diff --git a/easybuild/easyconfigs/p/Python/Python-3.11.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Python/Python-3.11.3-GCCcore-12.3.0.eb index 2bea26aa47d..092c0b628d7 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.11.3-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.11.3-GCCcore-12.3.0.eb @@ -50,6 +50,18 @@ exts_list = [ ('setuptools', '67.7.2', { 'checksums': ['f104fa03692a2602fa0fec6c6a9e63b6c8a968de13e17c026957dd1f53d80990'], }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '23.1', { + 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], + }), + ('typing_extensions', '4.6.3', { + 'checksums': ['d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5'], + }), + ('setuptools_scm', '7.1.0', { + 'checksums': ['6c508345a771aad7d56ebff0e70628bf2b0ec7573762be9960214730de278f27'], + }), ('pip', '23.1.2', { 'checksums': ['0e7c86f486935893c708287b30bd050a36ac827ec7fe5e43fe7cb198dd835fba'], }), diff --git a/easybuild/easyconfigs/p/Python/Python-3.11.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Python/Python-3.11.5-GCCcore-13.2.0.eb index 2a132b97595..5ad7ceb101b 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.11.5-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.11.5-GCCcore-13.2.0.eb @@ -47,6 +47,18 @@ exts_list = [ ('wheel', '0.41.2', { 'checksums': ['0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985'], }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('typing_extensions', '4.8.0', { + 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], + }), + ('setuptools-scm', '8.0.4', { + 'checksums': ['b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7'], + }), ('setuptools', '68.2.2', { 'checksums': ['4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87'], }), diff --git a/easybuild/easyconfigs/p/Python/Python-3.7.2-GCCcore-8.2.0.eb b/easybuild/easyconfigs/p/Python/Python-3.7.2-GCCcore-8.2.0.eb index 9fbf771c28e..4f99edc0538 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.7.2-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.7.2-GCCcore-8.2.0.eb @@ -43,6 +43,11 @@ exts_default_options = { 'sanity_pip_check': True, } +# workaround for: AttributeError: 'module' object has no attribute '__legacy__' +# see also https://github.com/pypa/pip/issues/6264 +local_fix_pyproject_toml_cmd = r"""sed -i 's/\(\[build-system\]\)/\1\nbuild-backend="setuptools.build_meta"/g' """ +local_fix_pyproject_toml_cmd += "pyproject.toml && " + # order is important! # package versions updated Mar 15th 2019 exts_list = [ @@ -120,6 +125,7 @@ exts_list = [ }), ('cryptography', '2.6.1', { 'checksums': ['26c821cbeb683facb966045e2064303029d572a87ee69ca5a1bf54bf55f93ca6'], + 'preinstallopts': local_fix_pyproject_toml_cmd, }), ('pyasn1', '0.4.5', { 'checksums': ['da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7'], @@ -127,9 +133,11 @@ exts_list = [ ('PyNaCl', '1.3.0', { 'checksums': ['0c6100edd16fefd1557da078c7a31e7b7d7a52ce39fdca2bec29d4f7b6e7600c'], 'modulename': 'nacl', + 'preinstallopts': local_fix_pyproject_toml_cmd, }), ('bcrypt', '3.1.6', { 'checksums': ['44636759d222baa62806bbceb20e96f75a015a6381690d1bc2eda91c01ec02ea'], + 'preinstallopts': local_fix_pyproject_toml_cmd, }), ('paramiko', '2.4.2', { 'checksums': ['a8975a7df3560c9f1e2b43dc54ebd40fd00a7017392ca5445ce7df409f900fcb'], @@ -200,6 +208,7 @@ exts_list = [ }), ('pluggy', '0.9.0', { 'checksums': ['19ecf9ce9db2fce065a7a0586e07cfb4ac8614fe96edf628a264b1c70116cf8f'], + 'preinstallopts': local_fix_pyproject_toml_cmd, }), ('more-itertools', '6.0.0', { 'checksums': ['590044e3942351a1bdb1de960b739ff4ce277960f2425ad4509446dbace8d9d1'], diff --git a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.0-GCCcore-10.3.0.eb index d6be9457006..3f422baafaa 100644 --- a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.0-GCCcore-10.3.0.eb @@ -16,7 +16,10 @@ source_urls = ['https://github.com/p11-glue/p11-kit/releases/download/%(version) sources = [SOURCE_TAR_XZ] checksums = ['81e6140584f635e4e956a1b93a32239acf3811ff5b2d3a5c6094e94e99d2c685'] -builddependencies = [('binutils', '2.36.1')] +builddependencies = [ + ('binutils', '2.36.1'), + ('pkgconf', '1.8.0'), +] dependencies = [ ('libtasn1', '4.17.0'), diff --git a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.2.0.eb index 17bc1fb9519..62561fca653 100644 --- a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.2.0.eb @@ -16,7 +16,10 @@ source_urls = ['https://github.com/p11-glue/p11-kit/releases/download/%(version) sources = [SOURCE_TAR_XZ] checksums = ['d8be783efd5cd4ae534cee4132338e3f40f182c3205d23b200094ec85faaaef8'] -builddependencies = [('binutils', '2.37')] +builddependencies = [ + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] dependencies = [ ('libtasn1', '4.18.0'), diff --git a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.3.0.eb index 4a07aaf936c..08cb956cf61 100644 --- a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.3.0.eb @@ -16,7 +16,10 @@ source_urls = ['https://github.com/p11-glue/p11-kit/releases/download/%(version) sources = [SOURCE_TAR_XZ] checksums = ['d8be783efd5cd4ae534cee4132338e3f40f182c3205d23b200094ec85faaaef8'] -builddependencies = [('binutils', '2.38')] +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] dependencies = [ ('libtasn1', '4.19.0'), diff --git a/easybuild/easyconfigs/p/parameterized/parameterized-0.9.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/parameterized/parameterized-0.9.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0cb257202b3 --- /dev/null +++ b/easybuild/easyconfigs/p/parameterized/parameterized-0.9.0-GCCcore-12.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'parameterized' +version = '0.9.0' + +homepage = 'https://github.com/wolever/parameterized' +description = """ Parameterized testing with any Python test framework """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/parasail/parasail-2.6.2-GCC-12.3.0.eb b/easybuild/easyconfigs/p/parasail/parasail-2.6.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..25f71f7e3aa --- /dev/null +++ b/easybuild/easyconfigs/p/parasail/parasail-2.6.2-GCC-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'parasail' +version = '2.6.2' + +homepage = 'https://github.com/jeffdaily/parasail' +description = """parasail is a SIMD C (C99) library containing implementations + of the Smith-Waterman (local), Needleman-Wunsch (global), and semi-global + pairwise sequence alignment algorithms. """ + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'jeffdaily' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['9057041db8e1cde76678f649420b85054650414e5de9ea84ee268756c7ea4b4b'] + +builddependencies = [('CMake', '3.26.3')] + +sanity_check_paths = { + 'files': ['bin/parasail_aligner', 'bin/parasail_stats', + 'lib/libparasail.%s' % SHLIB_EXT, 'include/parasail.h'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pblat/pblat-2.5.1-foss-2022b.eb b/easybuild/easyconfigs/p/pblat/pblat-2.5.1-foss-2022b.eb new file mode 100644 index 00000000000..f832a56d7b2 --- /dev/null +++ b/easybuild/easyconfigs/p/pblat/pblat-2.5.1-foss-2022b.eb @@ -0,0 +1,41 @@ +easyblock = 'MakeCp' + +name = 'pblat' +version = '2.5.1' + +homepage = 'https://github.com/icebert/pblat' +description = """When the query file format is fasta, you can specify many threads to process it. + It can reduce run time linearly, and use almost equal memory as the original blat program. + This is useful when you blat a big query file to a huge reference like human whole genome sequence.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +github_account = 'icebert' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['e85a4d752b8e159502d529f0f9e47579851a6b466b6c2f1f4d49f598642bc615'] + +dependencies = [ + ('HTSlib', '1.17'), + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# use HTSlib dependency provided through EasyBuild +prebuildopts = "sed -i '5s/.\\/htslib/$\\{EBROOTHTSLIB\\}\\/include\\/htslib/' Makefile && " +prebuildopts += "sed -i '40s/ htslib\\/libhts.a//' Makefile && " +prebuildopts += "sed -i '41s/htslib\\/libhts.a/-lhts -lcurl/' Makefile && " +prebuildopts += "sed -i -e '/htslib\\/libhts.a:/,+2d' Makefile && " + +files_to_copy = [ + (['%(name)s'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [] +} + +sanity_check_commands = ["command -v %(name)s"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/phonemizer/phonemizer-3.2.1-gfbf-2023a.eb b/easybuild/easyconfigs/p/phonemizer/phonemizer-3.2.1-gfbf-2023a.eb new file mode 100644 index 00000000000..907228d9281 --- /dev/null +++ b/easybuild/easyconfigs/p/phonemizer/phonemizer-3.2.1-gfbf-2023a.eb @@ -0,0 +1,75 @@ +easyblock = 'PythonBundle' + +name = 'phonemizer' +version = '3.2.1' +versionsuffix = '' + +homepage = "https://github.com/bootphon/phonemizer" +description = """ +The phonemizer allows simple phonemization of words and texts in many languages. +Provides both the phonemize command-line tool and the Python function phonemizer.phonemize. +It is using four backends: espeak, espeak-mbrola, festival and segments. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('eSpeak-NG', '1.51'), + ('festival', '2.5.0'), + ('hatchling', '1.18.0'), + ('RDFlib', '7.0.0'), + ('lxml', '4.9.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('csvw', '3.3.0', { + 'checksums': ['59b6c4c725fb02138b3adb5e678e7b94f3baf7f8286c958fbd6d9d9aac5540d7'], + }), + ('language_tags', '1.2.0', { + 'checksums': ['e934acba3e3dc85f867703eca421847a9ab7b7679b11b5d5cfd096febbf8bde6'], + }), + ('uritemplate', '4.1.1', { + 'checksums': ['4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0'], + }), + # csvw 3.3.0 has requirement rfc3986<2 + ('rfc3986', '1.5.0', { + 'checksums': ['270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835'], + }), + # clldutils 3.22.2 has requirement bibtexparser>=2.0.0b4 + ('bibtexparser', '2.0.0b7', { + 'checksums': ['9e0034dd16e1961fbc895b108f49bdef6f988b5d48782b62c9492ee8a281efad'], + }), + ('pylatexenc', '2.10', { + 'checksums': ['3dd8fd84eb46dc30bee1e23eaab8d8fb5a7f507347b23e5f38ad9675c84f40d3'], + }), + ('colorlog', '6.8.2', { + 'checksums': ['3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44'], + }), + ('Markdown', '3.6', { + 'checksums': ['ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224'], + }), + ('clldutils', '3.22.2', { + 'checksums': ['0efa914d0e0156bf707f8d0160ce9eacb9b088ffeab7afc61daccadd134007b1'], + }), + ('segments', '2.2.1', { + 'checksums': ['515ae188f21d24e420d48ad45689edc747d961d6b52fde22e47500a8d85f2741'], + }), + ('dlinfo', '1.2.1', { + 'checksums': ['5f6f43b47f3aa5fe12bd347cf536dc8fca6068c61a0a260e408bec7f6eb4bd38'], + }), + (name, version, { + 'checksums': ['068f85f85a8a9adc638a3787aeacaf71a53e47578b12d773c097433500cd892b'], + }), +] + +sanity_check_commands = [ + 'phonemize --version', + 'echo "hello world" | phonemize' +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/phono3py/phono3py-2.7.0-foss-2023a.eb b/easybuild/easyconfigs/p/phono3py/phono3py-2.7.0-foss-2023a.eb new file mode 100644 index 00000000000..0a8281d1708 --- /dev/null +++ b/easybuild/easyconfigs/p/phono3py/phono3py-2.7.0-foss-2023a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'phono3py' +version = '2.7.0' + +homepage = 'http://phonopy.github.io/phono3py/' +description = """A simulation package of phonon-phonon interaction related properties.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = 'phonopy' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] + +checksums = ['26c91740bac42e7f654f2929033efa82c3751c8bebd2d861cbe37a573be86e8c'] + +dependencies = [ + ('Python', '3.11.3'), + ('phonopy', '2.20.0'), +] + +preinstallopts = 'echo "extra_compile_args = -fopenmp" > site.cfg && ' +preinstallopts += 'echo "extra_link_args = -lgomp -llapacke -lpthread" >> site.cfg && ' +installopts = " -vvv" + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/phono3py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["phono3py --help"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/phyluce/phyluce-1.7.3-foss-2023a.eb b/easybuild/easyconfigs/p/phyluce/phyluce-1.7.3-foss-2023a.eb new file mode 100644 index 00000000000..527d3deae71 --- /dev/null +++ b/easybuild/easyconfigs/p/phyluce/phyluce-1.7.3-foss-2023a.eb @@ -0,0 +1,138 @@ +easyblock = 'PythonBundle' + +name = 'phyluce' +version = '1.7.3' + +homepage = 'https://github.com/faircloth-lab/phyluce' +description = """ +phyluce is a software package for working with data generated from sequence capture of UCE +(ultra-conserved element) loci, as first published in [BCF2012]. Specifically, phyluce is a suite of programs to: +1) assemble raw sequence reads from Illumina platforms into contigs +2) determine which contigs represent UCE loci +3) filter potentially paralagous UCE loci +4) generate different sets of UCE loci across taxa of interest +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Biopython', '1.83'), + ('Python-bundle-PyPI', '2023.06'), + ('snakemake', '8.4.2'), + ('DendroPy', '4.6.1'), + ('bx-python', '0.10.0'), + ('ABySS', '2.3.7'), + ('BCFtools', '1.18'), + ('BEDTools', '2.31.0'), + ('BWA', '0.7.17'), + ('Gblocks', '0.91b', '', SYSTEM), + ('LASTZ', '1.04.22'), + ('MAFFT', '7.520', '-with-extensions'), + ('MUSCLE', '5.1.0'), + ('Pilon', '1.23', '-Java-11', SYSTEM), + ('RAxML-NG', '1.2.0'), + ('SAMtools', '1.18'), + ('seqtk', '1.4'), + ('SPAdes', '3.15.4'), + ('trimAl', '1.4.1'), + ('Velvet', '1.2.10', '-mt-kmer_191') +] + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/faircloth-lab/phyluce/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'patches': [ + '%(name)s-%(version)s_fix-config-paths.patch', + '%(name)s-%(version)s_removal-Bio-Alphabet.patch', + ], + 'checksums': [ + {'v1.7.3.tar.gz': '931fd512730bb101266b27728576df00277858d256e1ab30d64b474588362e11'}, + {'phyluce-1.7.3_fix-config-paths.patch': + '22d5467d7498a9b2b718660e9580fb41986964e122e4c3baf851a324a968ae5d'}, + {'phyluce-1.7.3_removal-Bio-Alphabet.patch': + '9401f8b8052924476d2a73d8ac2672e750eadf11618c672d9679f3c99234049d'}, + ], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["%s --help" % x for x in [ + "phyluce_align_extract_taxa_from_alignments", + "phyluce_align_extract_taxon_fasta_from_alignments", + "phyluce_align_filter_alignments", + "phyluce_align_format_concatenated_phylip_for_paml", + "phyluce_align_get_align_summary_data", + "phyluce_align_get_gblocks_trimmed_alignments_from_untrimmed", + "phyluce_align_get_incomplete_matrix_estimates", + "phyluce_align_get_informative_sites", + "phyluce_align_get_only_loci_with_min_taxa", + "phyluce_align_get_ry_recoded_alignments", + "phyluce_align_get_smilogram_from_alignments", + "phyluce_align_get_taxon_locus_counts_in_alignments", + "phyluce_align_get_trimal_trimmed_alignments_from_untrimmed", + "phyluce_align_move_align_by_conf_file", + "phyluce_align_randomly_sample_and_concatenate", + "phyluce_align_reduce_alignments_with_raxml", + "phyluce_align_remove_empty_taxa", + "phyluce_align_remove_locus_name_from_files", + "phyluce_align_screen_alignments_for_problems", + "phyluce_align_seqcap_align", + "phyluce_align_split_concat_nexus_to_loci", + "phyluce_assembly_assemblo_abyss", + "phyluce_assembly_assemblo_spades", + "phyluce_assembly_assemblo_velvet", + "phyluce_assembly_explode_get_fastas_file", + "phyluce_assembly_extract_contigs_to_barcodes", + "phyluce_assembly_get_bed_from_lastz", + "phyluce_assembly_get_fasta_lengths", + "phyluce_assembly_get_fastas_from_match_counts", + "phyluce_assembly_get_fastq_lengths", + "phyluce_assembly_get_match_counts", + "phyluce_assembly_match_contigs_to_barcodes", + "phyluce_genetrees_get_mean_bootrep_support", + "phyluce_genetrees_generate_multilocus_bootstrap_count", + "phyluce_genetrees_rename_tree_leaves", + "phyluce_genetrees_sort_multilocus_bootstraps", + "phyluce_genetrees_get_tree_counts", + "phyluce_ncbi_chunk_fasta_for_ncbi", + "phyluce_ncbi_prep_uce_align_files_for_ncbi", + "phyluce_probe_easy_lastz", + "phyluce_probe_get_genome_sequences_from_bed", + "phyluce_probe_get_locus_bed_from_lastz_files", + "phyluce_probe_get_multi_fasta_table", + "phyluce_probe_get_multi_merge_table", + "phyluce_probe_get_probe_bed_from_lastz_files", + "phyluce_probe_get_screened_loci_by_proximity", + "phyluce_probe_get_subsets_of_tiled_probes", + "phyluce_probe_get_tiled_probe_from_multiple_inputs", + "phyluce_probe_get_tiled_probes", + "phyluce_probe_query_multi_fasta_table", + "phyluce_probe_query_multi_merge_table", + "phyluce_probe_reconstruct_uce_from_probe", + "phyluce_probe_remove_duplicate_hits_from_probes_using_lastz", + "phyluce_probe_remove_overlapping_probes_given_config", + "phyluce_probe_run_multiple_lastzs_sqlite", + "phyluce_probe_slice_sequence_from_genomes", + "phyluce_probe_strip_masked_loci_from_set", + "phyluce_utilities_combine_reads", + "phyluce_utilities_filter_bed_by_fasta", + "phyluce_utilities_get_bed_from_fasta", + "phyluce_utilities_merge_multiple_gzip_files", + "phyluce_utilities_merge_next_seq_gzip_files", + "phyluce_utilities_replace_many_links", + "phyluce_utilities_unmix_fasta_reads", + "phyluce_workflow", +]] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages/phyluce'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/phyluce/phyluce-1.7.3_fix-config-paths.patch b/easybuild/easyconfigs/p/phyluce/phyluce-1.7.3_fix-config-paths.patch new file mode 100644 index 00000000000..1d0cbcdbb07 --- /dev/null +++ b/easybuild/easyconfigs/p/phyluce/phyluce-1.7.3_fix-config-paths.patch @@ -0,0 +1,53 @@ +fix path of binaries in config file +author: Pavel Tomanek (INUITS) +--- config/phyluce.conf.orig 2024-02-01 11:38:15.279943701 +0100 ++++ config/phyluce.conf 2024-02-01 14:52:31.565662528 +0100 +@@ -1,27 +1,27 @@ + [binaries] +-abyss:$CONDA/bin/ABYSS +-abyss-pe:$CONDA/bin/abyss-pe +-bcftools:$CONDA/bin/bcftools +-bedtools:$CONDA/bin/bedtools +-bwa:$CONDA/bin/bwa +-gblocks:$CONDA/bin/Gblocks +-lastz:$CONDA/bin/lastz +-mafft:$CONDA/bin/mafft +-muscle:$CONDA/bin/muscle +-pilon:$CONDA/bin/pilon +-raxml-ng:$CONDA/bin/raxml-ng +-samtools:$CONDA/bin/samtools +-seqtk:$CONDA/bin/seqtk +-spades:$CONDA/bin/spades.py +-trimal:$CONDA/bin/trimal +-velvetg:$CONDA/bin/velvetg +-velveth:$CONDA/bin/velveth +-snakemake:$CONDA/bin/Snakemake ++abyss:$EBROOTABYSS/bin/ABYSS ++abyss-pe:$EBROOTABYSS/bin/abyss-pe ++bcftools:$EBROOTBCFTOOLS/bin/bcftools ++bedtools:$EBROOTBEDTOOLS/bin/bedtools ++bwa:$EBROOTBWA/bin/bwa ++gblocks:$EBROOTGBLOCKS/Gblocks ++lastz:$EBROOTLASTZ/bin/lastz ++mafft:$EBROOTMAFFT/bin/mafft ++muscle:$EBROOTMUSCLE/bin/muscle ++pilon:$EBROOTPILON/bin/pilon ++raxml-ng:$EBROOTRAXMLMINNG/bin/raxml-ng ++samtools:$EBROOTSAMTOOLS/bin/samtools ++seqtk:$EBROOTSEQTK/bin/seqtk ++spades:$EBROOTSPADES/bin/spades.py ++trimal:$EBROOTTRIMAL/bin/trimal ++velvetg:$EBROOTVELVET/bin/velvetg ++velveth:$EBROOTVELVET/bin/velveth ++snakemake:$EBROOTSNAKEMAKE/bin/snakemake + + [workflows] +-mapping:$WORKFLOWS/mapping/Snakefile +-correction:$WORKFLOWS/contig-correction/Snakefile +-phasing:$WORKFLOWS/phasing/Snakefile ++mapping:$EBROOTPHYLUCE/phyluce/workflows/mapping/Snakefile ++correction:$EBROOTPHYLUCE/phyluce/workflows/contig-correction/Snakefile ++phasing:$EBROOTPHYLUCE/phyluce/workflows/phasing/Snakefile + + #---------------- + # Advanced diff --git a/easybuild/easyconfigs/p/phyluce/phyluce-1.7.3_removal-Bio-Alphabet.patch b/easybuild/easyconfigs/p/phyluce/phyluce-1.7.3_removal-Bio-Alphabet.patch new file mode 100644 index 00000000000..05063f88ea1 --- /dev/null +++ b/easybuild/easyconfigs/p/phyluce/phyluce-1.7.3_removal-Bio-Alphabet.patch @@ -0,0 +1,22 @@ +removal of the Bio.Alphabet - it is not part of Biopython anymore (since v1.78) +see also https://biopython.org/wiki/Alphabet +author: Pavel Tomanek (INUITS) +--- bin/ncbi/phyluce_ncbi_prep_uce_align_files_for_ncbi.orig 2024-02-01 15:53:37.732931000 +0100 ++++ bin/ncbi/phyluce_ncbi_prep_uce_align_files_for_ncbi 2024-02-01 16:16:42.885167000 +0100 +@@ -18,7 +18,6 @@ + from Bio import AlignIO + from Bio.Seq import Seq + from Bio.SeqRecord import SeqRecord +-from Bio.Alphabet import IUPAC + + from phyluce import ncbi + from phyluce.log import setup_logging +@@ -127,7 +126,7 @@ + .upper() + ) + new_record = SeqRecord( +- Seq(new_seq, IUPAC.IUPACAmbiguousDNA()), ++ Seq(new_seq), + id=new_id, + name="", + description="", diff --git a/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-13.2.0-python.eb b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-13.2.0-python.eb new file mode 100644 index 00000000000..b26e6146bdc --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-13.2.0-python.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pkgconfig' +version = '1.5.5' +# The -python versionsuffix is used to avoid confusion between +# pkg-config (the tool) and pkgconfig (the Python wrappers) +versionsuffix = '-python' + +homepage = 'https://github.com/matze/pkgconfig' +description = """pkgconfig is a Python module to interface with the pkg-config command line tool""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899'] + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.6.1'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('pkgconf', '2.0.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/plotly.py/plotly.py-5.18.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.18.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..22c68504cc4 --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.18.0-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'plotly.py' +version = '5.18.0' + +homepage = 'https://plot.ly/python' +description = "An open-source, interactive graphing library for Python" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [('Python', '3.11.5')] + +use_pip = True + +exts_list = [ + ('tenacity', '8.2.3', { + 'patches': ['tenacity-8.2.3-fix_version.patch'], + 'checksums': [ + {'tenacity-8.2.3.tar.gz': '5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a'}, + {'tenacity-8.2.3-fix_version.patch': 'eb066e8f70d2dc075fca18e04dbc2a6b0721285815470c602a16c599002b63f7'}, + ], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('plotly', version, { + 'checksums': ['360a31e6fbb49d12b007036eb6929521343d6bee2236f8459915821baefa2cbb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-11.3.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-11.3.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..d486de9b7b3 --- /dev/null +++ b/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-11.3.0-CUDA-11.7.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'pmt' +version = '1.2.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://git.astron.nl/RD/pmt' +description = """PMT is a high-level software library capable of + collecting power consumption measurements on various hardware.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://git.astron.nl/RD/pmt/-/archive/%(version)s'] +sources = ['pmt-%(version)s.tar.gz'] +checksums = ['98faf305c60cc4d39d3b8ada1dcb7c87c49bf6f01a3cd2800b413d21d5df1a38'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), +] + +configopts = '-DBUILD_NVML_PMT=1' + +sanity_check_paths = { + 'files': ["bin/Rapl-test", "bin/NVML-test"], + 'dirs': ["lib", "include"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..4d46849355e --- /dev/null +++ b/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'pmt' +version = '1.2.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://git.astron.nl/RD/pmt' +description = """PMT is a high-level software library capable of + collecting power consumption measurements on various hardware.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://git.astron.nl/RD/pmt/-/archive/%(version)s'] +sources = ['pmt-%(version)s.tar.gz'] +checksums = ['98faf305c60cc4d39d3b8ada1dcb7c87c49bf6f01a3cd2800b413d21d5df1a38'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM) +] + +configopts = '-DBUILD_NVML_PMT=1' + +sanity_check_paths = { + 'files': ["bin/Rapl-test", "bin/NVML-test"], + 'dirs': ["lib", "include"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.3.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.3.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..28bc17ce36f --- /dev/null +++ b/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.3.0-CUDA-11.7.0.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeNinja' + +name = 'pocl' +version = '1.8' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://portablecl.org' +description = "Pocl is a portable open source (MIT-licensed) implementation of the OpenCL standard" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/pocl/pocl/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['pocl-%(version)s_fix-header-install.patch'] +checksums = [ + '0f63377ae1826e16e90038fc8e7f65029be4ff6f9b059f6907174b5c0d1f8ab2', # v1.8.tar.gz + '97dc45437ae7464bda9f13088720482804b8a19a4e71067196daa86af487222d', # pocl-1.8_fix-header-install.patch +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Clang', '13.0.1', versionsuffix), + ('hwloc', '2.7.1'), + ('libtool', '2.4.7'), + ('libxml2', '2.9.13'), +] + +separate_build_dir = True + +# disable attempt to find an ICD loader, always build libOpenCL.so, enable CUDA +configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=1 -DENABLE_CUDA=1 " +# make sure we use the easybuild Clang +configopts += "-DWITH_LLVM_CONFIG=$EBROOTCLANG/bin/llvm-config -DSTATIC_LLVM=ON " +# avoid host CPU auto-detection (which may fail on recent CPUs) +configopts += "-DLLC_HOST_CPU=native " + +sanity_check_paths = { + 'files': ['bin/poclcc', 'lib64/libOpenCL.%s' % SHLIB_EXT], + 'dirs': ['include/CL', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pocl/pocl-4.0-GCC-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/pocl/pocl-4.0-GCC-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..7632513ead6 --- /dev/null +++ b/easybuild/easyconfigs/p/pocl/pocl-4.0-GCC-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,50 @@ +# https://github.com/pocl/pocl/issues/1219 +# "PoCL 3.1 supports LLVM only up to 15", so need 4.0 for working with Clang 16 +easyblock = 'CMakeNinja' + +name = 'pocl' +version = '4.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://portablecl.org' +description = """PoCL is a portable open source (MIT-licensed) implementation +of the OpenCL standard (1.2 with some 2.0 features supported).""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/pocl/pocl/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [] +checksums = [ + '7f4e8ab608b3191c2b21e3f13c193f1344b40aba7738f78762f7b88f45e8ce03', # v4.0.tar.gz +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Clang', '16.0.6', versionsuffix), + ('hwloc', '2.9.1'), + ('libtool', '2.4.7'), + ('libxml2', '2.11.4'), +] + +separate_build_dir = True + +# disable attempt to find an ICD loader, always build libOpenCL.so, enable CUDA +configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=1 -DENABLE_CUDA=1 " +# make sure we use the easybuild Clang +configopts += "-DWITH_LLVM_CONFIG=$EBROOTCLANG/bin/llvm-config -DSTATIC_LLVM=ON " +# avoid host CPU auto-detection (which may fail on recent CPUs) +configopts += "-DLLC_HOST_CPU=native " + +sanity_check_paths = { + 'files': ['bin/poclcc', 'lib64/libOpenCL.%s' % SHLIB_EXT], + 'dirs': ['include/CL', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/poetry/poetry-1.7.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/poetry/poetry-1.7.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..acc1b0fcb8c --- /dev/null +++ b/easybuild/easyconfigs/p/poetry/poetry-1.7.1-GCCcore-12.3.0.eb @@ -0,0 +1,173 @@ +easyblock = 'PythonBundle' + +name = 'poetry' +version = '1.7.1' + +homepage = 'https://python-poetry.org' +description = """Python packaging and dependency management made easy. Poetry helps you declare, manage and install + dependencies of Python projects, ensuring you have the right stack everywhere.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('scikit-build', '0.17.6'), + ('maturin', '1.4.0', '-Rust-1.75.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('hatchling', '1.18.0'), + ('cryptography', '41.0.1'), + ('virtualenv', '20.23.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('idna', '3.6', { + 'checksums': ['9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca'], + }), + ('certifi', '2023.11.17', { + 'checksums': ['9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1'], + }), + ('urllib3', '2.1.0', { + 'checksums': ['df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54'], + }), + ('charset-normalizer', '3.3.2', { + 'checksums': ['f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5'], + }), + ('dulwich', '0.21.7', { + 'checksums': ['a9e9c66833cea580c3ac12927e4b9711985d76afca98da971405d414de60e968'], + }), + ('crashtest', '0.4.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['8d23eac5fa660409f57472e3851dab7ac18aba459a8d19cbbba86d3d5aecd2a5'], + }), + ('zipp', '3.17.0', { + 'checksums': ['84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0'], + }), + ('importlib_metadata', '7.0.1', { + 'checksums': ['f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc'], + }), + ('jeepney', '0.8.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755'], + }), + ('SecretStorage', '3.3.3', { + 'checksums': ['2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77'], + }), + ('more-itertools', '10.2.0', { + 'checksums': ['8fccb480c43d3e99a00087634c06dd02b0d50fbf088b380de5a41a015ec239e1'], + }), + ('jaraco.classes', '3.3.0', { + 'checksums': ['c063dd08e89217cee02c8d5e5ec560f2c8ce6cdc2fcdc2e68f7b2e5547ed3621'], + }), + ('keyring', '24.3.0', { + 'modulename': False, + 'checksums': ['e730ecffd309658a08ee82535a3b5ec4b4c8669a9be11efb66249d8e0aeb9a25'], + }), + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + ('build', '1.0.3', { + 'checksums': ['538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b'], + }), + ('installer', '0.7.0', { + 'checksums': ['a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631'], + }), + ('webencodings', '0.5.1', { + 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], + }), + ('html5lib', '1.1', { + 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], + }), + ('rapidfuzz', '3.6.1', { + 'checksums': ['35660bee3ce1204872574fa041c7ad7ec5175b3053a4cb6e181463fc07013de7'], + }), + ('cleo', '2.1.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['4a31bd4dd45695a64ee3c4758f583f134267c2bc518d8ae9a29cf237d009b07e'], + }), + ('attrs', '23.2.0', { + 'modulename': 'attr', + 'checksums': ['935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30'], + }), + ('pyrsistent', '0.20.0', { + 'checksums': ['4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4'], + }), + ('requests-toolbelt', '1.0.0', { + 'checksums': ['7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6'], + }), + ('pkginfo', '1.9.6', { + 'checksums': ['8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046'], + }), + ('ptyprocess', '0.7.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'], + }), + ('pexpect', '4.9.0', { + 'checksums': ['ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f'], + }), + ('jsonschema_specifications', '2023.12.1', { + 'checksums': ['48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc'], + }), + ('referencing', '0.32.1', { + 'checksums': ['3c57da0513e9563eb7e203ebe9bb3a1b509b042016433bd1e45a2853466c3dd3'], + }), + ('rpds_py', '0.17.1', { + 'modulename': 'rpds', + 'checksums': ['0210b2668f24c078307260bf88bdac9d6f1093635df5123789bfee4d8d7fc8e7'], + }), + ('jsonschema', '4.21.0', { + 'checksums': ['3ba18e27f7491ea4a1b22edce00fb820eec968d397feb3f9cb61d5894bb38167'], + }), + ('platformdirs', '3.11.0', { + 'checksums': ['cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3'], + }), + ('shellingham', '1.5.4', { + 'checksums': ['8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de'], + }), + ('tomlkit', '0.12.3', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba'], + }), + ('requests', '2.31.0', { + 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], + }), + ('msgpack', '1.0.7', { + 'checksums': ['572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87'], + }), + ('CacheControl', '0.13.1', { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['f012366b79d2243a6118309ce73151bf52a38d4a5dac8ea57f09bd29087e506b'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('fastjsonschema', '2.19.1', { + 'checksums': ['e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d'], + }), + ('poetry_core', '1.8.1', { + 'modulename': 'poetry.core', + 'checksums': ['67a76c671da2a70e55047cddda83566035b701f7e463b32a2abfeac6e2a16376'], + }), + ('poetry_plugin_export', '1.6.0', { + 'checksums': ['091939434984267a91abf2f916a26b00cff4eee8da63ec2a24ba4b17cf969a59'], + }), + (name, version, { + 'checksums': ['b348a70e7d67ad9c0bd3d0ea255bc6df84c24cf4b16f8d104adb30b425d6ff32'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/poppunk/poppunk-2.6.0-foss-2022a.eb b/easybuild/easyconfigs/p/poppunk/poppunk-2.6.0-foss-2022a.eb new file mode 100644 index 00000000000..d13f7fb7c81 --- /dev/null +++ b/easybuild/easyconfigs/p/poppunk/poppunk-2.6.0-foss-2022a.eb @@ -0,0 +1,57 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'poppunk' +version = '2.6.0' + +homepage = 'https://poppunk.readthedocs.io' +description = """PopPUNK is a tool for clustering genomes. +We refer to the clusters as variable-length-k-mer clusters, or VLKCs. +Biologically, these clusters typically represent distinct strains. +We refer to subclusters of strains as lineages.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('numba', '0.56.4'), + ('networkx', '2.8.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('Biopython', '1.79'), + ('matplotlib', '3.5.2'), + ('HDBSCAN', '0.8.29'), + ('h5py', '3.7.0'), + ('graph-tool', '2.55'), + ('X11', '20220504'), + ('pybind11', '2.9.2'), + ('Eigen', '3.4.0'), + ('Boost', '1.79.0'), + ('tqdm', '4.64.0'), + ('pp-sketchlib', '2.1.1'), + ('rapidNJ', '2.3.3'), + ('mandrake', '1.2.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('treeswift', '1.1.33', { + 'checksums': ['571cf2966b44bb1c64614cde7f0760e0c9c1b3d4579101d8191cff7272ff61fc'], + }), + (name, version, { + 'source_urls': ['https://github.com/bacpop/PopPUNK/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['9060e0f09e99c1cd34662fb4b6c4b28e4344c0e3d00e983a7be8b60591ad92ec'], + 'modulename': 'poppunk_refine', + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/presto/presto-1.0.0-20230501-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/p/presto/presto-1.0.0-20230501-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..2fe834fc6b0 --- /dev/null +++ b/easybuild/easyconfigs/p/presto/presto-1.0.0-20230501-foss-2023a-R-4.3.2.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'presto' +local_commit = '31dc97f' +# see DESCRIPTION to determine version, +# but also take date of last commit into account (since version isn't always bumped) +version = '1.0.0-20230501' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/immunogenomics/presto' +description = "Presto performs a fast Wilcoxon rank sum test and auROC analysis." + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/immunogenomics/presto/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['720ef58aba219af03344e0ae0408fc48feda50e6b7f7f4af2251eb24ce1bfb88'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..09e71ae3765 --- /dev/null +++ b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +## +# This is a contribution from Phoenix HPC Service, The University of Adelaide, Australia +# Homepage: https://www.adelaide.edu.au/phoenix/ +# +# Copyright:: adelaide.edu.au/phoenix +# Authors:: Robert Qiao , Exe Escobedo +# License:: GPL-v3.0 +# +# Updated: Pavel Grochal (INUITS) +# +# Notes:: +## + +easyblock = 'MakeCp' + +name = 'prodigal' +version = '2.6.3' + +homepage = 'https://github.com/hyattpd/Prodigal/' + +description = """Prodigal (Prokaryotic Dynamic Programming Genefinding Algorithm) + is a microbial (bacterial and archaeal) gene finding program developed + at Oak Ridge National Laboratory and the University of Tennessee.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/hyattpd/Prodigal/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['89094ad4bff5a8a8732d899f31cec350f5a4c27bcbdd12663f87c9d1f0ec599f'] + +builddependencies = [('binutils', '2.40')] + +files_to_copy = [ + (['prodigal'], 'bin'), + (['*.h'], 'include'), + (['LICENSE'], 'license'), +] + +sanity_check_paths = { + 'files': ['bin/prodigal'], + 'dirs': ['include', 'license'], +} + +sanity_check_commands = ["prodigal -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..45f18896d75 --- /dev/null +++ b/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'prompt-toolkit' +version = '3.0.36' + +homepage = 'https://github.com/jonathanslenders/python-prompt-toolkit' +description = """prompt_toolkit is a Python library for building powerful interactive command lines and + terminal applications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +sources = ['prompt_toolkit-%(version)s-py3-none-any.whl'] +checksums = ['aa64ad242a462c5ff0363a7b9cfe696c20d55d9fc60c11fd8e632d064804d305'] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +options = {'modulename': 'prompt_toolkit'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..fa32443156a --- /dev/null +++ b/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'prompt-toolkit' +version = '3.0.36' + +homepage = 'https://github.com/jonathanslenders/python-prompt-toolkit' +description = """prompt_toolkit is a Python library for building powerful interactive command lines and + terminal applications.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +sources = ['prompt_toolkit-%(version)s-py3-none-any.whl'] +checksums = ['aa64ad242a462c5ff0363a7b9cfe696c20d55d9fc60c11fd8e632d064804d305'] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +options = {'modulename': 'prompt_toolkit'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0-GCCcore-12.3.0.eb index 0a299aea480..4606b18567e 100644 --- a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0-GCCcore-12.3.0.eb @@ -10,7 +10,12 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} source_urls = ['https://pypi.python.org/packages/source/p/protobuf'] sources = ['protobuf-%(version)s.tar.gz'] -checksums = ['5d0ceb9de6e08311832169e601d1fc71bd8e8c779f3ee38a97a78554945ecb85'] +patches = ['%(name)s-%(version)s_fix-upb-copyfrom.patch'] +checksums = [ + {'protobuf-4.24.0.tar.gz': '5d0ceb9de6e08311832169e601d1fc71bd8e8c779f3ee38a97a78554945ecb85'}, + {'protobuf-python-4.24.0_fix-upb-copyfrom.patch': + '9afea4c68ee54d7278ec61a7e7d91c0aad2e7b0d63ba22f2200d0df2fac34de7'}, +] builddependencies = [('binutils', '2.40')] diff --git a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0_fix-upb-copyfrom.patch b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0_fix-upb-copyfrom.patch new file mode 100644 index 00000000000..85d4ba67fe4 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0_fix-upb-copyfrom.patch @@ -0,0 +1,39 @@ +From 57636ce03ac1e2aab3a362a61a6664981e21cda5 Mon Sep 17 00:00:00 2001 +From: Jie Luo +Date: Thu, 24 Aug 2023 14:27:41 -0700 +Subject: [PATCH] upb CopyFrom the default empty message should just clear + instead of deep copy from memory + +fix https://github.com/protocolbuffers/protobuf/issues/13485 + +PiperOrigin-RevId: 559870202 +--- + python/message.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/python/message.c b/python/message.c +index afdd4311a..e61eebb23 100644 +--- a/python/message.c ++++ b/python/message.c +@@ -1237,12 +1237,15 @@ static PyObject* PyUpb_Message_CopyFrom(PyObject* _self, PyObject* arg) { + PyUpb_Message* other = (void*)arg; + PyUpb_Message_EnsureReified(self); + +- PyObject* tmp = PyUpb_Message_Clear(self); +- Py_DECREF(tmp); +- +- upb_Message_DeepCopy(self->ptr.msg, other->ptr.msg, +- upb_MessageDef_MiniTable(other->def), +- PyUpb_Arena_Get(self->arena)); ++ const upb_Message* other_msg = PyUpb_Message_GetIfReified((PyObject*)other); ++ if (other_msg) { ++ upb_Message_DeepCopy(self->ptr.msg, other_msg, ++ upb_MessageDef_MiniTable(other->def), ++ PyUpb_Arena_Get(self->arena)); ++ } else { ++ PyObject* tmp = PyUpb_Message_Clear(self); ++ Py_DECREF(tmp); ++ } + PyUpb_Message_SyncSubobjs(self); + + Py_RETURN_NONE; diff --git a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.25.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.25.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f3568b506d9 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.25.3-GCCcore-13.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'protobuf-python' +version = '4.25.3' + +homepage = 'https://github.com/google/protobuf/' +description = "Python Protocol Buffers runtime library." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/protobuf'] +sources = ['protobuf-%(version)s.tar.gz'] +checksums = ['25b5d0b42fd000320bd7830b349e3b696435f3b329810427a6bcce6a5492cc5c'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), + ('protobuf', version[2:]), # Major version is only used for the Python bindings +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'google.protobuf'} + +# Make sure protobuf is installed as a regular folder or it will not be found if +# other google packages are installed in other site-packages folders +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/google/protobuf'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/protobuf/protobuf-25.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/protobuf/protobuf-25.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5a700f68251 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf/protobuf-25.3-GCCcore-13.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'protobuf' +version = '25.3' + +homepage = 'https://github.com/protocolbuffers/protobuf' +description = """Protocol Buffers (a.k.a., protobuf) are Google's +language-neutral, platform-neutral, extensible mechanism for +serializing structured data.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +github_account = 'protocolbuffers' +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_GZ] +checksums = ['d19643d265b978383352b3143f04c0641eea75a75235c111cc01a1350173180e'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] +dependencies = [ + ('Abseil', '20240116.1'), +] + +srcdir = '.' + +configopts = '-Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_ABSL_PROVIDER="package" ' + +sanity_check_paths = { + 'files': ['bin/protoc', 'lib/libprotobuf.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/psmc/psmc-0.6.5_20221121-GCC-12.3.0.eb b/easybuild/easyconfigs/p/psmc/psmc-0.6.5_20221121-GCC-12.3.0.eb new file mode 100644 index 00000000000..d59f8ed5d78 --- /dev/null +++ b/easybuild/easyconfigs/p/psmc/psmc-0.6.5_20221121-GCC-12.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'MakeCp' + +name = 'psmc' +version = '0.6.5_20221121' +_commit = '8bd902f' + +homepage = 'https://github.com/lh3/psmc' +description = """This software package infers population size history from a diploid sequence +using the Pairwise Sequentially Markovian Coalescent (PSMC) model.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/lh3/psmc/archive/'] +sources = [{ + 'source_urls': ['https://github.com/lh3/psmc/archive/'], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': SOURCE_TAR_GZ, +}] +checksums = ['24a79addd863d91c7f19bcd2dc2cb16bb3d7b303d5ff44e48b8b89c975cf1c49'] + +dependencies = [('Perl', '5.36.1')] + +buildopts = '&& cd utils && make' + +local_utils = [ + 'avg.pl', 'calD', 'cntcpg', 'ctime_plot.pl', 'dec2ctime.pl', 'decode2bed.pl', 'fq2psmcfa', 'history2ms.pl', + 'ms2psmcfa.pl', 'mutDiff', 'pcnt_bezier.lua', 'psmc2history.pl', 'psmc_plot.pl', 'psmc_trunc.pl', 'splitfa', +] + +files_to_copy = [ + (['psmc'], 'bin'), + (['utils/%s' % x for x in local_utils], 'bin') +] + +postinstallcmds = [ + # recommended help, see perldoc Getopt::Std + "sed -i '/use Getopt::Std;/a $Getopt::Std::STANDARD_HELP_VERSION = 1;' %(installdir)s/bin/*.pl", +] + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/psmc'] + ['bin/%s' % x for x in local_utils], + 'dirs': [], +} + +sanity_check_commands = [ + 'psmc 2>&1 |grep "Usage:"', + 'calD 2>&1 |grep "Usage:"', + 'avg.pl --help', + 'ctime_plot.pl --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pstoedit/pstoedit-3.78-GCC-11.3.0.eb b/easybuild/easyconfigs/p/pstoedit/pstoedit-3.78-GCC-11.3.0.eb new file mode 100644 index 00000000000..ec4f248d6db --- /dev/null +++ b/easybuild/easyconfigs/p/pstoedit/pstoedit-3.78-GCC-11.3.0.eb @@ -0,0 +1,49 @@ +# Updated version from the original one. +# Includes a patch so ImageMagick can be found, some missing +# dependencies included as well. +# libemf seems to be needed. +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'pstoedit' +version = '3.78' + +homepage = 'http://pstoedit.net/' +description = "pstoedit translates PostScript and PDF graphics into other vector formats" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = [('pstoedit-configure.patch')] +checksums = [ + {'pstoedit-3.78.tar.gz': '8cc28e34bc7f88d913780f8074e813dd5aaa0ac2056a6b36d4bf004a0e90d801'}, + {'pstoedit-configure.patch': 'c81588eebf9c1dd344566654aae8e826b013c969057cffd8e2cc2cd0a93b90c3'}, +] + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('binutils', '2.38'), + ('gawk', '5.1.1'), + ('Bison', '3.8.2'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('ImageMagick', '7.1.0-37'), + ('Zip', '3.0'), + ('libzip', '1.9.2'), + ('Ghostscript', '9.56.1'), + ('libemf', '1.0.13'), + ('plotutils', '2.6'), +] + +preconfigopts = "autoreconf -i &&" + +sanity_check_paths = { + 'files': ['bin/pstoedit', 'lib/libpstoedit.%s' % SHLIB_EXT], + 'dirs': ['include/pstoedit', 'lib/pkgconfig', 'lib/pstoedit', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pstoedit/pstoedit-configure.patch b/easybuild/easyconfigs/p/pstoedit/pstoedit-configure.patch new file mode 100644 index 00000000000..ccfc1947ed9 --- /dev/null +++ b/easybuild/easyconfigs/p/pstoedit/pstoedit-configure.patch @@ -0,0 +1,16 @@ +The original configure did not find ImageMagick and thus did not build it. +This patch fixes this. +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/pstoedit-3.78.orig/configure.ac b/pstoedit-3.78/configure.ac +index e8d9e59..4d188ad 100644 +--- a/pstoedit-3.78.orig/configure.ac ++++ b/pstoedit-3.78/configure.ac +@@ -313,7 +313,7 @@ if test "x${PSTOEDIT_GCC_OK}" = xno ; then + else + if test -n "$PKG_CONFIG"; then + AC_MSG_CHECKING(ImageMagick flags through pkg-config) +- PKG_CHECK_MODULES(LIBMAGICK, ImageMagick++, ++ PKG_CHECK_MODULES(LIBMAGICK, ImageMagick, + HAVE_LIBMAGICK=yes + LIBMAGICK_CFLAGS="-DHAVE_MAGIC $LIBMAGICK_CFLAGS" + LIBMAGICK_LDFLAGS="$LIBMAGICK_LIBS" , diff --git a/easybuild/easyconfigs/p/psycopg/psycopg-3.1.18-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/psycopg/psycopg-3.1.18-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..698d7dbd1c4 --- /dev/null +++ b/easybuild/easyconfigs/p/psycopg/psycopg-3.1.18-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'psycopg' +version = '3.1.18' + +homepage = 'https://psycopg.org/' +description = "Psycopg is the most popular PostgreSQL adapter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['31144d3fb4c17d78094d9e579826f047d4af1da6a10427d91dfcfb6ecdf6f12b'] + +builddependencies = [('binutils', '2.39')] +dependencies = [ + ('Python', '3.10.8'), + ('PostgreSQL', '15.2'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psycopg/psycopg-3.1.18-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/psycopg/psycopg-3.1.18-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5ab9a5ee2a0 --- /dev/null +++ b/easybuild/easyconfigs/p/psycopg/psycopg-3.1.18-GCCcore-13.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'psycopg' +version = '3.1.18' + +homepage = 'https://psycopg.org/' +description = "Psycopg is the most popular PostgreSQL adapter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['31144d3fb4c17d78094d9e579826f047d4af1da6a10427d91dfcfb6ecdf6f12b'] + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.5'), + ('PostgreSQL', '16.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2f6b6ba35f1 --- /dev/null +++ b/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.9-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'psycopg2' +version = '2.9.9' + +homepage = 'https://psycopg.org/' +description = "Psycopg is the most popular PostgreSQL adapter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PostgreSQL', '16.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['d1454bde93fb1e224166811694d600e746430c006fbb031ea06ecc2ea41bf156'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a4a0886152c --- /dev/null +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'py-cpuinfo' +version = '9.0.0' + +homepage = 'https://github.com/workhorsy/py-cpuinfo' +description = "py-cpuinfo gets CPU info with pure Python." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/cpuinfo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cpuinfo", + "python -m cpuinfo", +] + +options = {'modulename': 'cpuinfo'} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4ffea66d7cb --- /dev/null +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'py-cpuinfo' +version = '9.0.0' + +homepage = 'https://github.com/workhorsy/py-cpuinfo' +description = "py-cpuinfo gets CPU info with pure Python." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/cpuinfo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cpuinfo", + "python -m cpuinfo", +] + +options = {'modulename': 'cpuinfo'} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pySCENIC/pySCENIC-0.12.1-20240311-foss-2023a.eb b/easybuild/easyconfigs/p/pySCENIC/pySCENIC-0.12.1-20240311-foss-2023a.eb new file mode 100644 index 00000000000..2842812499f --- /dev/null +++ b/easybuild/easyconfigs/p/pySCENIC/pySCENIC-0.12.1-20240311-foss-2023a.eb @@ -0,0 +1,77 @@ +easyblock = 'PythonBundle' + +name = 'pySCENIC' +version = '0.12.1-20240311' +local_commit = '31d51a1' + +homepage = 'https://github.com/aertslab/pySCENIC' +description = """pySCENIC is a lightning-fast python implementation of the SCENIC +pipeline (Single-Cell rEgulatory Network Inference and Clustering) which enables +biologists to infer transcription factors, gene regulatory networks and +cell types from single-cell RNA-seq data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('PyYAML', '6.0'), + ('Arrow', '14.0.1'), + ('scikit-learn', '1.3.1'), + ('tqdm', '4.66.1'), + ('networkx', '3.1'), + ('dask', '2023.9.2'), + ('aiohttp', '3.8.5'), + ('dill', '0.3.7'), + ('loompy', '3.0.7'), + ('umap-learn', '0.5.5'), +] + +use_pip = True + +exts_list = [ + ('cytoolz', '0.12.3', { + 'checksums': ['4503dc59f4ced53a54643272c61dc305d1dbbfbd7d6bdf296948de9f34c3a282'], + }), + ('multiprocessing_on_dill', '3.5.0a4', { + 'checksums': ['d6d50c300ff4bd408bb71eb78725e60231039ee9b3d0d9bb7697b9d0e15045e7'], + }), + ('frozendict', '2.4.0', { + 'checksums': ['c26758198e403337933a92b01f417a8240c954f553e1d4b5e0f8e39d9c8e3f0a'], + }), + ('arboreto', '0.1.6', { + 'source_urls': ['https://github.com/aertslab/arboreto/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['f94c0bc084ca61422e8b74ecdb80585a45b168ac682f18dd3c52c9097ee29caa'], + }), + ('boltons', '23.1.1', { + 'checksums': ['d2cb2fa83cf2ebe791be1e284183e8a43a1031355156a968f8e0a333ad2448fc'], + }), + ('interlap', '0.2.7', { + 'checksums': ['31e4f30c54b067c4939049f5d8131ae5e2fa682ec71aa56f89c0e5b900806ec9'], + }), + ('ctxcore', '0.2.0', { + 'sources': ['ctxcore-0.2.0-py3-none-any.whl'], + 'checksums': ['b90570377e26280c4861ebad1f4cee2fe598167c5d4bd12c1b713f03c9682627'], + }), + ('pyscenic', '0.12.1', { + # download from commit to get fix for numpy error + # https://github.com/aertslab/pySCENIC/issues/518 + 'source_urls': ['https://github.com/aertslab/pySCENIC/archive/'], + 'sources': [{ + 'download_filename': '31d51a1625f12fb3c6e92bc48ecc9d401524c22a.tar.gz', + 'filename': '%%(name)s-%%(version)s-%s.tar.gz' % local_commit + }], + 'checksums': ['9dac1aa1672e310838ab47838206c075f2a2af2eefe6d3b7d56b4492d42fcf47'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyscenic'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyscenic --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyXDF/pyXDF-1.16.3-foss-2021a.eb b/easybuild/easyconfigs/p/pyXDF/pyXDF-1.16.3-foss-2021a.eb new file mode 100644 index 00000000000..9265cab6da4 --- /dev/null +++ b/easybuild/easyconfigs/p/pyXDF/pyXDF-1.16.3-foss-2021a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'pyXDF' +version = '1.16.3' + +homepage = 'https://github.com/xdf-modules/pyxdf' +description = "Python package for working with XDF files." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True + +exts_list = [ + ('pyxdf', version, { + 'checksums': ['d7744a8ba81992aa44d0ce740c256113324178903cbe18a754ee9f2735649123'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pyXDF/pyXDF-1.16.5-gfbf-2023a.eb b/easybuild/easyconfigs/p/pyXDF/pyXDF-1.16.5-gfbf-2023a.eb new file mode 100644 index 00000000000..31da5df12c8 --- /dev/null +++ b/easybuild/easyconfigs/p/pyXDF/pyXDF-1.16.5-gfbf-2023a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'pyXDF' +version = '1.16.5' + +homepage = 'https://github.com/xdf-modules/pyxdf' +description = "Python package for working with XDF files." + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True + +exts_list = [ + ('pyxdf', version, { + 'checksums': ['18908770b4847f9b223a97b2fd615fa62ac0cce305c08c407e71d7ec3ab6108b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pycodestyle/pycodestyle-2.11.1-foss-2022a.eb b/easybuild/easyconfigs/p/pycodestyle/pycodestyle-2.11.1-foss-2022a.eb new file mode 100644 index 00000000000..3b0f7de3367 --- /dev/null +++ b/easybuild/easyconfigs/p/pycodestyle/pycodestyle-2.11.1-foss-2022a.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'pycodestyle' +version = '2.11.1' + +homepage = "https://pycodestyle.readthedocs.io" +description = """pycodestyle is a tool to check your Python code against some of the style conventions in PEP 8.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f'] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-1.10.13-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.13-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d4902362426 --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.13-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'pydantic' +version = '1.10.13' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('typing-extensions', '4.9.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['32c8b48dcd3b2ac4e78b0ba4af3a2c2eb6048cb75202f0ea7b34feb740efc340'], + }), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..da3ebeae4eb --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.2.0.eb @@ -0,0 +1,121 @@ +easyblock = 'CargoPythonBundle' + +name = 'pydantic' +version = '2.5.3' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), + ('Rust', '1.75.0'), + ('maturin', '1.4.0', '-Rust-1.75.0'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('typing-extensions', '4.9.0'), +] + +use_pip = True +sanity_pip_check = True + +crates = [ + ('ahash', '0.8.6'), + ('aho-corasick', '1.0.2'), + ('autocfg', '1.1.0'), + ('base64', '0.21.5'), + ('bitflags', '1.3.2'), + ('cc', '1.0.79'), + ('cfg-if', '1.0.0'), + ('enum_dispatch', '0.3.12'), + ('equivalent', '1.0.1'), + ('form_urlencoded', '1.2.0'), + ('getrandom', '0.2.10'), + ('hashbrown', '0.14.0'), + ('heck', '0.4.1'), + ('idna', '0.4.0'), + ('indexmap', '2.0.0'), + ('indoc', '2.0.4'), + ('itoa', '1.0.8'), + ('jiter', '0.0.4'), + ('lexical-core', '0.8.5'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '0.8.5'), + ('lexical-write-float', '0.8.5'), + ('lexical-write-integer', '0.8.5'), + ('libc', '0.2.147'), + ('lock_api', '0.4.10'), + ('memchr', '2.6.3'), + ('memoffset', '0.9.0'), + ('num-bigint', '0.4.4'), + ('num-integer', '0.1.45'), + ('num-traits', '0.2.16'), + ('once_cell', '1.18.0'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.8'), + ('percent-encoding', '2.3.0'), + ('proc-macro2', '1.0.69'), + ('pyo3', '0.20.0'), + ('pyo3-build-config', '0.20.0'), + ('pyo3-ffi', '0.20.0'), + ('pyo3-macros', '0.20.0'), + ('pyo3-macros-backend', '0.20.0'), + ('python3-dll-a', '0.2.9'), + ('quote', '1.0.29'), + ('redox_syscall', '0.3.5'), + ('regex', '1.10.2'), + ('regex-automata', '0.4.3'), + ('regex-syntax', '0.8.2'), + ('rustversion', '1.0.13'), + ('ryu', '1.0.14'), + ('scopeguard', '1.1.0'), + ('serde', '1.0.190'), + ('serde_derive', '1.0.190'), + ('serde_json', '1.0.108'), + ('smallvec', '1.11.1'), + ('speedate', '0.13.0'), + ('static_assertions', '1.1.0'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('syn', '2.0.38'), + ('target-lexicon', '0.12.9'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.10'), + ('unicode-normalization', '0.1.22'), + ('unindent', '0.2.3'), + ('url', '2.4.1'), + ('uuid', '1.5.0'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-targets', '0.48.1'), + ('windows_aarch64_gnullvm', '0.48.0'), + ('windows_aarch64_msvc', '0.48.0'), + ('windows_i686_gnu', '0.48.0'), + ('windows_i686_msvc', '0.48.0'), + ('windows_x86_64_gnu', '0.48.0'), + ('windows_x86_64_gnullvm', '0.48.0'), + ('windows_x86_64_msvc', '0.48.0'), + ('zerocopy', '0.7.20'), + ('zerocopy-derive', '0.7.20'), +] + +exts_list = [ + ('annotated_types', '0.6.0', { + 'checksums': ['563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d'], + }), + ('pydantic_core', '2.14.6', { + 'checksums': ['1fd0c1d395372843fba13a51c28e3bb9d59bd7aebfeb17358ffaaa1e4dbbe948'], + }), + (name, version, { + 'preinstallopts': "sed -i '/Framework :: Pydantic/d' pyproject.toml && ", + 'checksums': ['b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a'], + }), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..23955f5d21d --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb @@ -0,0 +1,122 @@ +easyblock = 'CargoPythonBundle' + +name = 'pydantic' +version = '2.5.3' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.75.0'), + ('maturin', '1.4.0', '-Rust-1.75.0'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('typing-extensions', '4.9.0'), +] + +use_pip = True +sanity_pip_check = True + +crates = [ + ('ahash', '0.8.6'), + ('aho-corasick', '1.0.2'), + ('autocfg', '1.1.0'), + ('base64', '0.21.5'), + ('bitflags', '1.3.2'), + ('cc', '1.0.79'), + ('cfg-if', '1.0.0'), + ('enum_dispatch', '0.3.12'), + ('equivalent', '1.0.1'), + ('form_urlencoded', '1.2.0'), + ('getrandom', '0.2.10'), + ('hashbrown', '0.14.0'), + ('heck', '0.4.1'), + ('idna', '0.4.0'), + ('indexmap', '2.0.0'), + ('indoc', '2.0.4'), + ('itoa', '1.0.8'), + ('jiter', '0.0.4'), + ('lexical-core', '0.8.5'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '0.8.5'), + ('lexical-write-float', '0.8.5'), + ('lexical-write-integer', '0.8.5'), + ('libc', '0.2.147'), + ('lock_api', '0.4.10'), + ('memchr', '2.6.3'), + ('memoffset', '0.9.0'), + ('num-bigint', '0.4.4'), + ('num-integer', '0.1.45'), + ('num-traits', '0.2.16'), + ('once_cell', '1.18.0'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.8'), + ('percent-encoding', '2.3.0'), + ('proc-macro2', '1.0.69'), + ('pyo3', '0.20.0'), + ('pyo3-build-config', '0.20.0'), + ('pyo3-ffi', '0.20.0'), + ('pyo3-macros', '0.20.0'), + ('pyo3-macros-backend', '0.20.0'), + ('python3-dll-a', '0.2.9'), + ('quote', '1.0.29'), + ('redox_syscall', '0.3.5'), + ('regex', '1.10.2'), + ('regex-automata', '0.4.3'), + ('regex-syntax', '0.8.2'), + ('rustversion', '1.0.13'), + ('ryu', '1.0.14'), + ('scopeguard', '1.1.0'), + ('serde', '1.0.190'), + ('serde_derive', '1.0.190'), + ('serde_json', '1.0.108'), + ('smallvec', '1.11.1'), + ('speedate', '0.13.0'), + ('static_assertions', '1.1.0'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('syn', '2.0.38'), + ('target-lexicon', '0.12.9'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.10'), + ('unicode-normalization', '0.1.22'), + ('unindent', '0.2.3'), + ('url', '2.4.1'), + ('uuid', '1.5.0'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-targets', '0.48.1'), + ('windows_aarch64_gnullvm', '0.48.0'), + ('windows_aarch64_msvc', '0.48.0'), + ('windows_i686_gnu', '0.48.0'), + ('windows_i686_msvc', '0.48.0'), + ('windows_x86_64_gnu', '0.48.0'), + ('windows_x86_64_gnullvm', '0.48.0'), + ('windows_x86_64_msvc', '0.48.0'), + ('zerocopy', '0.7.20'), + ('zerocopy-derive', '0.7.20'), +] + +exts_list = [ + ('annotated_types', '0.6.0', { + 'checksums': ['563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d'], + }), + ('pydantic_core', '2.14.6', { + 'checksums': ['1fd0c1d395372843fba13a51c28e3bb9d59bd7aebfeb17358ffaaa1e4dbbe948'], + }), + (name, version, { + 'preinstallopts': "sed -i '/Framework :: Pydantic/d' pyproject.toml && ", + 'checksums': ['b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a'], + }), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-2.6.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-2.6.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5fec32474e2 --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-2.6.4-GCCcore-13.2.0.eb @@ -0,0 +1,123 @@ +easyblock = 'CargoPythonBundle' + +name = 'pydantic' +version = '2.6.4' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.76.0'), + ('maturin', '1.5.0', '-Rust-1.76.0'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('typing-extensions', '4.10.0'), +] + +use_pip = True +sanity_pip_check = True + +crates = [ + ('ahash', '0.8.7'), + ('aho-corasick', '1.0.2'), + ('allocator-api2', '0.2.16'), + ('autocfg', '1.1.0'), + ('base64', '0.21.7'), + ('bitflags', '1.3.2'), + ('cc', '1.0.79'), + ('cfg-if', '1.0.0'), + ('enum_dispatch', '0.3.12'), + ('equivalent', '1.0.1'), + ('form_urlencoded', '1.2.1'), + ('getrandom', '0.2.10'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('idna', '0.5.0'), + ('indexmap', '2.0.0'), + ('indoc', '2.0.4'), + ('itoa', '1.0.8'), + ('jiter', '0.0.6'), + ('lexical-core', '0.8.5'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '0.8.5'), + ('lexical-write-float', '0.8.5'), + ('lexical-write-integer', '0.8.5'), + ('libc', '0.2.147'), + ('lock_api', '0.4.10'), + ('memchr', '2.6.3'), + ('memoffset', '0.9.0'), + ('num-bigint', '0.4.4'), + ('num-integer', '0.1.45'), + ('num-traits', '0.2.16'), + ('once_cell', '1.18.0'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.8'), + ('percent-encoding', '2.3.1'), + ('proc-macro2', '1.0.76'), + ('pyo3', '0.20.2'), + ('pyo3-build-config', '0.20.2'), + ('pyo3-ffi', '0.20.2'), + ('pyo3-macros', '0.20.2'), + ('pyo3-macros-backend', '0.20.2'), + ('python3-dll-a', '0.2.9'), + ('quote', '1.0.35'), + ('redox_syscall', '0.3.5'), + ('regex', '1.10.2'), + ('regex-automata', '0.4.3'), + ('regex-syntax', '0.8.2'), + ('rustversion', '1.0.13'), + ('ryu', '1.0.14'), + ('scopeguard', '1.1.0'), + ('serde', '1.0.195'), + ('serde_derive', '1.0.195'), + ('serde_json', '1.0.109'), + ('smallvec', '1.11.2'), + ('speedate', '0.13.0'), + ('static_assertions', '1.1.0'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('syn', '2.0.48'), + ('target-lexicon', '0.12.9'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.10'), + ('unicode-normalization', '0.1.22'), + ('unindent', '0.2.3'), + ('url', '2.5.0'), + ('uuid', '1.6.1'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-targets', '0.48.1'), + ('windows_aarch64_gnullvm', '0.48.0'), + ('windows_aarch64_msvc', '0.48.0'), + ('windows_i686_gnu', '0.48.0'), + ('windows_i686_msvc', '0.48.0'), + ('windows_x86_64_gnu', '0.48.0'), + ('windows_x86_64_gnullvm', '0.48.0'), + ('windows_x86_64_msvc', '0.48.0'), + ('zerocopy', '0.7.32'), + ('zerocopy-derive', '0.7.32'), +] + +exts_list = [ + ('annotated_types', '0.6.0', { + 'checksums': ['563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d'], + }), + ('pydantic_core', '2.16.3', { + 'checksums': ['1cac689f80a3abab2d3c0048b29eea5751114054f032a941a32de4c852c59cad'], + }), + (name, version, { + 'preinstallopts': "sed -i '/Framework :: Pydantic/d' pyproject.toml && ", + 'checksums': ['b1704e0847db01817624a6b86766967f552dd9dbf3afba4004409f908dcc84e6'], + }), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pydicom/pydicom-2.4.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydicom/pydicom-2.4.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..dc677434201 --- /dev/null +++ b/easybuild/easyconfigs/p/pydicom/pydicom-2.4.4-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'pydicom' +version = '2.4.4' + +homepage = 'https://pydicom.github.io/' +description = "Pure python package for DICOM medical file reading and writing." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['42c06ed74331174111dd42c89db774a13fc472abe18015f22c5aba80cddb7843'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pydot/pydot-2.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydot/pydot-2.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4bc9e76f2df --- /dev/null +++ b/easybuild/easyconfigs/p/pydot/pydot-2.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +# updated: Denis Kristak, Pavel Tománek (INUITS) +easyblock = 'PythonBundle' + +name = 'pydot' +version = '2.0.0' + +homepage = 'https://github.com/pydot/pydot' +description = "Python interface to Graphviz's Dot language." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +exts_list = [ + (name, version, { + 'checksums': ['60246af215123fa062f21cd791be67dda23a6f280df09f68919e637a1e4f3235'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.8.1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.8.1.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b476b81ba38 --- /dev/null +++ b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.8.1.1-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'pyfaidx' +version = '0.8.1.1' + +homepage = 'https://pypi.python.org/pypi/pyfaidx' +description = "pyfaidx: efficient pythonic random access to fasta subsequences" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [('Python', '3.11.3')] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('zipp', '3.17.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31'], + }), + ('importlib_metadata', '7.0.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e'], + }), + (name, version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2694af8e3f35f1890a03f04c0f89ba245caf24ff9e435f2c494b132f537e70f6'], + }), +] + +sanity_check_paths = { + 'files': ['bin/faidx'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["faidx --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.8.1.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.8.1.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1953376e2d5 --- /dev/null +++ b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.8.1.1-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pyfaidx' +version = '0.8.1.1' + +homepage = 'https://pypi.python.org/pypi/pyfaidx' +description = "pyfaidx: efficient pythonic random access to fasta subsequences" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +sources = [SOURCE_PY3_WHL] +checksums = ['2694af8e3f35f1890a03f04c0f89ba245caf24ff9e435f2c494b132f537e70f6'] + +sanity_check_paths = { + 'files': ['bin/faidx'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["faidx --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pymatgen/emmet-core-0.75.0-fix-readme.patch b/easybuild/easyconfigs/p/pymatgen/emmet-core-0.75.0-fix-readme.patch new file mode 100644 index 00000000000..2ed9d7c4983 --- /dev/null +++ b/easybuild/easyconfigs/p/pymatgen/emmet-core-0.75.0-fix-readme.patch @@ -0,0 +1,13 @@ +Fixes attempt to open nonexistent README.md. + +--- 0.5.1/foss-2023a/emmetcore/emmet-core-0.75.0/setup.py.orig 2023-12-21 18:58:49.428075405 +0000 ++++ 0.5.1/foss-2023a/emmetcore/emmet-core-0.75.0/setup.py 2023-12-21 18:59:10.200024324 +0000 +@@ -7,8 +7,6 @@ + description="Core Emmet Library", + author="The Materials Project", + author_email="feedback@materialsproject.org", +- long_description=open("../README.md").read(), # noqa: SIM115 +- long_description_content_type="text/markdown", + url="https://github.com/materialsproject/emmet", + packages=find_namespace_packages(include=["emmet.*"]), + package_data={ diff --git a/easybuild/easyconfigs/p/pymatgen/pymatgen-2023.12.18-foss-2023a.eb b/easybuild/easyconfigs/p/pymatgen/pymatgen-2023.12.18-foss-2023a.eb new file mode 100644 index 00000000000..5432a146d04 --- /dev/null +++ b/easybuild/easyconfigs/p/pymatgen/pymatgen-2023.12.18-foss-2023a.eb @@ -0,0 +1,138 @@ +easyblock = 'PythonBundle' + +name = 'pymatgen' +version = '2023.12.18' + +homepage = 'https://pymatgen.org/' +description = """Python Materials Genomics is a robust materials analysis code that defines core object + representations for structures and molecules with support for many electronic structure codes.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('hypothesis', '6.82.0'), # required for tests + ('maturin', '1.1.0'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyYAML', '6.0'), + ('PyZMQ', '25.1.1'), + ('bcrypt', '4.0.1'), + ('boto3', '1.28.70'), + ('Flask', '2.3.3'), + ('matplotlib', '3.7.2'), + ('networkx', '3.1'), + ('paramiko', '3.2.0'), + ('plotly.py', '5.16.0'), + ('pydantic', '2.5.3'), + ('ruamel.yaml', '0.17.32'), + ('spglib-python', '2.1.0'), + ('sympy', '1.12'), + ('tqdm', '4.66.1'), + ('uncertainties', '3.1.7'), +] + +use_pip = True + +exts_list = [ + ('palettable', '3.3.0', { + 'checksums': ['72feca71cf7d79830cd6d9181b02edf227b867d503bec953cf9fa91bf44896bd'], + }), + ('latexcodec', '2.0.1', { + 'checksums': ['2aa2551c373261cefe2ad3a8953a6d6533e68238d180eb4bb91d7964adb3fe9a'], + }), + ('pybtex', '0.24.0', { + 'checksums': ['818eae35b61733e5c007c3fcd2cfb75ed1bc8b4173c1f70b56cc4c0802d34755'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('uvicorn', '0.25.0', { + 'checksums': ['6dddbad1d7ee0f5140aba5ec138ddc9612c5109399903828b4874c9937f009c2'], + }), + ('sshtunnel', '0.4.0', { + 'checksums': ['e7cb0ea774db81bf91844db22de72a40aae8f7b0f9bb9ba0f666d474ef6bf9fc'], + }), + ('dnspython', '2.4.2', { + 'modulename': False, + 'checksums': ['8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984'], + }), + ('pymongo', '4.6.1', { + 'checksums': ['31dab1f3e1d0cdd57e8df01b645f52d43cc1b653ed3afd535d2891f4fc4f9712'], + }), + ('pydash', '7.0.6', { + 'checksums': ['7d9df7e9f36f2bbb08316b609480e7c6468185473a21bdd8e65dda7915565a26'], + }), + ('python-dotenv', '1.0.0', { + 'modulename': 'dotenv', + 'checksums': ['a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba'], + }), + ('pydantic-settings', '2.1.0', { + 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ}, + 'checksums': ['be83f7a7da10a0686a00da1b9e62856072bbcfb7d6a420ea3c78c66b145fcd93'], + }), + ('emmet-core', '0.75.0', { + 'modulename': 'emmet', + 'patches': ['emmet-core-0.75.0-fix-readme.patch'], + 'checksums': [ + {'emmet-core-0.75.0.tar.gz': '2d4b20d542e56c97009d05d03f5595be9395ac27c2fe9809d617f28596c40640'}, + {'emmet-core-0.75.0-fix-readme.patch': + 'd299f388044fdcff32fc246b0215ae4b656bc20d9d3c759d545cbe3167df08b8'}, + ], + }), + ('orjson', '3.9.10', { + 'checksums': ['9ebbdbd6a046c304b1845e96fbcc5559cd296b4dfd3ad2509e33c4d9ce07d6a1'], + }), + ('monty', '2023.11.3', { + 'checksums': ['d961c14b0b20901c7603aa00d275e62dee8333fbdaf1179f5d862c6fb3f3c52f'], + }), + ('sentinels', '1.0.0', { + 'checksums': ['7be0704d7fe1925e397e92d18669ace2f619c92b5d4eb21a89f31e026f9ff4b1'], + }), + ('mongomock', '4.1.2', { + 'checksums': ['f06cd62afb8ae3ef63ba31349abd220a657ef0dd4f0243a29587c5213f931b7d'], + }), + ('mongogrant', '0.3.3', { + 'checksums': ['ad494b8638adfa840cdd5568af44448dd43771b58102550cf7c61402b1620ab4'], + }), + ('sniffio', '1.3.0', { # Same version as in jupyter-server + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.7.1', { # Same version as in jupyter-server + 'checksums': ['44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780'], + }), + ('starlette', '0.27.0', { + 'checksums': ['6a6b0d042acb8d469a01eba54e9cda6cbd24ac602c4cd016723117d6a7e73b75'], + }), + ('fastapi', '0.105.0', { + 'checksums': ['4d12838819aa52af244580675825e750ad67c9df4614f557a769606af902cf22'], + }), + ('aioitertools', '0.11.0', { + 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], + }), + ('maggma', '0.60.2', { + 'checksums': ['12e8da1f80505f39432b972cbe47fb378cd9aa51fab968877a2d3b2588c96c69'], + }), + ('mp-api', '0.39.4', { + 'checksums': ['692abefd6adec36eb4fa193f914e08167ed33a5a3a9714ec3c15606839649f32'], + }), + (name, version, { + 'checksums': ['56c0041fe5431ac1b8f8c0c17d06091c4d61082c3a99924f3940d73ebb6656eb'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pmg'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pmg --help"] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/pyparsing/pyparsing-3.1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pyparsing/pyparsing-3.1.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c2539e1892f --- /dev/null +++ b/easybuild/easyconfigs/p/pyparsing/pyparsing-3.1.1-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'pyparsing' +version = '3.1.1' + +homepage = 'https://github.com/pyparsing/pyparsing' +description = """The pyparsing module is an alternative approach to creating and +executing simple grammars, vs. the traditional lex/yacc approach, or the use of +regular expressions. The pyparsing module provides a library of classes that +client code uses to construct the grammar directly in Python code.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +# matplotlib 3.7.2 requires pyparsing<=3.1, this v3.1.1 will not works with it +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +exts_list = [ + (name, version, { + 'checksums': ['ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.8.4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.8.4-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..3b186c8a420 --- /dev/null +++ b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.8.4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,46 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonBundle' + +name = 'pyro-ppl' +version = '1.8.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pyro-ppl/pyro' +description = "Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyTorch', '1.12.0', versionsuffix), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('pyro-api', '0.1.2', { + 'modulename': 'pyroapi', + 'checksums': ['a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920'], + }), + (name, version, { + 'modulename': 'pyro', + 'checksums': ['766fad61e52df48885de96d41213da1f8e8c1b79ecf308ad53189fcd15c1cb41'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = [ + "python -c 'from pyroapi import distributions as dist'", + "python -c 'from pyroapi import infer, ops, optim, pyro, pyro_backend'", + "python -c 'from pyro import infer, nn, distributions'", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyspoa/pyspoa-0.2.1-GCC-12.3.0.eb b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.2.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..96e58f23090 --- /dev/null +++ b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.2.1-GCC-12.3.0.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonPackage' + +name = 'pyspoa' +version = '0.2.1' + +local_cereal_version = '1.3.2' + +homepage = 'https://github.com/nanoporetech/pyspoa' +description = "Python bindings to spoa." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +toolchainopts = {'extra_cflags': "-fpermissive"} + +sources = [ + { + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/nanoporetech', + 'repo_name': 'pyspoa', + 'tag': 'v%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } + }, + { + 'source_urls': ['https://github.com/USCiLab/cereal/archive/'], + 'download_filename': 'v%s.tar.gz' % local_cereal_version, + 'filename': 'cereal-%s.tar.gz' % local_cereal_version, + }, +] + +patches = ['pyspoa-%(version)s_use-spoa-dep.patch'] + +checksums = [ + None, + '16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f', + 'dffd946e3b36e4872846fe983d287f992b5bf177798e11141bf0d645cfc0664d', +] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('pybind11', '2.11.1'), + ('spoa', '4.1.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +preinstallopts = "mkdir -p src/vendor/cereal && ln -s %(builddir)s/cereal-*/include src/vendor/cereal/include && " +# strip out cmake requirements, since we provide that as proper dependency +preinstallopts += "sed -i 's/.cmake==[0-9.]*.//g' setup.py && " +preinstallopts += "export libspoa=$EBROOTSPOA/lib/libspoa.a && " + +options = {'modulename': 'spoa'} + +sanity_check_commands = ["cd %(builddir)s/*/tests && python test_pyspoa.py"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pyspoa/pyspoa-0.2.1_use-spoa-dep.patch b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.2.1_use-spoa-dep.patch new file mode 100644 index 00000000000..37a309bd217 --- /dev/null +++ b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.2.1_use-spoa-dep.patch @@ -0,0 +1,24 @@ +use spoa dependency provided through EasyBuild + +author: Kenneth Hoste (HPC-UGent) +updated by: Petr Král (Inuits) +diff --git a/pyspoa-0.2.1/setup.py.orig b/pyspoa-0.2.1/setup.py +--- a/pyspoa-0.2.1/setup.py.orig 2023-11-27 14:48:14.661356275 +0100 ++++ b/pyspoa-0.2.1/setup.py 2023-11-27 14:52:53.880656275 +0100 +@@ -119,14 +119,14 @@ + 'spoa', + ['pyspoa.cpp'], + include_dirs=[ +- 'src/include/spoa', ++ os.path.join(os.getenv('EBROOTSPOA'), 'include/spoa'), + 'src/vendor/cereal/include', + get_pybind_include(), + get_pybind_include(user=True), + ], + language='c++', + extra_objects=[ +- LIB_SPOA ++ os.path.join(os.getenv('EBROOTSPOA'), 'lib64/libspoa.a'), + ], + + ), diff --git a/easybuild/easyconfigs/p/pytest-cpp/pytest-cpp-2.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pytest-cpp/pytest-cpp-2.3.0-GCCcore-11.3.0.eb old mode 100755 new mode 100644 index f5d720e5b7a..40226083365 --- a/easybuild/easyconfigs/p/pytest-cpp/pytest-cpp-2.3.0-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/pytest-cpp/pytest-cpp-2.3.0-GCCcore-11.3.0.eb @@ -13,7 +13,7 @@ dependencies = [('Python', '3.10.4')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['37abfa693697940aed2e7c034698188dee3616183ad9b3f764f3b06aeb75ed4a'] diff --git a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-11.3.0.eb old mode 100755 new mode 100644 index af5753f1645..60f2242fba0 --- a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-11.3.0.eb @@ -13,7 +13,7 @@ dependencies = [('Python', '3.10.4')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['e2412a1920bdb8e7908783b20b3d57e9dad590cc39a93e8596ffdd493b403e0e'] diff --git a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.2.0.eb index b5ed6a20032..2827c01ebbc 100644 --- a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.2.0.eb @@ -13,7 +13,7 @@ dependencies = [('Python', '3.10.8')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['e2412a1920bdb8e7908783b20b3d57e9dad590cc39a93e8596ffdd493b403e0e'] diff --git a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b5e47528026 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'pytest-flakefinder' +version = '1.1.0' + +homepage = 'https://github.com/dropbox/pytest-flakefinder' +description = """Runs tests multiple times to expose flakiness.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sources = [SOURCE_TAR_GZ] +checksums = ['e2412a1920bdb8e7908783b20b3d57e9dad590cc39a93e8596ffdd493b403e0e'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..195f8fd5cfb --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-13.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'pytest-flakefinder' +version = '1.1.0' + +homepage = 'https://github.com/dropbox/pytest-flakefinder' +description = "Runs tests multiple times to expose flakiness." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['e2412a1920bdb8e7908783b20b3d57e9dad590cc39a93e8596ffdd493b403e0e'] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-11.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-11.1-GCCcore-11.3.0.eb index 1a77cf37d10..b55fb3746ed 100644 --- a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-11.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-11.1-GCCcore-11.3.0.eb @@ -13,7 +13,7 @@ dependencies = [('Python', '3.10.4')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['bc6ad13614c976b04558c3a7bcc393a7e09686fb86b6ae73f827b78326c09f75'] diff --git a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.2.0.eb index eefd52471b1..58871575982 100644 --- a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.2.0.eb @@ -13,7 +13,7 @@ dependencies = [('Python', '3.10.8')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['784f462fa87fe9bdf781d0027d856b47a4bfe6c12af108f6bd887057a917b48e'] diff --git a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.3.0.eb index 19666ba283e..4a8634e4c3b 100644 --- a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.3.0.eb @@ -17,7 +17,7 @@ dependencies = [ use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['784f462fa87fe9bdf781d0027d856b47a4bfe6c12af108f6bd887057a917b48e'] diff --git a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-14.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-14.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3898c92c6b4 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-14.0-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'pytest-rerunfailures' +version = '14.0' + +homepage = 'https://github.com/pytest-dev/pytest-rerunfailures' +description = "pytest plugin to re-run tests to eliminate flaky failures." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sources = [SOURCE_TAR_GZ] +checksums = ['4a400bcbcd3c7a4ad151ab8afac123d90eca3abe27f98725dc4d9702887d2e92'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-11.3.0.eb index 11746d4cf6d..9e4d690223f 100644 --- a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-11.3.0.eb @@ -20,7 +20,7 @@ dependencies = [('Python', '3.10.4')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['b86a967fbfd1c8e50295095ccda031b7e890862ee06531d5142844f4c1d1cd67'] diff --git a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.2.0.eb index bd08dfe54d6..9087c9673f6 100644 --- a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.2.0.eb @@ -20,7 +20,7 @@ dependencies = [('Python', '3.10.8')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['b86a967fbfd1c8e50295095ccda031b7e890862ee06531d5142844f4c1d1cd67'] diff --git a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f583722391d --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pytest-shard' +version = '0.1.2' + +homepage = 'https://github.com/AdamGleave/pytest-shard' +description = """pytest plugin to support parallelism across multiple machines. + +Shards tests based on a hash of their test name enabling easy parallelism across machines, +suitable for a wide variety of continuous integration services. +Tests are split at the finest level of granularity, individual test cases, +enabling parallelism even if all of your tests are in a single file +(or even single parameterized test method). +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sources = [SOURCE_TAR_GZ] +checksums = ['b86a967fbfd1c8e50295095ccda031b7e890862ee06531d5142844f4c1d1cd67'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..fbcbb1222e1 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'pytest-shard' +version = '0.1.2' + +homepage = 'https://github.com/AdamGleave/pytest-shard' +description = """pytest plugin to support parallelism across multiple machines. + +Shards tests based on a hash of their test name enabling easy parallelism across machines, +suitable for a wide variety of continuous integration services. +Tests are split at the finest level of granularity, individual test cases, +enabling parallelism even if all of your tests are in a single file +(or even single parameterized test method). +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['b86a967fbfd1c8e50295095ccda031b7e890862ee06531d5142844f4c1d1cd67'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-workflow/pytest-workflow-2.0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pytest-workflow/pytest-workflow-2.0.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..26f088cae6d --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-workflow/pytest-workflow-2.0.1-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'pytest-workflow' +version = '2.0.1' + +homepage = 'https://github.com/LUMC/pytest-workflow' +description = """Configure workflow/pipeline tests using yaml files. + +pytest-workflow is a workflow-system agnostic testing framework that aims to make pipeline/workflow testing easy by +using YAML files for the test configuration. +Whether you write your pipelines in WDL, snakemake, nextflow, bash or any other workflow framework, +pytest-workflow makes testing easy. +pytest-workflow is build on top of the pytest test framework.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] +dependencies = [ + ('Python', '3.10.8'), + ('PyYAML', '6.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sources = [SOURCE_TAR_GZ] +checksums = ['c4968baf2f3c5ff301e59e1f72dd2814c8dc7db950df7fcafbf358b495da7fa8'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-workflow/pytest-workflow-2.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pytest-workflow/pytest-workflow-2.1.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..7636002c091 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-workflow/pytest-workflow-2.1.0-GCCcore-13.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'pytest-workflow' +version = '2.1.0' + +homepage = 'https://github.com/LUMC/pytest-workflow' +description = """Configure workflow/pipeline tests using yaml files. + +pytest-workflow is a workflow-system agnostic testing framework that aims to make pipeline/workflow testing easy by +using YAML files for the test configuration. +Whether you write your pipelines in WDL, snakemake, nextflow, bash or any other workflow framework, +pytest-workflow makes testing easy. +pytest-workflow is build on top of the pytest test framework.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.5'), + ('PyYAML', '6.0.1'), + ('python-isal', '1.6.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('zlib-ng', '0.4.1', { + 'checksums': ['153183724143711c92bd243528b97fdd3b2426c778079498b882fce445a68421'], + }), + ('zstandard', '0.22.0', { + 'checksums': ['8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70'], + }), + ('xopen', '1.9.0', { + 'checksums': ['01daaefd18875b1e555183f9641de892cc245eaca6893546e91f48182b6d6ab1'], + }), + (name, version, { + 'checksums': ['dc86ad9a5f94482aec14926788f6b78b428be68ee0428cbca22f89b6326f8b7a'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/python-casacore/python-casacore-3.5.2-foss-2023b.eb b/easybuild/easyconfigs/p/python-casacore/python-casacore-3.5.2-foss-2023b.eb new file mode 100644 index 00000000000..2c80f491c98 --- /dev/null +++ b/easybuild/easyconfigs/p/python-casacore/python-casacore-3.5.2-foss-2023b.eb @@ -0,0 +1,45 @@ +easyblock = "PythonBundle" + +name = 'python-casacore' +version = '3.5.2' + +homepage = 'https://casacore.github.io/python-casacore/#' +description = """Python-casacore is a set of Python bindings for casacore, +a c++ library used in radio astronomy. Python-casacore replaces the old pyrap.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('casacore', '3.5.0'), + ('Boost.Python', '1.83.0'), + ('SciPy-bundle', '2023.11'), + ('CFITSIO', '4.3.1'), +] + +exts_list = [ + ('setuptools', '69.1.0', { + 'checksums': ['850894c4195f09c4ed30dba56213bf7c3f21d86ed6bdaafb5df5972593bfc401'], + }), + (name, version, { + # Module uses $LD_LIBRARY_PATH to find libraries + # See https://github.com/EESSI/software-layer/pull/497#issuecomment-1991196996 + 'preinstallopts': 'if [[ -z "$LD_LIBRARY_PATH" ]]; then export LD_LIBRARY_PATH="$LIBRARY_PATH"; fi && ', + 'checksums': ['ad70c8e08893eec928b3e38c099bda8863f5aa9d099fd00694ad2b0d48eba08f'], + 'modulename': 'casacore' + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + ('python', "-c 'import casacore'"), +] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb new file mode 100644 index 00000000000..3af264daf8b --- /dev/null +++ b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'python-igraph' +version = '0.11.4' + +homepage = 'https://igraph.org/python' +description = """Python interface to the igraph high performance graph library, primarily aimed at complex network + research and analysis.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('Clang', '16.0.6'), + ('libxml2', '2.11.4'), + ('zlib', '1.2.13'), + ('igraph', '0.10.10'), + ('cairo', '1.17.8'), +] + +use_pip = True + +exts_list = [ + ('texttable', '1.7.0', { + 'checksums': ['2d2068fb55115807d3ac77a4ca68fa48803e84ebb0ee2340f858107a36522638'], + }), + ('cairocffi', '1.6.1', { + 'checksums': ['78e6bbe47357640c453d0be929fa49cd05cce2e1286f3d2a1ca9cbda7efdb8b7'], + }), + ('igraph', version, { + 'modulename': 'igraph', + 'checksums': ['2437ae0157af6824e2e65a23f7a1fa4fbf0f3664333c72aeca4fc01b83e18483'], + }), +] + + +# cairo must be available for proper plotting support +sanity_check_commands = [ + "python -c 'from igraph.drawing.cairo.utils import find_cairo; " + "cairo = find_cairo(); cairo.Context'", +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-irodsclient/python-irodsclient-2.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/python-irodsclient/python-irodsclient-2.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8905aaea648 --- /dev/null +++ b/easybuild/easyconfigs/p/python-irodsclient/python-irodsclient-2.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'python-irodsclient' +version = '2.0.0' + +homepage = 'https://github.com/irods/python-irodsclient' +description = "A python API for iRODS" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('prettytable', '3.9.0', { + 'checksums': ['f4ed94803c23073a90620b201965e5dc0bccf1760b7a7eaf3158cab8aaffdf34'], + }), + (name, version, { + 'modulename': 'irods', + 'checksums': ['4b9de7534c1eeecea4f0d875205cfdc73f7310693748e098b4a3b58c3d781883'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-isal/python-isal-1.6.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-1.6.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..07f49e7a0d1 --- /dev/null +++ b/easybuild/easyconfigs/p/python-isal/python-isal-1.6.1-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'python-isal' +version = '1.6.1' + +homepage = 'https://github.com/pycompression/python-isal' +description = """Faster zlib and gzip compatible compression and decompression + by providing python bindings for the isa-l library. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.5'), + ('ISA-L', '2.31.0'), +] + +source_urls = [PYPI_SOURCE.replace('%(name)s', 'isal')] +sources = ['isal-%s.tar.gz' % version] +checksums = ['7b64b75d260b544beea3f59cb25a6f520c04768818ef4ac316ee9a1f2ebf18f5'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true' + +options = {'modulename': 'isal'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.20.2-foss-2023b.eb b/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.20.2-foss-2023b.eb new file mode 100644 index 00000000000..ca7069c9e27 --- /dev/null +++ b/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.20.2-foss-2023b.eb @@ -0,0 +1,44 @@ +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# Authors: Sebastien Moretti +# Update: PavelTománek (INUITS) + +easyblock = 'PythonBundle' + +name = 'python-libsbml' +version = '5.20.2' + +homepage = 'https://sbml.org/' +description = """LibSBML Python API.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('make', '4.4.1'), + ('Check', '0.15.2'), + ('SWIG', '4.1.1'), + ('expat', '2.5.0'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('libxml2', '2.11.5'), + ('libxslt', '1.1.38'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'libsbml', + 'checksums': ['0af5cbff68c9b52bac4bd7bb261f93a60832dc8cb31dafc90d3aff51467935b7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/python-parasail/python-parasail-1.3.4-foss-2023a.eb b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.3.4-foss-2023a.eb new file mode 100644 index 00000000000..1aba7a09500 --- /dev/null +++ b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.3.4-foss-2023a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'python-parasail' +version = '1.3.4' + +homepage = 'https://github.com/jeffdaily/parasail-python' +description = "Python Bindings for the Parasail C Library" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://pypi.python.org/packages/source/p/parasail'] +sources = ['parasail-%(version)s.tar.gz'] +checksums = ['d6a7035dfae3ef5aafdd7e6915711214c22b572ea059fa69d9d7ecbfb9b61b0f'] + +builddependencies = [ + ('parasail', '2.6.2'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +# make sure setup.py finds the parasail library +preinstallopts = "ln -s $EBROOTPARASAIL/lib/libparasail.so parasail/libparasail.%s && " % SHLIB_EXT + +options = {'modulename': 'parasail'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..51d76b9bf21 --- /dev/null +++ b/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'python-xxhash' +version = '3.4.1' + +homepage = 'https://github.com/ifduyue/python-xxhash' +description = 'xxhash is a Python binding for the xxHash library by Yann Collet.' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('xxHash', '0.8.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xxhash', version, { + 'preinstallopts': 'XXHASH_LINK_SO=1', # use xxHash library from EB + 'checksums': ['0379d6cf1ff987cd421609a264ce025e74f346e3e145dd106c0cc2e3ec3f99a9'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pytorch-3dunet/pytorch-3dunet-1.6.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/pytorch-3dunet/pytorch-3dunet-1.6.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..7e56318d66d --- /dev/null +++ b/easybuild/easyconfigs/p/pytorch-3dunet/pytorch-3dunet-1.6.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,57 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2023/11 +easyblock = 'PythonBundle' + +name = 'pytorch-3dunet' +version = '1.6.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/wolny/pytorch-3dunet' +description = """ +PyTorch implementation of 3D U-Net and its variants: + - UNet3D: Standard 3D U-Net based on 3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation + - ResidualUNet3D: Residual 3D U-Net based on Superhuman Accuracy on the SNEMI3D + Connectomics Challenge + - ResidualUNetSE3D: Similar to ResidualUNet3D with the addition of Squeeze and + Excitation blocks based on Deep Learning Semantic Segmentation for High- + Resolution Medical Volumes. Original squeeze and excite paper: Squeeze-and- + Excitation Networks +The code allows for training the U-Net for both: semantic segmentation (binary +and multi-class) and regression problems (e.g. de-noising, learning +deconvolutions). +""" +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('cppy', '1.2.1') +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', '1.12.0', versionsuffix), + ('h5py', '3.7.0'), + ('tensorboard', '2.10.0'), + ('scikit-image', '0.19.3'), +] + +use_pip = True +sanity_pip_check = True + +github_account = 'wolny' +exts_list = [ + (name, version, { + 'modulename': 'pytorch3dunet', + 'source_urls': [GITHUB_SOURCE], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['5323eb8a31ad95c17a3e3d83e3de08b0d3cdd0841b28687aa41039355706b659'], + }), +] + +sanity_check_commands = [ + "train3dunet --help", + "predict3dunet --help" +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.13.1-gfbf-2023b.eb b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.13.1-gfbf-2023b.eb new file mode 100644 index 00000000000..e056461c26a --- /dev/null +++ b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.13.1-gfbf-2023b.eb @@ -0,0 +1,73 @@ +easyblock = 'PythonBundle' + +name = 'QCG-PilotJob' +version = '0.13.1' + +homepage = 'https://qcg-pilotjob.readthedocs.org' +description = """A python service for easy execution of many tasks inside a single allocation.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('PyZMQ', '25.1.2'), + ('Kaleido', '0.2.1'), + ('statsmodels', '0.14.1'), + ('plotly.py', '5.18.0'), +] + +use_pip = True + +exts_list = [ + ('patsy', '0.5.6', { + 'checksums': ['95c6d47a7222535f84bff7f63d7303f2e297747a598db89cf5c67f0c0c7d2cdb'], + }), + ('plotly_express', '0.4.1', { + 'checksums': ['ff73a41ce02fb43d1d8e8fa131ef3e6589857349ca216b941b8f3f862bce0278'], + }), + ('prompt_toolkit', '3.0.43', { + 'checksums': ['3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d'], + }), + ('trove-classifiers', '2024.1.8', { + 'patches': ['trove-classifiers-2024.1.8_fix_setup.patch'], + 'checksums': [ + {'trove-classifiers-2024.1.8.tar.gz': '6e36caf430ff6485c4b57a4c6b364a13f6a898d16b9417c6c37467e59c14b05a'}, + {'trove-classifiers-2024.1.8_fix_setup.patch': + '90ef5954a558ece2e3d1bc0a9732224b397b8803f9cb8d8915cf2cf4b59498bc'}, + ], + }), + ('hatchling', '1.21.0', { + 'checksums': ['5c086772357a50723b825fd5da5278ac7e3697cdf7797d07541a6c90b6ff754c'], + }), + ('hatch_vcs', '0.4.0', { + 'checksums': ['093810748fe01db0d451fabcf2c1ac2688caefd232d4ede967090b1c1b07d9f7'], + }), + ('setuptools-scm', '8.0.4', { + 'checksums': ['b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7'], + }), + ('termcolor', '2.4.0', { + 'checksums': ['aab9e56047c8ac41ed798fa36d892a37aca6b3e9159f3e0c24bc64a9b3ac7b7a'], + }), + ('qcg-pilotjob', version, { + 'modulename': 'qcg.pilotjob', + 'patches': ['QCG-PilotJob-0.12.3_rename_zmq.patch'], + 'checksums': [ + {'qcg-pilotjob-0.13.1.tar.gz': '6aff74436edde78e8f584066a732298731e8ce1190f7fe69edfaab64a3ecc29d'}, + {'QCG-PilotJob-0.12.3_rename_zmq.patch': + '51cba1bfe1dcd33180dffe65941acdfa70823d6cae4b81182fd16a7debf907cd'}, + ], + }), + ('qcg-pilotjob-cmds', version, { + 'modulename': 'qcg.pilotjob.cmds', + 'checksums': ['dc7d4a30b65f2194cf68ec876401581647f683d766215a4fef32b438ec4cbffe'], + }), + ('qcg-pilotjob-executor-api', version, { + 'modulename': 'qcg.pilotjob.api', + 'checksums': ['9d7303199bcce1de35d480f96bc2da93b5259a5cac31476c486f790ccbdeebdf'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/q/QCG-PilotJob/trove-classifiers-2024.1.8_fix_setup.patch b/easybuild/easyconfigs/q/QCG-PilotJob/trove-classifiers-2024.1.8_fix_setup.patch new file mode 100644 index 00000000000..f21ac6f790a --- /dev/null +++ b/easybuild/easyconfigs/q/QCG-PilotJob/trove-classifiers-2024.1.8_fix_setup.patch @@ -0,0 +1,11 @@ +diff -Nru trove-classifiers-2024.1.8-orig/setup.py trove-classifiers-2024.1.8/setup.py +--- trove-classifiers-2024.1.8-orig/setup.py 2024-01-08 14:59:52.000000000 +0100 ++++ trove-classifiers-2024.1.8/setup.py 2024-01-11 10:37:27.552452000 +0100 +@@ -12,6 +12,7 @@ + setup( + name="trove-classifiers", + description="Canonical source for classifiers on PyPI (pypi.org).", ++ version="2024.1.8", + long_description=long_description, + long_description_content_type="text/markdown", + url="https://github.com/pypa/trove-classifiers", diff --git a/easybuild/easyconfigs/q/QIIME2/QIIME2-2023.7.0-foss-2022a.eb b/easybuild/easyconfigs/q/QIIME2/QIIME2-2023.7.0-foss-2022a.eb new file mode 100644 index 00000000000..37d299ece5e --- /dev/null +++ b/easybuild/easyconfigs/q/QIIME2/QIIME2-2023.7.0-foss-2022a.eb @@ -0,0 +1,327 @@ +easyblock = 'PythonBundle' + +name = 'QIIME2' +version = '2023.7.0' + +homepage = 'https://qiime2.org' +description = """QIIME 2 is a powerful, extensible, and decentralized microbiome bioinformatics platform that is free, +open source, and community developed.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('IPython', '8.5.0'), + ('PyYAML', '6.0'), + ('Java', '11', '', SYSTEM), + ('Perl', '5.34.1'), + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', '-R-%(rver)s'), + ('Parsl', '2023.7.17'), + ('alsa-lib', '1.2.8'), + ('BLAST+', '2.13.0'), + ('bokeh', '2.4.3'), + ('Bowtie2', '2.4.5'), + ('bwidget', '1.9.15'), + ('bzip2', '1.0.8'), + ('cairo', '1.17.4'), + ('cURL', '7.83.0'), + ('cutadapt', '4.2'), + ('DendroPy', '4.5.2'), + ('expat', '2.4.8'), + ('FastTree', '2.1.11'), + ('fontconfig', '2.14.0'), + ('FriBidi', '1.0.12'), + ('giflib', '5.2.1'), + ('GLib', '2.72.1'), + ('GSL', '2.7'), + ('h5py', '3.7.0'), + ('HarfBuzz', '4.2.1'), + ('MAFFT', '7.505', '-with-extensions'), + ('scikit-bio', '0.5.7'), + ('scikit-learn', '1.1.2'), + ('Seaborn', '0.12.1'), + ('statsmodels', '0.13.1'), + ('umap-learn', '0.5.3'), + ('VSEARCH', '2.22.1'), + ('UniFrac', '1.3.2'), + ('attr', '2.5.1'), + ('Brotli-python', '1.0.9'), + ('SAMtools', '1.16.1'), + ('HTSlib', '1.15.1'), + ('HMMER', '3.3.2'), + ('networkx', '2.8.4'), +] + +use_pip = True + +# avoid that hidden (sub)directories like .config/q2cli are created in home directory +preinstallopts = "export HOME=%(builddir)s/home && " + +# avoid hatchling requirement to install altair +# (since installing it introduces conflicting version requirements with poetry included with Python) +# also copy missing vega-lite-schema.json to installdir +_preinstallopts = ' '.join([ + """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g'""", + """-e 's/^requires = .*/requires = ["setuptools"]/g'""", + """-e 's/^license-files = .*//g'""", + r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """, + 'schemadir=%(installdir)s/lib/python%(pyshortver)s/site-packages/altair/vegalite/v5/schema/ && ', + 'mkdir -p $schemadir && cp altair/vegalite/v5/schema/vega-lite-schema.json $schemadir && ', +]) + +# versions of QIIME2 extensions taken from: +# https://github.com/qiime2/package-integration/blob/main/2023.7/staged/core/conda_build_config.yaml +exts_list = [ + ('unifrac', '1.1.1', { + 'patches': ['%(name)s-%(version)s_fix.patch'], + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/biocore/unifrac/archive/refs/tags'], + 'checksums': [ + {'1.1.1.tar.gz': '95aeb107d014ffd614fda5d3c58bfac860c1a6185a63e7cd6eb2462e4d4d4f06'}, + {'unifrac-1.1.1_fix.patch': '4f31e9e1f8c40a166d0a66852f6ae2434a95575664a69e49bb513997891d3806'}, + ], + }), + ('argcomplete', '2.0.0', { + 'checksums': ['6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.1', { + 'checksums': ['413adf95f93886e442aea925f3ee43baa5a765a64a0f52c6081894f9992fdd0b'], + }), + ('cached-property', '1.5.2', { + 'checksums': ['9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130'], + }), + ('contourpy', '1.0.7', { + 'checksums': ['d8165a088d31798b59e91117d1f5fc3df8168d8b48c4acc10fc0df0d0bdbcc5e'], + }), + ('tzdata', '2022.7', { + 'checksums': ['fe5f866eddd8b96e9fcba978f8e503c909b19ea7efda11e52e39494bad3a7bfa'], + }), + ('pytz-deprecation-shim', '0.1.0.post0', { + 'source_tmpl': 'pytz_deprecation_shim-%(version)s.tar.gz', + 'checksums': ['af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d'], + }), + ('tzlocal', '5.0.1', { + 'checksums': ['46eb99ad4bdb71f3f72b7d24f4267753e240944ecfc16f25d2719ba89827a803'], + }), + ('argon2-cffi-bindings', '21.2.0', { + 'modulename': '_argon2_cffi_bindings', + 'checksums': ['bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3'], + }), + ('biom-format', '2.1.15', { + 'modulename': 'biom', + 'checksums': ['3bda2096e663dc1cb6f90f51b394da0838b9be5164a44370c134ce5b3b2a4dd3'], + }), + ('pylatexenc', '2.10', { + 'checksums': ['3dd8fd84eb46dc30bee1e23eaab8d8fb5a7f507347b23e5f38ad9675c84f40d3'], + }), + ('bibtexparser', '1.4.0', { + 'checksums': ['ca7ce2bc34e7c48a678dd49416429bb567441f26dbb13b3609082d8cd109ace6'], + }), + ('deblur', '1.1.0', { + 'checksums': ['78ca2c9946ed99c0d49352e92b63083ae10d04734af7682baddb2c31966c1674'], + }), + ('emperor', '1.0.4', { + 'checksums': ['8b57d6ee3709b62b4dfdd8e1f815dd88e5fee3a05947d72fa32191a16ac08854'], + }), + ('fastcluster', '1.2.6', { + 'checksums': ['aab886efa7b6bba7ac124f4498153d053e5a08b822d2254926b7206cdf5a8aa6'], + }), + ('gneiss', '0.4.6', { + 'preinstallopts': "sed -i '/nose/d' setup.py && ", + 'checksums': ['5ebf32148909cf74475e45682042c68224f002c1cbf723a5c96014a30f1cf323'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('ijson', '3.2.3', { + 'checksums': ['10294e9bf89cb713da05bc4790bdff616610432db561964827074898e174f917'], + }), + ('iow', '1.0.6', { + 'modulename': 'bp', + 'preinstallopts': """sed -i "/'nose /d" setup.py && """, + 'checksums': ['ac4f579a0881f1c827f75033a304341ae91d3a527cc6aed3fea53749f1b9951c'], + }), + # using prebuilt wheels for atpublic and flufl.lock because building them requires pdm + ('atpublic', '4.0', { + 'modulename': 'public', + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['80057c55641253b86dcb68b524f82328172371b6547d4c7462a9127fbfbbabfc'], + }), + ('flufl-lock', '8.0.1', { + 'modulename': 'flufl.lock', + 'source_tmpl': 'flufl_lock-%(version)s-py3-none-any.whl', + 'checksums': ['a3df854d76173d59813fdcba91671234b59e2a14db3390793745c77a7bb92d9d'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('interface_meta', '1.3.0', { + 'checksums': ['8a4493f8bdb73fb9655dcd5115bc897e207319e36c8835f39c516a2d7e9d79a1'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('formulaic', '0.4.0', { + 'checksums': ['087950518c53a2491deb52b8ddd66833f953882e517a42e476c007cc8f6892c5'], + }), + ('altair', '5.0.1', { + 'preinstallopts': _preinstallopts, + 'checksums': ['087d7033cb2d6c228493a053e12613058a5d47faf6a36aea3ff60305fd8b4cb0'], + }), + (name, version, { + 'patches': ['QIIME2-2023.5.1_fix.patch'], + 'source_urls': ['https://github.com/qiime2/qiime2/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'QIIME2-2023.7.0.tar.gz': 'e812188bc2f658c556a3a9d4670c6d25595114726e975cff0b0cbc88e47318ec'}, + {'QIIME2-2023.5.1_fix.patch': '6148e5334f478bcdd6f5bf30fbe39426be71c391af1a384a529c49e658ada7a5'}, + ], + }), + ('q2cli', version, { + 'source_urls': ['https://github.com/qiime2/q2cli/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['2ee2f1f95bacaee8c8a3c4fbc43b20d01ab32bb8736a8d142216ba3ff6817487'], + }), + ('q2-alignment', version, { + 'source_urls': ['https://github.com/qiime2/q2-alignment/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['8b93b0b5a156f0d318e984b2a9aff677e7de0426150019056266200c32b4b3c8'], + }), + ('q2-composition', version, { + 'source_urls': ['https://github.com/qiime2/q2-composition/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e884ce154fdc6e8ad3c77f2e799beab27a3de511836a9d0261cef56d96523721'], + }), + ('q2-cutadapt', version, { + 'source_urls': ['https://github.com/qiime2/q2-cutadapt/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['73c95ba387dd6f1612488cd8ad8ee4d483f6a85bb342b9b77dd8b075b1fde09d'], + }), + ('q2-dada2', version, { + 'source_urls': ['https://github.com/qiime2/q2-dada2/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['0597d81acea64f63b10a8e5061ae2acb4dd1cc04a77be243f921a70d3303ee93'], + }), + ('q2-deblur', version, { + 'source_urls': ['https://github.com/qiime2/q2-deblur/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['284ade6685e873642cf52d3d8625048a913fd218ec79427fc64d3825e5665578'], + }), + ('q2-demux', version, { + 'preinstallopts': "make all && ", + 'source_urls': ['https://github.com/qiime2/q2-demux/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['ba3358e7af1f88dfbecb74aea31927b3b7208c534233f0691abea1df33445ce3'], + }), + ('q2-diversity', version, { + 'preinstallopts': "make all && ", + 'source_urls': ['https://github.com/qiime2/q2-diversity/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['30e1c3f72f6dbbd05752248f525950ba42d4c8e627c3b50599565848b969e7c4'], + }), + ('q2-diversity-lib', version, { + 'source_urls': ['https://github.com/qiime2/q2-diversity-lib/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['4c907b957e40356ac66bd9af2272051553491aaa8580be543da199f44e48f688'], + }), + ('q2-emperor', version, { + 'source_urls': ['https://github.com/qiime2/q2-emperor/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d6581926a3038a3e8dbaad563281c4bb2b707ba2133329fb239af7fde0627a97'], + }), + ('q2-feature-classifier', version, { + 'source_urls': ['https://github.com/qiime2/q2-feature-classifier/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['f802804dec72c29e2b2a6b8052858739fb5b3791d579e0020f4a0f4f92eb8587'], + }), + ('q2-feature-table', version, { + 'source_urls': ['https://github.com/qiime2/q2-feature-table/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['3175223586013da3b71cf982076aec4bc4548d13e9afa87422f35c6c9f7e009f'], + }), + ('q2-fragment-insertion', version, { + 'source_urls': ['https://github.com/qiime2/q2-fragment-insertion/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['bee91e55e4fce25475430c2f04f15a022850cc4c1f00d6872619a525c5ea568c'], + }), + ('q2-gneiss', version, { + 'source_urls': ['https://github.com/qiime2/q2-gneiss/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['f495d0cfb9125325f85c39ba87a69ca843b856211c0b3250e34877cc5bdccb68'], + }), + ('q2-longitudinal', version, { + 'source_urls': ['https://github.com/qiime2/q2-longitudinal/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['141272036a032b29784101dd67f2537fc246b2ce0014189be8d48b48db7aa6b1'], + }), + ('q2-metadata', version, { + 'source_urls': ['https://github.com/qiime2/q2-metadata/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['b3359c9660bfb2d913f0338c1d54633b197be7887f79d05e12930ab1e263044c'], + }), + ('q2-phylogeny', version, { + 'source_urls': ['https://github.com/qiime2/q2-phylogeny/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['c42361fb8878ed08c8cb130c3f6f894c0b35220a7d761b7d6e3f5c701bd19acc'], + }), + ('q2-quality-control', version, { + 'source_urls': ['https://github.com/qiime2/q2-quality-control/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['8aacd517dc422dd429dc298f07f9bb324a2c1e261d6fce64b990b7d54e7216ce'], + }), + ('q2-quality-filter', version, { + 'source_urls': ['https://github.com/qiime2/q2-quality-filter/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['ed2abc58656585c1f7767f43b8a2f70e4c8e5a6f3393b4d05cce04a656b9418d'], + }), + ('q2-sample-classifier', version, { + 'source_urls': ['https://github.com/qiime2/q2-sample-classifier/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['8736b7fdd985ae6d33d74bde97a0500a2fc28e4d5d1349bcee3656ff9b354d1d'], + }), + ('q2-taxa', version, { + 'preinstallopts': "make all && ", + 'source_urls': ['https://github.com/qiime2/q2-taxa/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['df2fca8df1dfd2c795b2c7fd72a9ea2dd887813df468c9a9777fc902bddfdb1c'], + }), + ('q2-types', version, { + 'source_urls': ['https://github.com/qiime2/q2-types/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['eb646be101d499f92e60801f613ac54329f246936dd110c148d4381df4a0f64b'], + }), + ('q2-vsearch', version, { + 'source_urls': ['https://github.com/qiime2/q2-vsearch/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['4d67bfc97ff350538f07fd7aadc4a9ef7ad8dde8087052360dda937c13887aa1'], + }), + ('q2templates', version, { + 'source_urls': ['https://github.com/qiime2/q2templates/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['405a3f5e9146104ee6f16b6a164b317ee1c9692e8984c2fc54360b9bc267382d'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/biom', 'bin/qiime'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "qiime --help", + "qiime info", + "qiime tools validate " + "%(installdir)s/lib/python%(pyshortver)s/site-packages/q2_sample_classifier/tests/data/vaw.qza", +] + +modextrapaths = {'CONDA_PREFIX': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..0ae78992e08 --- /dev/null +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'Qhull' +version = '2020.2' + +homepage = 'http://www.qhull.org' + +description = """ + Qhull computes the convex hull, Delaunay triangulation, Voronoi diagram, + halfspace intersection about a point, furthest-site Delaunay triangulation, + and furthest-site Voronoi diagram. The source code runs in 2-d, 3-d, 4-d, and + higher dimensions. Qhull implements the Quickhull algorithm for computing the + convex hull. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://www.qhull.org/download/'] +sources = ['%(namelower)s-%(version_major)s-src-8.0.2.tgz'] +checksums = ['b5c2d7eb833278881b952c8a52d20179eab87766b00b865000469a45c1838b7e'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +sanity_check_paths = { + 'files': ['bin/qhull', 'lib/libqhull_r.%s' % SHLIB_EXT, + 'lib/pkgconfig/qhull_r.pc'], + 'dirs': [], +} + +modextrapaths = { + 'CPATH': ['qhull/include'], +} + +parallel = 1 + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13-GCCcore-13.2.0.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..fbf91d9f0af --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13-GCCcore-13.2.0.eb @@ -0,0 +1,93 @@ + +easyblock = 'EB_Qt' + +name = 'Qt5' +version = '5.15.13' + +homepage = 'https://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +# disabling use of -ftree-vectorize is required to avoid compilation failures on some systems (e.g. Intel Skylake X) +toolchainopts = {'vectorize': False} + +source_urls = [ + 'https://download.qt.io/official_releases/qt/%(version_major_minor)s/%(version)s/single/', + 'https://download.qt.io/archive/qt/%(version_major_minor)s/%(version)s/single/', + 'https://download.qt.io/new_archive/qt/%(version_major_minor)s/%(version)s/single/', +] +sources = ['qt-everywhere-opensource-src-%(version)s.tar.xz'] +patches = [ + 'Qt5-5.13.1_fix-avx2.patch', + 'Qt5-5.13.1_fix-qmake-libdir.patch', + 'Qt5-5.15.10_fix-OF-Gentoo.patch', + 'Qt5-5.15.10_fix-qtwebengine-breakpad-glibc-2.34.patch', + 'Qt5-5.15.7_GCC-12.patch', + 'Qt5-5.15.10_webengine-chromium-drop-catapult.patch', + 'Qt5-5.15.10_webengine-chromium-python3.patch', + 'Qt5-5.15.10_webengine-drop-catapult.patch', + 'Qt5-5.15.10_webengine-python3.patch', + 'Qt5-5.15.10_webengine-python3.11.patch', + 'Qt5-5.15.13_fix-XKB_KEY_dead.patch', + 'Qt5-5.15.13_fix-includes.patch', +] +checksums = [ + {'qt-everywhere-opensource-src-5.15.13.tar.xz': '9550ec8fc758d3d8d9090e261329700ddcd712e2dda97e5fcfeabfac22bea2ca'}, + {'Qt5-5.13.1_fix-avx2.patch': '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc'}, + {'Qt5-5.13.1_fix-qmake-libdir.patch': '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63'}, + {'Qt5-5.15.10_fix-OF-Gentoo.patch': '1c4d3b974422dadb4fd62f79581d48d25ae3d5f5f21489ae8c632e43e2e5286b'}, + {'Qt5-5.15.10_fix-qtwebengine-breakpad-glibc-2.34.patch': + '3b536de3b2da9115d96323a00275fc6066bb048f3747f8e6971facd78ed4e2e2'}, + {'Qt5-5.15.7_GCC-12.patch': '9a5bde91b223a3e2e90d3d6bec107af69a1a0f18d789593738a953080473fa68'}, + {'Qt5-5.15.10_webengine-chromium-drop-catapult.patch': + '6325c6f63b144755fcf040614178923406d7526517d58b29d99b100919acec54'}, + {'Qt5-5.15.10_webengine-chromium-python3.patch': + '128d58c1e83f551daec6e9122fc1cea07be76b79d4e99222969649be24334e1e'}, + {'Qt5-5.15.10_webengine-drop-catapult.patch': '7a488a0d73b7a9f33a2bdb87996f0a16938f5f882385190833679d1d17684907'}, + {'Qt5-5.15.10_webengine-python3.patch': '0e35606506cb218841e05d38214ec6a442f7481630c2d856a09b7863af304023'}, + {'Qt5-5.15.10_webengine-python3.11.patch': '8486fc234de2cdf8a600b204bac5d8eb2bc0bc9b1b1d365505f801c4a201f9c3'}, + {'Qt5-5.15.13_fix-XKB_KEY_dead.patch': '7fcee0d8414f5060d2b93a46bbd109b9712c127747dc654bf9dc99038e6b5340'}, + {'Qt5-5.15.13_fix-includes.patch': '95fc8a41572bce7c6b46cede0bd35fd4f80e2f962b8394b26e6265c2e885e758'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + # deps for QtWebEngine + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('Ninja', '1.11.1'), + ('Python', '3.11.5'), + ('re2c', '3.1'), +] + +dependencies = [ + ('double-conversion', '3.3.0'), + ('GLib', '2.78.1'), + ('PCRE2', '10.42'), + ('libpng', '1.6.40'), + ('HarfBuzz', '8.2.2'), + ('graphite2', '1.3.14'), + # deps for QtWebEngine + ('X11', '20231019'), + ('fontconfig', '2.14.2'), + ('DBus', '1.15.8'), + ('libevent', '2.1.12'), + ('libGLU', '9.0.3'), + ('libjpeg-turbo', '3.0.1'), + ('NSS', '3.94'), + ('snappy', '1.1.10'), + ('JasPer', '4.0.0'), + ('bzip2', '1.0.8'), + ('OpenSSL', '1.1', '', SYSTEM), + ('ICU', '74.1'), + ('nodejs', '20.9.0'), +] +# qtgamepad needs recent kernel/libevdev (fails on RHEL 6.x) +# qtwayland fails to build on (some) Centos 7 systems +configopts = '-skip qtgamepad -skip qtwayland ' +# make sure QtWebEngine component is being built & installed +check_qtwebengine = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-XKB_KEY_dead.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-XKB_KEY_dead.patch new file mode 100644 index 00000000000..55381a32941 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-XKB_KEY_dead.patch @@ -0,0 +1,19 @@ +see https://bugreports.qt.io/browse/QTBUG-117950 + https://codereview.qt-project.org/c/qt/qtbase/+/510764 +ported to Qt5 5.15.11 by Kenenth Hoste (HPC-UGent) +--- qt-everywhere-src-5.15.11/qtbase/src/platformsupport/input/xkbcommon/qxkbcommon.cpp.orig 2023-11-24 12:19:01.050524400 +0100 ++++ qt-everywhere-src-5.15.11/qtbase/src/platformsupport/input/xkbcommon/qxkbcommon.cpp 2023-11-24 12:19:23.232570214 +0100 +@@ -273,10 +273,14 @@ + Xkb2Qt, + Xkb2Qt, + Xkb2Qt, ++/* The following four XKB_KEY_dead keys got removed in libxkbcommon 1.6.0 ++ The define check is kind of version check here. */ ++#ifdef XKB_KEY_dead_lowline + Xkb2Qt, + Xkb2Qt, + Xkb2Qt, + Xkb2Qt, ++#endif + + // Special keys from X.org - This include multimedia keys, + // wireless/bluetooth/uwb keys, special launcher keys, etc. diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-includes.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-includes.patch new file mode 100644 index 00000000000..eb54e76ede9 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-includes.patch @@ -0,0 +1,286 @@ +add missing stdint includes required when building with GCC 13.x +and replace variable Pixmap --> PresentPixmap in chromium/third_party/xcbproto/src/src/present.xml +see also: +* https://gcc.gnu.org/gcc-13/porting_to.html +* https://bugreports.qt.io/browse/QTBUG-113111 and https://invent.kde.org/qt/qt/qtlocation-mapboxgl/-/merge_requests/1 +* https://github.com/abseil/abseil-cpp/pull/1187 +Author: Richard Top +diff -ruN qt-everywhere-src-5.15.11.org/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp +--- qt-everywhere-src-5.15.11.org/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp 2024-03-14 13:28:06.564124774 +0000 ++++ qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp 2024-03-15 13:01:38.931471150 +0000 +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + + namespace mbgl { + +diff -ruN qt-everywhere-src-5.15.11.org/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp +--- qt-everywhere-src-5.15.11.org/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp 2024-03-14 13:28:06.564124774 +0000 ++++ qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp 2024-03-15 13:02:09.468570971 +0000 +@@ -5,6 +5,7 @@ + #include + #include + #include ++#include + + // Polyfill needed by Qt when building for Android with GCC + #if defined(__ANDROID__) && defined(__GLIBCXX__) +diff -ruN qt-everywhere-src-5.15.11.org/qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp +--- qt-everywhere-src-5.15.11.org/qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp 2024-03-14 13:28:06.573124804 +0000 ++++ qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp 2024-03-15 13:02:53.996716526 +0000 +@@ -1,6 +1,7 @@ + #pragma once + + #include ++#include + + namespace mbgl { + namespace gl { +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h 2024-03-14 13:27:55.904088924 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h 2024-03-15 10:42:20.790168875 +0000 +@@ -5,6 +5,7 @@ + #ifndef BASE_DEBUG_PROFILER_H_ + #define BASE_DEBUG_PROFILER_H_ + ++#include + #include + + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h 2024-03-14 13:27:42.056042352 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h 2024-03-15 10:41:41.596041171 +0000 +@@ -5,6 +5,7 @@ + #ifndef CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_ + #define CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_ + ++#include + #include + #include + #include "base/callback_forward.h" +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc 2024-03-14 13:27:43.805048234 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc 2024-03-15 12:23:06.145909864 +0000 +@@ -2,6 +2,8 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + ++#include ++ + #include "device/base/synchronization/one_writer_seqlock.h" + + namespace device { +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h 2024-03-14 13:27:43.809048247 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h 2024-03-15 10:46:46.409034325 +0000 +@@ -5,6 +5,7 @@ + #ifndef DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_ + #define DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h 2024-03-14 13:27:45.052052428 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h 2024-03-15 10:48:50.023437092 +0000 +@@ -5,6 +5,8 @@ + #ifndef GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_ + #define GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_ + ++#include ++ + namespace gpu { + namespace webgpu { + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h 2024-03-14 13:27:45.065052471 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h 2024-03-15 10:49:57.512656983 +0000 +@@ -5,6 +5,7 @@ + #ifndef GPU_CONFIG_DEVICE_PERF_INFO_H_ + #define GPU_CONFIG_DEVICE_PERF_INFO_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h 2024-03-14 13:27:45.067052478 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h 2024-03-15 10:50:20.183730854 +0000 +@@ -5,6 +5,7 @@ + #ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_ + #define GPU_CONFIG_GPU_FEATURE_INFO_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h 2024-03-14 13:27:45.066052475 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h 2024-03-15 10:50:38.542790675 +0000 +@@ -5,6 +5,7 @@ + #ifndef GPU_CONFIG_GPU_PREFERENCES_H_ + #define GPU_CONFIG_GPU_PREFERENCES_H_ + ++#include + #include + #include + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h 2024-03-14 13:27:43.093045839 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h 2024-03-15 10:51:04.531875353 +0000 +@@ -5,6 +5,7 @@ + #ifndef NET_COOKIES_COOKIE_INCLUSION_STATUS_H_ + #define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h 2024-03-14 13:27:46.683057913 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h 2024-03-15 10:54:40.617579415 +0000 +@@ -18,6 +18,7 @@ + + #include + ++#include + #include + #include + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h 2024-03-14 13:27:52.447077298 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h 2024-03-15 10:55:28.931736832 +0000 +@@ -10,6 +10,7 @@ + #ifndef GLSLANG_SHADERVARS_H_ + #define GLSLANG_SHADERVARS_H_ + ++#include + #include + #include + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h 2024-03-14 13:27:52.545077627 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h 2024-03-15 10:55:58.804834168 +0000 +@@ -15,6 +15,7 @@ + # include "absl/container/flat_hash_map.h" + #endif // defined(ANGLE_USE_ABSEIL) + ++#include + #include + #include + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h 2024-03-14 13:27:51.652074624 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h 2024-03-15 10:57:14.952082395 +0000 +@@ -30,6 +30,7 @@ + #ifndef CLIENT_LINUX_HANDLER_MINIDUMP_DESCRIPTOR_H_ + #define CLIENT_LINUX_HANDLER_MINIDUMP_DESCRIPTOR_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h 2024-03-14 13:27:45.756054795 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h 2024-03-15 10:57:53.513208099 +0000 +@@ -17,6 +17,7 @@ + #ifndef INCLUDE_PERFETTO_EXT_BASE_UUID_H_ + #define INCLUDE_PERFETTO_EXT_BASE_UUID_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h 2024-03-14 13:27:46.287056581 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h 2024-03-15 10:58:43.177369996 +0000 +@@ -11,6 +11,7 @@ + #ifndef CALL_RTP_DEMUXER_H_ + #define CALL_RTP_DEMUXER_H_ + ++#include + #include + #include + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h 2024-03-14 13:27:46.005055632 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h 2024-03-15 10:59:32.856531943 +0000 +@@ -12,6 +12,7 @@ + #ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_ + #define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.cc qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.cc +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.cc 2024-03-14 13:27:43.604047558 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.cc 2024-03-15 18:53:59.688584563 +0000 +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + ++#include + #include "ui/events/gesture_event_details.h" + #include "base/check_op.h" + #include "base/notreached.h" +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h 2024-03-14 13:27:56.087089539 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h 2024-03-15 11:00:03.834632926 +0000 +@@ -5,6 +5,7 @@ + #ifndef V8_BASE_LOGGING_H_ + #define V8_BASE_LOGGING_H_ + ++#include + #include + #include + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h 2024-03-14 13:27:56.086089536 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h 2024-03-15 11:00:25.271702805 +0000 +@@ -5,6 +5,7 @@ + #ifndef V8_BASE_MACROS_H_ + #define V8_BASE_MACROS_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h 2024-03-14 13:27:56.046089401 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h 2024-03-15 11:00:51.074786919 +0000 +@@ -5,6 +5,7 @@ + #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + ++#include + #include + + // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may +diff -ruN qt-everywhere-src-5.15.13.org/qtwebengine/src/3rdparty/chromium/third_party/xcbproto/src/src/present.xml qt-everywhere-src-5.15.13/qtwebengine/src/3rdparty/chromium/third_party/xcbproto/src/src/present.xml +--- qt-everywhere-src-5.15.13.org/qtwebengine/src/3rdparty/chromium/third_party/xcbproto/src/src/present.xml 2024-03-14 13:27:52.060075996 +0000 ++++ qt-everywhere-src-5.15.13/qtwebengine/src/3rdparty/chromium/third_party/xcbproto/src/src/present.xml 2024-03-23 09:26:13.650758730 +0000 +@@ -89,7 +89,7 @@ + + + +- ++ + + + +diff -ruN qt-everywhere-src-5.15.13.org/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h qt-everywhere-src-5.15.13/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h +--- qt-everywhere-src-5.15.13.org/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h 2024-03-14 13:27:55.702088244 +0000 ++++ qt-everywhere-src-5.15.13/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h 2024-03-23 20:30:28.015096733 +0000 +@@ -7,7 +7,7 @@ + + #include + #include +- ++#include + #include "base/macros.h" + + namespace content { diff --git a/easybuild/easyconfigs/q/Qt6/Qt6-6.6.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/q/Qt6/Qt6-6.6.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..605542a89fd --- /dev/null +++ b/easybuild/easyconfigs/q/Qt6/Qt6-6.6.3-GCCcore-13.2.0.eb @@ -0,0 +1,89 @@ +easyblock = 'CMakeNinja' + +name = 'Qt6' +version = '6.6.3' + +homepage = 'https://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +# disabling use of -ftree-vectorize is required to avoid compilation failures on some systems (e.g. Intel Skylake X) +toolchainopts = {'vectorize': False} + +source_urls = [ + 'https://download.qt.io/official_releases/qt/%(version_major_minor)s/%(version)s/single/', + 'https://download.qt.io/archive/qt/%(version_major_minor)s/%(version)s/single/', + 'https://download.qt.io/new_archive/qt/%(version_major_minor)s/%(version)s/single/', +] +sources = ['qt-everywhere-src-%(version)s.tar.xz'] +patches = [ + 'Qt6-6.6.3_fix_OF-Gentoo.patch', +] +checksums = [ + {'qt-everywhere-src-6.6.3.tar.xz': '69d0348fef415da98aa890a34651e9cfb232f1bffcee289b7b4e21386bf36104'}, + {'Qt6-6.6.3_fix_OF-Gentoo.patch': 'd4d4878ac76cb985e45eb3b6e90ba2233f65807d6bd9bbe2b71365b181347b7b'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), + # deps for QtWebEngine + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('re2c', '3.1'), +] + +dependencies = [ + ('double-conversion', '3.3.0'), + ('GLib', '2.78.1'), + ('PCRE2', '10.42'), + ('libpng', '1.6.40'), + ('LibTIFF', '4.6.0'), + ('libwebp', '1.3.2'), + ('JasPer', '4.0.0'), + ('HarfBuzz', '8.2.2'), + ('SQLite', '3.43.1'), + ('graphite2', '1.3.14'), + ('assimp', '5.3.1'), # for Qt 3D + ('FFmpeg', '6.0'), + ('X11', '20231019'), + ('fontconfig', '2.14.2'), + ('zlib', '1.2.13'), + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), # WebEngine + ('freetype', '2.13.2'), # WebEngine + ('DBus', '1.15.8'), + ('libevent', '2.1.12'), # WebEngine + ('libGLU', '9.0.3'), + ('libjpeg-turbo', '3.0.1'), # WebEngine + ('NSS', '3.94'), # WebEngine, required + ('snappy', '1.1.10'), # WebEngine + ('OpenSSL', '1.1', '', SYSTEM), + ('ICU', '74.1'), # WebEngine, optional + ('nodejs', '20.9.0'), # WebEngine, required + # ('gRPC', '1.52.2'), # WebEngine needs older Abseil/gRPC/protobuf +] + +preconfigopts = 'sed -i "s/MultiMedia/Multimedia/g" ../qt-everywhere-src-%(version)s/qtcharts/CMakeLists.txt &&' # Typo +preconfigopts += 'sed -i "23i set(Python3_ROOT_DIR \\$ENV{EBROOTPYTHON})" ' \ + '../qt-everywhere-src-6.6.3/qtwebengine/src/gn/CMakeLists.txt &&' + +configopts = '-Wno-dev ' +configopts += '-DFEATURE_qtpdf_build=OFF ' # Requires CUPS +configopts += '-DQT_AVOID_CMAKE_ARCHIVING_API=ON ' +configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' +configopts += '-DBUILD_qtwayland=OFF ' # Does not work on CentOS 7 +# Removed from Qt6.0.0 but may be added back in the future +# configopts += '-DBUILD_qtgamepad=OFF ' # Does not work on CentOS 7 + +sanity_check_paths = { + 'files': ['bin/qmake6', 'lib/libQt6Core.%s' % SHLIB_EXT, 'lib/libQt6WebEngineCore.%s' % SHLIB_EXT], + 'dirs': ['include/QtCore', 'include/QtWebEngineCore'], +} + +sanity_check_commands = ['qmake6 --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/Qt6/Qt6-6.6.3_fix_OF-Gentoo.patch b/easybuild/easyconfigs/q/Qt6/Qt6-6.6.3_fix_OF-Gentoo.patch new file mode 100644 index 00000000000..9ba2974b9b7 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt6/Qt6-6.6.3_fix_OF-Gentoo.patch @@ -0,0 +1,49 @@ +############################################ +# Update from Qt5-5.14.1_fix-OF-Gentoo.patch +# 1. qt3d/..../unzip/ioapi.h and qtquick3d/..../unzip/ioapi.h do not use OF macro anymore +# 2. qtquick3d/..../minizip/ioapi.h is moved to qt3d/..../minizip/ioapi.h +############################################ +fix compilation on top of zlib provided by Gentoo, +where OF macro has been renamed to _Z_OF +see https://bugreports.qt.io/browse/QTBUG-68467 and https://bugs.gentoo.org/383179 +author: Kenneth Hoste (HPC-UGent) +diff --git a/qt3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h +b/qt3d/src/3rdparty/assimp/src/contrib/zlib/contrib/unzip/ioapi.h +index 8dcbdb06e3..e9cc96914e 100644 +--- a/qt3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h ++++ b/qt3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h +@@ -130,6 +130,14 @@ extern "C" { + #endif + + ++// if OF macro is not defined but _Z_OF is, define OF as _Z_OF ++// required when building with zlib provided by Gentoo ++// see https://bugreports.qt.io/browse/QTBUG-68467 and https://bugs.gentoo.org/383179 ++#ifndef OF ++ #ifdef _Z_OF ++ #define OF _Z_OF ++ #endif ++#endif + + + typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode)); +diff --git a/qtwebengine/src/3rdparty/chromium/third_party/zlib/contrib/minizip/ioapi.h b/qtwebengine/src/3rdparty/chromium/third_party/zlib/contrib/minizip/ioapi.h +index c1b7a54847..c5546a26b9 100644 +--- a/qtwebengine/src/3rdparty/chromium/third_party/zlib/contrib/minizip/ioapi.h ++++ b/qtwebengine/src/3rdparty/chromium/third_party/zlib/contrib/minizip/ioapi.h +@@ -130,6 +130,14 @@ extern "C" { + #endif + + ++// if OF macro is not defined but _Z_OF is, define OF as _Z_OF ++// required when building with zlib provided by Gentoo ++// see https://bugreports.qt.io/browse/QTBUG-68467 and https://bugs.gentoo.org/383179 ++#ifndef OF ++ #ifdef _Z_OF ++ #define OF _Z_OF ++ #endif ++#endif + + + typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode)); + diff --git a/easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..91aea4a371f --- /dev/null +++ b/easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'QtPy' +version = '2.4.1' + +homepage = "https://github.com/spyder-ide/qtpy" +description = """QtPy is a small abstraction layer that lets you write applications using a single API call to + either PyQt or PySide. It provides support for PyQt5, PyQt4, PySide2 and PySide.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a5a15ffd519550a1361bdc56ffc07fda56a6af7292f17c7b395d4083af632987'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyQt5', '5.15.10'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..61694a5b190 --- /dev/null +++ b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'Qtconsole' +version = '5.5.1' + +homepage = 'https://jupyter.org/' +description = """A rich Qt-based console for working with Jupyter kernels, supporting rich media +output, session export, and more. +The Qtconsole is a very lightweight application that largely feels like a +terminal, but provides a number of enhancements only possible in a GUI, such as +inline figures, proper multiline editing with syntax highlighting, graphical +calltips, and more.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0e806c6951db9490628e4df80caec9669b65149c7ba40f9bf033c025a5b56bc'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('QtPy', '2.4.1'), + ('Jupyter-bundle', '20230823'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/QuPath/QuPath-0.5.0-GCCcore-12.3.0-Java-17.eb b/easybuild/easyconfigs/q/QuPath/QuPath-0.5.0-GCCcore-12.3.0-Java-17.eb new file mode 100644 index 00000000000..f2d3ffb6c4d --- /dev/null +++ b/easybuild/easyconfigs/q/QuPath/QuPath-0.5.0-GCCcore-12.3.0-Java-17.eb @@ -0,0 +1,45 @@ +easyblock = 'CmdCp' + +name = 'QuPath' +version = '0.5.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://qupath.github.io' +description = """QuPath is open source software for bioimage analysis. +QuPath is often used for digital pathology applications because it offers + a powerful set of tools for working with whole slide images - but it can + be applied to lots of other kinds of image as well.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/qupath/qupath/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d244234ea2fd042488ca4a879f22103764dd3ed27cf9367a8293e50794023524'] + +builddependencies = [ + ('binutils', '2.40'), + ('Gradle', '8.6', versionsuffix, SYSTEM), +] + +dependencies = [ + ('OpenSlide-Java', '0.12.4', versionsuffix), + ('Java', '17', '', SYSTEM), +] + +cmds_map = [('.*', "gradle clean jpackage -P openslide=$EBROOTOPENSLIDEMINJAVA/lib/openslide-java/openslide.jar")] + +files_to_copy = [ + 'build/dist/%(name)s/bin', + 'build/dist/%(name)s/lib', +] + +modextrapaths = {'PATH': ['']} + +sanity_check_paths = { + 'files': ['bin/QuPath', 'lib/libapplauncher.%s' % SHLIB_EXT], + 'dirs': ['lib/app', 'lib/runtime'], +} + +sanity_check_commands = ["QuPath --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3-foss-2023a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3-foss-2023a.eb new file mode 100644 index 00000000000..208c3041689 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3-foss-2023a.eb @@ -0,0 +1,55 @@ +name = 'QuantumESPRESSO' +version = '7.3' + +homepage = 'https://www.quantum-espresso.org' +description = """Quantum ESPRESSO is an integrated suite of computer codes +for electronic-structure calculations and materials modeling at the nanoscale. +It is based on density-functional theory, plane waves, and pseudopotentials +(both norm-conserving and ultrasoft). +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = { + 'usempi': True, + 'openmp': True, +} + +sources = [ + { + 'filename': 'q-e-qe-%(version)s.tar.gz', + 'extract_cmd': 'mkdir -p %(builddir)s/qe-%(version)s && tar xzvf %s --strip-components=1 -C $_', + 'source_urls': ['https://gitlab.com/QEF/q-e/-/archive/qe-%(version)s'] + }, + { + 'filename': 'qe-gipaw-%(version)s.tar.gz', + 'source_urls': ['https://github.com/dceresoli/qe-gipaw/releases/download/%(version)s/']}, + { + 'filename': 'wannier90-3.1.0.tar.gz', + 'download_filename': 'v3.1.0.tar.gz', + 'source_urls': ['https://github.com/wannier-developers/wannier90/archive/'] + }, +] +checksums = [ + {'q-e-qe-%(version)s.tar.gz': 'edc2a0f3315c69966df4f82ec86ab9f682187bc9430ef6d2bacad5f27f08972c'}, + {'qe-gipaw-%(version)s.tar.gz': 'a24d328ec068043d36fdf69fe4f8d1904d7befeba7962cb85be059ea0fe6f026'}, + {'wannier90-3.1.0.tar.gz': '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254'}, +] + +builddependencies = [ + ('M4', '1.4.19'), +] +dependencies = [ + ('HDF5', '1.14.0'), + ('ELPA', '2023.05.001'), + ('libxc', '6.2.2'), +] + +# The third party packages should be installed separately and added as +# dependencies. The exception is w90, which is force built, and gipaw +# which depends on qe source +buildopts = "all gwl xspectra couple epw gipaw w90" + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3-intel-2023a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3-intel-2023a.eb new file mode 100644 index 00000000000..2f3ccd6da68 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3-intel-2023a.eb @@ -0,0 +1,58 @@ +name = 'QuantumESPRESSO' +version = '7.3' + +homepage = 'https://www.quantum-espresso.org' +description = """Quantum ESPRESSO is an integrated suite of computer codes +for electronic-structure calculations and materials modeling at the nanoscale. +It is based on density-functional theory, plane waves, and pseudopotentials +(both norm-conserving and ultrasoft). +""" + +toolchain = {'name': 'intel', 'version': '2023a'} +toolchainopts = { + 'usempi': True, + 'openmp': True, +} + +sources = [ + { + 'filename': 'q-e-qe-%(version)s.tar.gz', + 'extract_cmd': 'mkdir -p %(builddir)s/qe-%(version)s && tar xzvf %s --strip-components=1 -C $_', + 'source_urls': ['https://gitlab.com/QEF/q-e/-/archive/qe-%(version)s'] + }, + { + 'filename': 'qe-gipaw-%(version)s.tar.gz', + 'source_urls': ['https://github.com/dceresoli/qe-gipaw/releases/download/%(version)s/']}, + { + 'filename': 'wannier90-3.1.0.tar.gz', + 'download_filename': 'v3.1.0.tar.gz', + 'source_urls': ['https://github.com/wannier-developers/wannier90/archive/'] + }, +] +checksums = [ + {'q-e-qe-%(version)s.tar.gz': 'edc2a0f3315c69966df4f82ec86ab9f682187bc9430ef6d2bacad5f27f08972c'}, + {'qe-gipaw-%(version)s.tar.gz': 'a24d328ec068043d36fdf69fe4f8d1904d7befeba7962cb85be059ea0fe6f026'}, + {'wannier90-3.1.0.tar.gz': '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254'}, +] + +builddependencies = [ + ('M4', '1.4.19'), +] +dependencies = [ + ('HDF5', '1.14.0'), + ('ELPA', '2023.05.001'), + ('libxc', '6.2.2'), +] + +# The third party packages should be installed separately and added as +# dependencies. The exception is w90, which is force built, and gipaw +# which depends on qe source +buildopts = "all gwl xspectra couple epw gipaw w90" + +# parallel build tends to fail +parallel = 1 + +# allow some test failures +test_suite_max_failed = 1 + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/Qwt/Qwt-6.2.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/q/Qwt/Qwt-6.2.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b37850e86e2 --- /dev/null +++ b/easybuild/easyconfigs/q/Qwt/Qwt-6.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Qwt' +version = '6.2.0' + +homepage = 'https://qwt.sourceforge.io/' +description = """The Qwt library contains GUI Components and utility classes which are primarily useful for programs + with a technical background.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['Qwt-6.2.0_fix-install-prefix.patch'] +checksums = [ + '9194f6513955d0fd7300f67158175064460197abab1a92fa127a67a4b0b71530', # qwt-6.2.0.tar.bz2 + 'ac5c329c0693d565b461cdd3b36c1b96b4d09885e1e0c10929fc7a9021c03bad', # Qwt-6.2.0_fix-install-prefix.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('Qt5', '5.15.7'), +] + +skipsteps = ['configure'] + +prebuildopts = 'export QWT_PREFIX=%(installdir)s && ' +prebuildopts += "qmake qwt.pro && " + +sanity_check_paths = { + 'files': ['lib/libqwt.%s' % SHLIB_EXT, 'lib/pkgconfig/Qt5Qwt6.pc'], + 'dirs': ['doc', 'features', 'include', 'plugins'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/q/q2-krona/q2-krona-20220124-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/q2-krona/q2-krona-20220124-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7666fd54d3b --- /dev/null +++ b/easybuild/easyconfigs/q/q2-krona/q2-krona-20220124-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'q2-krona' +version = '20220124' +_commit = 'd34c526' + +homepage = 'https://library.qiime2.org/plugins/q2-krona/39/' +description = """QIIME2 plugin for creating Krona plots""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('KronaTools', '2.8.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'sources': [{ + 'source_urls': ['https://github.com/kaanb93/q2-krona/archive'], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': SOURCE_TAR_GZ, + }], + 'checksums': ['cf8f5bf6b10e89d35fbfa4fc401b965396c03ff86a964dead8634205171a1ed9'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..e07ffd64a9e --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb @@ -0,0 +1,1360 @@ +easyblock = 'Bundle' + +name = 'R-bundle-Bioconductor' +version = '3.18' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://bioconductor.org' +description = """Bioconductor provides tools for the analysis and coprehension + of high-throughput genomic data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('pkgconf', '1.9.5')] + +dependencies = [ + ('R', '4.3.2'), + ('Boost', '1.82.0'), # for mzR + ('GSL', '2.7'), # for flowClust + ('HDF5', '1.14.0'), # for rhdf5 + ('arrow-R', '14.0.0.2', versionsuffix), # required by RcisTarget +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/3.18/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.18/bioc/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.18/data/annotation/src/contrib/', + 'https://bioconductor.org/packages/3.18/data/experiment/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'sources': ['%(name)s_%(version)s.tar.gz'], +} + +exts_defaultclass = 'RPackage' + +# check whether correct version is installed in extension filter +# (some versions in this bundle may be newer than the ones provided by R) +local_ext_version_check = "pkgver = packageVersion('%(ext_name)s'); if (pkgver != '%(ext_version)s') " +local_stop_msg = "stop('%(ext_name)s %(ext_version)s not installed, found ', pkgver, ' instead')" +exts_filter = ("R -q --no-save", "%s { %s }" % (local_ext_version_check, local_stop_msg)) + +# CRAN packages on which these Bioconductor packages depend are available in R module on which this depends +# !! order of packages is important !! +# packages updated on 18th March 2023 +exts_list = [ + ('BiocGenerics', '0.48.0', { + 'checksums': ['f413b2a812c5cbb219fc799d04fe36e4c88faa7ff946f643afcf5fdba312e44f'], + }), + ('Biobase', '2.62.0', { + 'checksums': ['ef753acc499c2504e226bf76e0acc08b7aa370fc60cc369bb8ebc1913f57d37e'], + }), + ('S4Vectors', '0.40.2', { + 'checksums': ['4cd9a63b3b41b08fca8121dc5b8f43d6f7d580842b1b000055dee90b68f49982'], + }), + ('IRanges', '2.36.0', { + 'checksums': ['58c05c3c4eb7fdee64cb027ba849de0ec57f2e4150b9aa645b62549da1401066'], + }), + ('GenomeInfoDbData', '1.2.11', { + 'checksums': ['311fe287842e6161f24fc1faaa824a6d5ce88afcbf4c0203f5e309456e667bc2'], + }), + ('GenomeInfoDb', '1.38.5', { + 'checksums': ['2cf2ebbeca6d05a71d0eb2f25dbf56e4c19b67b26bba5e0ad3a08b7977fe859f'], + }), + ('zlibbioc', '1.48.0', { + 'checksums': ['fb0d05dfe549f6676dc764ec86f797ca1d878fe3cd1dea68b79d323ff8e37d10'], + }), + ('XVector', '0.42.0', { + 'checksums': ['a163561e54c8a3f013e629c275f2446d25b3b56dbab53a4938de5f405b8d0340'], + }), + ('Biostrings', '2.70.0', { + 'checksums': ['64d52232aa1de2ef9bae6a2958c0a351a37c0f02b874cd494f9ab70a968e2830'], + }), + ('KEGGREST', '1.42.0', { + 'checksums': ['072c3f236d65479afd20ecf83e7b0e32cbd13a6e4c54922bf17b37b6420ccc15'], + }), + ('AnnotationDbi', '1.64.1', { + 'checksums': ['03bff46268ad797466f445c51ab72929224514512561c43662037ca10618b9ad'], + }), + ('GenomicRanges', '1.54.1', { + 'checksums': ['1cecb68c906b0a565c0fef5a0a8284a513a4910979f33d34901c42df501e3aef'], + }), + ('BiocParallel', '1.36.0', { + 'checksums': ['cbf8af552c7c30c26d8d17876245dad583f712e49e7336ef78aeb70f1c0608a6'], + }), + ('Rhtslib', '2.4.1', { + 'checksums': ['0c34b951a0f15c26222a3dfd96700a0905c16c4cbe59db36374cf1ceab2a2b21'], + }), + ('Rsamtools', '2.18.0', { + 'checksums': ['2f283b105ede839655bf8a3cb877f97764900486875748f4c3f9ecdf78bc8a2d'], + }), + ('MatrixGenerics', '1.14.0', { + 'checksums': ['8da491661e8581adf1f2f8c5d2f46272d92b6c5a639bf4a80140c05e5694a593'], + }), + ('S4Arrays', '1.2.0', { + 'checksums': ['1e41035e72416e3f327cca34f358d3155ca1652c58b68c470661198712058274'], + }), + ('SparseArray', '1.2.3', { + 'checksums': ['e6bab31de5b15c3280279ac1096aa05e84f066b8af7a1100ecae9858ab0d9ea5'], + }), + ('DelayedArray', '0.28.0', { + 'checksums': ['c705055e2caf8b8ddbc9956d99a7c99415684dc7e9b31f42bd95186ddb06c355'], + }), + ('SummarizedExperiment', '1.32.0', { + 'checksums': ['9f801c16adb503d7252890019b46f5583c401622c7ec9373663537548c9889a4'], + }), + ('GenomicAlignments', '1.38.2', { + 'checksums': ['816f078886e0b2054392f1432702372be9621e0da379c1cfa3b02dd5cb389644'], + }), + ('ShortRead', '1.60.0', { + 'checksums': ['3594b9a975879a355418d634d874714e98aec7d024de67ddbdf4425cd6d7f139'], + }), + ('graph', '1.80.0', { + 'checksums': ['017446e90386aba89d2326d30006db14d191bc9b4ce916e0d0ebd979a73fef5c'], + }), + ('affyio', '1.72.0', { + 'checksums': ['e98fc0f5acba44885b9b7962d2b3d85e8972e8675ab7d9adf7653133d2d95007'], + }), + ('preprocessCore', '1.64.0', { + 'installopts': "--configure-args='--disable-threading'", + 'checksums': ['3e74536992d1ef1c8f371d850a18d2b1b9397ddbbef30567e6d97469f91ede95'], + }), + ('BiocManager', '1.30.22', { + 'checksums': ['5389c9c0d6562b0757659fb8262ab51b48225c4ba7e9acd4f5e7c0049735e835'], + }), + ('affy', '1.80.0', { + 'checksums': ['d37f74f991ef3567d44a72b1b0776625245b14215b64d08481bae66bcf665b53'], + }), + ('GO.db', '3.18.0', { + 'checksums': ['f580341e7fd19efa3e5789b993dd8ef0cf813a45c49a647a173c6f49c451d87e'], + }), + ('limma', '3.58.1', { + 'checksums': ['3539e1645808dd7fe16d0b53df8c0a775283f15b68e670504fb37b09a1957e05'], + }), + ('RBGL', '1.78.0', { + 'checksums': ['241188ff70c1a1eb447ef3bd1f9d9d57a84537c2cd1d5f782923366c68a0b043'], + }), + ('org.Hs.eg.db', '3.18.0', { + 'checksums': ['41dc753ed5f4d31dcf0d645ef32b6339b1b70cc48b7c4c4673767643b129c5ca'], + }), + ('AnnotationForge', '1.44.0', { + 'checksums': ['89655718145d114fe509554ce1cfd52b7cf095e200c9d280d8cd86b939786b35'], + }), + ('annaffy', '1.74.0', { + 'checksums': ['7cd64d0c310d48107acff996bbb164468a872d0121b9024daa0b644b5307bbd5'], + }), + ('gcrma', '2.74.0', { + 'checksums': ['cf1b786c4c10f87eeed374a411e9db0fa45d2f175114b2051a75958b3852361e'], + }), + ('oligoClasses', '1.64.0', { + 'checksums': ['a705c7960e624afbd2a2d64e9437ca10006c1ba101e7243dce7b5f27fd96bbbd'], + }), + ('edgeR', '4.0.12', { + 'checksums': ['9289d2183e33ffa7897875a9be2713c96cc9ba821e38f461fddce11d03730607'], + }), + ('PFAM.db', '3.18.0', { + 'checksums': ['d9a2e3b718900d0e22f62410dfe0f024fb2a8cdff978907a6d538ef2b7c3a796'], + }), + ('perm', '1.0-0.4', { + 'checksums': ['561e01793a9032b6a3676a7819fe24175eeb9e96a5314bd78b9c48d46e627be9'], + }), + ('baySeq', '2.36.0', { + 'checksums': ['0fc4c585abcec5d9bd3a6a8c4404bb5f8d4c9b36d5e43dc09aa6ce09e8dfbbac'], + }), + ('qvalue', '2.34.0', { + 'checksums': ['d16fd855856b479bd8a0812bbfc2e2d918929c28fe83411a41ca059d2d9c6583'], + }), + ('impute', '1.76.0', { + 'checksums': ['f412bbf66f664297379b6f71eac6e018798af860f26c90450eca369b52b7f560'], + }), + ('shinyFiles', '0.9.3', { + 'checksums': ['4a72e165ee8a6e8256988f27286a2cfc4d7a42e2a902f4f2a728b1c237c07286'], + }), + ('samr', '3.0', { + 'checksums': ['25f88ac002c2adce8881a562241bc12d683810a05defb553e8e3d4878f037506'], + }), + ('DEGseq', '1.56.1', { + 'checksums': ['92c49cb54946dedeb3f1309f812d4d12c276e1e008b40c4e0940a37339d4657a'], + }), + ('hgu133plus2.db', '3.13.0', { + 'checksums': ['ddde58e777a8341536a664c7d4be874a2f395f8aaa019c1f738462a8ce74cc44'], + }), + ('illuminaio', '0.44.0', { + 'checksums': ['341b7d241ddd4ebbb02b5f2cc8d9d02a0cf976d19a02f3680310b792d23a2496'], + }), + ('BiocIO', '1.12.0', { + 'checksums': ['77c1dff3b789313ea5b4c9d7b171cde11cacdfc958ce63b60f4f09b9ed94c22e'], + }), + ('restfulr', '0.0.15', { + 'checksums': ['40ff8f1fb2987af2223e1a855bb1680c5ce2143fbce7ebc42f1edb291f80e692'], + }), + ('rtracklayer', '1.62.0', { + 'checksums': ['c28217936c81248f2576af8327356324ccf7101b04f3358d049f0a839dd8b0cb'], + }), + ('filelock', '1.0.3', { + 'checksums': ['2dcd0ec453f5ec4d96f69b0c472569d57d3c5f9956a82a48492ee02f12071137'], + }), + ('BiocFileCache', '2.10.1', { + 'checksums': ['b5d58418fef661743247229a39646685c31c5bfbeb73b28547c0ace772809310'], + }), + ('biomaRt', '2.58.0', { + 'checksums': ['8e8a18e0cb5dcedd816df95268f17fe26006153a6d468085363334f05335ccd4'], + }), + ('GenomicFeatures', '1.54.1', { + 'checksums': ['44bbde98e8652066ea14671a1ee0a9479351226773698d75a4a4fd434de859ac'], + }), + ('bumphunter', '1.44.0', { + 'checksums': ['0c1365857b5e0883dc653dd7a591ec95ecc0372a392a7a1c3a04b9a55205d56e'], + }), + ('multtest', '2.58.0', { + 'checksums': ['92c40644fb6a3adbca9cba1da864482ec5db737fcbcfc8c4e3cadc2e5e161d69'], + }), + ('scrime', '1.3.5', { + 'checksums': ['5d97d3e57d8eb30709340fe572746029fd139456d7a955421c4e3aa75d825578'], + }), + ('siggenes', '1.76.0', { + 'checksums': ['6c8aa834ad0c8db397969993358279c0d3fb81792951058f0331c088c4e3fd4b'], + }), + ('DynDoc', '1.80.0', { + 'checksums': ['c115174fcf50197ccb7b57d90f48b7a354707e687093e70f89371fffb5ea4a34'], + }), + ('NOISeq', '2.46.0', { + 'checksums': ['8b17b542bc278546c74a22c31fbd5e174530164b8355565ce5e90e7b08d34063'], + }), + ('Rgraphviz', '2.46.0', { + 'patches': ['Rgraphviz-2.28.0_fno-tree-vectorize.patch'], + 'checksums': [ + {'Rgraphviz_2.46.0.tar.gz': '5e87fa40363e7ccc294946436b25cbdc3fa7b080e081e0777464db684ef6860e'}, + {'Rgraphviz-2.28.0_fno-tree-vectorize.patch': + '15783e9daba6f63c8e655858468a99e9f4f088468dbe3b414825e5844cf6b4a9'}, + ], + }), + ('RNASeqPower', '1.42.0', { + 'checksums': ['24a9f4de36a5885161ea16b3316d7e7eacbbfdd395f4b3037fcf89f1eeeb1126'], + }), + ('annotate', '1.80.0', { + 'checksums': ['4dab9615498f6c58d1e6ecc1ecd0052187e46bdf971b18d73149b6bddea2ad82'], + }), + ('GSEABase', '1.64.0', { + 'checksums': ['cb0698a7f4aa2ddd700f3ba4d8d8d16467016a0f5ffe85b4e653437d8419fff8'], + }), + ('genefilter', '1.84.0', { + 'checksums': ['5c629c6477b77177e423b76a8d49ffc5415df7ef7894958c97e18f260efa0061'], + }), + ('Category', '2.68.0', { + 'checksums': ['c0414bde443705cbf11b221c7df38a6252bc9ad5000a56a99759bfe027ee1ea7'], + }), + ('GOstats', '2.68.0', { + 'checksums': ['da81b185920dec671a2e8491f735e4f1e9a4287042f105cdc54311f782d620ec'], + }), + ('BSgenome', '1.70.1', { + 'checksums': ['30da54e024fea74241fdf1259073f13fd1643cfd8deff6b6a716c6736780b9ad'], + }), + ('VariantAnnotation', '1.48.1', { + 'checksums': ['2af6d1164152f9722fc83cfe16cf43e1a83ba5c9d133d9663175b0ac779e3d51'], + }), + ('interactiveDisplayBase', '1.40.0', { + 'checksums': ['5cf685f42230bc3e9d38ac9231ac466bf10f374635f6a31d98c4a34b31489c91'], + }), + ('BiocVersion', '3.18.1', { + 'checksums': ['a5c8ea9ffcbd52fc7bf305bb9c58c988f590db2c5eb7114455a32fea43319997'], + }), + ('AnnotationHub', '3.10.0', { + 'checksums': ['795a7e03540ee4ab07eebb20ceebf39b60aba79ff5f66937c0b4f41c6edca3d7'], + }), + ('AnnotationFilter', '1.26.0', { + 'checksums': ['e51296f674421db07996a7f9d3e376e74ad9da1603973ed4e2c55ed02ddba231'], + }), + ('ProtGenerics', '1.34.0', { + 'checksums': ['35a042777fdebf518d0b6223739aac8e6b78f01acac3c4eaff36a96ecd515bbe'], + }), + ('ensembldb', '2.26.0', { + 'checksums': ['0a95b0608fee9b5aa9f8899edad97a58dd11c376b45f587b6bf4ead007b80e04'], + }), + ('biovizBase', '1.50.0', { + 'checksums': ['e5276fc7a3cb9aef5078f886f3ba3d11833803b6bf1832ef93d205ac12891406'], + }), + ('OrganismDbi', '1.44.0', { + 'checksums': ['f2d4fb455d0666583a36c699c317a4309bdc9fb83fa56e91809a574c83f0e53c'], + }), + ('ggbio', '1.50.0', { + 'checksums': ['55853832b03862eeb5a443519a6c96c2f101155ab6fa425966e4f3eb222a1ab2'], + }), + ('geneplotter', '1.80.0', { + 'checksums': ['33d09be9a90407592df85b6ca0e9ed198f3236969d78cf7713b96e4d25416b7f'], + }), + ('DESeq2', '1.42.0', { + 'checksums': ['2af89dce722843a3824f9637419d98dae0052122b30e23b7fc811cca36d8e7d7'], + }), + ('ReportingTools', '2.42.3', { + 'checksums': ['e8c0d86a2570add93957ed38a81486a0a8f4f9fa4df9c668765636a95bae3b81'], + }), + ('Glimma', '2.12.0', { + 'checksums': ['315ec5ea631efedceeb7181dce33e92531ffc4e2df27d20ebe032d296509705e'], + }), + ('affycoretools', '1.74.0', { + 'checksums': ['9edf5d44533bfa7d2734d35c8bc0963336fc4b11ce67f7c521da22078f42fb2d'], + }), + ('TxDb.Hsapiens.UCSC.hg19.knownGene', '3.2.2', { + 'checksums': ['063de2b1174782a0b2b8ab7f04a0bdf3c43252cb67c685a9f8ef2b8e318352e9'], + }), + ('Homo.sapiens', '1.3.1', { + 'checksums': ['014809fc6ef6410be8dc1094c9cb083719f20d999065ae4bf388855be0913b94'], + }), + ('BSgenome.Hsapiens.UCSC.hg19', '1.4.3', { + 'checksums': ['5bfa65d7836449d9b30c356968497cdfaa98be48c4e329e71e8f8a120f3e9d1a'], + }), + ('AgiMicroRna', '2.52.0', { + 'checksums': ['6538ef345d74d29f7a1901c9631823e1f9d213c6de562c70aeb57cad80893532'], + }), + ('geneLenDataBase', '1.38.0', { + 'checksums': ['c08016504d03799242713510837e051087a5029df94d1034437561f07b647e6a'], + }), + ('goseq', '1.54.0', { + 'checksums': ['1366adcdc7372b4a89861924836e9ddce834e868f6258e1d5aca23d8212c5c71'], + }), + ('KEGGgraph', '1.62.0', { + 'checksums': ['7412ccf6f30faf1cd5ef6081c5eef7ce933ed0507c74b9660630e27a50c63145'], + }), + ('GEOquery', '2.70.0', { + 'checksums': ['076d0e6727ff02a1f927f9fc363cfcd620a5a5caaadd60e6fcdc31d169824ef6'], + }), + ('rARPACK', '0.11-0', { + 'checksums': ['c33401e2e31d272d485ce2ed22e7fe43ac641fd7c0a45a9b848d3ad60df1028a'], + }), + ('mixOmics', '6.26.0', { + 'checksums': ['ec1ad9959f3c290fb3b4c37c1b9719f10bac0d5d59ef6b99a56b86607442d145'], + }), + ('Rhdf5lib', '1.24.1', { + 'checksums': ['90eb76a2f6b73e18c8fb560ab14e5e3a2c85ae747f278d66e67d3bebfe6c6551'], + }), + ('rhdf5filters', '1.14.1', { + 'checksums': ['6636612d28ea6f2e658400cbd186066926fe3d4b8d07261ad7a49299c23c0e33'], + }), + ('rhdf5', '2.46.1', { + 'checksums': ['b68f4960bf8498e83984467b07ed8fa10b3ef68fb5abbc776d6b7dee9307de79'], + }), + ('HDF5Array', '1.30.0', { + 'checksums': ['0bf1483bdc9bb37979a17d3dd034669158a27b81ab6a1ff0fd1a375f4db2a25c'], + }), + ('sparseMatrixStats', '1.14.0', { + 'checksums': ['39b1f8dd13df7222e5de6bd1fa0ea1bb931577d10551757c445776a120ef5264'], + }), + ('DelayedMatrixStats', '1.24.0', { + 'checksums': ['617d4814936adc4ad97d0824f0d3581bc94b347e44c1a9d4044c5143bacb25a3'], + }), + ('minfi', '1.48.0', { + 'checksums': ['1d2871388bbdd7b40185a660a683523b2ec856775944576eaeb56e64e46f948e'], + }), + ('FDb.InfiniumMethylation.hg19', '2.2.0', { + 'checksums': ['605aa3643588a2f40a942fa760b92662060a0dfedb26b4e4cd6f1a78b703093f'], + }), + ('methylumi', '2.48.0', { + 'checksums': ['16dc08f2e8dfeb2565ff1fd8ab69705f3405bb6abdc59a181c739ae277662aef'], + }), + ('lumi', '2.54.0', { + 'checksums': ['856bdac12a34564ed143fad28d63838cc2940e04dd352607384c074ed0539347'], + }), + ('widgetTools', '1.80.0', { + 'checksums': ['819b299090c78642369dadc1779be4e7cd3e76fc183e7dac5a0b87a5cb116cfe'], + }), + ('tkWidgets', '1.80.0', { + 'checksums': ['3267fca54e0f0e1232365e8bf71b104e7febfc5cb47d5be8304da857a9cb4885'], + }), + ('Mfuzz', '2.62.0', { + 'checksums': ['ee7e7a6134e8c2e945789940588e254f94e97231e22b5395eb348c91a21b546c'], + }), + ('venn', '1.12', { + 'checksums': ['ed86b69bd99ceea93352a30699a0baba3fd8cdcde907a9476e92be202ad8721d'], + }), + ('maSigPro', '1.74.0', { + 'checksums': ['a867956d4948310e5ae4730901b14ac07c5e845b558d942391e893229d7d220a'], + }), + ('SPIA', '2.54.0', { + 'checksums': ['a5ea2bedf20f9f538f1705d65265b24df6d9709c98ab14a0e964577df7a33724'], + }), + ('Gviz', '1.46.1', { + 'checksums': ['aeff718054a123e1592d9cc8715e71b48753dd39b857ed76b8e342f14483c82a'], + }), + ('cummeRbund', '2.44.0', { + 'checksums': ['ba000f61445b3b4319994a621c04055900af34d17985e90b1a2ab4a7be1cbda8'], + }), + ('GenomicFiles', '1.38.0', { + 'checksums': ['959bdb955c859bfd520a0a64f4541484c981237bceaa26b76c162c0881d17ecf'], + }), + ('derfinderHelper', '1.36.0', { + 'checksums': ['b940e99cda1a624fd3faa94309fa359655c4af8a4c7dabb28c10f7af6d477807'], + }), + ('derfinder', '1.36.0', { + 'checksums': ['01f66cce8795ebf7d18d51048aa766b306bd2c632657a9f2903cf675e9d74366'], + }), + ('polyester', '1.38.0', { + 'checksums': ['8496e16691e36100cbd95b0de061edf50b2699b8d47d479972024209646fccc7'], + }), + ('Rsubread', '2.16.1', { + 'checksums': ['e8779bc837bcf99a30a2d2a0cfd3e5fab452db96ef3b212f054eb85767a0ee65'], + }), + ('pcaMethods', '1.94.0', { + 'checksums': ['e0babf4e0bae227ca3e4ef74968eb942ebe48bdd5d27297644a9fee6542455ab'], + }), + ('marray', '1.80.0', { + 'checksums': ['6d4f8a27ec9cce495f6681a62539843082603cb44cccfcc717d3956857ab44be'], + }), + ('CGHbase', '1.62.0', { + 'checksums': ['6496bbc196f6bbf9864b4f69d6974b099e986842834f008d4ab6ee19f01b80c7'], + }), + ('Wrench', '1.20.0', { + 'checksums': ['2dcdf1f0d1ebe8feeeaf4aec752c22f744b3e1f28c697d527094c2128650e685'], + }), + ('lpsymphony', '1.30.0', { + 'checksums': ['ef2c03a596981da910697dab15672bce91a267a459e89c526bddef9f38e586a4'], + }), + ('IHW', '1.30.0', { + 'checksums': ['0b31c7b5794414c546ca255d1e2d0ddc4f56ad8b1a41189b04dceaf4281a3dde'], + }), + ('metagenomeSeq', '1.43.0', { + 'checksums': ['8b685245818596b23fa3ca508cb5c2c1e635d494eec79017f424bb95f9c429d4'], + }), + ('gdsfmt', '1.38.0', { + 'checksums': ['f5d27de87206a250ee88408acfb7cd4058d90677c3d2c86696710e51388f0f0f'], + }), + ('SNPRelate', '1.36.0', { + 'checksums': ['d72bd486313525863ebf6d05db507fae1b6278d18ae3baadade210057efc894b'], + }), + ('biomformat', '1.30.0', { + 'checksums': ['01cb26197d5b05a0e9d9eacc8af1cd3e568da5e588e941e31ca3bc99d1cf96b1'], + }), + ('phyloseq', '1.46.0', { + 'checksums': ['96caebbb2021c6b3a51b7c343c73b236550eac1db427d84589a8e26899bcf619'], + }), + ('NADA', '1.6-1.1', { + 'checksums': ['670ff6595ba074ed0a930b7a09624d5ef20616379a20e768c1a7b37332aee44a'], + }), + ('zCompositions', '1.5.0-1', { + 'checksums': ['48d23ad5e557750e9a3f7441ce93d8163113c7d77a7e1f65ed923c1f0788a66b'], + }), + ('RcppZiggurat', '0.1.6', { + 'checksums': ['9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71'], + }), + ('Rfast', '2.1.0', { + 'checksums': ['f9e46cac99db756cd49c9cd83be8adc0d381e6c03102389bfdcb8258d02418ff'], + }), + ('directlabels', '2024.1.21', { + 'checksums': ['bb3ba484ff9486fd8e9ce65073b69ce38e42f1fab2f42822eecfec7823f6b6fe'], + }), + ('ALDEx2', '1.34.0', { + 'checksums': ['1f361260ceb52bcc6e30bcc5d51990627703faf5464023f8dc87e7db12a79071'], + }), + ('dada2', '1.30.0', { + 'checksums': ['c6653fe77c3d62dd91207bbbf6641ec143fb8a498967e240a97af26de7e27667'], + }), + ('LEA', '3.14.0', { + 'patches': ['LEA-3.0.0_support_aarch64_and_ppc64le.patch'], + 'checksums': [ + {'LEA_3.14.0.tar.gz': '611918debc6f25f2cc7277f77979a3e8352c517b63bea56626c6fd9c2ecb14e6'}, + {'LEA-3.0.0_support_aarch64_and_ppc64le.patch': + 'caeaae7aa0577540bc9c03b54ce5a0fe4ff1a28ac503106e2b3acd1b9db82881'}, + ], + }), + ('tximport', '1.30.0', { + 'checksums': ['c2650fd9d3d332d6afd38779df32236d33d6ee40a07a5dfc1d9bf51250dbca54'], + }), + ('SingleCellExperiment', '1.24.0', { + 'checksums': ['c4670774e28468028bc62971a78f2576a10fb90c4b832c0a6c34785a4fb28460'], + }), + ('beachmat', '2.18.0', { + 'checksums': ['e28d8c0d5193d661e03b07b712cd01629337b2b204af13fa2653e0a0b7d93dfa'], + }), + ('RcppAnnoy', '0.0.22', { + 'checksums': ['9f2121d787c4d3e7beccdd65f5d1de81f31c99d57d5d61ca3cc5af7169dd8f65'], + }), + ('RcppHNSW', '0.5.0', { + 'checksums': ['8997ab6cfeaef701e9d0fda57825a37caf67aedf38bd0b8174c7894903796969'], + }), + ('BiocNeighbors', '1.20.2', { + 'checksums': ['04123fe8ceb2cc9a17af7d187460e601dcce389adb1fcc6f89ad9c0844e27a53'], + }), + ('rsvd', '1.0.5', { + 'checksums': ['e40686b869acd4f71fdb1e8e7a6c64cd6792fc9d52a78f9e559a7176ab84e21e'], + }), + ('ScaledMatrix', '1.10.0', { + 'checksums': ['8a40a14537c47caaf9aa1dc4b7b8c2354fca77ba895e548821b132a481622faa'], + }), + ('BiocSingular', '1.18.0', { + 'checksums': ['634824a2e15c13c9fefbb17605a3861bdced6fc182c8880ae862f2248600377c'], + }), + ('scuttle', '1.12.0', { + 'checksums': ['f863f0c3bf4766fb26f74ec13a873f69e127e422bf6360dee90968c794cb0a24'], + }), + ('RcppML', '0.3.7', { + 'checksums': ['325c6515085527eb9123cc5e87e028547065771ed4d623048f41886ae28908c6'], + }), + ('sitmo', '2.0.2', { + 'checksums': ['448ef8d56e36783354011845daf33f1efb83ea3b9685eea75eaf5134e24fa8c2'], + }), + ('dqrng', '0.3.2', { + 'checksums': ['cd02ca210aa40db5a3dfff317ab721c0eea3a94d6effdaf1068a527710393e9c'], + }), + ('uwot', '0.1.16', { + 'checksums': ['5f63a0d9edddb08435477af52724cb588c787c8d543c68c9358ed7b1ec3e8e48'], + }), + ('ggrastr', '1.0.2', { + 'checksums': ['cb27406dca99cea6440adf6edb7eb53141b60322452f5a5d4409e36516ad20d1'], + }), + ('scater', '1.30.1', { + 'checksums': ['9db9bcb20f00f07de2d8b31af85a07302f4778002447036a1924d6a77bb74419'], + }), + ('bluster', '1.12.0', { + 'checksums': ['0c564cfe750c16f4cb5def26289dbd036b027c096239e8352a228d764cd9f39b'], + }), + ('metapod', '1.10.1', { + 'checksums': ['c6b882b359f79efc2b26365fee457da1e4cfd4d1def52b68bac2a223771f9e15'], + }), + ('scran', '1.30.2', { + 'checksums': ['7adf3d32a8dabecc4ebe08bc076604d98a372a5330b8cef5eac8a2d63c296419'], + }), + ('SC3', '1.30.0', { + 'checksums': ['cf002839ce5fb3240d887d94dd81b8c6f88dcd94e31e7692720faaee8734b014'], + }), + ('ComplexHeatmap', '2.18.0', { + 'checksums': ['8eb9912d9897c3914fadeb002bab1dff16a059db4d99b2fd754eb512d904f77f'], + }), + ('GENIE3', '1.24.0', { + 'checksums': ['13188afc7c87e60c6b2b10617ea28f9bd47f452a62890c1fa6ea6106316a512f'], + }), + ('dupRadar', '1.32.0', { + 'checksums': ['40fc1818e109f4649a1f4c97c6c377355b5f4b5a1c2126ef16ea6b7789f3f018'], + }), + ('DNAcopy', '1.76.0', { + 'checksums': ['dff9a0244fe0294c690bdfe803b0d85b9f8a96cca6e9ea315282a25d8e8dd243'], + }), + ('sva', '3.50.0', { + 'checksums': ['a11f635fc70f43c8c01613d8402eb6161608fc85bb4a633b56769778037f9f5c'], + }), + ('ballgown', '2.34.0', { + 'checksums': ['658426a92661774c79ea1c80ab8a378682cf0c0c9a8acdb83e17fe93bcf978e4'], + }), + ('DropletUtils', '1.22.0', { + 'checksums': ['c67152c06c1cd8388895265f30f945ad12f6d389ff4bcfb125f079a0c499dd2e'], + }), + ('DeconRNASeq', '1.44.0', { + 'checksums': ['6f8f7237e2acbe2e5b2248da61484ed289efb1769eab2fb793e0257e52cfbdcc'], + }), + ('GSVA', '1.50.0', { + 'checksums': ['df54a2af6b5c27f7be70ee2ae8bcf8a8c41ac826964d8144731a8e58dd918507'], + }), + ('PureCN', '2.8.1', { + 'checksums': ['f2ac2ee30b8da345f3170f964ef79c61b19ca85948fc6bdcb374d32e64702142'], + }), + ('globaltest', '5.56.0', { + 'checksums': ['b9dcd63668b914e2cb28e7268090c49ed8eef62f0b1f836574805aff42d76c92'], + }), + ('GlobalAncova', '4.20.0', { + 'checksums': ['d031048e770b87e999e67039e47d817a70bb438748d71691316e6bf909503548'], + }), + ('vsn', '3.70.0', { + 'checksums': ['702e316356d5924772b795252a156d6ee9f6918f6c97fd72bd9d8c8a5cf72052'], + }), + ('mzID', '1.40.0', { + 'checksums': ['507f8823c9575547541588cb4267e13b8a301477519b04fb0fb253b0636af3e5'], + }), + ('mzR', '2.36.0', { + 'checksums': ['084e6874232c940492135186262ce1232b2a664ac3126b2efc2d7b9dcc9dcc7c'], + }), + ('MsCoreUtils', '1.14.1', { + 'checksums': ['5fe7604847d3e6936009f1d20d2c1a75afe7a2da70125fecd0ed26f4ee6cd950'], + }), + ('MSnbase', '2.28.1', { + 'checksums': ['54df0a5aa0aa1c52f0d008faee610edf359c9039aa2d842526d4235b6aad4298'], + }), + ('MassSpecWavelet', '1.68.0', { + 'checksums': ['5ea71adfc8e632ab10c5b208572e398a1fc799b01d02a1608a688bafbbf89910'], + }), + ('MsFeatures', '1.10.0', { + 'checksums': ['9a0d9468afd146512b16980ed7d1256d7b03888fe804b5b8b1530b69e261fa6e'], + }), + ('MetaboCoreUtils', '1.10.0', { + 'checksums': ['b491e54bac78a8edbb84158748e503d8847d6828bac930c4d511558a7923422f'], + }), + ('Spectra', '1.12.0', { + 'checksums': ['1e0f13135f9f24e06f485a839355c0b5453fc6d649f4c2248bfcf7ef4a4ffa1f'], + }), + ('BiocBaseUtils', '1.4.0', { + 'checksums': ['e588788262936ed9cc83ab198ec4a0e3b95f92af6cd443a66d1b6c9827fa32a1'], + }), + ('MultiAssayExperiment', '1.28.0', { + 'checksums': ['904dd6bb32d22d92c71de1ade4d1fd0c88e7973d01b97699a4150004abc7b036'], + }), + ('QFeatures', '1.12.0', { + 'checksums': ['bd9e0a2ce5c3a17acf49d8b3620fc366739e12129b68b9e402c93cb3ae23e4bc'], + }), + ('MsExperiment', '1.4.0', { + 'checksums': ['cf79cbb2db2cd679285cdd5407a46bbf8f816804f736f375c5b20ff88189a01a'], + }), + ('xcms', '4.0.2', { + 'checksums': ['aca11c4cb9de3cabe75e08769bdcf7d55ab76542c114b1f26800a1ab81111a9c'], + }), + ('CAMERA', '1.58.0', { + 'checksums': ['411c553b1180a46037cdbad16a227098716b4a57f95f1c01bd6f5894898244dd'], + }), + ('fgsea', '1.28.0', { + 'checksums': ['14938064e7a492b9a0edb8ac068b107a86e613df232f58820984df672369d36b'], + }), + ('GWASExactHW', '1.01', { + 'checksums': ['e850ed40fbf14b02eb3798603cfb111fe3718bb69d74c0ff4cb6f679209a15a7'], + }), + ('quantsmooth', '1.68.0', { + 'checksums': ['0a810f64fbaf3c07447602ec3d7dcff973d306634446e34a308d8ed921b71614'], + }), + ('GWASTools', '1.48.0', { + 'checksums': ['e8325dbba51b721e946e733bedd600136f0bc4f9aad5e45b79b5fe62386b4fe6'], + }), + ('SeqArray', '1.42.0', { + 'checksums': ['acc791bd9d36ca58b8330fd665b8e03c15be01202d04fba3f16f9a3ea007467f'], + }), + ('SeqVarTools', '1.40.0', { + 'checksums': ['2b30fe117d2ef1423d0e5177da06ea08004dcdf4459894e10b486aaf5a99c2a5'], + }), + ('GENESIS', '2.32.0', { + 'checksums': ['891680387ea63682d977b08d2d5706892efea4c26cee855104489f2354a09db1'], + }), + ('MLInterfaces', '1.82.0', { + 'checksums': ['8147d937e7543ca8ca8890944285d863059f22f6a7466113b83db4d2613fea29'], + }), + ('pRoloc', '1.42.0', { + 'checksums': ['fa0a6e4c7cc0247d5fd67458db8fc9e2e3a05cad4da9b785b10c4c911e9bad93'], + }), + ('pRolocdata', '1.40.0', { + 'checksums': ['f1c405105a5ea16a4343112d710842065722c6a773db904d6bbea789ced15e7e'], + }), + ('fresh', '0.2.0', { + 'checksums': ['a92db254ae88e8371efac44efe2cf1f5be7cce62291fdf994ebd68c14dad079d'], + }), + ('waiter', '0.2.5', { + 'checksums': ['9ac25e979db9242598bd0492ff862360009b51ce672184ec9f4eeb2232164979'], + }), + ('shinydashboardPlus', '2.0.3', { + 'checksums': ['49a88cfa396f880ff4faf558bb038763084287c932e27b0c9251f4d676584d83'], + }), + ('shinyhelper', '0.3.2', { + 'checksums': ['f7ed62543ab4d05a34b69a9183517a09e93e1b2da85b113282de0f9982db90b0'], + }), + ('anytime', '0.3.9', { + 'checksums': ['1096c15249ac70997a8a41c37eeb2a6d38530621abeae05d3dcd96a8acc7574a'], + }), + ('shinyWidgets', '0.8.1', { + 'checksums': ['352ee288a1dc7a9822c6eedebdb305327fc2d9bc80ffc6e35db0cdffd2177225'], + }), + ('pRolocGUI', '2.12.0', { + 'checksums': ['fd152a06b8a47d9129d073b5fc6dddace2046203d6be925e3c58117b441e8954'], + }), + ('EBImage', '4.44.0', { + 'checksums': ['1ebeda2a0a718a8655613e672b6cbaa5592d0cf0dad0b1fa2094964d2c2bb149'], + }), + ('GenomicScores', '2.14.3', { + 'checksums': ['a98eb24b700041b8756aa8f15295a7018ae45d6698a5ac9e97e4435eea721e66'], + }), + ('BSgenome.Mmusculus.UCSC.mm10', '1.4.3', { + 'checksums': ['dcf602bf9fadf1ef4ce70e0c0fc92b6435467df5affe7d0872d88a93b99ff9ee'], + }), + ('TxDb.Mmusculus.UCSC.mm10.knownGene', '3.10.0', { + 'checksums': ['696281749d01737c94894564d62093433045bc007a4528cc3d94f205edb54977'], + }), + ('regioneR', '1.34.0', { + 'checksums': ['32fa22d1ef19db168a017578178a61b38c4e82b4572595eed0cf3ad18e5c8fe1'], + }), + ('InteractionSet', '1.30.0', { + 'checksums': ['1a372f3d5e9908caf13ceaf67ca7cc9e80b3ecec23c965acbf649c0539ebef56'], + }), + ('ChIPpeakAnno', '3.36.0', { + 'checksums': ['5178ce6910a7eb56d32f20f6b67d7de898283751ee4512619838a009a7825004'], + }), + ('seqLogo', '1.68.0', { + 'checksums': ['e27e6da040e9455d15e4a16dbb0e4492482dbd969ff431d628156c62792ac380'], + }), + ('rGADEM', '2.50.0', { + 'checksums': ['f67e77b038aa1d56c261744d3467569ac6f5b9e6564a56253cc66e5316d64c92'], + }), + ('MotifDb', '1.44.0', { + 'checksums': ['b90fed332c52bcceed296b824867ab944ebab291863926bf994a403d5c71e2fc'], + }), + ('poweRlaw', '0.70.6', { + 'checksums': ['efc091449c5c6494c1c13c85a8eb95625d1c55ffffebe86c7ea16e4abbafa191'], + }), + ('CNEr', '1.38.0', { + 'checksums': ['55688f2f8b5035761727c2871122df878d30460264f6a9a7d0467c3f6809ff4e'], + }), + ('DirichletMultinomial', '1.44.0', { + 'checksums': ['9ea732aa74c1fd59d4a1641eb9c3c83863bb8ceac80d419e6a98b8ccd46071e7'], + }), + ('TFMPvalue', '0.0.9', { + 'checksums': ['b9db56e75e2cee840d8b7861686dec07ee2c40cbc7d55361e5d04f1bf0c65de7'], + }), + ('TFBSTools', '1.40.0', { + 'checksums': ['98efdb17ec1979679951020697e89cea2794f64aac4bcd070bf3799b10cabaa2'], + }), + ('motifStack', '1.46.0', { + 'checksums': ['51f45a9cc140a4b0f04d967b3024a72515f9c605a0ffa4552acd45ed27c71582'], + }), + ('ATACseqQC', '1.26.0', { + 'checksums': ['428466a20404dd5563eb37ecc527533e74c63cf170c067d52ed05bece1cca3ac'], + }), + ('ResidualMatrix', '1.12.0', { + 'checksums': ['bbb066105053c04b4d2d5fdbda6b2d2eb708c8e80272354bc1dc3dbf7a38fe1a'], + }), + ('batchelor', '1.18.1', { + 'checksums': ['a58590880cf00dd2ff7c9fc75ee611e4d4cc5bae98246a1878f8d7d1da6c8dfc'], + }), + ('gsmoothr', '0.1.7', { + 'checksums': ['b75ffd2a4a0f357762e02e46e355b45cc90ea637830f0a1b01f216bb4541e903'], + }), + ('Ringo', '1.66.0', { + 'checksums': ['adc7f824026aff62b36a71827ef815e11d4cb92a94762e0320248649da5400b2'], + }), + ('R.devices', '2.17.1', { + 'checksums': ['3b7e57039311c034ff87ccebef4f16410d59985693c47949ecefa49a166c9c09'], + }), + ('R.filesets', '2.15.0', { + 'checksums': ['bad66f3d0f00eccc681b9e23aefc37343e6e414298eedba3a2db41e74c7fb691'], + }), + ('aroma.light', '3.32.0', { + 'checksums': ['68a1adac23a4f756bc6369af82f54de57c717bfe1e5e3d54004e3baa01add9c4'], + }), + ('PSCBS', '0.66.0', { + 'checksums': ['58805636e55e0fd3f57bd4a0e296a8bb3d57a7bdd0fdd5868a73ddc83d173a93'], + }), + ('aroma.core', '3.3.0', { + 'checksums': ['7b6ab7cc6079f6783b0eaa2c10a29492e53cfb3f05b7a298588491b35a472188'], + }), + ('R.huge', '0.10.1', { + 'checksums': ['05cb1edaaa0ad120c2946a80405c8c8da6a778873f08ff203391452527786ce8'], + }), + ('aroma.apd', '0.7.0', { + 'checksums': ['9d60ead247edb7bf8d172f14881222adda0893a693f997b0da00c29cfd37d1f6'], + }), + ('aroma.affymetrix', '3.2.1', { + 'checksums': ['7aefbbddf94f6fc0ee2dec261f0caa6ca28d5f36aa7f7534ffb5f4e10ec4f5fb'], + }), + ('Repitools', '1.48.0', { + 'checksums': ['c0af0fc2131a0e27448ec71ef75ba6716c94e3d74dca501dacd09c9adf2d725e'], + }), + ('BSgenome.Hsapiens.UCSC.hg38', '1.4.5', { + 'checksums': ['b49277e4fd955be76571f187630993b02a459c7c5b69ef62a01a75dd5226e952'], + }), + ('MEDIPS', '1.54.0', { + 'checksums': ['085e41e65045f11702f5c7bf5e5c6b523c7dac3baff55527efd52c86fdcbf19d'], + }), + ('RProtoBufLib', '2.14.0', { + 'patches': ['RProtoBufLib-2.8.0_fix-protobuf-build.patch'], + 'checksums': [ + {'RProtoBufLib_2.14.0.tar.gz': 'd8c0c6ced9ea9bb661288697fbbdb1ffb754dd8d2af85132b039fbe666242ac4'}, + {'RProtoBufLib-2.8.0_fix-protobuf-build.patch': + '8775d74e2288000c57575f4ef45a875b4a377ac02f89efa947699ea786bedf64'}, + ], + }), + ('BH', '1.84.0-0', { + 'checksums': ['6fb660755f572cd975073d7052075654acf8db12d208954ca223b8e4f77ef1ac'], + }), + ('cytolib', '2.14.1', { + 'checksums': ['2e37fafbf76a16720fb9b5df611df77d511420fd1f2f11431d94b536d28c4fcd'], + }), + ('flowCore', '2.14.0', { + 'checksums': ['6d21a43022eb6de907fdc025116bccacbf2ee997c5cf7ad96d0f70fa6d605185'], + }), + ('mutoss', '0.1-13', { + 'checksums': ['b60f6fcdce44dc60c7d34c6510047f756f1442366a3566661b22aae12f4ff141'], + }), + ('qqconf', '1.3.2', { + 'checksums': ['9405d627adf9447a003e14dac43701ea3e03ee73244038aa4a6e3dd324dd8ea3'], + }), + ('metap', '1.9', { + 'checksums': ['6f22e6a9bd217e09e4d091f0fe22742b2f8dbe4a7fa94de9bca491b4f6d995f0'], + }), + ('scattermore', '1.2', { + 'checksums': ['5534a87b0bdd1375f0fbffc1a5c980ad64e33a108435a67469b8324b580602d1'], + }), + ('SeuratObject', '5.0.1', { + 'checksums': ['5ace1720fef373d44da36d28cab8947cd3c342e76f889c2f204a62d668f5f941'], + }), + ('Seurat', '5.0.1', { + 'checksums': ['0713b434be5bf14fcea068fbfc632ba15bebdec1007f1f48effd0dbb95c5150d'], + }), + ('ALL', '1.44.0', { + 'checksums': ['6c52471acf4bb77ed86e71c25e69ce5cc5235acec50785107b212934c6eec5db'], + }), + ('ConsensusClusterPlus', '1.66.0', { + 'checksums': ['bae72341fbc941456a94d67b890139fa98a8de645b38c4d0b771bc4a56faac87'], + }), + ('flowViz', '1.66.0', { + 'checksums': ['2810dbb437fd99ce4f2da068f6d2ecf5f5c496c24879faf1210a08216e10c0c2'], + }), + ('ncdfFlow', '2.48.0', { + 'checksums': ['40a55019a80bde5e65ea68162b3cc24ac87366ee2ac621f6433826b3517b3b7d'], + }), + ('aws.signature', '0.6.0', { + 'checksums': ['f7fe4f686979be21e5a8ba7ae11f0fade4f5aaf4e98063b5349ee0962dbb9496'], + }), + ('aws.s3', '0.3.21', { + 'checksums': ['bd21054ab63555d294e7465dcb6c86f107db52ba841aeac5bdf4d00af0674c8c'], + }), + ('flowWorkspace', '4.14.2', { + 'checksums': ['e681fd0f1fe1523f31054df68c9a425895ca3d0e2b2c3612f2b285d3edbe7065'], + }), + ('ash', '1.0-15', { + 'checksums': ['8b0a7bc39dd0ce2172f09edc5b5e029347d041a4d508bbff3f3fd6f69450c2ab'], + }), + ('hdrcde', '3.4', { + 'checksums': ['4341c6a021da46dcae3b1ef6d580e84dcf625c2b2139f537d0c26ec90899149b'], + }), + ('rainbow', '3.8', { + 'checksums': ['eca456288b70fe4b6c74a587d8624d3b36d67f8f9ffc13320eefb17a952d823d'], + }), + ('fds', '1.8', { + 'checksums': ['203a5e7671e542dcb83d4c75d0f4012aaebc32d54f94657afaf9e71e99dd0489'], + }), + ('fda', '6.1.4', { + 'checksums': ['e2818ecc0b78cb56b9b80fe21fc41502e49d58b57818ac52a70ba00d0f422515'], + }), + ('flowStats', '4.14.1', { + 'checksums': ['05505ac37e556010c7388a3924c874973d37995b5d62223ae0c060adb23295e0'], + }), + ('flowClust', '3.40.0', { + 'installopts': "--configure-args='--with-gsl=${EBROOTGSL} --enable-bundled-gsl=false'", + 'checksums': ['7e699b06e378e32144704dbec18289109980b0f5eca166180f2c30007b83e0f5'], + }), + ('openCyto', '2.14.0', { + 'checksums': ['9aaed21343ce39883ea90540b2fba4899f8b0d9084fae6666b9febf78b516489'], + }), + ('ggcyto', '1.30.0', { + 'checksums': ['0dde12b79d76ab0d1fa1fdf61d825ae681fd0cb4611f40dd4181e6264a2aec8f'], + }), + ('CytoML', '2.14.0', { + 'checksums': ['c93916697fcea60331518c8afdeef4b38c48f93e592abb1097821aadac7a0973'], + }), + ('colorRamps', '2.3.1', { + 'checksums': ['61f1290824380ae2fe4649f296649e0a155b73ced41479686150400f8a9c568a'], + }), + ('ggnewscale', '0.4.9', { + 'checksums': ['70a1552e8cf829fae7fe2d79580b0ba1a429286c1079eeff33609e329f88c0ef'], + }), + ('ggpointdensity', '0.1.0', { + 'checksums': ['3ea646cf183c8bf7869b122a4ee972b53709056ff443ea71551b823524092a31'], + }), + ('FlowSOM', '2.10.0', { + 'checksums': ['74d4f46e6b3928affca83628d030f9b5cd8624993b7d9723be5dbb49d6f81d9c'], + }), + ('HMMcopy', '1.44.0', { + 'checksums': ['4c3415657f69de3202a46b049a111edb28ffa4ff18869bdcd1ec976bf64215da'], + }), + ('diffcyt', '1.22.0', { + 'checksums': ['b1b31f4d655d433a0879aa637ac145e77ca4053b1c43b4cf163509d5deff6fcc'], + }), + ('blme', '1.0-5', { + 'checksums': ['679a4f19d34a584c2390ffab37810a31f6834b913fceaa2409d297ccdf912310'], + }), + ('remaCor', '0.0.16', { + 'checksums': ['7897cd449e62ac1e79ed74055a077d809dd7547448afe78246fc6b3cbc90f6f7'], + }), + ('fANCOVA', '0.6-1', { + 'checksums': ['c3ea3640d9a87abbfeae713141d606ece93bc88b9952f41a37b3f1fbe802bc12'], + }), + ('variancePartition', '1.32.2', { + 'checksums': ['bd6c96ec3d8eebcb0ab387e0754df79fbb00b1557cc37d42f169a4a2d278ac32'], + }), + ('muscat', '1.16.0', { + 'checksums': ['c3a36c419561f7c63dcd42dbfdaaf2bde8f8f13b5869e1c75a5d3acb73ca5a6d'], + }), + ('IlluminaHumanMethylation450kmanifest', '0.4.0', { + 'checksums': ['41b2e54bac3feafc7646fe40bce3aa2b92c10871b0a13657c5736517792fa763'], + }), + ('IlluminaHumanMethylationEPICmanifest', '0.3.0', { + 'checksums': ['e39a69d98486cec981e97c56f45bbe47d2ccb5bbb66a1b16fa0685575493902a'], + }), + ('IlluminaHumanMethylation450kanno.ilmn12.hg19', '0.6.1', { + 'checksums': ['3627d75a6303f4d307fa6daf0c5afd57649c60a268b3d4be7e8ac8edc4b1e288'], + }), + ('IlluminaHumanMethylationEPICanno.ilm10b2.hg19', '0.6.0', { + 'checksums': ['4decdbc78a6a8d02bf8aecb0d6e1d81134ae9dbc2375add52574f07829e8cd69'], + }), + ('IlluminaHumanMethylationEPICanno.ilm10b4.hg19', '0.6.0', { + 'checksums': ['2c8128126b63e7fa805a5f3b02449367dca9c3be3eb5f6300acc718826590719'], + }), + ('conumee', '1.36.0', { + 'checksums': ['e75a0aff3bcd1246d15841de749e211fbbe9be12d50e2012e8bb5e3e8a00c8f2'], + }), + ('BSgenome.Cfamiliaris.UCSC.canFam3', '1.4.0', { + 'checksums': ['99c55b6f7808822a3dae6679e60ecfb88a2b618159484bc35303c000bd4820c7'], + }), + ('ExperimentHub', '2.10.0', { + 'checksums': ['dc8c442e81514a0986b40260a970179b8b1777ee2a8e5f4a1024d0f2341134df'], + }), + ('SingleR', '2.4.1', { + 'checksums': ['4d8fb557544732511d3ae2e25959fb3f53c6756b2da5db6f2cce69155b219b7e'], + }), + ('FlowSorted.Blood.EPIC', '2.6.0', { + 'checksums': ['09d1d9b2c8ec3dbdbce673ef29cdea602f6fbf8e7ade39a705c408e0ef0cdd6d'], + }), + ('FlowSorted.CordBloodCombined.450k', '1.18.0', { + 'checksums': ['146a872d02789fb45da741e9da735c6f8d07b7c03fb840d50933b6a5206f803e'], + }), + ('DRIMSeq', '1.30.0', { + 'checksums': ['261a7955082a57f44371e07721c53f48edaaee5d3d2050e9b38e7bec1821c0d9'], + }), + ('stageR', '1.24.0', { + 'checksums': ['ebeaa6d04eff967ca3686754f12cf94a9b07b10433510e236cb0708f51df9018'], + }), + ('isva', '1.9', { + 'checksums': ['9fd016e0b34034d271d45f8a0d0db62780bf0187112e45f610aa9237014e1d17'], + }), + ('org.Mm.eg.db', '3.18.0', { + 'checksums': ['41ab6c87f6a8c2a13718f7b1d1bdfde37dcaf61bc34915cc3a8e2348a96b6544'], + }), + ('org.Rn.eg.db', '3.18.0', { + 'checksums': ['8349bffa1f42d5658554cf37c23a1c2ab12241b1f91fb1357baf1ee3ced23cfd'], + }), + ('ROC', '1.78.0', { + 'checksums': ['956c21bde8c5fb194acb9af12e9d8a9a2299c598e15020a654a4b33db561ba8a'], + }), + ('wateRmelon', '2.8.0', { + 'checksums': ['34a5441688298f8b710b607a89fd52f9a5b50d89fda7a744f196a5683f0e42e5'], + }), + ('GLAD', '2.66.0', { + 'checksums': ['a14c769b423fb99d744d95948f33b7e8ed0dd23d40e25188d2e767668afd9e13'], + }), + ('missMethyl', '1.36.0', { + 'checksums': ['a6206f891973f06a356b930139e1436e5ef279fd724cf54b3d1af4754bcd64db'], + }), + ('MethylSeekR', '1.42.0', { + 'checksums': ['eeb5fe4f96fecae75a0197044c8ee1ea493efd0ab68dfa15236971753e56517f'], + }), + ('affxparser', '1.74.0', { + 'checksums': ['29ef2e64d3b395a4ab95c30c7b63934b2763ddb93d2e4d98d81cb63a9f6e12a3'], + }), + ('ccdata', '1.28.0', { + 'checksums': ['128da39bb276ad0e2da648263afe7ca398a7a6dbf42336557d0e0f0b16e653ef'], + }), + ('lsa', '0.73.3', { + 'checksums': ['f07f1159f215501495d7a077911e7ed2ac61e1705899f3be3a5cf9012778619a'], + }), + ('ccmap', '1.28.0', { + 'checksums': ['91b2b953fad2afb411740e526db95be6b2d3b1d373eac1f51102725c532bab3a'], + }), + ('oligo', '1.66.0', { + 'checksums': ['e6d2b6395e2d73094095fcac6b6271fd48a3c291dc4e5e86e8d45b4f352e165f'], + }), + ('SMVar', '1.3.4', { + 'checksums': ['aaea3ef7da6cee1bb86fef166df766229c8b7cac9fcf5bc28da7adff5e2c01d6'], + }), + ('metaMA', '3.1.3', { + 'checksums': ['3a0c0351b83419984095cb2c1d77d222d1cdb7158dd8c80fc384bf175ab9358e'], + }), + ('randomcoloR', '1.1.0.1', { + 'checksums': ['cbae51a47a92b2cc3d5ab48877818404429fb73fc795430ec622a8dff20f1067'], + }), + ('shinyBS', '0.61.1', { + 'checksums': ['0aed72473060531d0e782ba62092493002137df6b251af9e2294e2a40a32a140'], + }), + ('shinypanel', '0.1.5', { + 'checksums': ['3264a5a75a306881e6a1622413298d7f3cda3dc78f54446171925774bab97a00'], + }), + ('crossmeta', '1.28.0', { + 'checksums': ['bd7e53eb0e20b6b7b51b4959c07bf1d00851ee1b2f277e6001adc20e17d806a3'], + }), + ('snpStats', '1.52.0', { + 'checksums': ['d9af4679d0dcb74895b62825902925826b8303a2c674f884b1674b3ad2f69328'], + }), + ('mixsqp', '0.3-54', { + 'checksums': ['f7d0de918a221c58b3618dc3290a0ebe052256999ee3be35a19384f26b1dfb8e'], + }), + ('susieR', '0.12.35', { + 'checksums': ['ede62644fbbeb5e534e4d049638a990f8e2ffcf54f9c67054c9a5038e9600d3a'], + }), + ('coloc', '5.2.3', { + 'checksums': ['259dbd9613d809aa60ad148f6e187249642510f0dbbd15a50b25588d9a426150'], + }), + ('SCANVIS', '1.16.0', { + 'checksums': ['be5809446a8970f4513911de2d4d89535ef785fc72b7ef750e836a46d5cc34f8'], + }), + ('EnsDb.Hsapiens.v86', '2.99.0', { + 'checksums': ['552c07bcc2a1420089d4330deafaeb5303e03d0fa75c96b78075dfd67eeee7be'], + }), + ('agricolae', '1.3-7', { + 'checksums': ['c5ade90ee23299de1d20e93406d9f4cb39bd92c51094e29306ec74baa1b34a7d'], + }), + ('bookdown', '0.37', { + 'checksums': ['b3c11156d873ea892b548344d02e01bbfa3505002ab948010bdcf28215f548a2'], + }), + ('BiocStyle', '2.30.0', { + 'checksums': ['9cbae3a879d4ed1e3692111d802193d8facf0a89e0bffa6de05718bb476cf39e'], + }), + ('estimability', '1.4.1', { + 'checksums': ['c65aaf1e452f3947013d3ce05ae674d48492081f615a942592dc91db780f1124'], + }), + ('emmeans', '1.10.0', { + 'checksums': ['43744d870e63d03504cbc421d03b1fee8428d47e9718d200e837e71cfd5207ef'], + }), + ('ggdendro', '0.1.23', { + 'checksums': ['3a33e988c4fe12eec540876ad8ba09bda998773b2d2a90e043ebae4a69fa8eb8'], + }), + ('pmp', '1.14.0', { + 'checksums': ['16564b987b91585fcb373a3967221fce8009c92b83b1af103d639e45de80e11c'], + }), + ('MultiDataSet', '1.30.0', { + 'checksums': ['538bb2f976ae8d750d08e7b53ae468612e52a548db5ffcb6a4139624ff5d27d8'], + }), + ('ropls', '1.34.0', { + 'checksums': ['fbdcde1abdf5169f549c645362c5f7fd2072a796f1913d320613ffab160b72cc'], + }), + ('ontologyIndex', '2.11', { + 'checksums': ['27f12d5b6e2cb9d0a68841a7298a2b6b21d3567a178e751f406991b336decd9e'], + }), + ('rols', '2.30.0', { + 'checksums': ['9de32bf8178d665de13f0b6ebdeb35cd2c2182afd72fa5073afc3d7afe7d904b'], + }), + ('struct', '1.14.0', { + 'checksums': ['497c934771711a35fc8a79f39bf593d1d8e27c7a0771e4d0f1bdb6f5898b6eca'], + }), + ('ggthemes', '5.0.0', { + 'checksums': ['56a913c9018afdff34f05031e0d79f4422dcf72b50c24529c0b7c8d519edadc5'], + }), + ('structToolbox', '1.14.0', { + 'checksums': ['b9e1312788fe9d9043d6e58c2996fd08b6c5a314504f53783d17eafbfdd696df'], + }), + ('EnsDb.Hsapiens.v75', '2.99.0', { + 'checksums': ['2c59f95959f344b2a3eaa65a00086b01a420823e30b0810fc81e49b08dcba64b'], + }), + ('ggseqlogo', '0.1', { + 'checksums': ['c14f145a982597f32264b37a5f2645206a0bee30dd2584a25cb8e3dc2f9b068f'], + }), + ('sparsesvd', '0.2-2', { + 'checksums': ['bb40cc69ee3aec28ff1418fd16cd76d953701a7b0d6bdcb0424c71793d96d836'], + }), + ('docopt', '0.7.1', { + 'checksums': ['9f473887e4607e9b21fd4ab02e802858d0ac2ca6dad9e357a9d884a47fe4b0ff'], + }), + ('qlcMatrix', '0.9.7', { + 'checksums': ['1ef5e0350cfbdb07fca761fc7251584d39d3da2958ea813498b467e4f7661347'], + }), + ('Signac', '1.12.0', { + 'checksums': ['0a4f1e53bcb6c3ba1e3a8e0800d6c4e65983560ff1147a643b7109452374c937'], + }), + ('motifmatchr', '1.24.0', { + 'checksums': ['d2848ba2227bfe914e57157fbbb22c44a13848bb26b9f295bef86d7f7b7a738e'], + }), + ('extraDistr', '1.10.0', { + 'checksums': ['f4264a6c2c95bb7a865655b0e84f48e30dcd584498b49d626a71adaec8eda3a9'], + }), + ('PRROC', '1.3.1', { + 'checksums': ['479118ce47c527bc97fb58d531a31cabc094d9843d62f16922009dc62e8248d4'], + }), + ('TSP', '1.2-4', { + 'checksums': ['30bd0bfe9a7ca3fdf4f91c131f251e2835640f7d61389b50fd5564d58657c388'], + }), + ('qap', '0.1-2', { + 'checksums': ['47a4ada3ae7a3a5c9304174bd5291daad60d329d527c0c6bb5ec1ac257584da5'], + }), + ('ca', '0.71.1', { + 'checksums': ['040c2fc94c356075f116cc7cd880530b3c9e02206c0035182c03a525ee99b424'], + }), + ('seriation', '1.5.4', { + 'checksums': ['d2339c52f581d1970ecf57c874a0d95810e9cd5f2fcde8f17376964c8e21339f'], + }), + ('egg', '0.4.5', { + 'checksums': ['15c8ba7cf2676eb0460de7e5dfbc89fc3175ac22a8869cfd44d66d156fd6c7bb'], + }), + ('heatmaply', '1.5.0', { + 'checksums': ['aca4dd8b0181aa97969c8c25c73343e294c4d9c24e7cbf52e97fecbed5a92db3'], + }), + ('OUTRIDER', '1.20.0', { + 'checksums': ['cc932fd6bfa5007137d832ccd8ff5dc0be00cd420c34cec728c033adf0f43afb'], + }), + ('FRASER', '1.14.0', { + 'checksums': ['166d715a309de2600e5426a0bf76c1a68186477d1f3e26280f9f677f948cc4ec'], + }), + ('JASPAR2020', '0.99.10', { + 'checksums': ['b9b92d141a317ebb32a14708229f6b82522ceeb5f1b88360d93b0a7cfe30375b'], + }), + ('AUCell', '1.24.0', { + 'checksums': ['202ecaf0f3c1ab6ce11bb73ccb69e85f1dbd4126f6a64d0fd3bc9e88f06231b4'], + }), + ('RcisTarget', '1.22.0', { + # download of source tarball via Bioconductor doesn't work, + # see https://github.com/aertslab/RcisTarget/issues/39 + 'source_urls': ['https://code.bioconductor.org/browse/RcisTarget/tarball/'], + 'sources': [{'download_filename': 'RELEASE_3_18', 'filename': '%(name)s_%(version)s.tar'}], + # download via code.bioconductor.org is not consistent, so can't use a checksum... + 'checksums': [None], + }), + ('NMF', '0.26', { + 'checksums': ['8d44562ef5f33f3811929f944c9d029ec25526d2ddddfe7c8a5b6e23adbc2ec0'], + }), + ('densEstBayes', '1.0-2.2', { + 'checksums': ['8361df9cd4b34fabfca19360bb680a8a3c68386a72bb69cf00dfa19daf97b679'], + }), + ('reldist', '1.7-2', { + 'checksums': ['d9086cbc14ed7c65d72da285b86a07e77cbfebc478ba7327b769bd08549229c9'], + }), + ('M3Drop', '1.28.0', { + 'checksums': ['7fde2f66d62efe74b514c50ae584beb7ac4f79e9e67f2783a390c3c3262ac476'], + }), + ('bsseq', '1.38.0', { + 'checksums': ['e0bdc6810757910674d493238d78f5079d048c718deb94df594ab82a4afed729'], + }), + ('DSS', '2.50.1', { + 'checksums': ['4051ad59f9e44636a1f02ccb10127403543b7d88038e3015b1838b3f91204df2'], + }), + ('pathview', '1.42.0', { + 'checksums': ['ace23a17a2bac7669fca39c1bdafa500116da69583dff0a7284b4379b73f749e'], + }), + ('chromVAR', '1.24.0', { + 'checksums': ['7d076b9f24dc06a75548608c60a3db6daec2278005be695f132bad220c28c6ef'], + }), + ('EnsDb.Hsapiens.v79', '2.99.0', { + 'checksums': ['eff1ae8d7f4ed5c6bed335de63a758be593750fb0b3483c01cf50402688d244d'], + }), + ('WGCNA', '1.72-5', { + 'checksums': ['03439143ff235c17f0dbca7dd6362afa8ddb5a72594f5c2df1c6df1caca2e79d'], + }), + ('DNABarcodes', '1.32.0', { + 'checksums': ['09263a219f974c60eeb384fc391a47d967eac19d6ffe81e8f77c433d4b99a48b'], + }), + ('GenomicInteractions', '1.36.0', { + 'checksums': ['8c50e4b566f2d9f24a45fb076cb0295c15963227951f3cf69ffe29215eec368f'], + }), + ('CAGEfightR', '1.22.0', { + 'checksums': ['80fd09e31d654bac277962dfee644c4b09ef3a0148c14b8ee51147f2f4cf7d41'], + }), + ('CAGEr', '2.8.0', { + 'checksums': ['78f0d302723f0fd6bb7ab86aaf545857576767359a45215e457c4fe65a5a2a8c'], + }), + ('SPOTlight', '1.6.7', { + 'checksums': ['58f1dc14f94d2009952543306c5cb9da86ca2b98729941af93c1975d836e7af6'], + }), + ('CGHcall', '2.64.0', { + 'checksums': ['9efe61577fe85ccde939e205ef871a0287cfc65f974bba42fb82d40548765ff4'], + }), + ('QDNAseq', '1.38.0', { + 'checksums': ['7a5681d90baeeb8dc5878163b5692b8851cdd1bb564fa67dd80e0e8ef1b358d8'], + }), + ('HiCcompare', '1.24.0', { + 'checksums': ['4dbca074754c4aea7f95e1a4483943d955fa7584b69d37865a90ffde7edb68ac'], + }), + ('ROntoTools', '2.30.0', { + 'checksums': ['b1033239dc62910eb2227b8bd37c86c5fb19a2214c20b8e37079ca970485fbdc'], + }), + ('scDblFinder', '1.16.0', { + 'checksums': ['48d905de681d1731f926962eb2ba8b2249ad43999f52292a2f2675e94c0d76b8'], + }), + ('treeio', '1.26.0', { + 'checksums': ['393ea7c7df0e5d40df43b63f78f4b889701ed0b359b7d6f9232793c37d6e7fcf'], + }), + ('ggtree', '3.10.0', { + 'checksums': ['0eb3445c924b852fd52312cf1932c42dcaaadfe60468ea4ab35f150670a0828b'], + }), + ('scistreer', '1.2.0', { + 'checksums': ['6c445f61042866d1aef2e8ccae402d79dab657f880a1b07d02db9819cf25cd0e'], + }), + ('numbat', '1.3.2-1', { + 'checksums': ['0413b538e9e7e88dfd5a5328ca26da57b527007962fbe2e742eafcc1dff42bad'], + }), + ('HiCBricks', '1.20.0', { + 'checksums': ['efffffa51ff278b92110f1d3afe0bd56c34a84bfb44a52a42b2bf0aa398c2015'], + }), + ('dir.expiry', '1.10.0', { + 'checksums': ['38b5c0460b8022e1c801d574fd3aaea0d74603730e304113e07af74621462ba4'], + }), + ('basilisk.utils', '1.14.1', { + 'checksums': ['474007e52f5a18e9e76c7e0fad7121cba2a77aed02c649e98fd5cc994182a4a6'], + }), + ('basilisk', '1.14.2', { + 'checksums': ['afe999c64bcf0faee0e3a518e43411f17e6cdf61137fc11758eabb734310233a'], + }), + ('zellkonverter', '1.12.1', { + 'checksums': ['19e5093c1898bbe6232cd271d9d341efdadf1cd8ab33f5f6a30a245684c52b09'], + }), + ('DO.db', '2.9', { + 'checksums': ['762bcb9b5188274fd81d82f785cf2846a5acc61fad55e2ff8ec1502282c27881'], + }), + ('GOSemSim', '2.28.1', { + 'checksums': ['bd27320fdadd709002a19f80e7b230b1411a4413f32a74430d6645a22232035d'], + }), + ('HDO.db', '0.99.1', { + 'checksums': ['c17cf28d06621d91148a64d47fdeaa906d8621aba7a688715fb9571a55f7cf92'], + }), + ('DOSE', '3.28.2', { + 'checksums': ['ee22b726664304643116a88c40eb8b2032e2a4faa92c2b2523986ddf19a2644e'], + }), + ('enrichplot', '1.22.0', { + 'checksums': ['9d52274b4a0b2e31c448a343f35dcd54426660a89f3a5c414490d8d59449fa16'], + }), + ('gson', '0.1.0', { + 'checksums': ['14ddbee5be66d0b1dc178e41175a50ab6ed9ffed04d4361ecf5eef3548d9a381'], + }), + ('clusterProfiler', '4.10.0', { + 'checksums': ['58401c819244b196cb907715e7c215791424a4f06082c22d2e91b9cffcf299ee'], + }), + ('reactome.db', '1.86.2', { + 'checksums': ['0c319b4164ab7e590233437ab715dd9a0092287611ac588b74ec42a01b8ce80a'], + }), + ('graphite', '1.48.0', { + 'checksums': ['5678e693530ed9e5727e45b938ff830db24efc1bbac59f8deefa0bd0250812c1'], + }), + ('ReactomePA', '1.46.0', { + 'checksums': ['4cf764415b9361d776e57a5ebed52c783a79e8adda1dd851ded14fe62be5d44d'], + }), + ('flowClean', '1.40.0', { + 'checksums': ['0a0029fd76fd2f9dd2ba7bd5ccabeeebb53438a947143e6bae79d96c55a00325'], + }), + ('flowAI', '1.32.0', { + 'checksums': ['7ffe8ec5e2736ad644cc24174b6350a5bd9f382086ea70a2a2c78883911b21ae'], + }), + ('flowFP', '1.60.0', { + 'checksums': ['f58cf1d0947a64f04a101b74eedead6dc441d465c6cf4abad1a8831e4711d834'], + }), + ('simplifyEnrichment', '1.12.0', { + 'checksums': ['fc86227bb20671fbb242983e9a6b1c9509b70003817860c116b106841ca41962'], + }), + ('RPMG', '2.2-7', { + 'checksums': ['c413de3c126bc377fe31a948887d27f404a9637c57fe0e07b087d5509cb99f11'], + }), + ('Rwave', '2.6-5', { + 'checksums': ['6c9ef75bb376f2e3f5c5dcd3b3fdca7d86797ce809da34f444632657189be2e4'], + }), + ('RSEIS', '4.1-6', { + 'checksums': ['6a4a3e57fb4935676a3105597e879ff79839bba86349fca35aba7bab13e87aed'], + }), + ('splancs', '2.01-44', { + 'checksums': ['08d46df9b56488925cc1b66261cf1134292ce4b5174b45e066eeb1e951dec171'], + }), + ('MBA', '0.1-0', { + 'checksums': ['78039905c5b98be2bb79a5f292187a2aca21ef449daeefea58b0cac53a5283af'], + }), + ('GEOmap', '2.5-5', { + 'checksums': ['8a17a78926cda3f885584f797db6765d218f89b39eda512ff8af379651fb483f'], + }), + ('RFOC', '3.4-10', { + 'checksums': ['b1211db8960b482ebb516233c86b075d1a1f006a88191a72fa98babd5a8e2100'], + }), + ('flowDensity', '1.36.1', { + 'checksums': ['e2b9102bc7c67cd450d340602fc88d2ef8736266b7ff9386974192fae6d65570'], + }), + ('flowPeaks', '1.48.0', { + 'checksums': ['84baaf3c7e8c2cd9790dfd086bf56ce07d448be6255285330dfc92b0b2fafafb'], + }), + ('SamSPECTRAL', '1.56.0', { + 'checksums': ['49814844e37282fde405c3217ae222637583a0a0ca4f3008194b148f576b74f0'], + }), + ('ddPCRclust', '1.22.0', { + 'checksums': ['4c745a4fbe80d7827e24e9ccfbb911a61aa636fba5a46aadf6de862667f1cd31'], + }), + ('feature', '1.2.15', { + 'checksums': ['de38292b7e800068a20824e2a9e7d5d4d0b465b7925db0d165346aa5030ff67b'], + }), + ('flowMerge', '2.50.0', { + 'checksums': ['cbd7a2e4ffdac86fb0fe36fa1f9b5adb277fd882a8fb3ea793031546f1dd6701'], + }), + ('SpatialExperiment', '1.12.0', { + 'checksums': ['c49efa705e32d385b9bdcf3f8d205bf4e55cb1016ed59f0614c6b892f09782e8'], + }), + ('TrajectoryUtils', '1.10.0', { + 'checksums': ['bba459c730a76780adab71dd1f130e2e025c0fb8990c45bb7320611336a00d5f'], + }), + ('slingshot', '2.10.0', { + 'checksums': ['2d30c816b11d7f32ed87afcdf3a30cb9e130a1abac28d8c792d556c2ae047260'], + }), + ('TreeSummarizedExperiment', '2.10.0', { + 'checksums': ['cf7cd38f3199dc9324b6dbedd40ce2fae4c910abd0b11c41d7eaaa1d698f78fb'], + }), + ('decontam', '1.22.0', { + 'checksums': ['736b270861e029e47b7b9958fe38bda6c6b833ebe8e98b54e2e766ddb1699f54'], + }), + ('DECIPHER', '2.30.0', { + 'checksums': ['e9d06fe494792d31c2c547c04a409c26fe739c1000fc3aec7697e1367aa328e6'], + }), + ('mia', '1.10.0', { + 'checksums': ['b7b3c20dd45e2a376fe90b62a77f01af323f1b676324009795b11fa7bbbb9a10'], + }), + ('ANCOMBC', '2.4.0', { + 'checksums': ['874699e6662d2624d174fe877e0e81024ecc5aa636d5b23ed9b5c09e5698c3d4'], + }), + ('decoupleR', '2.8.0', { + 'checksums': ['09b6d3398eec6e5aa6eacd41c8d025488e6acc771e04e43040cb8ea1feccd4ee'], + }), + ('UCell', '2.6.2', { + 'checksums': ['ad8c56756ac2645f02cfbb00e6aec756528ebc729413ba9af57ff8e3425a6403'], + }), + ('intervals', '0.15.4', { + 'checksums': ['50c0e1e3aab3e7b72cc1f0a6559d96caa3a360e969c38538479907e6cbe39f8f'], + }), + ('oompaBase', '3.2.9', { + 'checksums': ['14ca2b8e713a6a7ce13758f7f5c183dbc4fdfedc4f1244ca31bbdadf8a16bcb2'], + }), + ('oompaData', '3.1.3', { + 'checksums': ['aeb932f75d3de2101d2e1b387fe76677f2d38d4819710320c0e3df07df3ab73d'], + }), + ('TailRank', '3.2.2', { + 'checksums': ['21ed95ea47d21155f08ae2ad7bca9547f89f492000bc1defe1cc5ec172739d09'], + }), + ('RnBeads', '2.20.0', { + 'checksums': ['1797f32b209a122fac0b416cc98dd52e0fc7ed11f4849342ed01f85b2da1e797'], + }), + ('RnBeads.hg19', '1.34.0', { + 'checksums': ['26b2c7cd893c78a9475aa812cf2dfa7b5e1b0f4ba702d8c4c18d470e27be6657'], + }), + ('RnBeads.hg38', '1.34.0', { + 'checksums': ['454c1a34cb3c9c1ebc66f792626b6aaf19258ca35506e054b056da386c3988a6'], + }), + ('RnBeads.mm9', '1.34.0', { + 'checksums': ['eecf24c99996e6e7ffd2bd3fb3633a231a201ac16815472227f6235526d4f4b4'], + }), + ('RnBeads.mm10', '2.10.0', { + 'checksums': ['28b28ad3b3521da37bd630b3c540dd2ad539435c34ba5cd3988234c5dbeb3674'], + }), + ('RnBeads.rn5', '1.34.0', { + 'checksums': ['1ad1e5a37a018e6e53e7d7f84333dda5ceae3368c2e44076c9e4ef66a26b57a0'], + }), + ('log4r', '0.4.3', { + 'checksums': ['dfe3d49d35a8d8f3ad63f156d18e860540a01bd0af0e343cbab3e31a2cf5904c'], + }), + ('MSstatsConvert', '1.12.0', { + 'checksums': ['8c284b086736f4eba4035a95c5bdd5163b9d3102f1644fc7f0cd1209dc3de5f6'], + }), + ('MSstats', '4.10.0', { + 'checksums': ['cd1ca2161c6554906e33c76a6af0f63de624abcb87335f5d9a9494f8677a7b94'], + }), + ('MSstatsTMT', '2.10.0', { + 'checksums': ['e4eff0f7d684c8aefd1d3d2efa87f4b902029dbdae318a23ffba84cebf7dd303'], + }), + ('MSstatsPTM', '2.4.2', { + 'checksums': ['3cd199935444e7e4e7af0586cfbe415d0b5702dd8dc4d7687d38cb163830d507'], + }), + ('factoextra', '1.0.7', { + 'checksums': ['624ff01c74933352aca55966f8a052b1ccc878f52c2c307e47f88e0665db94aa'], + }), + ('MSstatsLiP', '1.8.1', { + 'checksums': ['b64eb9a2021720205da3f0124152d5ff7159e6c6f8a7c076dcf4cd99630f3fd9'], + }), + ('babelgene', '22.9', { + 'checksums': ['ce6601dcb78352516d3b0355042c52a20e154b39d3b27b93ff52150a59c885e2'], + }), + ('msigdbr', '7.5.1', { + 'checksums': ['dc30487bdf3594425ae9faec1ca0d7d0cd7278f4f177689133f92880e74acaca'], + }), + ('escape', '1.12.0', { + 'checksums': ['d69dda267e9346b1d3f10274fb0985409d23060abba609d4e8859eae92b1b12e'], + }), + ('plyranges', '1.22.0', { + 'checksums': ['fcdcad1082fadd1a365dd2d2cc7d955601b737ecd4a567d888d2b445756297fc'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocManager', 'GenomicFeatures'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb index 61f2a58a16a..82ab85aec92 100644 --- a/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb +++ b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb @@ -64,6 +64,14 @@ local_ext_version_check = "pkgver = packageVersion('%(ext_name)s'); if (pkgver ! local_stop_msg = "stop('%(ext_name)s %(ext_version)s not installed, found ', pkgver, ' instead')" exts_filter = ("R -q --no-save", "%s { %s }" % (local_ext_version_check, local_stop_msg)) +# the dbarts extension needs an additional compiler flag on Arm systems to prevent "incompatible types" errors +# cfr. https://github.com/vdorie/dbarts/issues/66 +if ARCH == 'aarch64': + local_dbarts_preinstallopts = 'sed -i "s|-c partition_neon.c|-flax-vector-conversions -c partition_neon.c|"' + local_dbarts_preinstallopts += ' src/misc/Makefile && ' +else: + local_dbarts_preinstallopts = '' + # !! order of packages is important !! # packages updated on 10th December 2023 exts_list = [ @@ -2577,6 +2585,7 @@ exts_list = [ }), ('dbarts', '0.9-25', { 'checksums': ['39a78228ead17c92bd88fe5f959c888412a22a7cbbc0edfa9c09072b4182d870'], + 'preinstallopts': local_dbarts_preinstallopts, }), ('proftools', '0.99-3', { 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], @@ -3383,6 +3392,30 @@ exts_list = [ ('ridge', '3.3', { 'checksums': ['5c2daecf6f97aa099ef5fa54f8448518c4f2ed6e44dd29fc60621a70721c60f5'], }), + ('ggdist', '3.3.1', { + 'checksums': ['6705e8a252701bc162bbbe26f7cbb3e95e93a11af6288456ab711f5d0c0df929'], + }), + ('svUnit', '1.0.6', { + 'checksums': ['263e6c03d6c2717dfd25b96d25f8019c9c98120de280a17224e0d79adba2d522'], + }), + ('arrayhelpers', '1.1-0', { + 'checksums': ['5fddd5dd4fb8237bcb24465ef823bc8715ba53e6e5fd7a716c31c48ec128340b'], + }), + ('tidybayes', '3.0.6', { + 'checksums': ['706044e17855a684a5ad1aeb582963dd3c7192a4a8ad0584358d0ea7c7aadb90'], + }), + ('spdep', '1.3-1', { + 'checksums': ['36062ccd094f9110a43cd51902c794242311fd23b861dde22c450446dce85396'], + }), + ('stringmagic', '1.0.0', { + 'checksums': ['8152c72a2ed70577fae1e569986d1d488ce2e6b21b8f0e080c0265806c08551a'], + }), + ('dreamerr', '1.4.0', { + 'checksums': ['3e5e4afd10623b6dac6bb9b8bf0480d41c7422884cfec2d9d9786414f9026a87'], + }), + ('fixest', '0.11.2', { + 'checksums': ['2dee113a0689e5c4dd842c451d35c9a94a5b37536f9484611a877c1ea10e2b65'], + }), ] modextrapaths = {'R_LIBS_SITE': ''} diff --git a/easybuild/easyconfigs/r/R/R-3.6.3-foss-2020a.eb b/easybuild/easyconfigs/r/R/R-3.6.3-foss-2020a.eb index ad7708d2b1f..802b28cc594 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.3-foss-2020a.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.3-foss-2020a.eb @@ -2113,7 +2113,6 @@ exts_list = [ 'checksums': ['3a1f166f1c71b5877a2acca1384ec6c9b430b67af67ef26125f2abbb53c66206'], }), ('liquidSVM', '1.2.4', { - 'checksums': ['15a9c7f2930e2ed3f4c5bcd9b042884ea580d2b2e52e1c68041600c196046aba'], 'patches': ['liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch'], 'checksums': [ '15a9c7f2930e2ed3f4c5bcd9b042884ea580d2b2e52e1c68041600c196046aba', diff --git a/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb b/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb index e1cfa939335..33973d12812 100644 --- a/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb +++ b/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb @@ -78,6 +78,14 @@ exts_default_options = { 'source_tmpl': '%(name)s_%(version)s.tar.gz', } +# the dbarts extension needs an additional compiler flag on Arm systems to prevent "incompatible types" errors +# cfr. https://github.com/vdorie/dbarts/issues/66 +if ARCH == 'aarch64': + local_dbarts_preinstallopts = 'sed -i "s|-c partition_neon.c|-flax-vector-conversions -c partition_neon.c|"' + local_dbarts_preinstallopts += ' src/misc/Makefile && ' +else: + local_dbarts_preinstallopts = '' + # !! order of packages is important !! # packages updated on 27th April 2022 exts_list = [ @@ -2796,6 +2804,7 @@ exts_list = [ }), ('dbarts', '0.9-22', { 'checksums': ['68fa2bfe274811c91ea7b67da46c4ffe527eb662d75edbec26ffe934ddc7150a'], + 'preinstallopts': local_dbarts_preinstallopts, }), ('proftools', '0.99-3', { 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], diff --git a/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb b/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb index 9d6af6f22c4..d2734474d6c 100644 --- a/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb +++ b/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb @@ -77,6 +77,14 @@ exts_default_options = { 'source_tmpl': '%(name)s_%(version)s.tar.gz', } +# the dbarts extension needs an additional compiler flag on Arm systems to prevent "incompatible types" errors +# cfr. https://github.com/vdorie/dbarts/issues/66 +if ARCH == 'aarch64': + local_dbarts_preinstallopts = 'sed -i "s|-c partition_neon.c|-flax-vector-conversions -c partition_neon.c|"' + local_dbarts_preinstallopts += ' src/misc/Makefile && ' +else: + local_dbarts_preinstallopts = '' + # !! order of packages is important !! # packages updated on 23rd June 2022 exts_list = [ @@ -2797,6 +2805,7 @@ exts_list = [ }), ('dbarts', '0.9-22', { 'checksums': ['68fa2bfe274811c91ea7b67da46c4ffe527eb662d75edbec26ffe934ddc7150a'], + 'preinstallopts': local_dbarts_preinstallopts, }), ('proftools', '0.99-3', { 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], diff --git a/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb b/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb index 5c533ecb998..ebc872e51a4 100644 --- a/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb +++ b/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb @@ -51,6 +51,8 @@ dependencies = [ ('MPFR', '4.2.0'), # for Rmpfr ('libgit2', '1.5.0'), ('OpenSSL', '1.1', '', SYSTEM), + ('protobuf', '23.0'), + ('jq', '1.6'), ] # Some R extensions (mclust, quantreg, waveslim for example) require the math library (-lm) to avoid undefined symbols. @@ -75,6 +77,14 @@ exts_default_options = { 'source_tmpl': '%(name)s_%(version)s.tar.gz', } +# the dbarts extension needs an additional compiler flag on Arm systems to prevent "incompatible types" errors +# cfr. https://github.com/vdorie/dbarts/issues/66 +if ARCH == 'aarch64': + local_dbarts_preinstallopts = 'sed -i "s|-c partition_neon.c|-flax-vector-conversions -c partition_neon.c|"' + local_dbarts_preinstallopts += ' src/misc/Makefile && ' +else: + local_dbarts_preinstallopts = '' + # !! order of packages is important !! # packages updated on 17th March 2023 exts_list = [ @@ -2854,6 +2864,7 @@ exts_list = [ }), ('dbarts', '0.9-23', { 'checksums': ['e1ac65fd89c321895d4f0e77d9cd8dcda5f1103485008afd4e19e6c9137557a3'], + 'preinstallopts': local_dbarts_preinstallopts, }), ('proftools', '0.99-3', { 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], @@ -3669,6 +3680,28 @@ exts_list = [ ('ridge', '3.3', { 'checksums': ['5c2daecf6f97aa099ef5fa54f8448518c4f2ed6e44dd29fc60621a70721c60f5'], }), + ('gdalUtilities', '1.2.5', { + 'checksums': ['2a72e990080ad626205c78edc6614959b564413b7fc23132008b7259723571a7'], + }), + ('protolite', '2.3.0', { + 'patches': ['protolite-2.3.0_use-c++17.patch'], + 'checksums': [ + {'protolite_2.3.0.tar.gz': '53ef24d51a8348f97bec39d254df3b97bd8b3d9bbffb81d6b06aad849cf78ce9'}, + {'protolite-2.3.0_use-c++17.patch': 'fb5084c55dfbabc6f3e778accf4553f5c84f2bb0ab0ae84b3538c866a829afa4'}, + ], + }), + ('jqr', '1.3.1', { + 'checksums': ['e22461e75ff7e57fe502dc7d16c5e5fe9f8e4cbe042b5eadad06fc37394f9f36'], + }), + ('geojson', '0.3.5', { + 'checksums': ['e425c8579dc9cf5e3c1f71db3b0eed8225e5ed7ea88b6c861f800f60fc07402a'], + }), + ('geojsonio', '0.11.3', { + 'checksums': ['7168eb3571440479f0cbdd005ff9db3233d3c91fc10d37fb0eb200793da3402b'], + }), + ('MODIStsp', '2.1.0', { + 'checksums': ['9416bf2a32faf4ae7159f50ba56ac7924852af59f932223b2268aedfa1769fda'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb b/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb new file mode 100644 index 00000000000..df95c0aaa55 --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb @@ -0,0 +1,374 @@ +name = 'R' +version = '4.3.3' + +homepage = 'https://www.r-project.org/' +description = """R is a free software environment for statistical computing + and graphics.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['80851231393b85bf3877ee9e39b282e750ed864c5ec60cbd68e6e139f0520330'] + +builddependencies = [ + ('pkgconf', '2.0.3'), + ('Autotools', '20220317'), +] +dependencies = [ + ('X11', '20231019'), + ('Mesa', '23.1.9'), + ('libGLU', '9.0.3'), + ('cairo', '1.18.0'), + ('libreadline', '8.2'), + ('ncurses', '6.4'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.4'), + ('zlib', '1.2.13'), + ('SQLite', '3.43.1'), + ('PCRE2', '10.42'), + ('libpng', '1.6.40'), # for plotting in R + ('libjpeg-turbo', '3.0.1'), # for plottting in R + ('LibTIFF', '4.6.0'), + ('Java', '11', '', SYSTEM), + ('libgit2', '1.7.2'), + ('OpenSSL', '1.1', '', SYSTEM), + ('cURL', '8.3.0'), + ('Tk', '8.6.13'), # for tcltk + ('HarfBuzz', '8.2.2'), # for textshaping + ('FriBidi', '1.0.13'), # for textshaping +] + +# Some R extensions (mclust, quantreg, waveslim for example) require the math library (-lm) to avoid undefined symbols. +# Adding it to FLIBS makes sure it is present when needed. +preconfigopts = 'export FLIBS="$FLIBS -lm" && ' + +configopts = "--with-pic --enable-threads --enable-R-shlib" +# some recommended packages may fail in a parallel build (e.g. Matrix), and +# we're installing them anyway below +configopts += " --with-recommended-packages=no" + +# specify that at least EasyBuild v3.5.0 is required, +# since we rely on the updated easyblock for R to configure correctly w.r.t. BLAS/LAPACK +easybuild_version = '3.5.0' + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +# !! order of packages is important !! +# packages updated on 4th March 2024 +exts_list = [ + # include packages that are part of the base installation of R, + # both to make sure they are available (via sanity check), + # and to be able to pass the check for required dependencies when installing extensions in parallel + 'base', + 'compiler', + 'datasets', + 'graphics', + 'grDevices', + 'grid', + 'methods', + 'parallel', + 'splines', + 'stats', + 'stats4', + 'tcltk', + 'tools', + 'utils', + ('rlang', '1.1.3', { + 'checksums': ['24a3424b5dc2c4bd3e5f7c0b54fbe1355028e329181b2d41f4464c8ade28bf0a'], + }), + ('Rcpp', '1.0.12', { + 'checksums': ['0c7359cc43beee02761aa3df2baccede1182d29d28c9cd49964b609305062bd0'], + }), + ('R6', '2.5.1', { + 'checksums': ['8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48'], + }), + ('cli', '3.6.2', { + 'checksums': ['4c0749e3711b2b6ae90fd992784303bc8d98039599cac1deb397239a7018e151'], + }), + ('base64enc', '0.1-3', { + 'checksums': ['6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d'], + }), + ('rprojroot', '2.0.4', { + 'checksums': ['b5f463fb25a24dac7a4ca916be57dbe22b5262e1f41e53871ca83e57d4336e99'], + }), + ('xfun', '0.42', { + 'checksums': ['07bbfaed212ba1fcb9367624e8bc4936a7884e30e0efc561199acd0fcba5750a'], + }), + ('commonmark', '1.9.1', { + 'checksums': ['9517a13f4ce4a99bb157493453b04419b222cb65a9471cd3b11e5045ac0db53b'], + }), + ('highr', '0.10', { + 'checksums': ['ec55bc1ff66390ed66806dc2a7b6c17dbfd089b3d73fe2e369017f8cb4bc347b'], + }), + ('digest', '0.6.34', { + 'checksums': ['0b737552932f165d4158ac94631f90abfb02c510df14577d7aa900c8fd3d44d9'], + }), + ('desc', '1.4.3', { + 'checksums': ['54468da73dd78fc9e7c565c41cfe3331802c2134b2e61a9ad197215317092f26'], + }), + ('ellipsis', '0.3.2', { + 'checksums': ['a90266e5eb59c7f419774d5c6d6bd5e09701a26c9218c5933c9bce6765aa1558'], + }), + ('prettyunits', '1.2.0', { + 'checksums': ['f059f27e2a5c82e351fe05b87ad712f7afc273c651450453f59d99af5deeacea'], + }), + ('crayon', '1.5.2', { + 'checksums': ['70a9a505b5b3c0ee6682ad8b965e28b7e24d9f942160d0a2bad18eec22b45a7a'], + }), + ('stringi', '1.8.3', { + 'checksums': ['1602be8edd1dd8ac5a836f4077cbc9d6a312ca4b2c594a0486370e8c1e314925'], + }), + ('magrittr', '2.0.3', { + 'checksums': ['a2bff83f792a1acb801bfe6330bb62724c74d5308832f2cb6a6178336ace55d2'], + }), + ('evaluate', '0.23', { + 'checksums': ['c9cf9c37502b8fbfa78e4eb96b8c3d1789060e49505c86c07cb7476da804a45c'], + }), + ('ps', '1.7.6', { + 'checksums': ['52c35ffc3d1e1d984a94c7bbd671ef4ad70946990cbcd80e814e17937b056dd2'], + }), + ('processx', '3.8.3', { + 'checksums': ['1ad8c51482b89702fbbb6621b1a179c1ae67b78388b8fd9c841bbc8cf035d831'], + }), + ('callr', '3.7.5', { + 'checksums': ['18a11e8f7324d5b013149af69a32784aea7433863492aaabccd8d227b73b472c'], + }), + ('pkgbuild', '1.4.3', { + 'checksums': ['1583edb56c0afab6f99d0dd2235fd45999461f89e8ca50bc7c0b74211f109165'], + }), + ('fs', '1.6.3', { + 'checksums': ['fa82061e50d7a4d94b7e404f9f2b699e75ae8fbfb575fabdfc2c39f536c0f971'], + }), + ('utf8', '1.2.4', { + 'checksums': ['418f824bbd9cd868d2d8a0d4345545c62151d321224cdffca8b1ffd98a167b7d'], + }), + ('fansi', '1.0.6', { + 'checksums': ['ea9dc690dfe50a7fad7c5eb863c157d70385512173574c56f4253b6dfe431863'], + }), + ('pkgconfig', '2.0.3', { + 'checksums': ['330fef440ffeb842a7dcfffc8303743f1feae83e8d6131078b5a44ff11bc3850'], + }), + ('withr', '3.0.0', { + 'checksums': ['8c78eede6d0e648c23d38a6695f642aed2819ef708239d00b36cbc15eabbe0e7'], + }), + ('glue', '1.7.0', { + 'checksums': ['1af51b51f52c1aeb3bfe9349f55896dd78b5542ffdd5654e432e4d646e4a86dc'], + }), + ('rstudioapi', '0.15.0', { + 'checksums': ['935bc81dca37d3d6e77982bfe6e7fbd779e8606e5b7e00d0ba4c80fec0416ccf'], + }), + ('brio', '1.1.4', { + 'checksums': ['0cbbf38948682b2435eea69b04be59187b149183dc7562df71dc0d3e260e18e8'], + }), + ('pkgload', '1.3.4', { + 'checksums': ['60b04b948cda4dc56257b1e89f9b0a4b1273cacecdb2bd995d66dd76e89926ce'], + }), + ('fastmap', '1.1.1', { + 'checksums': ['3623809dd016ae8abd235200ba7834effc4b916915a059deb76044137c5c7173'], + }), + ('htmltools', '0.5.7', { + 'checksums': ['ecb0d82619063f49e4d001c44fcc1b811a06928fd66c2bb8c86632798d98b386'], + }), + ('yaml', '2.3.8', { + 'checksums': ['9ed079e2159cae214f3fefcbc4c8eb3b888ceabe902350adbdb1d181eda23fd8'], + }), + ('knitr', '1.45', { + 'checksums': ['ee2edea53bc53efa51d131ab5a0b0c829c0f950b79d3c6ee34705354bf7584fb'], + }), + ('mime', '0.12', { + 'checksums': ['a9001051d6c1e556e881910b1816b42872a1ee41ab76d0040ce66a27135e3849'], + }), + ('praise', '1.0.0', { + 'checksums': ['5c035e74fd05dfa59b03afe0d5f4c53fbf34144e175e90c53d09c6baedf5debd'], + }), + ('jsonlite', '1.8.8', { + 'checksums': ['7de21316984c3ba3d7423d12f43d1c30c716007c5e39bf07e11885e0ceb0caa4'], + }), + ('lifecycle', '1.0.4', { + 'checksums': ['ada4d3c7e84b0c93105e888647c5754219a8334f6e1f82d5afaf83d4855b91cc'], + }), + ('vctrs', '0.6.5', { + 'checksums': ['43167d2248fd699594044b5c8f1dbb7ed163f2d64761e08ba805b04e7ec8e402'], + }), + ('stringr', '1.5.1', { + 'checksums': ['a4adec51bb3f04214b1d8ef40d3a58949f21b1497cbeaf2ba552e0891eef45de'], + }), + ('pillar', '1.9.0', { + 'checksums': ['f23eb486c087f864c2b4072d5cba01d5bebf2f554118bcba6886d8dbceb87acc'], + }), + ('tibble', '3.2.1', { + 'checksums': ['65a72d0c557fd6e7c510d150c935ed6ced5db7d05fc20236b370f11428372131'], + }), + ('diffobj', '0.3.5', { + 'checksums': ['d860a79b1d4c9e369282d7391b539fe89228954854a65ba47181407c53e3cf60'], + }), + ('rematch2', '2.1.2', { + 'checksums': ['fe9cbfe99dd7731a0a2a310900d999f80e7486775b67f3f8f388c30737faf7bb'], + }), + ('waldo', '0.5.2', { + 'checksums': ['82cdae1ab2c5e7e5dbf5c6bdf832020b46e152732053fb45de7c9a81afdf2e05'], + }), + ('testthat', '3.2.1', { + 'checksums': ['1d980e611b01c194007639a100c3ddaeaab77786d32f81680f497f99e60748ad'], + }), + ('xml2', '1.3.6', { + 'checksums': ['e81991ff99bff3616dde8683c1327194e3ea64fa3b8062f52d8ce32673dd308f'], + }), + ('curl', '5.2.1', { + 'checksums': ['4a7a4d8c08aa1bca2fcd9c58ade7b4b0ea2ed9076d0521071be29baac8adfa90'], + }), + ('sys', '3.4.2', { + 'checksums': ['b7bdce66f0fb681830ea6fb77b5a2c6babb43920abb1eddc733f95c0a63ce5b3'], + }), + ('askpass', '1.2.0', { + 'checksums': ['b922369781934d0ffc8d0c0177e8ace56796c2e6a726f65e460c16f792592cef'], + }), + ('openssl', '2.1.1', { + 'checksums': ['faa726f9af2a97d5fa1e1044f4a38ee2edd4c81f0beb5830f6a36ff249b64bdc'], + }), + ('httr', '1.4.7', { + 'checksums': ['1555e6c2fb67bd38ff11b479f74aa287b2d93f4add487aec53b836ff07de3a3a'], + }), + ('jquerylib', '0.1.4', { + 'checksums': ['f0bcc11dcde3a6ff180277e45c24642d3da3c8690900e38f44495efbc9064411'], + }), + ('rappdirs', '0.3.3', { + 'checksums': ['49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184'], + }), + ('sass', '0.4.8', { + 'checksums': ['42ba2930cd22ad9f5e0022b9ac53bdbc4c9250f00e0646e6502f635a6db3c40c'], + }), + ('purrr', '1.0.2', { + 'checksums': ['2c1bc6bb88433dff0892b41136f2f5c23573b335ff35a4775c72aa57b48bbb63'], + }), + ('cachem', '1.0.8', { + 'checksums': ['ea9ca919fe615dce8770758ecc2fc88ac99074f66ff1cde3a0b95d40007f45c2'], + }), + ('memoise', '2.0.1', { + 'checksums': ['f85034ee98c8ca07fb3cd826142c1cd1e1e5747075a94c75a45783bbc4fe2deb'], + }), + ('bslib', '0.6.1', { + 'checksums': ['642735afd7d3895f1ac8c5a5f7f5e08001bfabcf62a56d2d85904655a2e931db'], + }), + ('fontawesome', '0.5.2', { + 'checksums': ['da3de2a9717084d1400d48edd783f06c66b8c910ce9c8d753d1b7d99be1c5cc9'], + }), + ('tinytex', '0.49', { + 'checksums': ['941169ec65445d172658d0fb6ea8d839736f3f1b5f6ce20637d7d8e299663145'], + }), + ('rmarkdown', '2.25', { + 'checksums': ['06e4662666fe018fbe3bef3531280a461c7bc24bb00f34b9d4c7b08d52210155'], + }), + ('downlit', '0.4.3', { + 'checksums': ['6c0fbe98ece8a511973263f8e8a35574df0cfc45edea7452b53b8d326436b3bd'], + }), + ('cpp11', '0.4.7', { + 'checksums': ['801d1266824c3972642bce2db2a5fd0528a65ec845c58eb5a886edf082264344'], + }), + ('systemfonts', '1.0.5', { + 'checksums': ['840ffb1d8293739c79cbc868101d9f9a84f4a9de4c7b3625e30af2fb63e15823'], + }), + ('textshaping', '0.3.7', { + 'checksums': ['fa924dbe1fb4138b80d6c26ee42f4203843f1d34f77e2a5e42514e6fcc97ec42'], + }), + ('ragg', '1.2.7', { + 'checksums': ['d77a18662d127881dcb5046033eb809293ad9ad439fa4b217202b8cef4280c9f'], + }), + ('whisker', '0.4.1', { + 'checksums': ['bf5151494508032f68ac41e211bda80da9087c65c7068ffdd12f16669bf1f2bc'], + }), + ('pkgdown', '2.0.7', { + 'checksums': ['f33872869dfa8319182d87e90eab3245ff69293b3b791471bf9538afb81b356a'], + }), + ('htmlwidgets', '1.6.4', { + 'checksums': ['7cb08f0b30485dac26f72e4056ec4ed8825d1398e8b9f25ed63db228fe3a0ed0'], + }), + ('profvis', '0.3.8', { + 'checksums': ['ec02c75bc9907a73564e691adfa8e06651ca0bd73b7915412960231cd265b4b2'], + }), + ('urlchecker', '1.0.1', { + 'checksums': ['62165ddbe1b748b58c71a50c8f07fdde6f3d19a7b39787b9fa2b4f9216250318'], + }), + ('later', '1.3.2', { + 'checksums': ['52f5073d33cd0d3c12e56526c9c53c323ebafcc79b22cc6e51fb0c41ee2b561e'], + }), + ('promises', '1.2.1', { + 'checksums': ['3ce0a26df39ea27536877ec6db13083b2952108245024baa8b40ae856d2ce5be'], + }), + ('xtable', '1.8-4', { + 'checksums': ['5abec0e8c27865ef0880f1d19c9f9ca7cc0fd24eadaa72bcd270c3fb4075fd1c'], + }), + ('httpuv', '1.6.14', { + 'checksums': ['4026acae26bd99873e269b062f343f2239131130b43fdfd6a1a5a89b913cd181'], + }), + ('sourcetools', '0.1.7-1', { + 'checksums': ['96812bdb7a0dd99690d84e4b0a3def91389e4290f53f01919ef28a50554e31d1'], + }), + ('shiny', '1.8.0', { + 'checksums': ['f28740ba28707e8b3dabb2ad27b002dae555317010660702163bb0daefe04641'], + }), + ('miniUI', '0.1.1.1', { + 'checksums': ['452b41133289f630d8026507263744e385908ca025e9a7976925c1539816b0c0'], + }), + ('brew', '1.0-10', { + 'checksums': ['4181f7334e032ae0775c5dec49d6137eb25d5430ca3792d321793307b3dda38f'], + }), + ('roxygen2', '7.3.1', { + 'checksums': ['215e9fa9c0e73cb33f9870854c97b25c1a6386f519f69f397123f1a66656e2c8'], + }), + ('rversions', '2.1.2', { + 'checksums': ['de5818233e8271132fe8ea70145618950b35786e0d2f270e39bf3338f3b8b160'], + }), + ('sessioninfo', '1.2.2', { + 'checksums': ['f56283857c53ac8691e3747ed48fe03e893d8ff348235bff7364658bcfb0c7cb'], + }), + ('xopen', '1.0.0', { + 'checksums': ['e207603844d69c226142be95281ba2f4a056b9d8cbfae7791ba60535637b3bef'], + }), + ('rcmdcheck', '1.4.0', { + 'checksums': ['bbd4ef7d514b8c2076196a7c4a6041d34623d55fbe73f2771758ce61fd32c9d0'], + }), + ('remotes', '2.4.2.1', { + 'checksums': ['7ba8ca9a652d60bcdea25dbd43bd1e055e97b031c05e0bc3fac43bf245c1209d'], + }), + ('clipr', '0.8.0', { + 'checksums': ['32c2931992fbec9c31b71de3e27059f1cbb45b4b1f45fd42e0e8dbcec6de3be9'], + }), + ('ini', '0.3.1', { + 'checksums': ['7b191a54019c8c52d6c2211c14878c95564154ec4865f57007953742868cd813'], + }), + ('gitcreds', '0.1.2', { + 'checksums': ['41c6abcca5635062b123ffb5af2794770eca5ebd97b05c5a64b24fa1c803c75d'], + }), + ('httr2', '1.0.0', { + 'checksums': ['cb852d6f560c329a7dc17aa760f09a0950413513dc8abfc3facb6418b2934a49'], + }), + ('gh', '1.4.0', { + 'checksums': ['68c69fcd18429b378e639a09652465a4e92b7b5b5704804d0c5b1ca2b9b58b71'], + }), + ('credentials', '2.0.1', { + 'checksums': ['2c7cfc45bd4afa9a2c2b85d43e907b212da3468781e1b617737bd095253c358b'], + }), + ('zip', '2.3.1', { + 'checksums': ['83754408781c525917f36535865d28214893de0778b5f337e050cb543cacc28f'], + }), + ('gert', '2.0.1', { + 'checksums': ['0ed784837809ce89797ea77834d420e89351728f70d8d2f4b34487df813cd092'], + }), + ('usethis', '2.2.3', { + 'checksums': ['8d0c98995c23b5f4b5b95cd453557d2d15faa7399cc01bff304f5b15cb0cdeb3'], + }), + ('devtools', '2.4.5', { + 'checksums': ['38160ebd839acdec7ebf0699a085b4ab1ebd5500d3c57a9fa7ae484f1909904b'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/protolite-2.3.0_use-c++17.patch b/easybuild/easyconfigs/r/R/protolite-2.3.0_use-c++17.patch new file mode 100644 index 00000000000..a73741e3a1e --- /dev/null +++ b/easybuild/easyconfigs/r/R/protolite-2.3.0_use-c++17.patch @@ -0,0 +1,14 @@ +make sure that protolite using -std=gnu++17 instead of -std=gnu++14 (default in R 4.2.2) +required to fix compilation problems like: +error: string_view in namespace std does not name a type +author: Kenneth Hoste (HPC-UGent) +--- protolite/configure.orig 2024-01-10 10:50:16.030350785 +0100 ++++ protolite/configure 2024-01-10 10:50:52.847841896 +0100 +@@ -87,6 +87,7 @@ + + # Write to Makevars + sed -e "s|@cflags@|$PKG_CFLAGS|" -e "s|@libs@|$PKG_LIBS|" src/Makevars.in > src/Makevars ++echo 'CXX_STD = CXX17' >> src/Makevars + + # Look for 'protoc' compiler + if [ `command -v protoc` ]; then diff --git a/easybuild/easyconfigs/r/RE2/RE2-2024-03-01-GCCcore-13.2.0.eb b/easybuild/easyconfigs/r/RE2/RE2-2024-03-01-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9dee8230565 --- /dev/null +++ b/easybuild/easyconfigs/r/RE2/RE2-2024-03-01-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = "CMakeMake" + +name = 'RE2' +version = '2024-03-01' + +homepage = 'https://github.com/google/re2' +description = """ +RE2 is a fast, safe, thread-friendly alternative to backtracking regular +expression engines like those used in PCRE, Perl, and Python. It is a C++ +library. """ + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +github_account = 'google' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['7b2b3aa8241eac25f674e5b5b2e23d4ac4f0a8891418a2661869f736f03f57f4'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +dependencies = [ + ('Abseil', '20240116.1'), +] + +sanity_check_paths = { + 'files': ['lib/libre2.a'], + 'dirs': ['include/re2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RHEIA/RHEIA-1.1.6-foss-2022a.eb b/easybuild/easyconfigs/r/RHEIA/RHEIA-1.1.6-foss-2022a.eb new file mode 100644 index 00000000000..bf5b3e406ba --- /dev/null +++ b/easybuild/easyconfigs/r/RHEIA/RHEIA-1.1.6-foss-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'RHEIA' +version = '1.1.6' + +homepage = 'https://github.com/rheia-framework/RHEIA' +description = "Robust design optimization of renewable Hydrogen and dErIved energy cArrier systems" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # deap, numpy, pandas, scipy + ('h5py', '3.7.0'), + ('matplotlib', '3.5.2'), +] + +use_pip = True + +exts_list = [ + ('pvlib', '0.10.3', { + 'checksums': ['024a1b523d73a633323612e7f315a1709cf06d1fd43ff0821901f66a4068b2d9'], + }), + ('pyDOE', '0.3.8', { + 'modulename': '%(name)s', + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['cbd6f14ae26d3c9f736013205f53ea1191add4567033c3ee77b7dd356566c4b6'], + }), + ('SobolSequence', '0.2.1', { + 'modulename': 'sobol', + 'checksums': ['b2b4b57451b8d2e79ddb07efa23bc471dfdd436ea357d6368666bdc364df3eb1'], + }), + ('rheia', version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['4af382163ee3972881bc6ba59099c3f19965001d1c65eeeaea8343e0d3b77621'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/RNA-Bloom/RNA-Bloom-2.0.1-GCC-12.3.0.eb b/easybuild/easyconfigs/r/RNA-Bloom/RNA-Bloom-2.0.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..677091a05e1 --- /dev/null +++ b/easybuild/easyconfigs/r/RNA-Bloom/RNA-Bloom-2.0.1-GCC-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'Tarball' + +name = 'RNA-Bloom' +version = '2.0.1' + +homepage = 'https://github.com/bcgsc/RNA-Bloom' +description = "RNA-Bloom is a fast and memory-efficient de novo transcript sequence assembler." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/bcgsc/%(name)s/releases/download/v%(version)s'] +sources = ['rnabloom_v%(version)s.tar.gz'] +checksums = ['e06564e99db6847ea745c99cef7890980ed9b2c2a2e1d126e16df545c59d7626'] + +dependencies = [ + ('Java', '17', '', SYSTEM), + ('minimap2', '2.26'), + ('Racon', '1.5.0'), + ('ntCard', '1.2.2'), +] + +sanity_check_paths = { + 'files': ['LICENSE', 'README.md', 'rnabloom', 'RNA-Bloom.jar'], + 'dirs': [], +} + +sanity_check_commands = ["rnabloom --help"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..333d4b2bfac --- /dev/null +++ b/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Racon' +version = '1.5.0' + +homepage = 'https://github.com/lbcb-sci/racon' +description = """Ultrafast consensus module for raw de novo genome assembly of long uncorrected reads.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'lbcb-sci' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['41e362f71cc03b934f17d6e2c0d626e1b2997258261b14551586de006666424a'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['bin/racon'], + 'dirs': [], +} + +sanity_check_commands = ['racon --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..59ee47d2f6b --- /dev/null +++ b/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'Racon' +version = '1.5.0' + +homepage = 'https://github.com/lbcb-sci/racon' +description = """Ultrafast consensus module for raw de novo genome assembly of long uncorrected reads.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'lbcb-sci' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['41e362f71cc03b934f17d6e2c0d626e1b2997258261b14551586de006666424a'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), + ('git', '2.41.0', '-nodocs'), +] + +sanity_check_paths = { + 'files': ['bin/racon'], + 'dirs': [], +} + +sanity_check_commands = ['racon --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5efcedcf042 --- /dev/null +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'RapidJSON' +version = '1.1.0' + +homepage = 'https://rapidjson.org' +description = "A fast JSON parser/generator for C++ with both SAX/DOM style API" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/Tencent/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix-compiler-errors.patch'] +checksums = [ + 'bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e', # v1.1.0.tar.gz + # %(name)s-%(version_major_minor)s.0_fix-compiler-errors.patch + '2e40ef6c46bf355feac16cd84faad5b7aca0ad54273117b85534b1b781f411c7', +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +# strip out hardcoded use of -march=native, EasyBuild should be in control of this +preconfigopts = "sed -i 's/-march=native//g' ../rapidjson-%(version)s/CMakeLists.txt && " + +sanity_check_paths = { + 'files': ['lib/pkgconfig/%(name)s.pc'], + 'dirs': ['include/%(namelower)s', 'lib/cmake', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/ReaxFF/ReaxFF-2.0-GCC-11.3.0-sim.eb b/easybuild/easyconfigs/r/ReaxFF/ReaxFF-2.0-GCC-11.3.0-sim.eb index 7c566136239..fe63e07bdec 100644 --- a/easybuild/easyconfigs/r/ReaxFF/ReaxFF-2.0-GCC-11.3.0-sim.eb +++ b/easybuild/easyconfigs/r/ReaxFF/ReaxFF-2.0-GCC-11.3.0-sim.eb @@ -24,7 +24,7 @@ Register at https://www.engr.psu.edu/adri/Home.aspx and follow instructions start_dir = 'src' -prebuildopts = r"sed -ie 's/^\(\s\)gcc /\1gfortran /g' makefile && " # noqa: W605 +prebuildopts = r"sed -ie 's/^\(\s\)gcc /\1gfortran /g' makefile && " prebuildopts += 'rm *.o && ' buildopts = 'SUFFIX="-c -O3 -std=legacy"' diff --git a/easybuild/easyconfigs/r/Redis/Redis-7.2.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/Redis/Redis-7.2.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d91246b6fe3 --- /dev/null +++ b/easybuild/easyconfigs/r/Redis/Redis-7.2.3-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Redis' +version = '7.2.3' + +homepage = 'https://redis.io' +description = """Redis is an open source (BSD licensed), in-memory data structure store, used as +a database, cache, and message broker. Redis provides data structures such as +strings, hashes, lists, sets, sorted sets with range queries, bitmaps, +hyperloglogs, geospatial indexes, and streams. Redis has built-in replication, +Lua scripting, LRU eviction, transactions, and different levels of on-disk +persistence, and provides high availability via Redis Sentinel and automatic +partitioning with Redis Cluster.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://download.redis.io/releases'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3e2b196d6eb4ddb9e743088bfc2915ccbb42d40f5a8a3edd8cb69c716ec34be7'] + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('binutils', '2.40'), +] + +skipsteps = ['configure'] + +# tests must be run from a local filesystem +# runtest = 'test' + +installopts = 'PREFIX="%(installdir)s"' + +sanity_check_paths = { + 'files': ['bin/redis-cli', 'bin/redis-server'], + 'dirs': [], +} + +sanity_check_commands = [('redis-server', '--version')] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/Redis/Redis-7.2.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/r/Redis/Redis-7.2.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3ad4a7051a7 --- /dev/null +++ b/easybuild/easyconfigs/r/Redis/Redis-7.2.4-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Redis' +version = '7.2.4' + +homepage = 'https://redis.io' +description = """Redis is an open source (BSD licensed), in-memory data structure store, used as +a database, cache, and message broker. Redis provides data structures such as +strings, hashes, lists, sets, sorted sets with range queries, bitmaps, +hyperloglogs, geospatial indexes, and streams. Redis has built-in replication, +Lua scripting, LRU eviction, transactions, and different levels of on-disk +persistence, and provides high availability via Redis Sentinel and automatic +partitioning with Redis Cluster.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://download.redis.io/releases'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8d104c26a154b29fd67d6568b4f375212212ad41e0c2caa3d66480e78dbd3b59'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +skipsteps = ['configure'] + +# tests must be run from a local filesystem +# runtest = 'test' + +installopts = 'PREFIX="%(installdir)s"' + +sanity_check_paths = { + 'files': ['bin/redis-cli', 'bin/redis-server'], + 'dirs': [], +} + +sanity_check_commands = [('redis-server', '--version')] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/Rivet/Rivet-3.1.7-gompi-2022a-HepMC3-3.2.5.eb b/easybuild/easyconfigs/r/Rivet/Rivet-3.1.7-gompi-2022a-HepMC3-3.2.5.eb index 530bb5151e9..e45a6645d00 100644 --- a/easybuild/easyconfigs/r/Rivet/Rivet-3.1.7-gompi-2022a-HepMC3-3.2.5.eb +++ b/easybuild/easyconfigs/r/Rivet/Rivet-3.1.7-gompi-2022a-HepMC3-3.2.5.eb @@ -31,10 +31,12 @@ dependencies = [ ('fastjet', '3.4.0'), ('fastjet-contrib', '1.049'), ('HepMC3', '3.2.5'), - ('GSL', '2.7') + ('GSL', '2.7'), + ('zlib', '1.2.12') ] -configopts = "--with-yoda=$EBROOTYODA --with-fastjet=$EBROOTFASTJET --with-hepmc3=$EBROOTHEPMC3" +configopts = "--with-yoda=$EBROOTYODA --with-fastjet=$EBROOTFASTJET --with-hepmc3=$EBROOTHEPMC3 " +configopts += "--with-zlib=${EBROOTZLIB:-%(sysroot)s/usr}" sanity_check_paths = { 'files': ['bin/rivet-config', 'lib/libRivet.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/r/Rivet/Rivet-3.1.9-gompi-2023a-HepMC3-3.2.6.eb b/easybuild/easyconfigs/r/Rivet/Rivet-3.1.9-gompi-2023a-HepMC3-3.2.6.eb new file mode 100644 index 00000000000..e1ab9fdf4c0 --- /dev/null +++ b/easybuild/easyconfigs/r/Rivet/Rivet-3.1.9-gompi-2023a-HepMC3-3.2.6.eb @@ -0,0 +1,54 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'Rivet' +version = '3.1.9' +local_hepmc = "HepMC3" +local_hepmcver = "3.2.6" +versionsuffix = '-%s-%s' % (local_hepmc, local_hepmcver) + +homepage = 'https://gitlab.com/hepcedar/rivet' +description = """ +Rivet toolkit (Robust Independent Validation of Experiment and Theory) + +To use your own analysis you must append the path to `RIVET_ANALYSIS_PATH`. +""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.hepforge.org/archive/rivet/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ddf0f13f722d0b4fc61969f3db06416b6b68f721dba36ca5d2a85c2759bf9fd7'] + +dependencies = [ + ('Python', '3.11.3'), + ('YODA', '1.9.9'), + ('fastjet', '3.4.2'), + ('fastjet-contrib', '1.053'), + ('HepMC3', '3.2.6'), + ('GSL', '2.7'), + ('zlib', '1.2.13') +] + +configopts = "--with-yoda=$EBROOTYODA --with-fastjet=$EBROOTFASTJET --with-hepmc3=$EBROOTHEPMC3 " +configopts += "--with-zlib=${EBROOTZLIB:-%(sysroot)s/usr}" + +sanity_check_paths = { + 'files': ['bin/rivet-config', 'lib/libRivet.%s' % SHLIB_EXT], + 'dirs': ['share/Rivet', 'lib/Rivet'] +} +sanity_check_commands = ["python -c 'import rivet'"] + +modloadmsg = """ +To use your own analysis you must append the path to `RIVET_ANALYSIS_PATH`. +You might want to load `texlive` or `matplotlib` if you want to create plots. +""" +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + # 'RIVET_ANALYSIS_PATH': '/path/to/share/Rivet/', # please adapt for system-wided shared non-default analysis +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.1-GCCcore-10.3.0.eb index f02f5356791..1fdde110226 100644 --- a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.1-GCCcore-10.3.0.eb @@ -12,7 +12,11 @@ source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727'] -builddependencies = [('binutils', '2.36.1')] +dependencies = [ + ('binutils', '2.36.1'), # needed for gem + ('zlib', '1.2.11'), + ('OpenSSL', '1.1', '', SYSTEM), +] exts_default_options = { 'source_urls': ['https://rubygems.org/downloads/'], diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.1-GCCcore-11.2.0.eb index dc6ba8f38af..02f29a4634f 100644 --- a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.1-GCCcore-11.2.0.eb @@ -12,7 +12,11 @@ source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727'] -builddependencies = [('binutils', '2.37')] +dependencies = [ + ('binutils', '2.37'), # needed for gem + ('zlib', '1.2.11'), + ('OpenSSL', '1.1', '', SYSTEM), +] exts_default_options = { 'source_urls': ['https://rubygems.org/downloads/'], diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.3-GCCcore-11.3.0.eb index 864a9112c6a..8fd64d2779d 100644 --- a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.3-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.3-GCCcore-11.3.0.eb @@ -12,7 +12,11 @@ source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['3586861cb2df56970287f0fd83f274bd92058872d830d15570b36def7f1a92ac'] -builddependencies = [('binutils', '2.38')] +dependencies = [ + ('binutils', '2.38'), # needed for gem + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] exts_default_options = { 'source_urls': ['https://rubygems.org/downloads/'], diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.5-GCCcore-11.3.0.eb index 13a6f73ff7b..510f94f6868 100644 --- a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.5-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.5-GCCcore-11.3.0.eb @@ -12,7 +12,11 @@ source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['9afc6380a027a4fe1ae1a3e2eccb6b497b9c5ac0631c12ca56f9b7beb4848776'] -builddependencies = [('binutils', '2.38')] +dependencies = [ + ('binutils', '2.38'), # needed for gem + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] exts_default_options = { 'source_urls': ['https://rubygems.org/downloads/'], diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-3.2.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/Ruby/Ruby-3.2.2-GCCcore-12.2.0.eb index 0f53d7206f9..6b8254f9c1f 100644 --- a/easybuild/easyconfigs/r/Ruby/Ruby-3.2.2-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.2.2-GCCcore-12.2.0.eb @@ -12,11 +12,10 @@ source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['96c57558871a6748de5bc9f274e93f4b5aad06cd8f37befa0e8d94e7b8a423bc'] -builddependencies = [ - ('binutils', '2.39'), -] - dependencies = [ + ('binutils', '2.39'), # needed for gem + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), ('libyaml', '0.2.5'), ] diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-3.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/Ruby/Ruby-3.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9b9a28660c7 --- /dev/null +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,22 @@ +name = 'Ruby' +version = '3.3.0' + +homepage = 'https://www.ruby-lang.org' +description = """Ruby is a dynamic, open source programming language with + a focus on simplicity and productivity. It has an elegant syntax that is + natural to read and easy to write.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['96518814d9832bece92a85415a819d4893b307db5921ae1f0f751a9a89a56b7d'] + +dependencies = [ + ('binutils', '2.40'), # needed for gem + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), + ('libyaml', '0.2.5'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.75.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.75.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d9b3ab115e6 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.75.0-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +name = 'Rust' +version = '1.75.0' + +homepage = 'https://www.rust-lang.org' +description = """Rust is a systems programming language that runs blazingly fast, prevents segfaults, + and guarantees thread safety.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] +patches = ['Rust-1.70_sysroot-fix-interpreter.patch'] +checksums = [ + {'rustc-1.75.0-src.tar.gz': '5b739f45bc9d341e2d1c570d65d2375591e22c2d23ef5b8a37711a0386abc088'}, + {'Rust-1.70_sysroot-fix-interpreter.patch': '220129db55e022a98d25028da5dcc9f26b252dd995c3ac92f6312dbb1e362cb1'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Python', '3.10.8', '-bare'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.75.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.75.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2d2e5e8c387 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.75.0-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +name = 'Rust' +version = '1.75.0' + +homepage = 'https://www.rust-lang.org' +description = """Rust is a systems programming language that runs blazingly fast, prevents segfaults, + and guarantees thread safety.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] +patches = ['Rust-1.70_sysroot-fix-interpreter.patch'] +checksums = [ + {'rustc-1.75.0-src.tar.gz': '5b739f45bc9d341e2d1c570d65d2375591e22c2d23ef5b8a37711a0386abc088'}, + {'Rust-1.70_sysroot-fix-interpreter.patch': '220129db55e022a98d25028da5dcc9f26b252dd995c3ac92f6312dbb1e362cb1'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('Python', '3.11.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), + ('patchelf', '0.18.0'), # only required when RPATH linking is enabled +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.76.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.76.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..af0fca6bc4f --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.76.0-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +name = 'Rust' +version = '1.76.0' + +homepage = 'https://www.rust-lang.org' +description = """Rust is a systems programming language that runs blazingly fast, prevents segfaults, + and guarantees thread safety.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] +patches = ['Rust-1.70_sysroot-fix-interpreter.patch'] +checksums = [ + {'rustc-1.76.0-src.tar.gz': '9e5cff033a7f0d2266818982ad90e4d3e4ef8f8ee1715776c6e25073a136c021'}, + {'Rust-1.70_sysroot-fix-interpreter.patch': '220129db55e022a98d25028da5dcc9f26b252dd995c3ac92f6312dbb1e362cb1'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('Python', '3.11.5'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), + ('patchelf', '0.18.0'), # only required when RPATH linking is enabled +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.2.0-gfbf-2023a.eb b/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.2.0-gfbf-2023a.eb new file mode 100644 index 00000000000..6d1ce5784b5 --- /dev/null +++ b/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.2.0-gfbf-2023a.eb @@ -0,0 +1,70 @@ +easyblock = 'Bundle' + +name = 'rMATS-turbo' +version = '4.2.0' + +homepage = 'https://github.com/Xinglab/rmats-turbo' +description = """rMATS turbo is the C/Cython version of rMATS (refer to https://rnaseq-mats.sourceforge.io).""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} +toolchainopts = {'openmp': True} + +builddependencies = [ + ('CMake', '3.26.3'), +] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('GSL', '2.7'), + ('SAMtools', '1.18'), + ('STAR', '2.7.11a'), + ('BamTools', '2.5.2'), +] + +local_ldflags = " -lm -lgsl -lgslcblas $LIBLAPACK" +local_buildopts = ' CC="$CC" CXX="$CXX" FC="$FC" LDFLAGS="%s"' % local_ldflags + +default_component_specs = { + 'sources': ['v%(version)s.tar.gz'], + 'source_urls': ['https://github.com/Xinglab/%(name)s/archive/refs/tags/'], + 'checksums': ['80fd32ffa00190b2eb3fcefcd4efb0d466a808c5e80bc91419a71bc033cdbd72'], +} + +components = [ + (name, version, { + 'easyblock': 'MakeCp', + 'start_dir': 'rmats-turbo-%(version)s/rMATS_C', + 'buildopts': "%s" % local_buildopts, + 'files_to_copy': [(['rMATSexe', '../rmats.py', '../rMATS_C', '../rMATS_R', '../rMATS_P'], 'bin')] + }), + ('rmats-turbo-python', version, { + 'easyblock': 'PythonPackage', + 'patches': ['rMATS-turbo-%(version)s_bamtools_as_dependency.patch'], + 'checksums': [ + '80fd32ffa00190b2eb3fcefcd4efb0d466a808c5e80bc91419a71bc033cdbd72', + 'a4c70e3d8ef9723fcb801d39a62c132f8f1903fb3a60dad330de895c12f5f7e7', + ], + 'start_dir': 'rmats-turbo-%(version)s/rMATS_pipeline', + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'options': {'modulename': 'rmatspipeline'}, + }), +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +postinstallcmds = ["chmod a+x %(installdir)s/bin/rmats.py"] + +sanity_check_commands = [ + 'rmats.py --version', +] + +sanity_check_paths = { + 'files': ['bin/rMATSexe', 'bin/rmats.py'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.2.0_bamtools_as_dependency.patch b/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.2.0_bamtools_as_dependency.patch new file mode 100644 index 00000000000..a1d613184c2 --- /dev/null +++ b/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.2.0_bamtools_as_dependency.patch @@ -0,0 +1,37 @@ +# author: Denis Kristak +# this patch makes rMATS take bamtools from official dependencies, not from the downloaded folder +# updated for new version by Samuel Moors (Vrije Universiteit Brussel) +diff -ur rmats-turbo-4.2.0.orig/rMATS_pipeline/setup.py rmats-turbo-4.2.0/rMATS_pipeline/setup.py +--- rmats-turbo-4.2.0.orig/rMATS_pipeline/setup.py 2023-10-18 18:33:06.000000000 +0200 ++++ rmats-turbo-4.2.0/rMATS_pipeline/setup.py 2024-01-16 10:59:40.272152202 +0100 +@@ -5,15 +5,16 @@ + from Cython.Build import cythonize + from Cython.Distutils import build_ext + +-bamtools_include = [os.path.abspath('../bamtools/include'),] +-bamtools_lib = [os.path.abspath('../bamtools/lib'),] ++bamtools_root = os.environ['EBROOTBAMTOOLS'] ++bamtools_include = bamtools_root + '/include/bamtools' ++bamtools_lib = bamtools_root + '/lib' + source_pattern = 'rmatspipeline/%s.pyx' + + asevent_ext = [ +- Extension('rmats.rmatspipeline', sources=[source_pattern % "rmatspipeline"], +- include_dirs=bamtools_include, ++ Extension('rmatspipeline', sources=[source_pattern % "rmatspipeline"], ++ include_dirs=[bamtools_include,], + libraries=['m','stdc++','bamtools','z'], +- library_dirs=bamtools_lib, ++ library_dirs=[bamtools_lib,], + extra_compile_args = ['-O3', '-funroll-loops', + '-std=c++11', '-fopenmp', + '-D__STDC_CONSTANT_MACROS', +@@ -31,7 +32,7 @@ + compiler_directives['legacy_implicit_noexcept'] = True + + setup( +- name = 'rmats.rmatspipeline', ++ name = 'rmatspipeline', + ext_modules = cythonize(asevent_ext, compiler_directives=compiler_directives), + cmdclass = {'build_ext': build_ext}, + ) diff --git a/easybuild/easyconfigs/r/radian/radian-0.6.9-foss-2022b.eb b/easybuild/easyconfigs/r/radian/radian-0.6.9-foss-2022b.eb new file mode 100644 index 00000000000..ffdcacd21d2 --- /dev/null +++ b/easybuild/easyconfigs/r/radian/radian-0.6.9-foss-2022b.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'radian' +version = '0.6.9' + +homepage = "https://github.com/randy3k/radian" +description = """radian is an alternative console for the R program with multiline editing and rich syntax highlight.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('R', '4.2.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('rchitect', '0.4.4', { + 'checksums': ['8762b47d8636774582c906891e5b0ec66ca4d48327fb7abf7db7d85d2c137df5'], + }), + ('prompt-toolkit', '3.0.43', { + 'sources': ['prompt_toolkit-%(version)s.tar.gz'], + 'checksums': ['3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d'], + }), + (name, version, { + 'checksums': ['292cb074ffd37a6014e7c37490a182f61e1f6ab0ccd6d2313a0c25203833b774'], + }), +] + +sanity_check_paths = { + 'files': ['bin/radian'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["radian --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/rasterio/rasterio-1.3.9-foss-2023a.eb b/easybuild/easyconfigs/r/rasterio/rasterio-1.3.9-foss-2023a.eb new file mode 100644 index 00000000000..443760ece32 --- /dev/null +++ b/easybuild/easyconfigs/r/rasterio/rasterio-1.3.9-foss-2023a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'rasterio' +version = '1.3.9' + +homepage = 'https://github.com/mapbox/rasterio' +description = "Rasterio reads and writes geospatial raster data." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('GDAL', '3.7.1'), + ('matplotlib', '3.7.2'), # plot extra + ('boto3', '1.28.70'), # s3 extra +] + +use_pip = True + +exts_list = [ + ('affine', '2.4.0', { + 'checksums': ['a24d818d6a836c131976d22f8c27b8d3ca32d0af64c1d8d29deb7bafa4da1eea'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('snuggs', '1.4.7', { + 'checksums': ['501cf113fe3892e14e2fee76da5cd0606b7e149c411c271898e6259ebde2617b'], + }), + (name, version, { + 'use_pip_extras': 'plot,s3', + 'checksums': ['fc6d0d290492fa1a5068711cfebb21cc936968891b7ed9da0690c8a7388885c5'], + }), +] + +fix_python_shebang_for = ['bin/jp.py', 'bin/rio'] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/rio'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "jp.py --help", + "rio --help", +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/rclone/rclone-1.65.2.eb b/easybuild/easyconfigs/r/rclone/rclone-1.65.2.eb new file mode 100644 index 00000000000..6110c02c2b1 --- /dev/null +++ b/easybuild/easyconfigs/r/rclone/rclone-1.65.2.eb @@ -0,0 +1,34 @@ +easyblock = 'GoPackage' + +name = 'rclone' +version = '1.65.2' + +homepage = 'https://rclone.org' + +description = """ + Rclone is a command line program to sync files and directories to and from + a variety of online storage services +""" + +toolchain = SYSTEM + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5ae6179908650429e8d366e4940b586a4bd4aa9ee90c23c423be35550dded346'] + +builddependencies = [('Go', '1.21.6', '', SYSTEM)] + +postinstallcmds = [ + "mkdir -p %(installdir)s/share/{doc,man/man1}", + "cp README.* MANUAL.* %(installdir)s/share/doc/", + "cp rclone.1 %(installdir)s/share/man/man1/", +] + +sanity_check_paths = { + 'files': ['bin/rclone', 'share/doc/README.md', 'share/man/man1/rclone.1'], + 'dirs': [] +} + +sanity_check_commands = ['rclone --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rclone/rclone-1.66.0.eb b/easybuild/easyconfigs/r/rclone/rclone-1.66.0.eb new file mode 100644 index 00000000000..18b8b6c77b8 --- /dev/null +++ b/easybuild/easyconfigs/r/rclone/rclone-1.66.0.eb @@ -0,0 +1,34 @@ +easyblock = 'GoPackage' + +name = 'rclone' +version = '1.66.0' + +homepage = 'https://rclone.org' + +description = """ + Rclone is a command line program to sync files and directories to and from + a variety of online storage services +""" + +toolchain = SYSTEM + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['9249391867044a0fa4c5a948b46a03b320706b4d5c4d59db9d4aeff8d47cade2'] + +builddependencies = [('Go', '1.22.1', '', SYSTEM)] + +postinstallcmds = [ + "mkdir -p %(installdir)s/share/{doc,man/man1}", + "cp README.* MANUAL.* %(installdir)s/share/doc/", + "cp rclone.1 %(installdir)s/share/man/man1/", +] + +sanity_check_paths = { + 'files': ['bin/rclone', 'share/doc/README.md', 'share/man/man1/rclone.1'], + 'dirs': [] +} + +sanity_check_commands = ['rclone --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/redis-py/redis-py-5.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/redis-py/redis-py-5.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6248f016769 --- /dev/null +++ b/easybuild/easyconfigs/r/redis-py/redis-py-5.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'redis-py' +version = '5.0.1' + +homepage = 'https://github.com/redis/redis-py' +description = "The Python interface to the Redis key-value store." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.3'), + ('typing-extensions', '4.9.0'), + ('Redis', '7.2.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + (name, version, { + 'modulename': 'redis', + 'source_urls': ['https://github.com/redis/redis-py/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['0a40afc824a5a3b465db4ba868a056a83779482f22d7d003c48fca230d9fe93a'], + }), +] + +moduleclass = "data" diff --git a/easybuild/easyconfigs/r/remake/remake-4.3+dbg-1.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/remake/remake-4.3+dbg-1.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..aa3958606a9 --- /dev/null +++ b/easybuild/easyconfigs/r/remake/remake-4.3+dbg-1.6-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'remake' +version = '4.3+dbg-1.6' + +homepage = 'https://bashdb.sourceforge.net/remake' +description = """remake is an enhanced version of GNU Make that adds improved error reporting, better tracing, + profiling and a debugger""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/rocky/remake/releases/download/remake-%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['f6a0c6179cd92524ad5dd04787477c0cd45afb5822d977be93d083b810647b87'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('libreadline', '8.1.2'), +] + +sanity_check_paths = { + 'files': ['bin/remake'], + 'dirs': ['share'], +} + +sanity_check_commands = [ + "remake --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rethinking/rethinking-2.40-20230914-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/r/rethinking/rethinking-2.40-20230914-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..2f61ca5e87b --- /dev/null +++ b/easybuild/easyconfigs/r/rethinking/rethinking-2.40-20230914-foss-2023a-R-4.3.2.eb @@ -0,0 +1,32 @@ +easyblock = 'RPackage' + +name = 'rethinking' +# see DESCRIPTION file for version + add datestamp of commit +local_commit = 'f3ac8de' +version = '2.40-20230914' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/rmcelreath/rethinking' +description = """R package that contains tools for conducting both quick quadratic approximation of the posterior + distribution as well as Hamiltonian Monte Carlo.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/rmcelreath/rethinking/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['831b6bebc861615aee94415c42ec37000e74b00242b30830af17bb5a126fd786'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('CmdStanR', '0.7.1', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + +options = {'modulename': '%(namelower)s'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rioxarray/rioxarray-0.15.0-foss-2023a.eb b/easybuild/easyconfigs/r/rioxarray/rioxarray-0.15.0-foss-2023a.eb new file mode 100644 index 00000000000..602dfef5387 --- /dev/null +++ b/easybuild/easyconfigs/r/rioxarray/rioxarray-0.15.0-foss-2023a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'rioxarray' +version = '0.15.0' + +homepage = 'https://corteva.github.io/rioxarray' +description = "Geospatial xarray extension powered by rasterio" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('rasterio', '1.3.9'), + ('pyproj', '3.6.0'), + ('xarray', '2023.9.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'use_pip_extras': 'interp', + 'checksums': ['d2a8429a5b6405913c7b6f515ef2992b05139c96eb39a2dc1c9f475ce0848c9c'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/rocm-smi/rocm-smi-5.6.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/rocm-smi/rocm-smi-5.6.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..67d09325d7f --- /dev/null +++ b/easybuild/easyconfigs/r/rocm-smi/rocm-smi-5.6.0-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'rocm-smi' +version = '5.6.0' + +homepage = 'https://github.com/RadeonOpenCompute/rocm_smi_lib' +description = """The ROCm System Management Interface Library, or ROCm SMI +library, is part of the Radeon Open Compute ROCm software stack. It is a C +library for Linux that provides a user space interface for applications to +monitor and control GPU applications.""" +docurls = ['https://rocmdocs.amd.com'] + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ["https://github.com/RadeonOpenCompute/rocm_smi_lib/archive/"] +sources = ["rocm-%(version)s.tar.gz"] +patches = [ + '%(name)s-%(version)s_add_option_for_docs_building.patch', +] +checksums = [ + {'rocm-5.6.0.tar.gz': '88be875948a29454b8aacced8bb8ad967502a7a074ecbc579ed673c1650a2f7e'}, + {'rocm-smi-5.6.0_add_option_for_docs_building.patch': + '372c1d4aea43164f204533dede710812c72b0c65cfe5f6bfb020d3925321c87d'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +# This package hardcodes 'noexecheap' as a linker flag which is not supported +# by 'ld.gold', to get around we explicitly force 'ld.bfd' here +configopts = "-DCMAKE_CXX_FLAGS='-fuse-ld=bfd' -DENABLE_DOCS=OFF" + +sanity_check_paths = { + 'files': ['bin/rocm-smi', 'libexec/rocm_smi/rocm_smi.py', 'lib/librocm_smi64.%s' % SHLIB_EXT, + 'libexec/rocm_smi/rsmiBindings.py'], + 'dirs': ['rocm_smi/include'], +} +sanity_check_commands = ['rocm-smi --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rocm-smi/rocm-smi-5.6.0_add_option_for_docs_building.patch b/easybuild/easyconfigs/r/rocm-smi/rocm-smi-5.6.0_add_option_for_docs_building.patch new file mode 100644 index 00000000000..5c1c039233c --- /dev/null +++ b/easybuild/easyconfigs/r/rocm-smi/rocm-smi-5.6.0_add_option_for_docs_building.patch @@ -0,0 +1,23 @@ +Add an option so we can disable building of documentation. + +Åke Sandgren, 2024-02-13 +diff --git a/rocm_smi/CMakeLists.txt b/rocm_smi/CMakeLists.txt +index 9b506d5..ada1d0f 100755 +--- a/rocm_smi/CMakeLists.txt ++++ b/rocm_smi/CMakeLists.txt +@@ -146,6 +146,9 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/bin/rocm-smi + DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) + ++option(ENABLE_DOCS "Build documentation" ON) ++if (ENABLE_DOCS) ++ + # Generate Doxygen documentation + find_package(Doxygen) + find_package(LATEX COMPONENTS PDFLATEX) +@@ -180,3 +183,5 @@ else() + message("Doxygen or Latex is not found. Will not generate documents.") + endif(DOXYGEN_FOUND AND LATEX_FOUND) + ++endif(ENABLE_DOCS) ++ diff --git a/easybuild/easyconfigs/r/rpy2/rpy2-3.5.15-foss-2023a.eb b/easybuild/easyconfigs/r/rpy2/rpy2-3.5.15-foss-2023a.eb new file mode 100644 index 00000000000..11bd5f95fe8 --- /dev/null +++ b/easybuild/easyconfigs/r/rpy2/rpy2-3.5.15-foss-2023a.eb @@ -0,0 +1,43 @@ +# Author: Pavel Grochal (INUITS) +# Updated: Denis Kristak, Pavel Tománek (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'rpy2' +version = '3.5.15' + +homepage = 'https://rpy2.github.io' +description = """rpy2 is an interface to R running embedded in a Python process.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('IPython', '8.14.0'), + ('cffi', '1.15.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('coverage', '7.4.3', { + 'checksums': ['276f6077a5c61447a48d133ed13e759c09e62aff0dc84274a68dc18660104d52'], + }), + ('pytest-cov', '4.1.0', { + 'checksums': ['3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6'], + }), + ('tzlocal', '5.2', { + 'checksums': ['8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e'], + }), + (name, version, { + 'checksums': ['444fae4a84dc7f233b70eaab0aa81398ee0147c4e1ae38dd4524d779d6f25b2b'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.18.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.18.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..48c01ce24a2 --- /dev/null +++ b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.18.6-GCCcore-13.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'ruamel.yaml' +version = '0.18.6' + +homepage = 'https://sourceforge.net/projects/ruamel-yaml' +description = "ruamel.yaml is a YAML 1.2 loader/dumper package for Python." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.6.1'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +use_pip = True + +exts_list = [ + ('ruamel.yaml.jinja2', '0.2.7', { + 'checksums': ['8449be29d9a157fa92d1648adc161d718e469f0d38a6b21e0eabb76fd5b3e663'], + }), + ('ruamel.yaml.clib', '0.2.8', { + 'modulename': False, + 'checksums': ['beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512'], + }), + (name, version, { + 'checksums': ['8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b'], + }), + ('configobj', '5.0.8', { + 'checksums': ['6f704434a07dc4f4dc7c9a745172c1cad449feb548febd9f7fe362629c627a97'], + }), + ('lz4', '4.3.3', { + 'checksums': ['01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e'], + }), + ('ruamel.yaml.base', '0.3.2', { + 'checksums': ['88b6edc8ace60c12d98f05fda22e5d9d69ba9a4b531cf54783142151145b0372'], + }), + ('ruamel.yaml.convert', '0.3.2', { + 'checksums': ['065ed9492a3189291d5bc0256709afc0231b52e4a01376fc91cf1757560ac9c4'], + }), + ('ruamel.yaml.cmd', '0.6.5', { + 'checksums': ['49af59514cb87d7637d1186e31c9345c9947120a9ce49cf6975435aa7abd5aa8'], + }), +] + +sanity_check_paths = { + 'files': ['bin/yaml'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["yaml --help"] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-0.1.20-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-0.1.20-GCC-12.3.0.eb new file mode 100644 index 00000000000..e041e209606 --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-0.1.20-GCC-12.3.0.eb @@ -0,0 +1,23 @@ +name = 'SAMtools' +version = '0.1.20' + +homepage = 'https://www.htslib.org/' +description = """SAM Tools provide various utilities for manipulating alignments in the SAM format, + including sorting, merging, indexing and generating alignments in a per-position format.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['SAMtools-%(version)s_Makefile-ncurses.patch'] +checksums = [ + {'samtools-0.1.20.tar.gz': '500019b4d1886ad995513d5ce8b413b14b51f16f251ce76bc0b35a446b182a47'}, + {'SAMtools-0.1.20_Makefile-ncurses.patch': 'f01a05b73f28ff47e816d13a06b27083ec45a3ff93537378affeddf75f614bba'}, +] + +dependencies = [ + ('ncurses', '6.4'), + ('zlib', '1.2.13'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.13-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.13-GCC-12.3.0.eb new file mode 100644 index 00000000000..7829fe97645 --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.13-GCC-12.3.0.eb @@ -0,0 +1,25 @@ +name = 'SAMtools' +version = '1.13' + +homepage = 'https://www.htslib.org/' +description = """SAM Tools provide various utilities for manipulating alignments in the SAM format, + including sorting, merging, indexing and generating alignments in a per-position format.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['616ca2e051cc8009a1e9c01cfd8c7caf8b70916ddff66f3b76914079465f8c60'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.4'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.2'), + ('cURL', '8.0.1'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SBCL/SBCL-2.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SBCL/SBCL-2.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..21e0f89860e --- /dev/null +++ b/easybuild/easyconfigs/s/SBCL/SBCL-2.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' +name = 'SBCL' +version = '2.4.1' + +homepage = 'http://sbcl.sourceforge.net/' +description = """ +Steel Bank Common Lisp (SBCL) is a high performance Common Lisp compiler. It is +open source / free software, with a permissive license. In addition to the +compiler and runtime system for ANSI Common Lisp, it provides an interactive +environment including a debugger, a statistical profiler, a code coverage tool, +and many other extensions.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s-source.tar.bz2'] +checksums = ['da4f9486fad413d3af7abb1b09269325fdb4bff7e7b88f2195ddee743263cf7e'] + +builddependencies = [ + ('binutils', '2.40'), + ('CCL', '1.12.2'), +] + +parallel = False +skipsteps = ['configure'] +local_prefixarg = '--prefix=%(installdir)s' + +# Build SBCL with Clozure CL +# Using the binary distribution of SBCL to build SBCL is not trivial because +# it needs GLIBC v2.28 +build_cmd = "sh make.sh" +buildopts = "%s --xc-host=ccl" % local_prefixarg + +install_cmd = "sh install.sh" +installopts = local_prefixarg + +sanity_check_paths = { + 'files': ['bin/sbcl'], + 'dirs': ['lib/sbcl'], +} + +sanity_check_commands = ["sbcl --help"] + +modextrapaths = {'SBCL_HOME': 'lib/sbcl'} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SCENIC/SCENIC-1.3.0-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/s/SCENIC/SCENIC-1.3.0-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..8200a80dba1 --- /dev/null +++ b/easybuild/easyconfigs/s/SCENIC/SCENIC-1.3.0-foss-2023a-R-4.3.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'SCENIC' +version = '1.3.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://scenic.aertslab.org' +description = "SCENIC Suite is a set of tools to study and decipher gene regulation." + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/aertslab/SCENIC/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dcae14b1008cb11a34b03cd7c0830e2f00567bd073ff27da11d57501360965f8'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['SCENIC'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-foss-2021b.eb b/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-foss-2021b.eb index 173bc41c41a..750f9c843ff 100644 --- a/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-foss-2021b.eb +++ b/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-foss-2021b.eb @@ -36,7 +36,7 @@ dependencies = [ use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True exts_defaultclass = "Tarball" diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-gompi-2021a.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-gompi-2021a.eb index 7f0edffee3a..5b7962d2cd0 100644 --- a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-gompi-2021a.eb +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-gompi-2021a.eb @@ -4,7 +4,7 @@ name = 'SCOTCH' version = '6.1.0' -homepage = 'https://gforge.inria.fr/projects/scotch/' +homepage = 'https://www.labri.fr/perso/pelegrin/scotch/' description = """Software package and libraries for sequential and parallel graph partitioning, static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2021a.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2021a.eb index 7baa08f4825..5dd92fc68d3 100644 --- a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2021a.eb +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2021a.eb @@ -1,7 +1,7 @@ name = 'SCOTCH' version = '6.1.0' -homepage = 'https://gforge.inria.fr/projects/scotch/' +homepage = 'https://www.labri.fr/perso/pelegrin/scotch/' description = """Software package and libraries for sequential and parallel graph partitioning, static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-gompi-2021b.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-gompi-2021b.eb index c98ffbdf7ef..190b28fe2cd 100644 --- a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-gompi-2021b.eb +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-gompi-2021b.eb @@ -4,7 +4,7 @@ name = 'SCOTCH' version = '6.1.2' -homepage = 'https://gforge.inria.fr/projects/scotch/' +homepage = 'https://www.labri.fr/perso/pelegrin/scotch/' description = """Software package and libraries for sequential and parallel graph partitioning, static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-iimpi-2021b.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-iimpi-2021b.eb index 9f69f5ceddf..3cdf4567b3a 100644 --- a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-iimpi-2021b.eb +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-iimpi-2021b.eb @@ -1,7 +1,7 @@ name = 'SCOTCH' version = '6.1.2' -homepage = 'https://gforge.inria.fr/projects/scotch/' +homepage = 'https://www.labri.fr/perso/pelegrin/scotch/' description = """Software package and libraries for sequential and parallel graph partitioning, static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.1-gompi-2022a-int64.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.1-gompi-2022a-int64.eb new file mode 100644 index 00000000000..20ccbdb5def --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.1-gompi-2022a-int64.eb @@ -0,0 +1,26 @@ +name = 'SCOTCH' +version = '7.0.1' +versionsuffix = '-int64' + +homepage = 'https://www.labri.fr/perso/pelegrin/scotch/' +description = """Software package and libraries for sequential and parallel graph partitioning, +static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'pic': True, 'i8': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['0618e9bc33c02172ea7351600fce4fccd32fe00b3359c4aabb5e415f17c06fed'] +threadedmpi = False + +builddependencies = [ + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SCons/SCons-4.6.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/SCons/SCons-4.6.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..e2a42a96964 --- /dev/null +++ b/easybuild/easyconfigs/s/SCons/SCons-4.6.0-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'SCons' +version = '4.6.0' + +homepage = 'https://www.scons.org' +description = "SCons is a software construction tool." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.5')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': False, + 'patches': ['SCons-4.4.0_install_man_pages_correctly.patch'], + 'checksums': [ + {'SCons-4.6.0.tar.gz': '7db28958b188b800f803c287d0680cc3ac7c422ed0b1cf9895042c52567803ec'}, + {'SCons-4.4.0_install_man_pages_correctly.patch': + '9d216c2ea8e152ae1531593b17adc4042eb88f1d9524d7f3b08ace5137d6d5e7'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/scons', 'bin/sconsign'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +sanity_check_commands = ["scons --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-13.2.0-tools.eb b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-13.2.0-tools.eb new file mode 100644 index 00000000000..4ac7b2ae50d --- /dev/null +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-13.2.0-tools.eb @@ -0,0 +1,51 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2016-2019 Juelich Supercomputing Centre, Germany +# Authors:: Markus Geimer +# Modified 2017 by Andreas Henkel +# License:: 3-clause BSD +# # + +easyblock = 'ConfigureMake' + +name = 'SIONlib' +version = '1.7.7' +# Provide a stripped-down version with renamed symbols for tools, +# see description for further details +versionsuffix = '-tools' + +homepage = 'https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html' +description = """ + SIONlib is a scalable I/O library for parallel access to task-local files. + The library not only supports writing and reading binary data to or from + several thousands of processors into a single or a small number of physical + files, but also provides global open and close functions to access SIONlib + files in parallel. This package provides a stripped-down installation of + SIONlib for use with performance tools (e.g., Score-P), with renamed symbols + to avoid conflicts when an application using SIONlib itself is linked against + a tool requiring a different SIONlib version. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://apps.fz-juelich.de/jsc/%(namelower)s/download.php?version=%(version)sl'] +sources = ['%(namelower)s-%(version)sl.tar.gz'] +checksums = ['3b5072d8a32a9e9858d85dfe4dc01e7cfdbf54cdaa60660e760b634ee08d8a4c'] + +builddependencies = [ + ('binutils', '2.40'), +] + +configopts = '--disable-cxx --disable-fortran --disable-ompi ' + +# Comment it out if you have Xeon Phi: +configopts += '--disable-mic ' + +sanity_check_paths = { + 'files': ['bin/sionconfig'] + + ['lib/lib%s_64.a' % x for x in ['lsioncom', 'lsiongen', 'lsionser']], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SIP/SIP-6.8.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SIP/SIP-6.8.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..266456f2dc1 --- /dev/null +++ b/easybuild/easyconfigs/s/SIP/SIP-6.8.1-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Bart Verleye +# Center for eResearch, Auckland +# update 6.8.1: THEMBL +easyblock = 'PythonPackage' + +name = 'SIP' +version = '6.8.1' + +homepage = 'http://www.riverbankcomputing.com/software/sip/' +description = """SIP is a tool that makes it very easy to create Python bindings for C and C++ libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3002df415e168ac3ffe393942dbc7131cb82ade50000e1526f46a88ade26f598'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('PLY', '3.11'), +] + +download_dep_fail = True +use_pip = True + +local_tools = ['build', 'distinfo', 'install', 'module', 'sdist', 'wheel'] +sanity_check_paths = { + 'files': ['bin/sip-%s' % x for x in local_tools], + 'dirs': ['lib/python%(pyshortver)s/site-packages/sipbuild'], +} + +sanity_pip_check = True + +sanity_check_commands = ['sip-%s --help' % x for x in local_tools] + +options = {'modulename': 'sipbuild'} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SLEPc/SLEPc-3.20.1-foss-2023a.eb b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.20.1-foss-2023a.eb new file mode 100644 index 00000000000..59c1fa24feb --- /dev/null +++ b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.20.1-foss-2023a.eb @@ -0,0 +1,21 @@ +name = 'SLEPc' +version = '3.20.1' + +homepage = 'https://slepc.upv.es' +description = """SLEPc (Scalable Library for Eigenvalue Problem Computations) is a software library for the solution + of large scale sparse eigenvalue problems on parallel computers. It is an extension of PETSc and can be used for + either standard or generalized eigenproblems, with real or complex arithmetic. It can also be used for computing a + partial SVD of a large, sparse, rectangular matrix, and to solve quadratic eigenvalue problems.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://slepc.upv.es/download/distrib'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5a36b664895881d3858d0644f56bf7bb922bdab70d732fa11cbf6442fec11806'] + +dependencies = [('PETSc', '3.20.3')] + +petsc_arch = 'installed-arch-linux2-c-opt' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SNAPE-pooled/SNAPE-pooled-20150707-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SNAPE-pooled/SNAPE-pooled-20150707-GCC-11.3.0.eb new file mode 100644 index 00000000000..fb95b3bc99c --- /dev/null +++ b/easybuild/easyconfigs/s/SNAPE-pooled/SNAPE-pooled-20150707-GCC-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CmdCp' + +name = 'SNAPE-pooled' +version = '20150707' +local_commit = '284bfe0' + +homepage = 'https://github.com/EmanueleRaineri/snape-pooled' +description = """" +SNAPE-pooled computes the probability distribution for the frequency of the minor allele in +a certain population, at a certain position in the genome. +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'EmanueleRaineri' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['5c3157e4b4d4b1245bb86dfb2435e42c79e0b273c925fb91e39c78cfe9d2d570'] + +dependencies = [ + ('OCaml', '4.14.0'), +] + +cmds_map = [('.*', 'make snape-pooled')] + +files_to_copy = [(['snape-pooled'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/snape-pooled'], + 'dirs': [], +} + +sanity_check_commands = ['snape-pooled --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SOAPdenovo-Trans/SOAPdenovo-Trans-1.0.5-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SOAPdenovo-Trans/SOAPdenovo-Trans-1.0.5-GCC-12.3.0.eb new file mode 100644 index 00000000000..901796573cc --- /dev/null +++ b/easybuild/easyconfigs/s/SOAPdenovo-Trans/SOAPdenovo-Trans-1.0.5-GCC-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'SOAPdenovo-Trans' +version = '1.0.5' + +homepage = 'http://soap.genomics.org.cn/SOAPdenovo-Trans.html' +description = """SOAPdenovo-Trans is a de novo transcriptome assembler basing on the SOAPdenovo framework, +adapt to alternative splicing and different expression level among transcripts. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/aquaskyline/SOAPdenovo-Trans/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-1.0.5-fix-makefiles.patch'] +checksums = [ + {'1.0.5.tar.gz': 'c1903c0d81142270db95916e2833400f72c4841b5c9194f182c19ebda418936f'}, + {'SOAPdenovo-Trans-1.0.5-fix-makefiles.patch': '15c420a5e2c2a5a5837dbb1223a6b02b78f059b162e82952c7ceee83fdfdcffb'}, +] + +dependencies = [('zlib', '1.2.13')] + +start_dir = 'src' + +buildopts = ' && make 127mer=1' + +files_to_copy = [(['../SOAPdenovo-Trans-127mer', '../SOAPdenovo-Trans-31mer'], 'bin'), '../LICENSE', + '../README.md', '../VERSION'] + +sanity_check_paths = { + 'files': ['bin/SOAPdenovo-Trans-127mer', 'bin/SOAPdenovo-Trans-31mer'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SOAPdenovo-Trans/SOAPdenovo-Trans-1.0.5-fix-makefiles.patch b/easybuild/easyconfigs/s/SOAPdenovo-Trans/SOAPdenovo-Trans-1.0.5-fix-makefiles.patch new file mode 100644 index 00000000000..edb305d0083 --- /dev/null +++ b/easybuild/easyconfigs/s/SOAPdenovo-Trans/SOAPdenovo-Trans-1.0.5-fix-makefiles.patch @@ -0,0 +1,30 @@ +# Fix makefile to use EB values +# Ward Poelmans +--- SOAPdenovo-Trans-src-v1.04.orig/src/Makefile 2014-04-15 04:37:16.000000000 +0200 ++++ SOAPdenovo-Trans-src-v1.04/src/Makefile 2017-08-23 07:54:58.108664416 +0200 +@@ -1,5 +1,5 @@ +-CC= gcc +-CFLAGS= -O3 -fomit-frame-pointer -static ++CC := $(CC) ++CFLAGS := -fomit-frame-pointer $(CFLAGS) + #CFLAGS= -O3 -g -D_DEBUG + DFLAGS= + +@@ -32,7 +32,7 @@ + INCLUDES= -Iinc + SUBDIRS= . + LIBPATH= +-LIBS= -pthread -lm -lrt -lbam -lz -L./inc ++LIBS := $(LIBS) -lrt -lbam -lz -L./inc + EXTRA_FLAGS= + + BIT_ERR = 0 +@@ -73,7 +73,7 @@ + @test $(BIT_ERR) != 1 || sh -c 'echo "Fatal: 64bit CPU and Operating System required!";false;' + + SOAPdenovo: envTest $(OBJS) +- @$(CC) $(CFLAGS) -o $(PROG) $(OBJS) $(LIBPATH) $(LIBS) $(ENTRAFLAGS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROG) $(OBJS) $(LIBPATH) $(LIBS) $(ENTRAFLAGS) + @printf "Linking...\r" + @printf "$(PROG) compilation done.\n"; + diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.13.0-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.13.0-GCC-10.3.0.eb index a0d2e6b9948..3647d8fcef1 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.13.0-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.13.0-GCC-10.3.0.eb @@ -12,12 +12,12 @@ easyblock = 'CMakeMake' name = 'SPAdes' version = '3.13.0' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '10.3.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['c63442248c4c712603979fa70503c2bff82354f005acda2abc42dd5598427040'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.14.1-GCC-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.14.1-GCC-9.3.0-Python-3.8.2.eb index 797c1dc12b6..24ec86b9fb0 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.14.1-GCC-9.3.0-Python-3.8.2.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.14.1-GCC-9.3.0-Python-3.8.2.eb @@ -13,12 +13,12 @@ name = 'SPAdes' version = '3.14.1' versionsuffix = '-Python-%(pyver)s' -homepage = 'http://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '9.3.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['d629b78f7e74c82534ac20f5b3c2eb367f245e6840a67b9ef6a76f6fac5323ca'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0-Python-2.7.18.eb index 54ab5e1ceb0..a2f6af4df23 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0-Python-2.7.18.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0-Python-2.7.18.eb @@ -13,12 +13,12 @@ name = 'SPAdes' version = '3.15.2' versionsuffix = '-Python-%(pyver)s' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '10.2.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['e93b43951a814dc7bd6a246e1e863bbad6aac4bfe1928569402c131b2af99d0d'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0.eb index d1300d60a18..4a3432922a8 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0.eb @@ -12,12 +12,12 @@ easyblock = 'CMakeMake' name = 'SPAdes' version = '3.15.2' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '10.2.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['e93b43951a814dc7bd6a246e1e863bbad6aac4bfe1928569402c131b2af99d0d'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-10.3.0.eb index 14828be4967..689bdea5858 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-10.3.0.eb @@ -12,12 +12,12 @@ easyblock = 'CMakeMake' name = 'SPAdes' version = '3.15.3' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '10.3.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['b2e5a9fd7a65aee5ab886222d6af4f7b7bc7f755da7a03941571fabd6b9e1499'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-11.2.0.eb index 047f59e56a7..3190e8efd2a 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-11.2.0.eb @@ -14,12 +14,12 @@ easyblock = 'CMakeMake' name = 'SPAdes' version = '3.15.3' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '11.2.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['b2e5a9fd7a65aee5ab886222d6af4f7b7bc7f755da7a03941571fabd6b9e1499'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.2.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.2.0.eb index cd2ebd173bc..19425c9193c 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.2.0.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.2.0.eb @@ -14,12 +14,12 @@ easyblock = 'CMakeMake' name = 'SPAdes' version = '3.15.4' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '12.2.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['3b241c528a42a8bdfdf23e5bf8f0084834790590d08491decea9f0f009d8589f'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.3.0.eb new file mode 100644 index 00000000000..4988f48656f --- /dev/null +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.3.0.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Modified by: +# Adam Huffman +# The Francis Crick Institute +# Updated by: +# Filip Kružík (INUITS) +# Pavel Tománek (INUIS) + +easyblock = 'CMakeMake' + +name = 'SPAdes' +version = '3.15.4' + +homepage = 'https://github.com/ablab/spades' +description = "Genome assembler for single-cell and isolates data sets" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3b241c528a42a8bdfdf23e5bf8f0084834790590d08491decea9f0f009d8589f'] + +builddependencies = [ + ('CMake', '3.26.3'), +] +dependencies = [ + ('Python', '3.11.3'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('libreadline', '8.2'), +] + +start_dir = 'src' + +configopts = " -DBoost_NO_BOOST_CMAKE=ON" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['spades-bwa', 'spades-core', 'spades-gbuilder', 'spades-hammer', + 'spades-ionhammer', 'spades-kmercount', 'spades.py']], + 'dirs': [], +} + +sanity_check_commands = [('%(namelower)s.py', '--test')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.5-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.5-GCC-11.3.0.eb index 4bc38b80160..edb35db2e8b 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.5-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.5-GCC-11.3.0.eb @@ -14,12 +14,12 @@ easyblock = 'CMakeMake' name = 'SPAdes' version = '3.15.5' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '11.3.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['155c3640d571f2e7b19a05031d1fd0d19bd82df785d38870fb93bd241b12bbfa'] diff --git a/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2023a.eb b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2023a.eb new file mode 100644 index 00000000000..b62a968bd10 --- /dev/null +++ b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2023a.eb @@ -0,0 +1,51 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MakeCp' + +name = 'SPOOLES' +version = '2.2' + +homepage = 'https://netlib.org/linalg/spooles/spooles.2.2.html' +description = """SPOOLES is a library for solving sparse real and complex linear + systems of equations, written in the C language using object oriented design. +""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +source_urls = ['https://netlib.org/linalg/spooles'] +sources = ['%(namelower)s.%(version)s.tgz'] +patches = [ + '%(name)s-2.2_build-mpi-mt.patch', + '%(name)s-2.2_shared-libs.patch', +] +checksums = [ + {'spooles.2.2.tgz': 'a84559a0e987a1e423055ef4fdf3035d55b65bbe4bf915efaa1a35bef7f8c5dd'}, + {'SPOOLES-2.2_build-mpi-mt.patch': 'c983c7f37eb0904959cd2f6dff0b1fdb6a36440ca2a044fb2d324fd301e3dd7c'}, + {'SPOOLES-2.2_shared-libs.patch': 'bca50e13e3c552240f7494c4d9f69be8725054c9f79ebc82dbe6b7531588d09e'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('Perl', '5.36.1'), +] + +build_cmd_targets = 'lib' +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" MPI_LIB_PATH="-L$MPI_LIB_DIR" MPI_INCLUDE_DIR="-I$MPI_INC_DIR"' + +files_to_copy = [ + (['libspooles*'], 'lib'), +] + +# install header files, keeping relative subdirectories +_install_headers = " ".join([ + "cd %(builddir)s && mkdir -p %(installdir)s/include/spooles &&", + r"find . -name '*.h' -print -exec install -D {} %(installdir)s/include/spooles/{} \;" +]) + +postinstallcmds = [_install_headers] + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/spooles'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.25-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.25-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..352d4e5fd08 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.25-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'SQLAlchemy' +version = '2.0.25' + +homepage = 'https://www.sqlalchemy.org/' +description = """SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives +application developers the full power and flexibility of SQL. SQLAlchemy +provides a full suite of well known enterprise-level persistence patterns, +designed for efficient and high-performing database access, adapted into a +simple and Pythonic domain language.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('psycopg2', '2.9.9'), # optional, postgresql extra + ('Mako', '1.2.4'), # needed by alembic +] + +use_pip = True + +exts_list = [ + ('greenlet', '3.0.3', { + 'checksums': ['43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491'], + }), + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('asyncpg', '0.29.0', { + 'checksums': ['d1c49e1f44fffafd9a55e1a9b101590859d881d639ea2922516f5d9c512d354e'], + }), + (name, version, { + 'use_pip_extras': 'asyncio,postgresql,postgresql_asyncpg', + 'checksums': ['a2c69a7664fb2d54b8682dd774c3b54f67f84fa123cf84dda2a5f40dcaa04e08'], + }), + ('alembic', '1.13.1', { + 'checksums': ['4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2f335afc78c --- /dev/null +++ b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'SQLAlchemy' +version = '2.0.29' + +homepage = 'https://www.sqlalchemy.org/' +description = """SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives +application developers the full power and flexibility of SQL. SQLAlchemy +provides a full suite of well known enterprise-level persistence patterns, +designed for efficient and high-performing database access, adapted into a +simple and Pythonic domain language.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + + +dependencies = [ + ('Python', '3.10.8'), + ('Greenlet', '2.0.2'), + ('psycopg', '3.1.18'), # optional, postgresql extra + ('Mako', '1.2.4'), # needed by alembic +] + +use_pip = True + +exts_list = [ + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('asyncpg', '0.29.0', { + 'checksums': ['d1c49e1f44fffafd9a55e1a9b101590859d881d639ea2922516f5d9c512d354e'], + }), + ('typing_extensions', '4.7.1', { + 'checksums': ['b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2'], + }), + (name, version, { + 'use_pip_extras': 'asyncio,postgresql,postgresql_asyncpg', + 'checksums': ['bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0'], + }), + ('alembic', '1.13.1', { + 'checksums': ['4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c6ee1ce6cb5 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-13.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'SQLAlchemy' +version = '2.0.29' + +homepage = 'https://www.sqlalchemy.org/' +description = """SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives +application developers the full power and flexibility of SQL. SQLAlchemy +provides a full suite of well known enterprise-level persistence patterns, +designed for efficient and high-performing database access, adapted into a +simple and Pythonic domain language.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), + ('Greenlet', '3.0.3'), + ('psycopg', '3.1.18'), # optional, postgresql extra + ('Mako', '1.2.4'), # needed by alembic +] + +use_pip = True + +exts_list = [ + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('asyncpg', '0.29.0', { + 'checksums': ['d1c49e1f44fffafd9a55e1a9b101590859d881d639ea2922516f5d9c512d354e'], + }), + (name, version, { + 'use_pip_extras': 'asyncio,postgresql,postgresql_asyncpg', + 'checksums': ['bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0'], + }), + ('alembic', '1.13.1', { + 'checksums': ['4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.10-gompi-2023a.eb b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.10-gompi-2023a.eb new file mode 100644 index 00000000000..b7658b73c23 --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.10-gompi-2023a.eb @@ -0,0 +1,76 @@ +# updated: Denis Kristak (INUITS) +# updated: Sebastien Moretti (SIB - Vital-IT) +# updated: Pavel Tománek (INUITS) +easyblock = 'CMakeMake' + +name = 'SRA-Toolkit' +version = '3.0.10' + +homepage = 'https://github.com/ncbi/sra-tools' +description = """The SRA Toolkit, and the source-code SRA System Development + Kit (SDK), will allow you to programmatically access data housed within SRA + and convert it from the SRA format""" +github_account = 'ncbi' + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'extra_cflags': '-DH5_USE_110_API'} + +source_urls = ['https://github.com/ncbi/sra-tools/archive/refs/tags/'] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['93cfa802938506866b9d565a18a31ac84fd26f2929636b23f1f8dd9f39cf977d'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('Perl', '5.36.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Java', '11', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('ncbi-vdb', version), + ('bzip2', '1.0.8'), + ('file', '5.43'), + ('HDF5', '1.14.0'), + ('libxml2', '2.11.4'), + ('zlib', '1.2.13'), +] + +configopts = '-DVDB_INCDIR="$EBROOTNCBIMINVDB/include" -DVDB_LIBDIR="$EBROOTNCBIMINVDB/lib" ' +configopts += '-DBUILD_TOOLS_LOADERS=ON -DBUILD_TOOLS_INTERNAL=ON' + +postinstallcmds = [ + "cp -r %(start_dir)s/ngs/ngs-python/ %(installdir)s/", +] + +_sra_bin = [ + 'abi-dump', 'abi-load', 'align-info', 'bam-load', 'cache-mgr', 'cg-load', 'copycat', 'fasterq-dump', 'fastq-dump', + 'fastq-load', 'helicos-load', 'illumina-dump', 'illumina-load', 'kar', 'kdbmeta', 'latf-load', 'pacbio-load', + 'prefetch', 'rcexplain', 'sam-dump', 'sff-dump', 'sff-load', 'srapath', 'sra-pileup', 'sra-sort', 'sra-stat', + 'sratools', 'srf-load', 'test-sra', 'vdb-config', 'vdb-copy', 'vdb-decrypt', 'vdb-dump', 'vdb-encrypt', 'vdb-lock', + 'vdb-unlock', 'vdb-validate', +] + +_ngs_libs = ['libncbi-ngs.a', 'libncbi-ngs-c++.a', 'libncbi-ngs.%s' % SHLIB_EXT, + 'libngs-c++.a', 'libngs-c++.%s' % SHLIB_EXT] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _sra_bin] + ['lib/%s' % l for l in _ngs_libs], + 'dirs': ['jar', 'include/ncbi-vdb', 'include/ngs'] +} + +sanity_check_commands = [ + "abi-dump --help", + "kar --help", + "sra-sort --help", + "python -c 'import ngs'", +] + +modextrapaths = { + 'CLASSPATH': 'jar/ngs-java.jar', + 'PYTHONPATH': 'ngs-python', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..03f67550dac --- /dev/null +++ b/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'SSW' +version = '1.1' + +homepage = 'https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library' +description = """SSW is a fast implementation of the Smith-Waterman algorithm, which uses the + Single-Instruction Multiple-Data (SIMD) instructions to parallelize the algorithm at the + instruction level. SSW library provides an API that can be flexibly used by programs written in + C, C++ and other languages. We also provide a software that can do protein and genome alignment + directly. Current version of our implementation is ~50 times faster than an ordinary + Smith-Waterman. It can return the Smith-Waterman score, alignment location and traceback path + (cigar) of the optimal alignment accurately; and return the sub-optimal alignment score and + location heuristically. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-1.1_build-cpp-lib.patch'] +checksums = [ + 'cdbc20740daeb188ed39413ea5ff9ae4cf72c4d7ccff1d2de2cac0446d64d99f', # v1.1.tar.gz + 'fe0d1f536ecd526dda8879b2f41b62c3c82b39d236f023ee735c1c18d584f06a', # SSW-1.1_build-cpp-lib.patch +] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('zlib', '1.2.13')] + +start_dir = 'src' + +buildopts = 'default' + +files_to_copy = [ + (['ssw_test'], 'bin'), + (['*.%s*' % SHLIB_EXT], 'lib'), + (['*.h'], 'include/ssw'), +] + +sanity_check_paths = { + 'files': ['bin/ssw_test', 'lib/libssw.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/STAR/STAR-2.7.11b-GCC-12.3.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.11b-GCC-12.3.0.eb new file mode 100644 index 00000000000..cf16b5c2979 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.11b-GCC-12.3.0.eb @@ -0,0 +1,51 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# Based on STAR-2.7.7a-GCC-10.2.0.eb +# uploaded by J. Sassmannshausen +# modified by Thomas Eylenbosch + +easyblock = 'MakeCp' + +name = 'STAR' +version = '2.7.11b' + +homepage = 'https://github.com/alexdobin/STAR' +description = "STAR aligns RNA-seq reads to a reference genome using uncompressed suffix arrays." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'openmp': True} + +github_account = 'alexdobin' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['STAR-2.7.11a_use-external-htslib.patch'] +checksums = [ + {'2.7.11b.tar.gz': '3f65305e4112bd154c7e22b333dcdaafc681f4a895048fa30fa7ae56cac408e7'}, + {'STAR-2.7.11a_use-external-htslib.patch': '2fdc3ed9372d983f77d861d6f16a60a553598358dce9ff8216f96eb20e63ce4e'}, +] + +dependencies = [ + ('HTSlib', '1.18'), + ('zlib', '1.2.13'), +] + +start_dir = 'source' + +buildopts = ' STAR && make STARlong' + +files_to_copy = [ + (['source/%(name)s', 'source/%(name)slong'], 'bin'), + 'CHANGES.md', 'doc', 'extras', 'LICENSE', 'README.md', 'RELEASEnotes.md', +] + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'bin/%(name)slong'], + 'dirs': [], +} + +sanity_check_commands = [ + "STAR --help", + "STARlong --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2022b.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2022b.eb old mode 100755 new mode 100644 index 043d83c6d48..565de5bcd7c --- a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2022b.eb +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2022b.eb @@ -12,11 +12,30 @@ toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['f90029b8da846c8faff5530fd1fa4847079188d040554f55c1d5d1e04743d29d'] - -builddependencies = [('CMake', '3.24.3')] - -configopts = "-DMPI_ENABLE=ON -DOPENMP_ENABLE=ON -DLAPACK_ENABLE=ON" +patches = [ + '%(name)s-%(version)s_fix_bad_find_library_calls.patch', +] +checksums = [ + {'sundials-6.6.0.tar.gz': 'f90029b8da846c8faff5530fd1fa4847079188d040554f55c1d5d1e04743d29d'}, + {'SUNDIALS-6.6.0_fix_bad_find_library_calls.patch': + 'c5e3248bd036fee17436649280ff7156a2722698c33ec20a5e635e3a60d16823'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), +] + +_copts = [ + '-DENABLE_MPI=ON', + '-DENABLE_OPENMP=ON', + '-DENABLE_LAPACK=ON', + '-DENABLE_KLU=ON', +] +configopts = ' '.join(_copts) local_solvers = ['arkode', 'cvode', 'cvodes', 'ida', 'idas', 'kinsol'] diff --git a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..351d740b8e5 --- /dev/null +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,57 @@ +easyblock = 'CMakeMake' + +name = 'SUNDIALS' +version = '6.6.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://computing.llnl.gov/projects/sundials' + +description = "SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-%(version)s_fix_bad_find_library_calls.patch', +] +checksums = [ + {'sundials-6.6.0.tar.gz': 'f90029b8da846c8faff5530fd1fa4847079188d040554f55c1d5d1e04743d29d'}, + {'SUNDIALS-6.6.0_fix_bad_find_library_calls.patch': + 'c5e3248bd036fee17436649280ff7156a2722698c33ec20a5e635e3a60d16823'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('SuiteSparse', '7.1.0'), +] + +_copts = [ + '-DENABLE_MPI=ON', + '-DENABLE_OPENMP=ON', + '-DENABLE_LAPACK=ON', + '-DENABLE_KLU=ON', + '-DENABLE_CUDA=ON', + '-DCMAKE_CUDA_ARCHITECTURES="%(cuda_cc_cmake)s"', + '-DSUNDIALS_INDEX_SIZE=32', # SUNMATRIX_CUSPARSE module needs 32-bit indexing +] +configopts = ' '.join(_copts) + +local_solvers = ['arkode', 'cvode', 'cvodes', 'ida', 'idas', 'kinsol'] + +sanity_check_paths = { + 'files': ['lib/libsundials_%s.a' % s for s in local_solvers + + ['nvecopenmp', 'nvecparallel', 'nvecserial']] + + ['lib/libsundials_%s.%s' % (s, SHLIB_EXT) for s in local_solvers + + ['nvecopenmp', 'nvecparallel', 'nvecserial']], + 'dirs': ['examples/%s' % s for s in local_solvers] + + ['include/%s' % s for s in local_solvers] + + ['examples/nvector', 'include/nvector', 'include/sundials'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2023a.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2023a.eb index 02bb2f3f2fd..d3a8e2b177d 100644 --- a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2023a.eb +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2023a.eb @@ -12,11 +12,30 @@ toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['f90029b8da846c8faff5530fd1fa4847079188d040554f55c1d5d1e04743d29d'] - -builddependencies = [('CMake', '3.26.3')] - -configopts = "-DMPI_ENABLE=ON -DOPENMP_ENABLE=ON -DLAPACK_ENABLE=ON" +patches = [ + '%(name)s-%(version)s_fix_bad_find_library_calls.patch', +] +checksums = [ + {'sundials-6.6.0.tar.gz': 'f90029b8da846c8faff5530fd1fa4847079188d040554f55c1d5d1e04743d29d'}, + {'SUNDIALS-6.6.0_fix_bad_find_library_calls.patch': + 'c5e3248bd036fee17436649280ff7156a2722698c33ec20a5e635e3a60d16823'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('SuiteSparse', '7.1.0'), +] + +_copts = [ + '-DENABLE_MPI=ON', + '-DENABLE_OPENMP=ON', + '-DENABLE_LAPACK=ON', + '-DENABLE_KLU=ON', +] +configopts = ' '.join(_copts) local_solvers = ['arkode', 'cvode', 'cvodes', 'ida', 'idas', 'kinsol'] diff --git a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0_fix_bad_find_library_calls.patch b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0_fix_bad_find_library_calls.patch new file mode 100644 index 00000000000..a6b9d3fd5f8 --- /dev/null +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0_fix_bad_find_library_calls.patch @@ -0,0 +1,45 @@ +Make FindKLU use default search paths so it finds our SuiteSparse installation. + +Åke Sandgren, 2023-12-20 +diff -ru sundials-6.6.0.orig/cmake/tpl/FindKLU.cmake sundials-6.6.0/cmake/tpl/FindKLU.cmake +--- sundials-6.6.0.orig/cmake/tpl/FindKLU.cmake 2023-07-20 20:47:41.062113287 +0200 ++++ sundials-6.6.0/cmake/tpl/FindKLU.cmake 2023-12-20 13:27:56.974985727 +0100 +@@ -55,25 +55,25 @@ + else () + # find library with user provided directory path + set(KLU_LIBRARY_NAME klu) +- find_library(KLU_LIBRARY ${KLU_LIBRARY_NAME} ${KLU_LIBRARY_DIR} NO_DEFAULT_PATH) ++ find_library(KLU_LIBRARY ${KLU_LIBRARY_NAME} ${KLU_LIBRARY_DIR}) + endif () + mark_as_advanced(KLU_LIBRARY) + + if (NOT AMD_LIBRARY) + set(AMD_LIBRARY_NAME amd) +- find_library(AMD_LIBRARY ${AMD_LIBRARY_NAME} ${KLU_LIBRARY_DIR} NO_DEFAULT_PATH) ++ find_library(AMD_LIBRARY ${AMD_LIBRARY_NAME} ${KLU_LIBRARY_DIR}) + mark_as_advanced(AMD_LIBRARY) + endif () + + if (NOT COLAMD_LIBRARY) + set(COLAMD_LIBRARY_NAME colamd) +- find_library(COLAMD_LIBRARY ${COLAMD_LIBRARY_NAME} ${KLU_LIBRARY_DIR} NO_DEFAULT_PATH) ++ find_library(COLAMD_LIBRARY ${COLAMD_LIBRARY_NAME} ${KLU_LIBRARY_DIR}) + mark_as_advanced(COLAMD_LIBRARY) + endif () + + if (NOT BTF_LIBRARY) + set(BTF_LIBRARY_NAME btf) +- find_library( BTF_LIBRARY ${BTF_LIBRARY_NAME} ${KLU_LIBRARY_DIR} NO_DEFAULT_PATH) ++ find_library( BTF_LIBRARY ${BTF_LIBRARY_NAME} ${KLU_LIBRARY_DIR}) + mark_as_advanced(BTF_LIBRARY) + endif () + +@@ -83,7 +83,7 @@ + if(WIN32 AND NOT MSYS) + set(CMAKE_FIND_LIBRARY_PREFIXES "") + endif() +- find_library( SUITESPARSECONFIG_LIBRARY ${SUITESPARSECONFIG_LIBRARY_NAME} ${KLU_LIBRARY_DIR} NO_DEFAULT_PATH) ++ find_library( SUITESPARSECONFIG_LIBRARY ${SUITESPARSECONFIG_LIBRARY_NAME} ${KLU_LIBRARY_DIR}) + mark_as_advanced(SUITESPARSECONFIG_LIBRARY) + endif () + diff --git a/easybuild/easyconfigs/s/SURVIVOR/SURVIVOR-1.0.7-19-ged1ca51-GCC-12.2.0.eb b/easybuild/easyconfigs/s/SURVIVOR/SURVIVOR-1.0.7-19-ged1ca51-GCC-12.2.0.eb new file mode 100644 index 00000000000..12fdc2cadd3 --- /dev/null +++ b/easybuild/easyconfigs/s/SURVIVOR/SURVIVOR-1.0.7-19-ged1ca51-GCC-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'MakeCp' + +name = 'SURVIVOR' +version = '1.0.7-19-ged1ca51' + +homepage = 'https://github.com/fritzsedlazeck/SURVIVOR' +description = "Toolset for SV simulation, comparison and filtering" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['ed1ca5188a2d9286d582417b7a65938c768df995.tar.gz'] +checksums = ['46c2618a225353e31422a12e9661167298947ad6ff681943cea6703ba18682bd'] + +github_account = 'fritzsedlazeck' +start_dir = 'Debug' +files_to_copy = ['Debug/%(name)s'] + +sanity_check_paths = { + 'files': ['%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s'] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Salmon/Salmon-1.10.1-GCC-12.2.0.eb b/easybuild/easyconfigs/s/Salmon/Salmon-1.10.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..5240a039ab5 --- /dev/null +++ b/easybuild/easyconfigs/s/Salmon/Salmon-1.10.1-GCC-12.2.0.eb @@ -0,0 +1,63 @@ +# # +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: GLPv2 +# +# Notes:: +# # +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen +# Thanks to people like Simon Brandord, Mikael Oehmann and Kenneth Hoste +# for their help with the ICE + +easyblock = 'CMakeMake' + +name = 'Salmon' +version = '1.10.1' + +homepage = 'https://github.com/COMBINE-lab/salmon' +description = """Salmon is a wicked-fast program to produce a highly-accurate, + transcript-level quantification estimate from RNA-seq data.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['babd9ccc189cfea07566d8a11d047f25fad5b446b4b69257bc6ad8869f8b7707'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pkgconf', '1.9.3'), + ('jemalloc', '5.3.0'), + ('Cereal', '1.3.2', '', SYSTEM), +] +dependencies = [ + ('Boost', '1.81.0'), + ('tbb', '2021.10.0'), + ('cURL', '7.86.0'), + ('libiconv', '1.17'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.7'), + ('zlib', '1.2.12'), +] + +# Disable link-time optimizations (-flto) because it triggers a segfault/internal compiler error (ICE) +# this issue might magically disappear in future versions of Salmon or GCC +# see https://github.com/COMBINE-lab/salmon/issues/778 +configopts = "-DJEMALLOC_ROOT=$EBROOTJEMALLOC -DNO_IPO=1" + +github_account = 'COMBINE-lab' +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'lib/libgraphdump.a', 'lib/libntcard.a', 'lib/libsalmon_core.a', 'lib/libtwopaco.a'], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Sambamba/Sambamba-1.0.1-GCC-11.3.0.eb b/easybuild/easyconfigs/s/Sambamba/Sambamba-1.0.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..6614cdcf8fd --- /dev/null +++ b/easybuild/easyconfigs/s/Sambamba/Sambamba-1.0.1-GCC-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'Sambamba' +version = '1.0.1' + +homepage = 'https://lomereiter.github.io/sambamba/' +description = """Sambamba is a high performance modern robust and fast tool + (and library), written in the D programming language, for working with SAM + and BAM files. Current functionality is an important subset of samtools + functionality, including view, index, sort, markdup, and depth.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/biod/sambamba/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['955a51a00be9122aa9b0c27796874bfdda85de58aa0181148ef63548ea5192b0'] + +builddependencies = [ + ('LDC', '1.30.0'), + ('Python', '3.10.4'), + ('lz4', '1.9.3'), +] + +files_to_copy = [(['bin/sambamba-%(version)s'], 'bin')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s sambamba-%(version)s sambamba"] + +sanity_check_paths = { + 'files': ['bin/sambamba'], + 'dirs': [], +} + +sanity_check_commands = ["sambamba 2>&1 | grep '^sambamba %(version)s'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-12.4-Java-21.eb b/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-12.4-Java-21.eb new file mode 100644 index 00000000000..7a942df7b9a --- /dev/null +++ b/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-12.4-Java-21.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'Saxon-HE' +version = '12.4' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://saxon.sourceforge.net' +description = """Open Source SAXON XSLT processor developed by Saxonica Limited.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/Saxonica/Saxon-HE/releases/download/SaxonHE12-4/'] +sources = ['SaxonHE%sJ.zip' % version.replace('.', '-')] +checksums = ['44ab28ea945090983196f0b6479596a27fd57a341e8465b6db7fc2eca8c3ddce'] + +dependencies = [('Java', '21')] + +local_jarfiles = [ + '%(namelower)s-%(version)s.jar', '%(namelower)s-test-%(version)s.jar', '%(namelower)s-xqj-%(version)s.jar' +] + +sanity_check_paths = { + 'files': local_jarfiles, + 'dirs': [], +} +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.4-foss-2023a.eb b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.4-foss-2023a.eb new file mode 100644 index 00000000000..4a1b88c83d2 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.4-foss-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'ScaFaCoS' +version = '1.0.4' + +homepage = 'http://www.scafacos.de/' +description = """ScaFaCoS is a library of scalable fast coulomb solvers.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + '6634c4202e825e771d1dd75bbe9cac5cee41136c87653fde98fbd634681c1be6', # scafacos-1.0.1.tar.gz +] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('GSL', '2.7'), +] + +preconfigopts = 'unset F77 && ' + +configopts = 'FCFLAGS="-fallow-argument-mismatch $FCFLAGS" ' +configopts += '--enable-shared --enable-static --disable-doc ' +# tell it where to find provided FFTW +configopts += '--without-internal-fftw --with-fftw3-includedir=$EBROOTFFTW/include --with-fftw3-libdir=$EBROOTFFTW/lib ' +# only include the solvers supported for LAMMPS +# (for p2nfft we need an additonal dependency) +configopts += '--enable-fcs-solvers=direct,ewald,fmm,p3m ' + +sanity_check_paths = { + 'files': ['lib/libfcs.a', 'include/fcs.h', 'include/fcs_module.mod'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Scalene/Scalene-1.5.35-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/Scalene/Scalene-1.5.35-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ac4e7481cf6 --- /dev/null +++ b/easybuild/easyconfigs/s/Scalene/Scalene-1.5.35-GCCcore-13.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'Scalene' +version = '1.5.35' + +homepage = 'https://github.com/plasma-umass/scalene' +description = """Scalene is a high-performance CPU, GPU and memory profiler for Python that does a number of things +that other Python profilers do not and cannot do. It runs orders of magnitude faster than other profilers while +delivering far more detailed information.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.6.1'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('pynvml', '11.4.1', { + 'checksums': ['b2e4a33b80569d093b513f5804db0c7f40cfc86f15a013ae7a8e99c5e175d5dd'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['decd0a374e918af08de06e7f2d97feafb1ad0252b0a91b99c14b6b6364f605ec'], + }), +] + +sanity_check_paths = { + 'files': ['bin/scalene'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["scalene --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb index 9f60a08cff4..e19bb6789f3 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb @@ -52,6 +52,7 @@ exts_list = [ 'scipy-1.10.1_disable-tests.patch', 'scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch', 'scipy-1.10.1_fix-lobpcg-test.patch', + 'scipy-1.10.1_fix-test_det_and_ortho.patch', ], 'checksums': [ {'scipy-1.10.1.tar.gz': '2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5'}, @@ -59,6 +60,8 @@ exts_list = [ {'scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch': '48177d6af51cf3e3d46aed8425807f0a65a498f7558f475032e0ad846559a23e'}, {'scipy-1.10.1_fix-lobpcg-test.patch': 'eb4c576959108df0b1749705e64fe42e79edcf5aa8f6b4d7908f9b136d0d6648'}, + {'scipy-1.10.1_fix-test_det_and_ortho.patch': + 'beb7516659c2458f91029ee0562da2ff7cf8875f2cfafeeef473e7c7b60e65fe'}, ], 'enable_slow_tests': True, 'ignore_test_result': False, diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.07-iimkl-2023a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.07-iimkl-2023a.eb new file mode 100644 index 00000000000..95d1e9f41c4 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.07-iimkl-2023a.eb @@ -0,0 +1,117 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2023.07' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'iimkl', 'version': '2023a'} +toolchainopts = {'pic': True, 'lowopt': True, 'strict': True} + +builddependencies = [ + ('hypothesis', '6.82.0'), + ('UnZip', '6.0'), + # scipy >= 1.9.0 uses Meson/Ninja + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), # required by scipy +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('pybind11', '2.11.1'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.25.1', { + 'patches': [ + 'numpy-1.18.2-mkl.patch', + 'numpy-1.25.1_disable_fortran_callback_test.patch', + 'numpy-1.22.3_disable-broken-override-test.patch', + 'numpy-1.25.1_disable-broken-test_long_long_map.patch', + 'numpy-1.25.1_fix_selected_kind_for_ifort.patch', + 'numpy-1.25.1_disable-broken-fortran-docstring-test.patch', + 'numpy-1.25.1_fix-test_features.patch' + ], + 'checksums': [ + {'numpy-1.25.1.tar.gz': '9a3a9f3a61480cc086117b426a8bd86869c213fc4072e606f01c4e4b66eb92bf'}, + {'numpy-1.18.2-mkl.patch': 'ea25ad5c0148c1398d282f0424e642fb9815a1a80f4512659b018e2adc378bcf'}, + {'numpy-1.25.1_disable_fortran_callback_test.patch': + '3c02bd9973b7082fde9f9d18edfeb05798226ccb5731a56f5677269200c345cf'}, + {'numpy-1.22.3_disable-broken-override-test.patch': + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, + {'numpy-1.25.1_disable-broken-test_long_long_map.patch': + 'fa0fb0a16c4f1339a974c1c84b79df21dc9bfdc14e3e68f6aebaf5e30bad3fe9'}, + {'numpy-1.25.1_fix_selected_kind_for_ifort.patch': + '4e6561f44de027edf498ac29ed93115f801348a3398700271ccbf048f433b2d3'}, + {'numpy-1.25.1_disable-broken-fortran-docstring-test.patch': + '8a4d36e3b3a9c9bf43df6e5214f3883234a069b80c5c1027a7c84bd5cb133457'}, + {'numpy-1.25.1_fix-test_features.patch': + '1c05ee5d105fe2f824416dd6dd5c64ed0c1cd710a002b4e6dbfafff19203adc5'}, + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.4', { + 'checksums': ['9c270fe5f4b130969b54174de7db4e764b09b4f7f67ccfc32480e29f78348d97'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.13.1', { + 'checksums': ['8aad08162f010e5425a7b254dd68d83311b430bb29f9252dce2eff3ba39497dd'], + }), + ('versioneer', '0.29', { + 'checksums': ['5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731'], + }), + ('scipy', '1.11.1', { + 'enable_slow_tests': True, + 'ignore_test_result': False, + 'patches': [ + 'scipy-1.11.1_disable-tests.patch', + 'scipy-1.11.1_xfail-aarch64_test_maxiter_worsening.patch', + 'scipy-1.11.1_disable-tests-iimkl.patch', + 'scipy-1.11.1_relaxed_test_accuracy.patch', + ], + 'checksums': [ + {'scipy-1.11.1.tar.gz': 'fb5b492fa035334fd249f0973cc79ecad8b09c604b42a127a677b45a9a3d4289'}, + {'scipy-1.11.1_disable-tests.patch': '906bfb03397d94882ccdc1b93bc2c8e854e0e060c2d107c83042992394e6a4af'}, + {'scipy-1.11.1_xfail-aarch64_test_maxiter_worsening.patch': + '918c8e6fa8215d459126f267764c961bde729ea4a116c7f6287cddfdc58ffcea'}, + {'scipy-1.11.1_disable-tests-iimkl.patch': + 'e85cf95d343fa4fd9e0045df3a030209a8d7b32a47d6da64ae1efd7b8ef827e3'}, + {'scipy-1.11.1_relaxed_test_accuracy.patch': + '2b6a7f7f58a7a8391dff52ae9565270c20c8312558b482f526be5e474ad2e675'}, + ], + }), + ('numexpr', '2.8.4', { + 'checksums': ['d5432537418d18691b9115d615d6daa17ee8275baef3edf1afbbf8bc69806147'], + }), + ('Bottleneck', '1.3.7', { + 'checksums': ['e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8'], + }), + ('tzdata', '2023.3', { + 'checksums': ['11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a'], + }), + ('pandas', '2.0.3', { + 'preinstallopts': "export PANDAS_CI=0 && ", + 'checksums': ['c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c'], + }), + ('mpmath', '1.3.0', { + 'checksums': ['7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f'], + }), + ('deap', '1.4.0', { + 'modulename': 'deap.base', + 'checksums': ['ffef2921932a0edbe634fcb6d156189e7a364bf638a2af4ae5d59931a9a4c8cc'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.11-gfbf-2023b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.11-gfbf-2023b.eb index 5c21cbe94a7..ae7ab11bbc4 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.11-gfbf-2023b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.11-gfbf-2023b.eb @@ -67,12 +67,15 @@ exts_list = [ 'patches': [ 'scipy-1.11.1_disable-tests.patch', 'scipy-1.11.1_xfail-aarch64_test_maxiter_worsening.patch', + 'scipy-1.11.4_fix-deps-ellip_harm_2.patch', ], 'checksums': [ {'scipy-1.11.4.tar.gz': '90a2b78e7f5733b9de748f589f09225013685f9b218275257f8a8168ededaeaa'}, {'scipy-1.11.1_disable-tests.patch': '906bfb03397d94882ccdc1b93bc2c8e854e0e060c2d107c83042992394e6a4af'}, {'scipy-1.11.1_xfail-aarch64_test_maxiter_worsening.patch': '918c8e6fa8215d459126f267764c961bde729ea4a116c7f6287cddfdc58ffcea'}, + {'scipy-1.11.4_fix-deps-ellip_harm_2.patch': + '5c3b4d4dab76cd4c9398c87e6a67b39e3806994ef955fa35781b49f9f99328a8'}, ], 'enable_slow_tests': True, 'ignore_test_result': False, diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable-broken-fortran-docstring-test.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable-broken-fortran-docstring-test.patch new file mode 100644 index 00000000000..55cc2989ca9 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable-broken-fortran-docstring-test.patch @@ -0,0 +1,16 @@ +Disable test for docstrings in fortran extension modules, as it fails due to an error +in autogenerated test code (int * versus npy_intp*). + +Author: Jakob Schiotz (Techn. Univ. Denmark) + +--- numpy/f2py/tests/test_module_doc.old 2023-10-23 15:49:00.858332420 +0200 ++++ numpy/f2py/tests/test_module_doc.py 2023-10-23 15:50:04.072826243 +0200 +@@ -7,7 +7,7 @@ + from numpy.testing import IS_PYPY + + +-class TestModuleDocString(util.F2PyTest): ++class Disabled_for_intel_TestModuleDocString(util.F2PyTest): + sources = [ + util.getpath("tests", "src", "module_data", + "module_data_docstring.f90") diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable-broken-test_long_long_map.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable-broken-test_long_long_map.patch new file mode 100644 index 00000000000..c79e894951a --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable-broken-test_long_long_map.patch @@ -0,0 +1,15 @@ +Disable test that imports a fortran function, it breaks on iimkl toolchain. + +Author: Jakob Schiotz (Techn. Univ. Denmark) + +--- numpy-1.25.1/numpy/f2py/tests/test_value_attrspec.old 2023-07-08 21:25:45.000000000 +0200 ++++ numpy-1.25.1/numpy/f2py/tests/test_value_attrspec.py 2023-09-27 11:21:32.172791528 +0200 +@@ -7,7 +7,7 @@ + sources = [util.getpath("tests", "src", "value_attrspec", "gh21665.f90")] + + # gh-21665 +- def test_long_long_map(self): ++ def ignored_test_long_long_map(self): + inp = 2 + out = self.module.fortfuncs.square(inp) + exp_out = 4 diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable_fortran_callback_test.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable_fortran_callback_test.patch new file mode 100644 index 00000000000..8bd095ba002 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable_fortran_callback_test.patch @@ -0,0 +1,17 @@ +Disable TestF90Callback which fails when compiling the resulting code with ifort. +The resulting code is incorrect Fortran. +See https://github.com/numpy/numpy/issues/20157 + +Åke Sandgren, 20211021 +Updated: Jakob Schiøtz, 20230927 +--- numpy-1.25.1/numpy/f2py/tests/test_callback.old 2023-09-27 14:15:21.076625096 +0200 ++++ numpy-1.25.1/numpy/f2py/tests/test_callback.py 2023-09-27 14:15:46.401827839 +0200 +@@ -202,7 +202,7 @@ + options = ["-DF2PY_USE_PYTHON_TLS"] + + +-class TestF90Callback(util.F2PyTest): ++class Disabled_for_intel_TestF90Callback(util.F2PyTest): + sources = [util.getpath("tests", "src", "callback", "gh17797.f90")] + + def test_gh17797(self): diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix_selected_kind_for_ifort.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix_selected_kind_for_ifort.patch new file mode 100644 index 00000000000..6b20bc7fb27 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix_selected_kind_for_ifort.patch @@ -0,0 +1,65 @@ +Intel Fortran compiler does not support 10-byte reals, nor 16-byte integers. +The f2py module needs to know the supported types to reliably build Fortran extensions. + +This patch was inspired by the discussion at https://github.com/numpy/numpy/issues/13053 +in particular the comments at + https://github.com/numpy/numpy/issues/13053#issuecomment-470314843 +and + https://github.com/numpy/numpy/issues/13053#issuecomment-471008975 +by GitHub user @oleksandr-pavlyk + +Author: Jakob Schiotz (Tech. U. Denmark) + +--- numpy/f2py/crackfortran.py.old 2023-10-23 14:39:51.510964440 +0200 ++++ numpy/f2py/crackfortran.py 2023-10-23 15:10:21.963115914 +0200 +@@ -2385,7 +2385,8 @@ + return 'kind(' + string + ')' + + +-def _selected_int_kind_func(r): ++def _selected_int_kind_func_intel(r): ++ # Intel(R) Fortran compiler only supports kinds 1, 2, 4, 8. + # XXX: This should be processor dependent + m = 10 ** r + if m <= 2 ** 8: +@@ -2396,29 +2397,27 @@ + return 4 + if m <= 2 ** 63: + return 8 +- if m <= 2 ** 128: +- return 16 ++ # Not supported by ifort ++ #if m <= 2 ** 128: ++ # return 16 + return -1 + ++_selected_int_kind_func = _selected_int_kind_func_intel + +-def _selected_real_kind_func(p, r=0, radix=0): ++def _selected_real_kind_func_intel(p, r=0, radix=0): ++ # Intel(R) Fotran compiler only supports kinds 4, 8, 16 + # XXX: This should be processor dependent +- # This is only verified for 0 <= p <= 20, possibly good for p <= 33 and above ++ # This is only good for 0 <= p <= 20 + if p < 7: + return 4 + if p < 16: + return 8 +- machine = platform.machine().lower() +- if machine.startswith(('aarch64', 'arm64', 'power', 'ppc', 'riscv', 's390x', 'sparc')): +- if p <= 33: +- return 16 +- else: +- if p < 19: +- return 10 +- elif p <= 33: +- return 16 ++ if p <= 33: ++ return 16 + return -1 + ++_selected_real_kind_func = _selected_real_kind_func_intel ++ + + def get_parameters(vars, global_params={}): + params = copy.copy(global_params) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_fix-test_det_and_ortho.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_fix-test_det_and_ortho.patch new file mode 100644 index 00000000000..4e09e3285d7 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_fix-test_det_and_ortho.patch @@ -0,0 +1,43 @@ +Based on https://github.com/scipy/scipy/pull/18288 to fix failing TestOrthoGroup.test_det_and_ortho +> /tmp/easybuild-tmp/eb-cdq2z1jo/tmp8_aj6pfo/install/lib/python3.10/site-packages/scipy/stats/tests/test_multivariate.py:1827: in test_det_and_ortho +> assert_array_less([0]*10, [np.nonzero(d < 0)[0].shape[0] for d in dets]) +> ... +> E AssertionError: +> E Arrays are not less-ordered +> E +> E Mismatched elements: 1 / 10 (10%) +> E Max absolute difference: 7 +> E Max relative difference: 1. +> E x: array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) +> E y: array([4, 5, 5, 6, 6, 0, 6, 7, 5, 4]) + +But removed the new test_det_distribution_gh18272 which fails with +> ValueError('expected square matrix') + +which is likely an issue caused by the differing versions + +Author: Alexander Grund (TU Dresden) + +diff --git a/scipy/stats/tests/test_multivariate.py b/scipy/stats/tests/test_multivariate.py +index ec16e94c7775..3a8abceb6152 100644 +--- a/scipy/stats/tests/test_multivariate.py ++++ b/scipy/stats/tests/test_multivariate.py +@@ -1860,18 +1860,12 @@ def test_det_and_ortho(self): + dets = np.array([[np.linalg.det(x) for x in xx] for xx in xs]) + assert_allclose(np.fabs(dets), np.ones(dets.shape), rtol=1e-13) + +- # Test that we get both positive and negative determinants +- # Check that we have at least one and less than 10 negative dets in a sample of 10. The rest are positive by the previous test. +- # Test each dimension separately +- assert_array_less([0]*10, [np.nonzero(d < 0)[0].shape[0] for d in dets]) +- assert_array_less([np.nonzero(d < 0)[0].shape[0] for d in dets], [10]*10) +- + # Test that these are orthogonal matrices + for xx in xs: + for x in xx: + assert_array_almost_equal(np.dot(x, x.T), + np.eye(x.shape[0])) + + def test_haar(self): + # Test that the distribution is constant under rotation + # Every column should have the same distribution diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_disable-tests-iimkl.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_disable-tests-iimkl.patch new file mode 100644 index 00000000000..6ec02dee408 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_disable-tests-iimkl.patch @@ -0,0 +1,43 @@ +Skip tests that fail when compiling with iimkl/2023a: + +Disable PROPACK test for complex, as it appears to be broken when +using Intel compiler. The tests were already skipped in a few other +cases for similar reasons. + +Skip test test_x0_equals_Mb[bicgstab-nonsymposdef-F], it fails to +converge. Many other solvers are skipped with this test case for +similar reasons, although it is worrying that it works with OpenBLAS +and not with MKL. + +Author: Jakob Schiotz (Techn. Univ. Denmark) + +--- scipy/sparse/linalg/tests/test_propack.py.old 2023-10-24 12:12:17.722133108 +0200 ++++ scipy/sparse/linalg/tests/test_propack.py 2023-10-24 12:14:02.072938068 +0200 +@@ -34,14 +34,8 @@ + for dtype_flavour in TOLS.keys(): + marks = [] + if is_complex_type(dtype_flavour): +- if is_32bit(): +- # PROPACK has issues w/ complex on 32-bit; see gh-14433 +- marks = [pytest.mark.skip] +- elif is_windows() and np.dtype(dtype_flavour).itemsize == 16: +- # windows crashes for complex128 (so don't xfail); see gh-15108 +- marks = [pytest.mark.skip] +- else: +- marks = [pytest.mark.slow] # type: ignore[list-item] ++ # PROPACK crashes for complex with Intel compiler. ++ marks = [pytest.mark.skip] + _dtypes.append(pytest.param(dtype_flavour, marks=marks, + id=dtype_flavour.__name__)) + _dtypes = tuple(_dtypes) # type: ignore[assignment] +--- scipy/sparse/linalg/_isolve/tests/test_iterative.py.old 2023-10-24 17:07:24.697195558 +0200 ++++ scipy/sparse/linalg/_isolve/tests/test_iterative.py 2023-10-24 17:07:46.106361595 +0200 +@@ -162,7 +162,7 @@ + self.cases.append(Case("nonsymposdef", A, + skip=sym_solvers + [cgs, qmr, bicg, tfqmr])) + self.cases.append(Case("nonsymposdef-F", A.astype('F'), +- skip=sym_solvers + [cgs, qmr, bicg, tfqmr])) ++ skip=sym_solvers + [cgs, qmr, bicg, bicgstab, tfqmr])) + + # Symmetric, non-pd, hitting cgs/bicg/bicgstab/qmr/tfqmr breakdown + A = np.array([[0, 0, 0, 0, 0, 1, -1, -0, -0, -0, -0], diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_relaxed_test_accuracy.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_relaxed_test_accuracy.patch new file mode 100644 index 00000000000..df99f4a7389 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_relaxed_test_accuracy.patch @@ -0,0 +1,110 @@ +Backported test from main branch of scipy on Github, relaxing the +tolerances of a few tests. Some of these fail with the Intel +compiler. + +The patch has been edited directly to backport it (np.double had been replaced +by np.float64 in the main branch), and one patch was to code that is not in +scipy-1.11.1. + +Backported by: Jakob Schiotz (Techn. Univ. Denmark) + +Original description: + +From a4fba82078d2e95005343150d821ccd33cb5de20 Mon Sep 17 00:00:00 2001 +From: Ralf Gommers +Date: Wed, 6 Sep 2023 15:08:59 +0200 +Subject: [PATCH] TST: test tolerance bumps to fix reported failures + +Closes gh-19117 + +The `test_sygst` one was reported in gh-19153. +--- + scipy/fft/_pocketfft/tests/test_real_transforms.py | 2 +- + scipy/linalg/tests/test_lapack.py | 2 +- + scipy/ndimage/tests/test_datatypes.py | 4 +++- + scipy/spatial/transform/tests/test_rotation.py | 8 ++++---- + scipy/special/tests/test_hyp2f1.py | 6 +++--- + 5 files changed, 12 insertions(+), 10 deletions(-) + +diff --git a/scipy/fft/_pocketfft/tests/test_real_transforms.py b/scipy/fft/_pocketfft/tests/test_real_transforms.py +index d1f4e1d..a217e75 100644 +--- a/scipy/fft/_pocketfft/tests/test_real_transforms.py ++++ b/scipy/fft/_pocketfft/tests/test_real_transforms.py +@@ -239,7 +239,7 @@ dec_map: DecMapType = { + (dst, np.float32, 3): 7, + + (dst, np.double, 4): 13, +- (dst, np.float32, 4): 6, ++ (dst, np.float32, 4): 5, + + # IDST + (idst, np.double, 1): 14, +diff --git a/scipy/linalg/tests/test_lapack.py b/scipy/linalg/tests/test_lapack.py +index 6c64a2a..2c994f6 100644 +--- a/scipy/linalg/tests/test_lapack.py ++++ b/scipy/linalg/tests/test_lapack.py +@@ -1031,7 +1031,7 @@ def test_sygst(): + + eig, _, info = syevd(a) + assert_(info == 0) +- assert_allclose(eig, eig_gvd, rtol=1e-4) ++ assert_allclose(eig, eig_gvd, rtol=1.2e-4) + + + def test_hegst(): +diff --git a/scipy/ndimage/tests/test_datatypes.py b/scipy/ndimage/tests/test_datatypes.py +index 327cc5a..1eb056b 100644 +--- a/scipy/ndimage/tests/test_datatypes.py ++++ b/scipy/ndimage/tests/test_datatypes.py +@@ -45,7 +45,7 @@ def test_map_coordinates_dts(): + assert_array_almost_equal(these_data, out) + + +-@pytest.mark.xfail(not sys.platform == 'darwin', reason="runs only on darwin") ++@pytest.mark.xfail(True, reason="Broken on many platforms") + def test_uint64_max(): + # Test interpolation respects uint64 max. Reported to fail at least on + # win32 (due to the 32 bit visual C compiler using signed int64 when +@@ -53,6 +53,8 @@ def test_uint64_max(): + # Interpolation is always done in double precision floating point, so + # we use the largest uint64 value for which int(float(big)) still fits + # in a uint64. ++ # This test was last enabled on macOS only, and there it started failing ++ # on arm64 as well (see gh-19117). + big = 2**64 - 1025 + arr = np.array([big, big, big], dtype=np.uint64) + # Tests geometric transform (map_coordinates, affine_transform) +diff --git a/scipy/special/tests/test_hyp2f1.py b/scipy/special/tests/test_hyp2f1.py +index 2fe732f..200d4bb 100644 +--- a/scipy/special/tests/test_hyp2f1.py ++++ b/scipy/special/tests/test_hyp2f1.py +@@ -474,7 +474,7 @@ class TestHyp2f1: + c=-15.5, + z=(1.1578947368421053-1.1578947368421053j), + expected=(0.9778506962676361+0.044083801141231616j), +- rtol=1e-12, ++ rtol=3e-12, + ), + ), + pytest.param( +@@ -1378,7 +1378,7 @@ class TestHyp2f1: + c=-7.949900487447654, + z=(0.4172413793103451-0.8724137931034484j), + expected=(-2258.1590330318213+8860.193389158803j), +- rtol=1e-10, ++ rtol=1.4e-10, + ), + ), + ] +@@ -1433,7 +1433,7 @@ class TestHyp2f1: + c=-15.964218273004214, + z=(0.6448275862068968+0.8724137931034486j), + expected=(85592537010.05054-8061416766688.324j), +- rtol=1e-14, ++ rtol=2e-14, + ), + ), + pytest.param( +-- +1.8.3.1 + diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.4_fix-deps-ellip_harm_2.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.4_fix-deps-ellip_harm_2.patch new file mode 100644 index 00000000000..22c2c22ae62 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.4_fix-deps-ellip_harm_2.patch @@ -0,0 +1,38 @@ +fix for: 'scipy/special/cython_special.pxd' not found +see also https://github.com/scipy/scipy/issues/19167 + +From c4f6bdb78d1eac3e03399fbaacb2a1d4cf1167c8 Mon Sep 17 00:00:00 2001 +From: Ben Boeckel +Date: Thu, 31 Aug 2023 10:09:56 -0400 +Subject: [PATCH] BLD: special: fix dependencies for `_ellip_harm_2` + +Generating the source for `_ellip_harm_2` requires the +`cython_special.pxd` header to be generated. So add a dependency for +this. + +Closes gh-19167 + +Co-authored-by: Ralf Gommers +--- + scipy/special/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/scipy/special/meson.build b/scipy/special/meson.build +index e7e25aa54e83..900064410381 100644 +--- a/scipy/special/meson.build ++++ b/scipy/special/meson.build +@@ -318,12 +318,12 @@ cython_special_pxd = custom_target('_dummy_cython_special.pxd', + uf_cython_gen = generator(cython, + arguments : cython_args, + output : '@BASENAME@.c', +- depends : [_cython_tree, _ufuncs_pxi_pxd_sources]) ++ depends : [_cython_tree, _ufuncs_pxi_pxd_sources, cython_special_pxd]) + + uf_cython_gen_cpp = generator(cython, + arguments : cython_cplus_args, + output : '@BASENAME@.cpp', +- depends : [_cython_tree, _ufuncs_pxi_pxd_sources]) ++ depends : [_cython_tree, _ufuncs_pxi_pxd_sources, cython_special_pxd]) + + py3.extension_module('_ufuncs', + [ diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-8.4-gompi-2023b-CUDA-12.4.0.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.4-gompi-2023b-CUDA-12.4.0.eb new file mode 100644 index 00000000000..5a45e3f80e1 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.4-gompi-2023b-CUDA-12.4.0.eb @@ -0,0 +1,57 @@ +# Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020-2024 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD + +name = 'Score-P' +version = '8.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.score-p.org' +description = """ + The Score-P measurement infrastructure is a highly scalable and easy-to-use + tool suite for profiling, event tracing, and online analysis of HPC + applications. +""" + +toolchain = {'name': 'gompi', 'version': '2023b'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['7bbde9a0721d27cc6205baf13c1626833bcfbabb1f33b325a2d67976290f7f8a'] + +dependencies = [ + ('CUDA', '12.4.0', '', SYSTEM), + ('UCX-CUDA', '1.15.0', versionsuffix), + ('CubeLib', '4.8.2'), + ('CubeWriter', '4.8.2'), + ('libunwind', '1.6.2'), + ('OPARI2', '2.0.8'), + ('OTF2', '3.0.3'), + # Hardware counter support (optional): + ('PAPI', '7.1.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.2'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'cuda_mgmt', 'compiler_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt' +] +sanity_check_paths = { + 'files': + ['bin/scorep', 'include/scorep/SCOREP_User.h'] + + ['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)], + 'dirs': [], +} +sanity_check_commands = ['scorep-config --help'] + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-8.4-gompi-2023b.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.4-gompi-2023b.eb new file mode 100644 index 00000000000..677c4481ebb --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.4-gompi-2023b.eb @@ -0,0 +1,54 @@ +# Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020-2024 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD + +name = 'Score-P' +version = '8.4' + +homepage = 'https://www.score-p.org' +description = """ + The Score-P measurement infrastructure is a highly scalable and easy-to-use + tool suite for profiling, event tracing, and online analysis of HPC + applications. +""" + +toolchain = {'name': 'gompi', 'version': '2023b'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['7bbde9a0721d27cc6205baf13c1626833bcfbabb1f33b325a2d67976290f7f8a'] + +dependencies = [ + ('CubeLib', '4.8.2'), + ('CubeWriter', '4.8.2'), + ('libunwind', '1.6.2'), + ('OPARI2', '2.0.8'), + ('OTF2', '3.0.3'), + # Hardware counter support (optional): + ('PAPI', '7.1.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.2'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt' +] +sanity_check_paths = { + 'files': + ['bin/scorep', 'include/scorep/SCOREP_User.h'] + + ['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)], + 'dirs': [], +} +sanity_check_commands = ['scorep-config --help'] + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Seaborn/Seaborn-0.13.2-gfbf-2023a.eb b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.13.2-gfbf-2023a.eb new file mode 100644 index 00000000000..3168e1c3843 --- /dev/null +++ b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.13.2-gfbf-2023a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Seaborn' +version = '0.13.2' + +homepage = 'https://seaborn.pydata.org/' +description = """ Seaborn is a Python visualization library based on matplotlib. + It provides a high-level interface for drawing attractive statistical graphics. """ + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7'] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SemiBin/SemiBin-2.0.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/s/SemiBin/SemiBin-2.0.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..8c9f5d9c895 --- /dev/null +++ b/easybuild/easyconfigs/s/SemiBin/SemiBin-2.0.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'SemiBin' +version = '2.0.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://semibin.readthedocs.io' +description = "SemiBin: Metagenomic Binning Using Siamese Neural Networks for short and long reads" + +toolchain = {'name': 'foss', 'version': '2022a'} + +local_pytorch_ver = '1.12.0' + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('tqdm', '4.64.0'), + ('scikit-learn', '1.1.2'), + ('python-igraph', '0.10.3'), + ('PyTorch', local_pytorch_ver, versionsuffix), + ('torchvision', '0.13.1', versionsuffix), + ('torchaudio', '0.12.0', '-PyTorch-%s' % local_pytorch_ver + versionsuffix), + ('BEDTools', '2.30.0'), + ('HMMER', '3.3.2'), + ('MMseqs2', '14-7e284'), + ('prodigal', '2.6.3'), + ('FragGeneScan', '1.31'), + ('SAMtools', '1.16.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/BigDataBiology/SemiBin/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['12541eaadb1f8ed841a713ede7fa4b85624e3ddbc3ee005e41de368e359c70fd'], + 'preinstallopts': "sed -i 's/python-igraph/igraph/g' setup.py && ", + 'modulename': 'SemiBin', + }), +] + +sanity_check_paths = { + 'files': ['bin/SemiBin', 'bin/SemiBin2'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "SemiBin --help", + "SemiBin2 --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SemiBin/SemiBin-2.0.2-foss-2022a.eb b/easybuild/easyconfigs/s/SemiBin/SemiBin-2.0.2-foss-2022a.eb new file mode 100644 index 00000000000..140669ba7d8 --- /dev/null +++ b/easybuild/easyconfigs/s/SemiBin/SemiBin-2.0.2-foss-2022a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'SemiBin' +version = '2.0.2' + +homepage = 'https://semibin.readthedocs.io' +description = "SemiBin: Metagenomic Binning Using Siamese Neural Networks for short and long reads" + +toolchain = {'name': 'foss', 'version': '2022a'} + +local_pytorch_ver = '1.12.0' + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('tqdm', '4.64.0'), + ('scikit-learn', '1.1.2'), + ('python-igraph', '0.10.3'), + ('PyTorch', local_pytorch_ver), + ('torchvision', '0.13.1'), + ('torchaudio', '0.12.0', '-PyTorch-%s' % local_pytorch_ver), + ('BEDTools', '2.30.0'), + ('HMMER', '3.3.2'), + ('MMseqs2', '14-7e284'), + ('prodigal', '2.6.3'), + ('FragGeneScan', '1.31'), + ('SAMtools', '1.16.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/BigDataBiology/SemiBin/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['12541eaadb1f8ed841a713ede7fa4b85624e3ddbc3ee005e41de368e359c70fd'], + 'preinstallopts': "sed -i 's/python-igraph/igraph/g' setup.py && ", + 'modulename': 'SemiBin', + }), +] + +sanity_check_paths = { + 'files': ['bin/SemiBin', 'bin/SemiBin2'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "SemiBin --help", + "SemiBin2 --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Sentence-Transformers/Sentence-Transformers-2.2.2-foss-2022b.eb b/easybuild/easyconfigs/s/Sentence-Transformers/Sentence-Transformers-2.2.2-foss-2022b.eb new file mode 100644 index 00000000000..54f5df43bc6 --- /dev/null +++ b/easybuild/easyconfigs/s/Sentence-Transformers/Sentence-Transformers-2.2.2-foss-2022b.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'Sentence-Transformers' +version = '2.2.2' + +homepage = 'https://github.com/UKPLab/sentence-transformers' +description = """Sentence Transformers provides an easy method to compute dense vector representations for sentences, + paragraphs, and images""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Transformers', '4.30.2'), + ('tqdm', '4.64.1'), + ('scikit-learn', '1.2.1'), + ('SentencePiece', '0.1.99'), + ('PyTorch', '1.13.1'), + ('torchvision', '0.14.1'), + ('NLTK', '3.8.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('sentence-transformers', version, { + 'checksums': ['dbc60163b27de21076c9a30d24b5b7b6fa05141d68cf2553fa9a77bf79a29136'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.99-GCC-12.2.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.99-GCC-12.2.0.eb new file mode 100644 index 00000000000..b0776f524b6 --- /dev/null +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.99-GCC-12.2.0.eb @@ -0,0 +1,65 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Bundle' + +name = 'SentencePiece' +version = '0.1.99' + +homepage = 'https://github.com/google/sentencepiece' +description = "Unsupervised text tokenizer for Neural Network-based text generation." +github_account = 'google' + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('gperftools', '2.14'), +] + +default_component_specs = { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['63617eaf56c7a3857597dcd8780461f57dd21381b56a27716ef7d7e02e14ced4'], +} + +components = [ + (name, version, { + 'easyblock': 'CMakeMake', + 'separate_build_dir': True, + 'start_dir': '%(namelower)s-%(version)s', + }), + ('sentencepiece', version, { + 'easyblock': 'PythonPackage', + 'start_dir': '%(namelower)s-%(version)s/python', + 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', + 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, + }), +] + +postinstallcmds = ['cp -a %(builddir)s/%(namelower)s-%(version)s/{data,doc} %(installdir)s/'] + +sanity_check_paths = { + 'files': ['bin/spm_%s' % x for x in ['decode', 'encode', 'export_vocab', 'normalize', 'train']] + + ['lib/libsentencepiece.%s' % SHLIB_EXT, 'lib/libsentencepiece_train.%s' % SHLIB_EXT] + + ['include/sentencepiece_processor.h', 'include/sentencepiece_trainer.h'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'data', 'doc'], +} + +sanity_check_commands = [ + 'spm_train --help', + "python -c 'import sentencepiece'", +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..fe0fb357d28 --- /dev/null +++ b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-12.3.0.eb @@ -0,0 +1,49 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'SeqLib' +version = '1.2.0' + +homepage = 'https://github.com/walaj/SeqLib' +description = """C++ interface to HTSlib, BWA-MEM and Fermi.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'walaj' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version_major_minor)s.0_avoid-bwa-fml-namespace-conflict.patch', + '%(name)s-%(version_major_minor)s.0_use-external-deps.patch', +] +checksums = [ + '6892bdb5cae88d8d8acbbfadd351cfa00004bc7c0fd1ae912dc1ff1ccfd61a70', # 1.2.0.tar.gz + # SeqLib-1.2.0_avoid-bwa-fml-namespace-conflict.patch + '9be9229bcf34db8e4bd1fd49614bb55d84c12df263ca7174980f7f4b1bd63da9', + '413f0ad8e0963d8922205d31e0c361cfa98a10f93e7d3e0506e0bed539ec70eb', # SeqLib-1.2.0_use-external-deps.patch +] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [ + ('zlib', '1.2.13'), + ('XZ', '5.4.2'), + ('bzip2', '1.0.8'), + ('JsonCpp', '1.9.5'), + ('BWA', '0.7.17'), + ('HTSlib', '1.18'), + ('fermi-lite', '20190320'), + ('SSW', '1.1'), + ('PCRE', '8.45'), +] + +preconfigopts = "autoreconf -i -f && " + +sanity_check_paths = { + 'files': ['bin/seqtools', 'lib/libseqlib.%s' % SHLIB_EXT], + 'dirs': [], +} +sanity_check_commands = ["seqtools"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seqmagick/Seqmagick-0.8.6-foss-2023a.eb b/easybuild/easyconfigs/s/Seqmagick/Seqmagick-0.8.6-foss-2023a.eb new file mode 100644 index 00000000000..faee813b46f --- /dev/null +++ b/easybuild/easyconfigs/s/Seqmagick/Seqmagick-0.8.6-foss-2023a.eb @@ -0,0 +1,45 @@ +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Copyright:: Copyright 2016 University of Geneva Switzerland +# Authors:: Yann Sagon +# License:: MIT/GPL +# Update:: Pavel Tománek (INUITS) + +easyblock = "PythonBundle" + +name = 'Seqmagick' +version = '0.8.6' + +homepage = 'https://fhcrc.github.io/seqmagick/' +description = """We often have to convert between sequence formats and do + little tasks on them, and it's not worth writing scripts for that. Seqmagick + is a kickass little utility built in the spirit of imagemagick to expose the + file format conversion in Biopython in a convenient way. Instead of having a + big mess of scripts, there is one that takes arguments.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Biopython', '1.83'), +] + +exts_list = [ + ('pygtrie', '2.5.0', { + 'checksums': ['203514ad826eb403dab1d2e2ddd034e0d1534bbe4dbe0213bb0593f66beba4e2'], + }), + (name, version, { + 'modulename': 'Bio', + 'source_urls': ['https://files.pythonhosted.org/packages/source/s/seqmagick/'], + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['7f09ef40836b12a2d4c842b179633f1087352855b6ff8fcd045d56003fee622a'], + }), +] + +sanity_check_paths = { + 'files': ['bin/seqmagick'], + 'dirs': [] +} + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-5.0.1-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/s/Seurat/Seurat-5.0.1-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..274c7432188 --- /dev/null +++ b/easybuild/easyconfigs/s/Seurat/Seurat-5.0.1-foss-2022b-R-4.2.2.eb @@ -0,0 +1,76 @@ +easyblock = 'Bundle' + +name = 'Seurat' +version = '5.0.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://satijalab.org/seurat' +description = "Seurat is an R package designed for QC, analysis, and exploration of single cell RNA-seq data." + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), +] + +exts_defaultclass = 'RPackage' +exts_default_options = { + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], +} + +exts_list = [ + ('Matrix', '1.6-5', { + 'checksums': ['726c8d46626e73d1d6e76a74679813c6df96ffdee1aee45d94e7014cb4ceb97d'], + }), + ('sp', '1.5-1', { + 'checksums': ['69b9eab481d389bbb736d2adcf50c180aca248c3ffc4ebda8ffe2accc5f229df'], + }), + ('SeuratObject', version, { + 'checksums': ['5ace1720fef373d44da36d28cab8947cd3c342e76f889c2f204a62d668f5f941'], + }), + ('sctransform', '0.4.1', { + 'checksums': ['5f6be7f8be543e4c32c8007207b603a750881459370b7bb5afd63e8c8fabf171'], + }), + ('uwot', '0.1.14', { + 'checksums': ['8016e8192b7e72604ca71840cbe43fa1d2caed8a8ad7cbf20e85cd3b384a9fe0'], + }), + ('spatstat.utils', '3.0-1', { + 'checksums': ['cba1c7806564fd9145ca15edf77233d6ba5609f0989f7812221f5fc1ece0b91a'], + }), + ('spatstat.data', '3.0-0', { + 'checksums': ['cff9058a88489020a4a05b9576cd452f37fa9b42084873c474d06931f5187057'], + }), + ('spatstat.geom', '3.0-3', { + 'checksums': ['6e5b56c60e774a0cdcaa5a8ffde071225f233832446a341588bd8a7840913c84'], + }), + ('spatstat.random', '3.0-1', { + 'checksums': ['938c845c063b8781bf894c0a67537e7b2a7c425a4beba4a95ec9d2c37b43e5b6'], + }), + ('spatstat.sparse', '3.0-0', { + 'checksums': ['99be0a3c7592760fdf1668dc0811f75ed91c400390d1ecc3d5e643255f501ad2'], + }), + ('spatstat.explore', '3.0-5', { + 'checksums': ['9f438a12fac3f3e1d0bd550b1393c1e5732be694517b0878db09da557d6dc862'], + }), + ('scattermore', '1.2', { + 'checksums': ['5534a87b0bdd1375f0fbffc1a5c980ad64e33a108435a67469b8324b580602d1'], + }), + (name, version, { + 'checksums': ['0713b434be5bf14fcea068fbfc632ba15bebdec1007f1f48effd0dbb95c5150d'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Spark/Spark-3.5.1-foss-2023a-Java-17.eb b/easybuild/easyconfigs/s/Spark/Spark-3.5.1-foss-2023a-Java-17.eb new file mode 100644 index 00000000000..00240ff36f9 --- /dev/null +++ b/easybuild/easyconfigs/s/Spark/Spark-3.5.1-foss-2023a-Java-17.eb @@ -0,0 +1,53 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'Tarball' + +name = 'Spark' +version = '3.5.1' +versionsuffix = '-Java-%(javaver)s' +homepage = 'https://spark.apache.org' +description = """Spark is Hadoop MapReduce done in memory""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + 'https://archive.apache.org/dist//%(namelower)s/%(namelower)s-%(version)s/', + 'https://downloads.apache.org/%(namelower)s/%(namelower)s-%(version)s/' +] +sources = ['%(namelower)s-%(version)s-bin-hadoop3.tgz'] +checksums = ['5df15f8027067c060fe47ebd351a1431a61dbecc9c28b8dd29e2c6e1935c23eb'] + +dependencies = [ + ('Python', '3.11.3'), + ('Java', '17', '', SYSTEM), + ('Arrow', '14.0.1'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('py4j', '0.10.9.7', { + 'checksums': ['0b6e5315bb3ada5cf62ac651d107bb2ebc02def3dee9d9548e3baac644ea8dbb'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyspark', 'bin/spark-shell'], + 'dirs': ['python'] +} + +sanity_check_commands = [ + "pyspark -h", + "python -c 'import pyspark'", +] + +modextrapaths = {'PYTHONPATH': ['python', 'lib/python%(pyshortver)s/site-packages']} + +modextravars = {'SPARK_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a9834861515 --- /dev/null +++ b/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +# EasyBuild easyconfig +# +# Fred Hutchinson Cancer Research Center - Seattle - Washington - US +# https://www.fredhutch.org +# John Dey +# +easyblock = 'CMakeMake' + +name = 'SpectrA' +version = '1.0.1' + +homepage = 'https://spectralib.org/' +description = """Spectra stands for Sparse Eigenvalue Computation Toolkit as a Redesigned ARPACK. It is a C++ + library for large scale eigenvalue problems, built on top of Eigen, an open source linear algebra library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'yixuan' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['919e3fbc8c539a321fd5a0766966922b7637cc52eb50a969241a997c733789f3'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [('Eigen', '3.4.0')] + +sanity_check_paths = { + 'files': ['include/Spectra/SymEigsSolver.h'], + 'dirs': ['include/Spectra/LinAlg', 'share/spectra/cmake'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Stack/Stack-2.13.1-x86_64.eb b/easybuild/easyconfigs/s/Stack/Stack-2.13.1-x86_64.eb new file mode 100644 index 00000000000..e9496c759c5 --- /dev/null +++ b/easybuild/easyconfigs/s/Stack/Stack-2.13.1-x86_64.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'Stack' +version = '2.13.1' +versionsuffix = '-x86_64' + +homepage = 'https://docs.haskellstack.org' +description = """Stack is a cross-platform program for developing Haskell projects. +It is intended for Haskellers both new and experienced.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/commercialhaskell/stack/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s-linux-x86_64.tar.gz'] +checksums = ['45281bb2385e928916ec8bcbc7ab790ce8721bbf805f3d0752544ada22ad5ea3'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['stack'], + 'dirs': ['doc'], +} + +sanity_check_commands = ['stack --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.0-foss-2022a.eb b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.0-foss-2022a.eb index 1527189c23b..39de229b710 100644 --- a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.0-foss-2022a.eb +++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.0-foss-2022a.eb @@ -28,8 +28,12 @@ configopts += '-DTPL_PARMETIS_LIBRARIES="${EBROOTPARMETIS}/lib/libparmetis.a;${E # Include only first four tests, which should be fairly small to run pretestopts = 'export ARGS="$ARGS --tests-regex pdtest_[21]x1_[13]_2_8_20_SP" && ' +# remove broken symlink to libsuperlu.a postinstallcmds = [ - "rm %(installdir)s/lib64/libsuperlu.a", # remove broken symlink to libsuperlu.a + "if [ -f %(installdir)s/lib64/libsuperlu.a ]; then rm %(installdir)s/lib64/libsuperlu.a; fi", + # This second one can be removed when https://github.com/easybuilders/easybuild-framework/pull/4435 is merged + # (i.e. in EasyBuild 5.0) + "if [ -f %(installdir)s/lib/libsuperlu.a ]; then rm %(installdir)s/lib/libsuperlu.a; fi" ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2022b.eb b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2022b.eb index 44b3702b12b..a1b9096b3c3 100644 --- a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2022b.eb +++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2022b.eb @@ -28,8 +28,12 @@ configopts += '-DTPL_PARMETIS_LIBRARIES="${EBROOTPARMETIS}/lib/libparmetis.a;${E # Include only first four tests, which should be fairly small to run pretestopts = 'export ARGS="$ARGS --tests-regex pdtest_[21]x1_[13]_2_8_20_SP" && ' +# remove broken symlink to libsuperlu.a postinstallcmds = [ - "rm %(installdir)s/lib64/libsuperlu.a", # remove broken symlink to libsuperlu.a + "if [ -f %(installdir)s/lib64/libsuperlu.a ]; then rm %(installdir)s/lib64/libsuperlu.a; fi", + # This second one can be removed when https://github.com/easybuilders/easybuild-framework/pull/4435 is merged + # (i.e. in EasyBuild 5.0) + "if [ -f %(installdir)s/lib/libsuperlu.a ]; then rm %(installdir)s/lib/libsuperlu.a; fi" ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2023a.eb b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2023a.eb new file mode 100644 index 00000000000..c69bddd6e3e --- /dev/null +++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2023a.eb @@ -0,0 +1,44 @@ +easyblock = "EB_SuperLU" + +name = 'SuperLU_DIST' +version = '8.1.2' + +homepage = 'https://crd-legacy.lbl.gov/~xiaoye/SuperLU/' +description = """SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems + of linear equations on high performance machines.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'openmp': True} + +github_account = 'xiaoyeli' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ["v%(version)s.tar.gz"] +checksums = ['7b16c442bb01ea8b298c0aab9a2584aa4615d09786aac968cb2f3118c058206b'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('ParMETIS', '4.0.3'), +] + +configopts = '-DTPL_PARMETIS_INCLUDE_DIRS="${EBROOTPARMETIS}/include" ' +configopts += '-DTPL_PARMETIS_LIBRARIES="${EBROOTPARMETIS}/lib/libparmetis.a;${EBROOTPARMETIS}/lib/libmetis.a" ' + +# Some tests run longer than default 1500s timeout on fairly big machine (36 cores). +# Include only first four tests, which should be fairly small to run +pretestopts = 'export ARGS="$ARGS --tests-regex pdtest_[21]x1_[13]_2_8_20_SP" && ' + +# remove broken symlink to libsuperlu.a +postinstallcmds = [ + "if [ -f %(installdir)s/lib64/libsuperlu.a ]; then rm %(installdir)s/lib64/libsuperlu.a; fi", + # This second one can be removed when https://github.com/easybuilders/easybuild-framework/pull/4435 is merged + # (i.e. in EasyBuild 5.0) + "if [ -f %(installdir)s/lib/libsuperlu.a ]; then rm %(installdir)s/lib/libsuperlu.a; fi" +] + +sanity_check_paths = { + 'files': ['lib64/libsuperlu_dist.a'], + 'dirs': ['include'] +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..8eb12670652 --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1.1' + +homepage = 'https://www.hdfgroup.org/doc_resource/SZIP/' + +description = """ + Szip compression software, providing lossless compression of scientific data +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/s3fs/s3fs-2023.12.2-foss-2023a.eb b/easybuild/easyconfigs/s/s3fs/s3fs-2023.12.2-foss-2023a.eb new file mode 100644 index 00000000000..8f4065fc983 --- /dev/null +++ b/easybuild/easyconfigs/s/s3fs/s3fs-2023.12.2-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = "PythonBundle" + +name = 's3fs' +version = '2023.12.2' + +homepage = 'https://github.com/fsspec/s3fs/' +description = """S3FS builds on aiobotocore to provide a convenient Python filesystem interface for S3..""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('aiohttp', '3.8.5'), + ('wrapt', '1.15.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('botocore', '1.33.13', { + 'checksums': ['fb577f4cb175605527458b04571451db1bd1a2036976b626206036acd4496617'], + }), + ('aioitertools', '0.11.0', { + 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], + }), + ('aiobotocore', '2.9.0', { + 'checksums': ['4dc1e20da4561ae662219ca95b20f923328c3106764a741bec00e98eb6680f7e'], + }), + ('fsspec', version, { + 'checksums': ['8548d39e8810b59c38014934f6b31e57f40c1b20f911f4cc2b85389c7e9bf0cb'], + }), + (name, version, { + 'checksums': ['b5ec07062481bbb45cb061b31984c7188d106e292c27033039e024e4ba5740dc'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/safestringlib/safestringlib-20240228-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/s/safestringlib/safestringlib-20240228-intel-compilers-2023.1.0.eb new file mode 100644 index 00000000000..89a13ab50ec --- /dev/null +++ b/easybuild/easyconfigs/s/safestringlib/safestringlib-20240228-intel-compilers-2023.1.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'safestringlib' +version = '20240228' +_commit = 'b006356' + +homepage = 'https://github.com/intel/safestringlib' +description = """ +The Secure Development Lifecycle (SDL) recommends banning certain C Library +functions because they directly contribute to security vulnerabilities such as +buffer overflows. However routines for the manipulation of strings and memory +buffers are common in software and firmware, and are essential to accomplish +certain programming tasks. Safer replacements for these functions that avoid or +prevent serious security vulnerabilities (e.g. buffer overflows, string format +attacks, conversion overflows/underflows, etc.) are available in the SafeString +Library.""" + +toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} + +github_account = 'intel' +sources = [{ + 'source_urls': [GITHUB_SOURCE], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': SOURCE_TAR_GZ, +}] +checksums = ['ea8e8952d7ade32a19df18af3a645ea54af924ff63a9b1a0b60e0e51be396d31'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +postinstallcmds = ['cp libsafestring_static.a %(installdir)s/lib/'] + +sanity_check_paths = { + 'files': ['lib/libsafestring_shared.%s' % SHLIB_EXT, 'lib/libsafestring_static.a'], + 'dirs': ['include', 'share/safestring/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scCODA/scCODA-0.1.9-foss-2023a.eb b/easybuild/easyconfigs/s/scCODA/scCODA-0.1.9-foss-2023a.eb new file mode 100644 index 00000000000..f1c79dc4cbf --- /dev/null +++ b/easybuild/easyconfigs/s/scCODA/scCODA-0.1.9-foss-2023a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'scCODA' +version = '0.1.9' + +homepage = 'https://github.com/theislab/scCODA' +description = """scCODA allows for identification of compositional changes in high-throughput sequencing count data, +especially cell compositions from scRNA-seq.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('TensorFlow', '2.13.0'), + ('tensorflow-probability', '0.20.0'), + ('scanpy', '1.9.8'), + ('scikit-bio', '0.5.9'), + ('rpy2', '3.5.15'), + ('ArviZ', '0.16.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['786692a5ca546985583784179a6b2d535a54b37b30892fb9e264c5e854585dac'], + # strip out tensorflow-probability as required dependency, to ensure that 'pip check' passes + 'preinstallopts': "sed -i '6d' requirements.txt && sed -i '28d' setup.py && ", + }), +] + +sanity_pip_check = True + +sanity_check_commands = [ + 'python -c "import tensorflow_probability as tfp"', + 'python -c "import tensorflow as tf"', + 'python -c "from anndata import AnnData"', + 'python -c "import rpy2.robjects as rp"', + 'python -c "import seaborn as sns"', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scVelo/scVelo-0.3.1-foss-2023a.eb b/easybuild/easyconfigs/s/scVelo/scVelo-0.3.1-foss-2023a.eb new file mode 100644 index 00000000000..b799671e0f0 --- /dev/null +++ b/easybuild/easyconfigs/s/scVelo/scVelo-0.3.1-foss-2023a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'scVelo' +version = '0.3.1' + +homepage = "https://scvelo.org" +description = """scVelo is a scalable toolkit for estimating and analyzing RNA velocities in single cells using + dynamical modeling.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('hatchling', '1.18.0')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('numba', '0.58.1'), + ('anndata', '0.10.5.post1'), + ('scanpy', '1.9.8'), + ('loompy', '3.0.7'), + ('umap-learn', '0.5.5'), + ('scikit-learn', '1.3.1'), + ('matplotlib', '3.7.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('scvelo', version, { + 'patches': ['scVelo-0.3.1_dep-fix.patch'], + 'preinstallopts': "sed -i 's/scikit-learn>=0.21.2, <1.2.0/scikit-learn>=0.21.2/' pyproject.toml && ", + 'checksums': [ + {'scvelo-0.3.1.tar.gz': '3a41a73b29e091268c40f08dc57a63eab5dfc2bd8a57e564cf1a6aca5e4d5d22'}, + {'scVelo-0.3.1_dep-fix.patch': 'c8d1b41518f4b7b6528bcb00861287d9f1d96d419a4b3ce98599ea1d8cb59503'}, + ], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scVelo/scVelo-0.3.1_dep-fix.patch b/easybuild/easyconfigs/s/scVelo/scVelo-0.3.1_dep-fix.patch new file mode 100644 index 00000000000..10c26136ce7 --- /dev/null +++ b/easybuild/easyconfigs/s/scVelo/scVelo-0.3.1_dep-fix.patch @@ -0,0 +1,216 @@ +Move scvi-tools to optional-dependencies and remove `torch` dependency + +From b8d80f7934a305888a61417f7aa22de2e426b81a Mon Sep 17 00:00:00 2001 +From: Michal Klein <46717574+michalk8@users.noreply.github.com> +Date: Wed, 7 Feb 2024 22:15:53 +0100 +Subject: [PATCH 1/4] Remove hard `scvi-tools` dependency + +--- + .github/workflows/ci.yml | 2 +- + pyproject.toml | 7 +++++-- + scvelo/tools/__init__.py | 12 ++++++++++-- + 3 files changed, 16 insertions(+), 5 deletions(-) + +diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml +index fd341688..f8058c62 100644 +--- a/.github/workflows/ci.yml ++++ b/.github/workflows/ci.yml +@@ -45,7 +45,7 @@ jobs: + fail-fast: false + matrix: + os: [ubuntu-latest] +- python-version: [3.9, "3.10"] ++ python-version: ["3.9", "3.10"] + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} +diff --git a/pyproject.toml b/pyproject.toml +index a0184458..5f747c2c 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -50,11 +50,13 @@ dependencies = [ + "pandas>=1.1.1, !=1.4.0", + "scipy>=1.4.1", + "scikit-learn>=0.21.2, <1.2.0", +- "scvi-tools>=0.20.1", + "matplotlib>=3.3.0" + ] + + [project.optional-dependencies] ++vi = [ ++ "scvi-tools>=0.20.1", ++] + louvain = [ + "igraph", + "louvain" +@@ -78,7 +80,8 @@ dev = [ + "pybind11", + "pytest-cov", + "igraph", +- "setuptools_scm" ++ "scvi-tools>=0.20.1", ++ "setuptools_scm", + ] + docs = [ + # Just until rtd.org understands pyproject.toml +diff --git a/scvelo/tools/__init__.py b/scvelo/tools/__init__.py +index b2e3e126..3a40aff1 100644 +--- a/scvelo/tools/__init__.py ++++ b/scvelo/tools/__init__.py +@@ -1,3 +1,5 @@ ++import contextlib ++ + from scanpy.tools import diffmap, dpt, louvain, tsne, umap + + from ._em_model import ExpectationMaximizationModel +@@ -11,7 +13,6 @@ + recover_latent_time, + ) + from ._steady_state_model import SecondOrderSteadyStateModel, SteadyStateModel +-from ._vi_model import VELOVI + from .paga import paga + from .rank_velocity_genes import rank_velocity_genes, velocity_clusters + from .score_genes_cell_cycle import score_genes_cell_cycle +@@ -23,6 +24,10 @@ + from .velocity_graph import velocity_graph + from .velocity_pseudotime import velocity_map, velocity_pseudotime + ++with contextlib.suppress(ImportError): ++ from ._vi_model import VELOVI ++ ++ + __all__ = [ + "align_dynamics", + "differential_kinetic_test", +@@ -54,5 +59,8 @@ + "SteadyStateModel", + "SecondOrderSteadyStateModel", + "ExpectationMaximizationModel", +- "VELOVI", + ] ++if "VELOVI" in locals(): ++ __all__ += ["VELOVI"] ++ ++del contextlib + +From 12e91cf0015df8917669e8242afd38c9b7291f82 Mon Sep 17 00:00:00 2001 +From: Michal Klein <46717574+michalk8@users.noreply.github.com> +Date: Wed, 7 Feb 2024 22:37:00 +0100 +Subject: [PATCH 2/4] Skip VELOVI tests if `scvi-tools` not installed + +--- + pyproject.toml | 1 - + tests/tools/test_vi_model.py | 12 ++++++++++-- + 2 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/pyproject.toml b/pyproject.toml +index 5f747c2c..71cd881b 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -80,7 +80,6 @@ dev = [ + "pybind11", + "pytest-cov", + "igraph", +- "scvi-tools>=0.20.1", + "setuptools_scm", + ] + docs = [ +diff --git a/tests/tools/test_vi_model.py b/tests/tools/test_vi_model.py +index 15592072..241896d8 100644 +--- a/tests/tools/test_vi_model.py ++++ b/tests/tools/test_vi_model.py +@@ -1,7 +1,15 @@ +-from scvi.data import synthetic_iid ++# isort: skip_file ++import pytest ++import contextlib + + import scvelo as scv +-from scvelo.tools import VELOVI ++ ++with contextlib.suppress(ImportError): ++ from scvi.data import synthetic_iid ++ from scvelo.tools import VELOVI ++ ++ ++_ = pytest.importorskip("scvi") + + + def test_preprocess_data(): + +From cfd4fa096e8b25161fc71467d02bf4036b0f5e75 Mon Sep 17 00:00:00 2001 +From: Michal Klein <46717574+michalk8@users.noreply.github.com> +Date: Wed, 7 Feb 2024 22:43:16 +0100 +Subject: [PATCH 3/4] Remove `torch` dependency + +--- + scvelo/tools/_core.py | 4 ---- + scvelo/tools/_vi_module.py | 4 +++- + 2 files changed, 3 insertions(+), 5 deletions(-) + +diff --git a/scvelo/tools/_core.py b/scvelo/tools/_core.py +index df352bc0..92b18212 100644 +--- a/scvelo/tools/_core.py ++++ b/scvelo/tools/_core.py +@@ -1,8 +1,6 @@ + from abc import abstractmethod + from typing import NamedTuple + +-import torch +- + from anndata import AnnData + + +@@ -13,8 +11,6 @@ class _REGISTRY_KEYS_NT(NamedTuple): + + REGISTRY_KEYS = _REGISTRY_KEYS_NT() + +-DEFAULT_ACTIVATION_FUNCTION = torch.nn.Softplus() +- + + class BaseInference: + """Base Inference class for all velocity methods.""" +diff --git a/scvelo/tools/_vi_module.py b/scvelo/tools/_vi_module.py +index 4c5ecc81..c211da75 100644 +--- a/scvelo/tools/_vi_module.py ++++ b/scvelo/tools/_vi_module.py +@@ -11,7 +11,9 @@ + from scvi.module.base import auto_move_data, BaseModuleClass, LossOutput + from scvi.nn import Encoder, FCLayers + +-from ._core import DEFAULT_ACTIVATION_FUNCTION, REGISTRY_KEYS ++from ._core import REGISTRY_KEYS ++ ++DEFAULT_ACTIVATION_FUNCTION = torch.nn.Softplus() + + torch.backends.cudnn.benchmark = True + + +From e03ed96918361f3d124ee178c4bda1cfee0e83cb Mon Sep 17 00:00:00 2001 +From: Michal Klein <46717574+michalk8@users.noreply.github.com> +Date: Wed, 7 Feb 2024 22:51:35 +0100 +Subject: [PATCH 4/4] Remove unused `skip_file` + +--- + tests/tools/test_vi_model.py | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/tests/tools/test_vi_model.py b/tests/tools/test_vi_model.py +index 241896d8..d8ecc0c8 100644 +--- a/tests/tools/test_vi_model.py ++++ b/tests/tools/test_vi_model.py +@@ -1,11 +1,12 @@ +-# isort: skip_file +-import pytest + import contextlib + ++import pytest ++ + import scvelo as scv + + with contextlib.suppress(ImportError): + from scvi.data import synthetic_iid ++ + from scvelo.tools import VELOVI + + \ No newline at end of file diff --git a/easybuild/easyconfigs/s/scanpy/scanpy-1.9.8-foss-2023a.eb b/easybuild/easyconfigs/s/scanpy/scanpy-1.9.8-foss-2023a.eb new file mode 100644 index 00000000000..dc34504eeee --- /dev/null +++ b/easybuild/easyconfigs/s/scanpy/scanpy-1.9.8-foss-2023a.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'scanpy' +version = '1.9.8' + +homepage = 'https://scanpy.readthedocs.io/en/stable/' +description = """Scanpy is a scalable toolkit for analyzing single-cell gene expression data built + jointly with anndata. It includes preprocessing, visualization, clustering, trajectory inference + and differential expression testing. The Python-based implementation efficiently deals with + datasets of more than one million cells. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Seaborn', '0.13.2'), + ('h5py', '3.9.0'), + ('tqdm', '4.66.1'), + ('scikit-learn', '1.3.1'), + ('statsmodels', '0.14.1'), + ('networkx', '3.1'), + ('numba', '0.58.1'), + ('umap-learn', '0.5.5'), + ('hatchling', '1.18.0'), + ('anndata', '0.10.5.post1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('stdlib_list', '0.10.0', { + 'checksums': ['6519c50d645513ed287657bfe856d527f277331540691ddeaf77b25459964a14'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + ('joblib', '1.3.2', { + 'checksums': ['92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1'], + }), + ('session-info', '1.0.0', { + 'sources': ['session_info-%(version)s.tar.gz'], + 'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'], + }), + ('legacy_api_wrap', '1.4', { + 'checksums': ['92dfa274cedb26d6e6f70fac85c856fbdcc05058066656d76a665fb4bf11b785'], + }), + (name, version, { + 'checksums': ['2ab1790d2b82eadb0cf8d487f468beac7a8f6a3a8fd7112d1ae989f8c52a4353'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['natsort', 'scanpy']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = [ + "natsort --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scib/scib-1.1.4-foss-2023a.eb b/easybuild/easyconfigs/s/scib/scib-1.1.4-foss-2023a.eb new file mode 100644 index 00000000000..0f3d25a3ad1 --- /dev/null +++ b/easybuild/easyconfigs/s/scib/scib-1.1.4-foss-2023a.eb @@ -0,0 +1,43 @@ +# author: Denis Kristak (INUITS) +# update: Pavel Tománek (INUITS) + +easyblock = 'PythonBundle' + +name = 'scib' +version = '1.1.4' + +homepage = 'https://github.com/theislab/scib' +description = "Benchmarking atlas-level data integration in single-cell genomics." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Seaborn', '0.13.2'), + ('matplotlib', '3.7.2'), + ('numba', '0.58.1'), + ('scanpy', '1.9.8'), + ('h5py', '3.9.0'), + ('scikit-learn', '1.3.1'), + ('scikit-misc', '0.3.1'), + ('leidenalg', '0.10.2'), + ('umap-learn', '0.5.5'), + ('pydot', '2.0.0'), + ('igraph', '0.10.10'), + ('python-igraph', '0.11.4'), + ('Deprecated', '1.2.14'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['b7800f308cd6acc36db6e159a53b0432adb2f48e9b7b434240bc5d696df10bfb'], + }), +] + +preinstallopts = "sed -i 's|pandas<2|pandas>=2|g' setup.cfg && " + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.9-foss-2023a.eb b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.9-foss-2023a.eb new file mode 100644 index 00000000000..6b0f81efa7e --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.9-foss-2023a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'scikit-bio' +version = '0.5.9' +local_commit = '7565847' + +homepage = 'http://scikit-bio.org' +description = """scikit-bio is an open-source, BSD-licensed Python 3 package providing data structures, algorithms +and educational resources for bioinformatics.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('scikit-learn', '1.3.1'), + ('IPython', '8.14.0'), + ('h5py', '3.9.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('hdmedians', '0.14.2', { + 'checksums': ['b47aecb16771e1ba0736557255d80ae0240b09156bff434321de559b359ac2d6'], + }), + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + (name, version, { + 'modulename': 'skbio', + # download from commit to get rid of restriction of scipy version + 'source_urls': ['https://github.com/scikit-bio/scikit-bio/archive/'], + 'sources': [{'download_filename': '7565847.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['b2a1054e1bc89df9775335d31eaa6bfa0cce4487d568cff96e215fba8624d153'], + }), +] + +sanity_check_commands = ['python -m skbio.test'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scikit-extremes/scikit-extremes-2022.4.10-foss-2022a.eb b/easybuild/easyconfigs/s/scikit-extremes/scikit-extremes-2022.4.10-foss-2022a.eb new file mode 100644 index 00000000000..99e2056cc56 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-extremes/scikit-extremes-2022.4.10-foss-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'scikit-extremes' +version = '2022.4.10' +local_commit = '8a17f45' + +homepage = 'https://github.com/kikocorreoso/scikit-extremes' +description = """scikit-extremes is a basic statistical package to +perform univariate extreme value calculations using Python""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('lmoments3', '1.0.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('numdifftools', '0.9.41', { + 'checksums': ['4ef705cd3c06211b3a4e9fd05ad622be916dcfda40732f0128805a2c4be389b4'], + }), + (name, version, { + 'modulename': 'skextremes', + 'source_urls': ['https://github.com/kikocorreoso/scikit-extremes/archive/'], + 'sources': [{'download_filename': '8a17f45.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['b334a40db8f2f2a8fcfd46ce4d9ce55ffbd917897a24ed4444044d611c1b1fec'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.3.1-iimkl-2023a.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.3.1-iimkl-2023a.eb new file mode 100644 index 00000000000..365b2aaedd3 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.3.1-iimkl-2023a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '1.3.1' + +homepage = 'https://scikit-learn.org/stable/index.html' +description = """Scikit-learn integrates machine learning algorithms in the tightly-knit scientific Python world, +building upon numpy, scipy, and matplotlib. As a machine-learning module, +it provides versatile tools for data mining and analysis in any field of science and engineering. +It strives to be simple and efficient, accessible to everybody, and reusable in various contexts.""" + +toolchain = {'name': 'iimkl', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'sklearn', + 'checksums': ['1a231cced3ee3fa04756b4a7ab532dc9417acd581a330adff5f2c01ac2831fcf'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.3.2-gfbf-2023b.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.3.2-gfbf-2023b.eb new file mode 100644 index 00000000000..e47d5155b2b --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.3.2-gfbf-2023b.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '1.3.2' + +homepage = 'https://scikit-learn.org/stable/index.html' +description = """Scikit-learn integrates machine learning algorithms in the tightly-knit scientific Python world, +building upon numpy, scipy, and matplotlib. As a machine-learning module, +it provides versatile tools for data mining and analysis in any field of science and engineering. +It strives to be simple and efficient, accessible to everybody, and reusable in various contexts.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'sklearn', + 'checksums': ['a2f54c76accc15a34bfb9066e6c7a56c1e7235dda5762b990792330b52ccfb05'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.4.0-gfbf-2023b.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.4.0-gfbf-2023b.eb new file mode 100644 index 00000000000..75efad093b7 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.4.0-gfbf-2023b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '1.4.0' + +homepage = 'https://scikit-learn.org/stable/index.html' +description = """Scikit-learn integrates machine learning algorithms in the tightly-knit scientific Python world, +building upon numpy, scipy, and matplotlib. As a machine-learning module, +it provides versatile tools for data mining and analysis in any field of science and engineering. +It strives to be simple and efficient, accessible to everybody, and reusable in various contexts.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'sklearn', + 'checksums': ['d4373c984eba20e393216edd51a3e3eede56cbe93d4247516d205643c3b93121'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-lego/scikit-lego-0.7.4-foss-2023a.eb b/easybuild/easyconfigs/s/scikit-lego/scikit-lego-0.7.4-foss-2023a.eb new file mode 100644 index 00000000000..0d3f98e8132 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-lego/scikit-lego-0.7.4-foss-2023a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'scikit-lego' +version = '0.7.4' + +homepage = 'https://github.com/koaning/scikit-lego' +description = """ +We love scikit learn but very often we find ourselves writing custom transformers, metrics and +models. The goal of this project is to attempt to consolidate these into a package that offers +code quality/testing. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = 'koaning' + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('matplotlib', '3.7.2'), + ('Deprecated', '1.2.14'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'sklego', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'checksums': ['eefef84cd72f4c019423cc1de6579b6b4bf96512f5b9680cdeb9a12023b4764f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.3.1-foss-2023a.eb b/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.3.1-foss-2023a.eb new file mode 100644 index 00000000000..e355180eb49 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.3.1-foss-2023a.eb @@ -0,0 +1,28 @@ +# updated: Denis Kristak, Pavel Tománek (INUITS) +easyblock = 'PythonBundle' + +name = 'scikit-misc' +version = '0.3.1' + +homepage = 'https://github.com/has2k1/scikit-misc' +description = "Miscellaneous tools for data analysis and scientific computing" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('meson-python', '0.13.2'), +] + +exts_list = [ + ('scikit_misc', version, { + 'modulename': 'skmisc', + 'checksums': ['ba813a005ab681df478d719d3c3f03eeda709b6a45e0c1a0056eaef0495c16e4'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/semla/semla-1.1.6-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/s/semla/semla-1.1.6-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..e214778d526 --- /dev/null +++ b/easybuild/easyconfigs/s/semla/semla-1.1.6-foss-2023a-R-4.3.2.eb @@ -0,0 +1,31 @@ +easyblock = 'RPackage' + +name = 'semla' +version = '1.1.6' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/arrow' +description = "R interface to the Apache Arrow C++ library" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + 'https://github.com/ludvigla/semla/releases/download/v%(version)s', +] +sources = ['semla_%(version)s.tar.gz'] +checksums = ['845b7af52a1d7f74ef3158936c1bcaa0f81724e1d0938c6326ced6128d6fbec3'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/seqtk/seqtk-1.4-GCC-12.3.0.eb b/easybuild/easyconfigs/s/seqtk/seqtk-1.4-GCC-12.3.0.eb new file mode 100644 index 00000000000..d19790ad481 --- /dev/null +++ b/easybuild/easyconfigs/s/seqtk/seqtk-1.4-GCC-12.3.0.eb @@ -0,0 +1,36 @@ +## +# created by Thomas Eylenbosch +# updated by Pavel Tománek (INUITS) +## + +easyblock = 'ConfigureMake' + +name = 'seqtk' +version = '1.4' + +homepage = 'https://github.com/lh3/seqtk/' +description = """Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. + It seamlessly parses both FASTA and FASTQ files which can also be optionally compressed by gzip.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d124604ec24f29ed14ce127426ab90e0f3a2c0280c80d1a3ff8b1c09feede19c'] + +dependencies = [('zlib', '1.2.13')] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CFLAGS="$CLFAGS"' + +preinstallopts = "mkdir %(installdir)s/bin && " +installopts = 'BINDIR=%(installdir)s/bin/' + +sanity_check_paths = { + 'files': ['bin/seqtk'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/sinto/sinto-0.7.4-foss-2021a.eb b/easybuild/easyconfigs/s/sinto/sinto-0.7.4-foss-2021a.eb new file mode 100644 index 00000000000..8a7ac5cfae1 --- /dev/null +++ b/easybuild/easyconfigs/s/sinto/sinto-0.7.4-foss-2021a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'sinto' +version = '0.7.4' + +homepage = 'https://timoast.github.io/sinto/index.html' +description = """Sinto is a toolkit for processing aligned single-cell data.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a9bee81992939f6240643040551d9c69893ce07d23190e7e3a604eff254d775d'] + +dependencies = [ + ('Python', '3.9.5'), + ('Pysam', '0.16.0.1'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_commands = ['%(name)s --version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/siscone/siscone-3.0.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/siscone/siscone-3.0.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a6a381868f7 --- /dev/null +++ b/easybuild/easyconfigs/s/siscone/siscone-3.0.6-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'siscone' +version = '3.0.6' + +homepage = 'https://siscone.hepforge.org/' +description = """Hadron Seedless Infrared-Safe Cone jet algorithm""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://siscone.hepforge.org/downloads/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f9f19e87433305d073e5715a175d8ef0a56101f97203e5bd36a09b3eeb5cb04a'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ["lib/libsiscone.so"], + 'dirs': ["include/siscone"], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/skorch/skorch-0.15.0-foss-2023a-PyTorch-2.1.2.eb b/easybuild/easyconfigs/s/skorch/skorch-0.15.0-foss-2023a-PyTorch-2.1.2.eb new file mode 100644 index 00000000000..ed0993b7a8f --- /dev/null +++ b/easybuild/easyconfigs/s/skorch/skorch-0.15.0-foss-2023a-PyTorch-2.1.2.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'skorch' +version = '0.15.0' +local_torch_version = '2.1.2' +versionsuffix = '-PyTorch-%s' % local_torch_version + +homepage = 'https://skorch.readthedocs.io/' +description = "A scikit-learn compatible neural network library that wraps PyTorch." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('tqdm', '4.66.1'), + ('PyTorch', local_torch_version), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['dfd5d50650a66e0d7adb3f6e2fce0666b53ebfe33cc1a5db19d555ef66587fce'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/sktime/sktime-0.25.0-gfbf-2023a.eb b/easybuild/easyconfigs/s/sktime/sktime-0.25.0-gfbf-2023a.eb new file mode 100644 index 00000000000..5090b62f762 --- /dev/null +++ b/easybuild/easyconfigs/s/sktime/sktime-0.25.0-gfbf-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'sktime' +version = '0.25.0' +homepage = 'https://www.sktime.net/en/stable/' + +description = """sktime is a library for time series analysis in Python. +It provides a unified interface for multiple time series learning tasks. +Currently, this includes time series classification, regression, clustering, +annotation, and forecasting. It comes with time series algorithms and +scikit-learn compatible tools to build, tune and validate time series models.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), +] + +exts_list = [ + ('scikit-base', '0.6.2', { + 'modulename': 'skbase', + 'checksums': ['ac7c1dd9b1006e1e466d8269074f7fb02b7f5143c615f7fdf6a1e0c7565431fe'], + }), + (name, version, { + 'checksums': ['b687d44608e5d2fd6b3c631b2608f4cf7bc581e22c1131ac78d59cea7687b589'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..141312e7775 --- /dev/null +++ b/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'smithwaterman' +version = '20160702' +local_commit = '2610e25' + +homepage = 'https://github.com/ekg/smithwaterman' +description = """smith-waterman-gotoh alignment algorithm.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = ['%(name)s-%(version)s_build-shared-lib.patch'] +checksums = [ + '8e1b37ab0e8cd9d3d5cbfdba80258c0ebd0862749b531e213f44cdfe2fc541d8', # 2610e25.tar.gz + '2aa63ec5cd0260efcab002eaf4bbf62497b91afc0e3f82d8290496803c35e582', # smithwaterman-20160702_build-shared-lib.patch +] + +builddependencies = [('binutils', '2.40')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/libsw.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["%(name)s --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/snakemake/snakemake-8.4.2-foss-2023a.eb b/easybuild/easyconfigs/s/snakemake/snakemake-8.4.2-foss-2023a.eb new file mode 100644 index 00000000000..2bfe0da0595 --- /dev/null +++ b/easybuild/easyconfigs/s/snakemake/snakemake-8.4.2-foss-2023a.eb @@ -0,0 +1,144 @@ +easyblock = 'PythonBundle' + +name = 'snakemake' +version = '8.4.2' + +homepage = 'https://snakemake.readthedocs.io' +description = "The Snakemake workflow management system is a tool to create reproducible and scalable data analyses." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('GitPython', '3.1.40'), + ('IPython', '8.14.0'), + ('PyYAML', '6.0'), + ('wrapt', '1.15.0'), + ('PuLP', '2.8.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('datrie', '0.8.2', { + 'checksums': ['525b08f638d5cf6115df6ccd818e5a01298cd230b2dac91c8ff2e6499d18765d'], + }), + ('plac', '1.4.2', { + 'checksums': ['b0d04d9bc4875625df45982bc900e9d9826861c221850dbfda096eab82fe3330'], + }), + ('dpath', '2.1.6', { + 'checksums': ['f1e07c72e8605c6a9e80b64bc8f42714de08a789c7de417e49c3f87a19692e47'], + }), + ('yte', '1.5.4', { + 'checksums': ['d2d77e53eafca74f58234fcd3fea28cc0a719e4f3784911511e35e86594bc880'], + }), + ('toposort', '1.10', { + 'checksums': ['bfbb479c53d0a696ea7402601f4e693c97b0367837c8898bc6471adfca37a6bd'], + }), + ('throttler', '1.2.2', { + 'checksums': ['d54db406d98e1b54d18a9ba2b31ab9f093ac64a0a59d730c1cf7bb1cdfc94a58'], + }), + ('stopit', '1.1.2', { + 'checksums': ['f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e766996d'], + }), + ('ConfigArgParse', '1.7', { + 'checksums': ['e7067471884de5478c58a511e529f0f9bd1c66bfef1dea90935438d6c23306d1'], + }), + ('argparse-dataclass', '2.0.0', { + 'modulename': 'argparse_dataclass', + 'source_tmpl': 'argparse_dataclass-%(version)s.tar.gz', + 'checksums': ['09ab641c914a2f12882337b9c3e5086196dbf2ee6bf0ef67895c74002cc9297f'], + }), + ('snakemake-interface-common', '1.15.2', { + 'modulename': 'snakemake_interface_common', + 'source_tmpl': 'snakemake_interface_common-%(version)s.tar.gz', + 'checksums': ['f2a4908a5ec5d6e657723f90221da3c136e70a1c5897b4e1d65a703bc08e8d7a'], + }), + ('reretry', '0.11.8', { + 'checksums': ['f2791fcebe512ea2f1d153a2874778523a8064860b591cd90afc21a8bed432e3'], + }), + ('snakemake-interface-storage-plugins', '3.0.0', { + 'modulename': 'snakemake_interface_storage_plugins', + 'source_tmpl': 'snakemake_interface_storage_plugins-%(version)s.tar.gz', + 'checksums': ['f20d85ee7e86a1e2ffa3f72e2385dd5abb17fa7b58a26cba8ba59096872fe169'], + }), + ('snakemake-interface-executor-plugins', '8.2.0', { + 'modulename': 'snakemake_interface_executor_plugins', + 'source_tmpl': 'snakemake_interface_executor_plugins-%(version)s.tar.gz', + 'checksums': ['4c74e3e1751bab6b266baf8688e854b8b4c5c5e10f5e34c581f42d69af4ff13b'], + }), + ('smart-open', '6.4.0', { + 'sources': ['smart_open-%(version)s.tar.gz'], + 'checksums': ['be3c92c246fbe80ebce8fbacb180494a481a77fcdcb7c1aadb2ea5b9c2bee8b9'], + }), + ('jupyter-core', '5.7.1', { + 'modulename': 'jupyter_core', + 'source_tmpl': 'jupyter_core-%(version)s.tar.gz', + 'checksums': ['de61a9d7fc71240f688b2fb5ab659fbb56979458dc66a71decd098e03c79e218'], + }), + ('fastjsonschema', '2.19.1', { + 'checksums': ['e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d'], + }), + ('nbformat', '5.9.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['1c5172d786a41b82bcfd0c23f9e6b6f072e8fb49c39250219e4acfff1efe89e9'], + }), + ('immutables', '0.20', { + 'checksums': ['1d2f83e6a6a8455466cd97b9a90e2b4f7864648616dfa6b19d18f49badac3876'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('connection-pool', '0.0.3', { + 'sources': ['connection_pool-%(version)s.tar.gz'], + 'checksums': ['bf429e7aef65921c69b4ed48f3d48d3eac1383b05d2df91884705842d974d0dc'], + }), + ('conda-inject', '1.3.1', { + 'sources': ['conda_inject-%(version)s.tar.gz'], + 'checksums': ['9e8d902230261beba74083aae12c2c5a395e29b408469fefadc8aaf51ee441e5'], + }), + (name, version, { + 'checksums': ['ea9273d7a27706b635fafae87bb21100dad02275570e138fdcff125cb3cba4f4'], + }), + # Also install some of the snakemake executors + ('snakemake-executor-plugin-slurm-jobstep', '0.1.10', { + 'modulename': 'snakemake_executor_plugin_slurm_jobstep', + 'source_tmpl': 'snakemake_executor_plugin_slurm_jobstep-%(version)s.tar.gz', + 'checksums': ['321b6bdf7883a8fb40ff4aeeb88633502e4db8394e40b6628db41a430c2eae2b'], + }), + ('snakemake-executor-plugin-flux', '0.1.0', { + 'modulename': 'snakemake_executor_plugin_flux', + 'source_tmpl': 'snakemake_executor_plugin_flux-%(version)s.tar.gz', + 'checksums': ['92b1944dcf9ea163519a8879d4d638df2b3d0cd83ea6e8397d26046897811214'], + }), + ('snakemake-executor-plugin-slurm', '0.2.1', { + 'modulename': 'snakemake_executor_plugin_slurm', + 'source_tmpl': 'snakemake_executor_plugin_slurm-%(version)s.tar.gz', + 'checksums': ['dd484fcb136612a3f2bdcccf15ca4ebffc2f5fcdfa7f1fcc14416dd272812999'], + }), + ('snakemake-executor-plugin-cluster-sync', '0.1.3', { + 'modulename': 'snakemake_executor_plugin_cluster_sync', + 'source_tmpl': 'snakemake_executor_plugin_cluster_sync-%(version)s.tar.gz', + 'checksums': ['c30fca6ccb98a3f7ca52ca8a95414c71360a3d4a835bd4a097a13445d6fce2ac'], + }), + ('snakemake-executor-plugin-cluster-generic', '1.0.7', { + 'modulename': 'snakemake_executor_plugin_cluster_generic', + 'source_tmpl': 'snakemake_executor_plugin_cluster_generic-%(version)s.tar.gz', + 'checksums': ['093808e63cc48294a9d1eb0b620cdff8cc970806294a2f6ba127a49f8a81d473'], + }), +] + +sanity_check_paths = { + 'files': ['bin/snakemake'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/snakemake'], +} + +sanity_check_commands = ['snakemake --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/snappy/snappy-1.1.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.1.10-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..18fb59c8e11 --- /dev/null +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.10-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ + +easyblock = 'CMakeMake' + +name = 'snappy' +version = '1.1.10' + +homepage = 'https://github.com/google/snappy' +description = """Snappy is a compression/decompression library. It does not aim +for maximum compression, or compatibility with any other compression library; +instead, it aims for very high speeds and reasonable compression.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/google/snappy/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-1.1.9_use-default-rtti.patch', +] +checksums = [ + {'1.1.10.tar.gz': '49d831bffcc5f3d01482340fe5af59852ca2fe76c3e05df0e67203ebbe0f1d90'}, + {'snappy-1.1.9_use-default-rtti.patch': 'af56538330b2d781677c7d94576c15fc36e004ae0b4f1ac7d86bbec22b65e73d'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +# Disable building tests and benchmarks - we're not using them and they require googletest and benchmark source code +_configopts = '-DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF' +configopts = ['%s' % _configopts, '-DBUILD_SHARED_LIBS=ON %s' % _configopts] + +sanity_check_paths = { + 'files': ['lib64/libsnappy.a', 'lib64/libsnappy.%s' % SHLIB_EXT, 'include/snappy.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/sonic/sonic-20180202-gfbf-2023a.eb b/easybuild/easyconfigs/s/sonic/sonic-20180202-gfbf-2023a.eb new file mode 100644 index 00000000000..24c27f3b4bc --- /dev/null +++ b/easybuild/easyconfigs/s/sonic/sonic-20180202-gfbf-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'sonic' +local_commit = '134074f' +version = '20180202' + +homepage = 'https://github.com/espeak-ng/sonic' +description = """ +Sonic is a simple algorithm for speeding up or slowing down speech. However, +it's optimized for speed ups of over 2X, unlike previous algorithms for changing +speech rate. The Sonic library is a very simple ANSI C library that is designed +to easily be integrated into streaming voice applications, like TTS back ends. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/espeak-ng/sonic/archive'] +sources = [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': SOURCE_TAR_GZ, +}] +patches = ['%(name)s-%(version)s.patch'] +checksums = [ + 'ace1ef03ab095cb73066e57b2467faddef0356579099ba64e917bf9dab072709', # sonic-20180202.tar.gz + '1e767c98286e13231d01ec7ae2ec2ea9b9c0ce074d4f8034b9d92ee2854d1be9', # sonic-20180202.patch +] + +keepsymlinks = True + +files_to_copy = [ + (['sonic'], 'bin'), + (['sonic.h'], 'include'), + (['libsonic*'], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/sonic', 'include/sonic.h'] + + ['lib/libsonic.%s' % x for x in ['a'] + [SHLIB_EXT + '%s' % y for y in ['', '.0', '.0.3.0']]], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b4dcdff4ce0 --- /dev/null +++ b/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.4-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +# Updated from previous easyconfig +# Author: Pavel Grochal (INUITS) +# Update: Pavel Tománek (INUITS) +# License: GPLv2 +# Updated to GCCcore-12.3.0 +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'sparsehash' +version = '2.0.4' + +homepage = 'https://github.com/sparsehash/sparsehash' +description = """ + An extremely memory-efficient hash_map implementation. 2 bits/entry overhead! + The SparseHash library contains several hash-map implementations, including + implementations that optimize for space or speed. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8cd1a95827dfd8270927894eb77f62b4087735cbede953884647f16c521c7e58'] + +builddependencies = [ + ('binutils', '2.40'), +] + + +sanity_check_paths = { + 'files': ['include/google/type_traits.h'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/spdlog/spdlog-1.12.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/spdlog/spdlog-1.12.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5e53029c10d --- /dev/null +++ b/easybuild/easyconfigs/s/spdlog/spdlog-1.12.0-GCCcore-13.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'spdlog' +version = '1.12.0' + +homepage = 'https://github.com/gabime/spdlog' +description = 'Very fast, header-only/compiled, C++ logging library.' +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/gabime/spdlog/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4dccf2d10f410c1e2feaff89966bfc49a1abb29ef6f08246335b110e001e09a9'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +sanity_check_paths = { + 'files': ['include/spdlog/spdlog.h'], + 'dirs': ['lib64/cmake', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/speech_tools/speech_tools-2.5.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/speech_tools/speech_tools-2.5.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6f2fcee1719 --- /dev/null +++ b/easybuild/easyconfigs/s/speech_tools/speech_tools-2.5.0-GCCcore-12.3.0.eb @@ -0,0 +1,63 @@ +easyblock = 'ConfigureMake' + +name = 'speech_tools' +version = '2.5.0' + +homepage = ['http://festvox.org/festival/'] + +description = """ +The Edinburgh Speech Tools Library is a collection of C++ class, +functions and related programs for manipulating the sorts of objects +used in speech processing. It includes support for reading and writing +waveforms, parameter files (LPC, Ceptra, F0) in various formats +and converting between them. +It also includes support for linguistic type objects and support +for various label files and ngrams (with smoothing). +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['http://festvox.org/packed/festival/%(version_major_minor)s'] +sources = ['%(name)s-%(version)s-release.tar.gz'] +patches = [ + 'speech_tools-2.5.0_easybuild.patch', + 'speech_tools-2.5.0_siodeditline.patch', +] +checksums = [ + 'e4fd97ed78f14464358d09f36dfe91bc1721b7c0fa6503e04364fb5847805dcc', # speech_tools-2.5.0-release.tar.gz + '192012d97a671b151f084e0423042e03446a6031a8d7718354f2a56022210921', # speech_tools-2.5.0_easybuild.patch + 'b65a91319dbfb11ffe839fb741be832ebe6cc00b820ab6a609c9603f073d8a07', # speech_tools-2.5.0_siodeditline.patch +] + +unpack_options = '--strip-components=1' + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('ncurses', '6.4'), + ('Perl', '5.36.1'), +] + +# LIBS environmental variable interfers with libs/Makefile line 61: LIBS_ABS=$(subst $(TOP),$$(EST_HOME),$(LIBS)) +prebuildopts = 'unset LIBS &&' + +buildininstalldir = True + +maxparallel = 1 + +local_sanity = [ + 'align', 'bcat', 'ch_lab', 'ch_track', 'ch_utt', 'ch_wave', 'design_filter', 'est_program', 'na_play', + 'na_record', 'ngram_build', 'ols', 'pda', 'pitchmark', 'raw_to_xgraph', 'resynth', 'scfg_make', 'scfg_parse', + 'scfg_train', 'sig2fv', 'sigfilter', 'siod', 'spectgen', 'tex_to_images', 'tilt_analysis', 'tilt_synthesis', + 'viterbi', 'wagon', 'wfst_build', 'wfst_run', 'wfst_train', 'xml_parser', +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_sanity + ['Makefile', 'pm']] + + ['lib/lib%s.a' % x for x in ['estbase', 'estools', 'eststring']], + 'dirs': [] +} + +sanity_check_commands = ['%s -h' % x for x in local_sanity] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/speech_tools/speech_tools-2.5.0_siodeditline.patch b/easybuild/easyconfigs/s/speech_tools/speech_tools-2.5.0_siodeditline.patch new file mode 100644 index 00000000000..5da729fe68c --- /dev/null +++ b/easybuild/easyconfigs/s/speech_tools/speech_tools-2.5.0_siodeditline.patch @@ -0,0 +1,17 @@ +# Fix compilation error: multiple definition of `editline_history_file' +# The variable is defined in both editline.c and siodeditline.c +# Author: Chia-Jung Hsu, 2024-03-19 +diff --git a/siod/editline.c b/siod/editline.c +index f6eb5c6..d6163d8 100644 +--- a/siod/editline.c ++++ b/siod/editline.c +@@ -73,7 +73,7 @@ + /* modified by awb to allow specifcation of history size at run time */ + /* (though only once) */ + int editline_histsize=256; +-char *editline_history_file; ++// char *editline_history_file; + /* If this is defined it'll be called for completion first, before the */ + /* internal file name completion will be */ + EL_USER_COMPLETION_FUNCTION_TYPE*el_user_completion_function = NULL; + diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-2.1.0-iimkl-2023a.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.1.0-iimkl-2023a.eb new file mode 100644 index 00000000000..cc5ea96be97 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.1.0-iimkl-2023a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'spglib-python' +version = '2.1.0' + +homepage = 'https://pypi.python.org/pypi/spglib' +description = """Spglib for Python. + +Spglib is a library for finding and handling crystal symmetries written in C. +""" + +toolchain = {'name': 'iimkl', 'version': '2023a'} + +builddependencies = [ + ('scikit-build-core', '0.5.0') +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True + +sanity_pip_check = True + +exts_list = [ + ('pyproject-metadata', '0.7.1', { + 'checksums': ['0a94f18b108b9b21f3a26a3d541f056c34edcb17dc872a144a15618fed7aef67'], + }), + (name, version, { + 'modulename': 'spglib', + 'sources': ['spglib-%(version)s.tar.gz'], + 'source_urls': ['https://pypi.python.org/packages/source/%(nameletter)s/spglib'], + 'checksums': ['8143545fdffc11fbcda4d705a6b6bcd4889de9bc3524b78df866a36dd0de0a4b'], + }), +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spoa/spoa-4.1.0-GCC-12.3.0.eb b/easybuild/easyconfigs/s/spoa/spoa-4.1.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..b85132ee109 --- /dev/null +++ b/easybuild/easyconfigs/s/spoa/spoa-4.1.0-GCC-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'spoa' +version = '4.1.0' + +homepage = 'https://github.com/rvaser/spoa' +description = """Spoa (SIMD POA) is a c++ implementation of the partial order alignment (POA) algorithm + which is used to generate consensus sequences""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rvaser/spoa/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['43238356f00bce2ad9698fc18b3e320024172a82182dcff24d57c5cf19e342c8'] + +builddependencies = [('CMake', '3.26.3')] + +configopts = "-Dspoa_build_executable=ON" + +sanity_check_paths = { + 'files': ['bin/spoa'] + ['include/spoa/%s' % x for x in ['alignment_engine.hpp', 'graph.hpp', 'spoa.hpp']] + + ['lib/libspoa.a'], + 'dirs': [], +} + +sanity_check_commands = ["spoa --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.1-gfbf-2023a.eb b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.1-gfbf-2023a.eb new file mode 100644 index 00000000000..6c62326b90d --- /dev/null +++ b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.1-gfbf-2023a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'statsmodels' +version = '0.14.1' + +homepage = 'https://www.statsmodels.org/' +description = """Statsmodels is a Python module that allows users to explore data, estimate statistical models, +and perform statistical tests.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.6', { + 'checksums': ['95c6d47a7222535f84bff7f63d7303f2e297747a598db89cf5c67f0c0c7d2cdb'], + }), + (name, version, { + 'checksums': ['2260efdc1ef89f39c670a0bd8151b1d0843567781bcafec6cda0534eb47a94f6'], + 'preinstallopts': """sed -i 's/name=DISTNAME/name=DISTNAME, version = "%(version)s"/g' setup.py && """, + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.1-gfbf-2023b.eb b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.1-gfbf-2023b.eb new file mode 100644 index 00000000000..330f32a1d70 --- /dev/null +++ b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.1-gfbf-2023b.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'statsmodels' +version = '0.14.1' + +homepage = 'https://www.statsmodels.org/' +description = """Statsmodels is a Python module that allows users to explore data, estimate statistical models, +and perform statistical tests.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.6', { + 'checksums': ['95c6d47a7222535f84bff7f63d7303f2e297747a598db89cf5c67f0c0c7d2cdb'], + }), + (name, version, { + 'patches': ['statsmodels-0.14.1_fix_setup.patch'], + 'checksums': [ + {'statsmodels-0.14.1.tar.gz': '2260efdc1ef89f39c670a0bd8151b1d0843567781bcafec6cda0534eb47a94f6'}, + {'statsmodels-0.14.1_fix_setup.patch': '27ea0e82b9cd1162490eb2bea9606b6ca79ed559bd7e793bbd073ec09c8b0f53'}, + ], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.1_fix_setup.patch b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.1_fix_setup.patch new file mode 100644 index 00000000000..4021d1c0750 --- /dev/null +++ b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.1_fix_setup.patch @@ -0,0 +1,11 @@ +diff -Nru statsmodels-0.14.1-orig/setup.py statsmodels-0.14.1/setup.py +--- statsmodels-0.14.1-orig/setup.py 2023-12-07 14:22:55.000000000 +0100 ++++ statsmodels-0.14.1/setup.py 2024-01-11 09:13:32.010072459 +0100 +@@ -394,6 +394,7 @@ + ext_modules=extensions, + maintainer_email=MAINTAINER_EMAIL, + description=DESCRIPTION, ++ version="0.14.1", + license=LICENSE, + url=URL, + download_url=DOWNLOAD_URL, diff --git a/easybuild/easyconfigs/s/sympy/sympy-1.12-gfbf-2023b.eb b/easybuild/easyconfigs/s/sympy/sympy-1.12-gfbf-2023b.eb new file mode 100644 index 00000000000..712de366fa5 --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.12-gfbf-2023b.eb @@ -0,0 +1,22 @@ +name = 'sympy' +version = '1.12' + +homepage = 'https://sympy.org/' +description = """SymPy is a Python library for symbolic mathematics. It aims to + become a full-featured computer algebra system (CAS) while keeping the code as + simple as possible in order to be comprehensible and easily extensible. SymPy + is written entirely in Python and does not require any external libraries.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8'] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('gmpy2', '2.1.5'), +] + + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..22eb629671d --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonPackage' + +name = 'TAMkin' +version = '1.2.6' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://molmod.github.io/tamkin/' +description = """TAMkin is a post-processing toolkit for normal mode analysis, + thermochemistry and reaction kinetics. It uses a Hessian computation from a + standard computational chemistry program as its input.""" + +toolchain = {'name': 'foss', 'version': '2020a'} + +source_urls = ['https://github.com/molmod/tamkin/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'TAMkin-1.2.6_fix-python38.patch', + 'TAMkin-1.2.6_fix-test_vsa_no_mass.patch', +] +checksums = [ + {'TAMkin-1.2.6.tar.gz': '1bde275a09be91e5241616aaa9fedc60cb359a263f5c5909bb14431c3a4ed5fd'}, + {'TAMkin-1.2.6_fix-python38.patch': '1633d5b24b012f8c4b6731491e4072c819ebbba65574966b7185ecca52eeac9b'}, + {'TAMkin-1.2.6_fix-test_vsa_no_mass.patch': '67d8b8671d7c71123e8ee9a7b9ebea6562e9711edb41555d1926b1b51d549066'}, +] + +dependencies = [ + ('Python', '3.8.2'), + ('matplotlib', '3.2.1', versionsuffix), + ('molmod', '1.4.5', versionsuffix), +] + +download_dep_fail = True +use_pip = True + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; ' +runtest += 'export OMP_NUM_THREADS=1; nosetests -v tamkin' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2020b.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2020b.eb new file mode 100644 index 00000000000..385046a56c9 --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2020b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'TAMkin' +version = '1.2.6' + +homepage = 'https://molmod.github.io/tamkin/' +description = """TAMkin is a post-processing toolkit for normal mode analysis, + thermochemistry and reaction kinetics. It uses a Hessian computation from a + standard computational chemistry program as its input.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/molmod/tamkin/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'TAMkin-1.2.6_fix-python38.patch', + 'TAMkin-1.2.6_fix-test_vsa_no_mass.patch', +] +checksums = [ + {'TAMkin-1.2.6.tar.gz': '1bde275a09be91e5241616aaa9fedc60cb359a263f5c5909bb14431c3a4ed5fd'}, + {'TAMkin-1.2.6_fix-python38.patch': '1633d5b24b012f8c4b6731491e4072c819ebbba65574966b7185ecca52eeac9b'}, + {'TAMkin-1.2.6_fix-test_vsa_no_mass.patch': '67d8b8671d7c71123e8ee9a7b9ebea6562e9711edb41555d1926b1b51d549066'}, +] + +dependencies = [ + ('Python', '3.8.6'), + ('matplotlib', '3.3.3'), + ('molmod', '1.4.8'), +] + +download_dep_fail = True +use_pip = True + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; ' +runtest += 'export OMP_NUM_THREADS=1; nosetests -v tamkin' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2021a.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2021a.eb new file mode 100644 index 00000000000..d1d4b1cf994 --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2021a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'TAMkin' +version = '1.2.6' + +homepage = 'https://molmod.github.io/tamkin/' +description = """TAMkin is a post-processing toolkit for normal mode analysis, + thermochemistry and reaction kinetics. It uses a Hessian computation from a + standard computational chemistry program as its input.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/molmod/tamkin/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'TAMkin-1.2.6_fix-python38.patch', + 'TAMkin-1.2.6_fix-test_vsa_no_mass.patch', +] +checksums = [ + {'TAMkin-1.2.6.tar.gz': '1bde275a09be91e5241616aaa9fedc60cb359a263f5c5909bb14431c3a4ed5fd'}, + {'TAMkin-1.2.6_fix-python38.patch': '1633d5b24b012f8c4b6731491e4072c819ebbba65574966b7185ecca52eeac9b'}, + {'TAMkin-1.2.6_fix-test_vsa_no_mass.patch': '67d8b8671d7c71123e8ee9a7b9ebea6562e9711edb41555d1926b1b51d549066'}, +] + +dependencies = [ + ('Python', '3.9.5'), + ('matplotlib', '3.4.2'), + ('molmod', '1.4.8'), +] + +download_dep_fail = True +use_pip = True + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; ' +runtest += 'export OMP_NUM_THREADS=1; nosetests -v tamkin' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2021b.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2021b.eb new file mode 100644 index 00000000000..4a7883c7f8e --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2021b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'TAMkin' +version = '1.2.6' + +homepage = 'https://molmod.github.io/tamkin/' +description = """TAMkin is a post-processing toolkit for normal mode analysis, + thermochemistry and reaction kinetics. It uses a Hessian computation from a + standard computational chemistry program as its input.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/molmod/tamkin/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'TAMkin-1.2.6_fix-python38.patch', + 'TAMkin-1.2.6_fix-test_vsa_no_mass.patch', +] +checksums = [ + {'TAMkin-1.2.6.tar.gz': '1bde275a09be91e5241616aaa9fedc60cb359a263f5c5909bb14431c3a4ed5fd'}, + {'TAMkin-1.2.6_fix-python38.patch': '1633d5b24b012f8c4b6731491e4072c819ebbba65574966b7185ecca52eeac9b'}, + {'TAMkin-1.2.6_fix-test_vsa_no_mass.patch': '67d8b8671d7c71123e8ee9a7b9ebea6562e9711edb41555d1926b1b51d549066'}, +] + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), + ('molmod', '1.4.8'), +] + +download_dep_fail = True +use_pip = True + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; ' +runtest += 'export OMP_NUM_THREADS=1; nosetests -v tamkin' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6_fix-test_vsa_no_mass.patch b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6_fix-test_vsa_no_mass.patch new file mode 100644 index 00000000000..5d28778abb8 --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6_fix-test_vsa_no_mass.patch @@ -0,0 +1,24 @@ +The test fails on haswell CPUs (and maybe others). +It looks like the reference value is off such that it just passes in regular circumstances. +The following values are observed: +- REF: 0.13774798 +- PASS: 0.43330176 +- FAIL: 0.64607670 + +Fix by adjusting the reference to the passing value. +See https://github.com/molmod/tamkin/issues/43 + +Author: Alexander Grund (TU Dresden) + +diff -ur tamkin-1.2.6-orig/tamkin/test/test_nma.py tamkin-1.2.6/tamkin/test/test_nma.py +--- tamkin-1.2.6-orig/tamkin/test/test_nma.py 2024-02-28 10:07:55.695638855 +0100 ++++ tamkin-1.2.6/tamkin/test/test_nma.py 2024-02-28 11:12:07.320823854 +0100 +@@ -528,7 +528,7 @@ + pkg_resources.resource_filename(__name__, "../data/test/an/fixed.01.txt")) + nma = NMA(molecule, VSANoMass(subs)) + self.assert_(len(nma.zeros)==3) +- expected_freqs = np.array([-0.4205594, 0.03940166, 0.13774798]) ++ expected_freqs = np.array([-0.4205594, 0.03940166, 0.43330176]) + self.check_freqs(expected_freqs, nma, 0, check_zeros=True) + + # --- atoms of subsystem are collinear diff --git a/easybuild/easyconfigs/t/TRIQS-cthyb/TRIQS-cthyb-3.2.1-foss-2023a.eb b/easybuild/easyconfigs/t/TRIQS-cthyb/TRIQS-cthyb-3.2.1-foss-2023a.eb new file mode 100644 index 00000000000..aba94fc78c9 --- /dev/null +++ b/easybuild/easyconfigs/t/TRIQS-cthyb/TRIQS-cthyb-3.2.1-foss-2023a.eb @@ -0,0 +1,69 @@ +easyblock = 'CMakeMake' + +name = 'TRIQS-cthyb' +version = '3.2.1' + +homepage = 'https://triqs.github.io/cthyb/' +description = """ + TRIQS (Toolbox for Research on Interacting Quantum Systems) is a + scientific project providing a set of C++ and Python libraries to + develop new tools for the study of interacting quantum systems. + + cthyb = continuous-time hybridisation-expansion quantum Monte Carlo + + The TRIQS-based hybridization-expansion solver allows to solve the + generic problem of a quantum impurity embedded in a conduction bath + for an arbitrary local interaction vertex. The “impurity” can be any + set of orbitals, on one or several atoms. +""" + +docurls = ['https://triqs.github.io/cthyb/%(version_major_minor)s.x/'] +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/TRIQS/cthyb/releases/download/%(version)s/'] +sources = ['cthyb-%(version)s.tar.gz'] +checksums = ['6f4cd36efcd19b0f1efbed2c9aa6d2640ef84f8fcf7b97675af8d54cdc327c9f'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost', '1.82.0'), + ('Clang', '16.0.6'), + ('Clang-Python-bindings', '16.0.6'), + ('GMP', '6.2.1'), + ('HDF5', '1.14.0'), + ('Mako', '1.2.4'), + ('TRIQS', '3.2.0'), + ('NFFT', '3.5.3') +] + +builddependencies = [ + ('CMake', '3.26.3') +] + +separate_build_dir = True + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libtriqs_cthyb_c.a'], + 'dirs': ['include', 'include/triqs_cthyb', 'lib', + 'lib/python%(pyshortver)s/site-packages', 'share'], +} + +sanity_check_commands = ["python -c 'import triqs_cthyb'"] + +modextrapaths = { + 'CPLUS_INCLUDE_PATH': 'include', + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'CMAKE_PREFIX_PATH': 'lib/cmake/triqs_cthyb', +} +modextravars = { + 'TRIQS_CTHYB_ROOT': '%(installdir)s', + 'TRIQS_CTHYB_VERSION': '%(version)s', +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/t/TRIQS-dft_tools/TRIQS-dft_tools-3.2.0-foss-2023a.eb b/easybuild/easyconfigs/t/TRIQS-dft_tools/TRIQS-dft_tools-3.2.0-foss-2023a.eb new file mode 100644 index 00000000000..4a136f51689 --- /dev/null +++ b/easybuild/easyconfigs/t/TRIQS-dft_tools/TRIQS-dft_tools-3.2.0-foss-2023a.eb @@ -0,0 +1,70 @@ +easyblock = 'CMakeMake' + +name = 'TRIQS-dft_tools' +version = '3.2.0' + +homepage = 'https://triqs.github.io/dft_tools/' +description = """ + TRIQS (Toolbox for Research on Interacting Quantum Systems) is a + scientific project providing a set of C++ and Python libraries to + develop new tools for the study of interacting quantum systems. + + This TRIQS-based-based application is aimed at ab-initio calculations + for correlated materials, combining realistic DFT band-structure calculation + with the dynamical mean-field theory. Together with the necessary tools to + perform the DMFT self-consistency loop for realistic multi-band problems, + the package provides a full-fledged charge self-consistent interface to the + Wien2K package. In addition, if Wien2k is not available, it provides a generic + interface for one-shot DFT+DMFT calculations, where only the single-particle + Hamiltonian in orbital space has to be provided. +""" + +docurls = ['https://triqs.github.io/dft_tools/%(version_major_minor)s.x/'] +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/TRIQS/dft_tools/releases/download/%(version)s/'] +sources = ['dft_tools-%(version)s.tar.gz'] +checksums = ['77d89bc5c9a36636a720b6cae78967cd6dd83d0018c854a68bef91219a456307'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost', '1.82.0'), + ('Clang', '16.0.6'), + ('Clang-Python-bindings', '16.0.6'), + ('GMP', '6.2.1'), + ('HDF5', '1.14.0'), + ('Mako', '1.2.4'), + ('TRIQS', '3.2.0'), +] + +builddependencies = [ + ('CMake', '3.26.3') +] + +separate_build_dir = True + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/dmftproj', 'lib/libtriqs_dft_tools_c.a'], + 'dirs': ['include/triqs_dft_tools', 'bin', 'lib', 'share', + 'lib/python%(pyshortver)s/site-packages/triqs_dft_tools'], +} + +sanity_check_commands = ["python -c 'import triqs_dft_tools'"] + +modextrapaths = { + 'CPLUS_INCLUDE_PATH': 'include', + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'CMAKE_PREFIX_PATH': 'lib/cmake/triqs_dft_tools', +} +modextravars = { + 'TRIQS_DFT_TOOLS_ROOT': '%(installdir)s', + 'TRIQS_DFT_TOOLS_VERSION': '%(version)s', +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/t/TRIQS-tprf/TRIQS-tprf-3.2.1-foss-2023a.eb b/easybuild/easyconfigs/t/TRIQS-tprf/TRIQS-tprf-3.2.1-foss-2023a.eb new file mode 100644 index 00000000000..1547b3cf999 --- /dev/null +++ b/easybuild/easyconfigs/t/TRIQS-tprf/TRIQS-tprf-3.2.1-foss-2023a.eb @@ -0,0 +1,70 @@ +easyblock = 'CMakeMake' + +name = 'TRIQS-tprf' +version = '3.2.1' + +homepage = 'https://triqs.github.io/tprf' +description = """ + TRIQS (Toolbox for Research on Interacting Quantum Systems) is a + scientific project providing a set of C++ and Python libraries to + develop new tools for the study of interacting quantum systems. + + TPRF is a TRIQS-based two-particle response function tool box that + implements basic operations for higher order response functions such + as inversion, products, the random phase approximation, the bethe + salpeter equation (in the local vertex approximation), etc.. + + The aim is to provide efficient (C++/OpenMP/MPI) implementations of + the basic operations needed to compute the two-particle response in + the different two-particle channels (particle-hole, particle-particle). +""" + +docurls = ['https://triqs.github.io/tprf/%(version_major_minor)s.x/'] +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/TRIQS/tprf/releases/download/%(version)s/'] +sources = ['tprf-%(version)s.tar.gz'] +checksums = ['f1d4dd5986af4b37dc65f3af2a0be507455f0b4a74ea7d4de892739ccd86158c'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost', '1.82.0'), + ('Clang', '16.0.6'), + ('Clang-Python-bindings', '16.0.6'), + ('GMP', '6.2.1'), + ('HDF5', '1.14.0'), + ('Mako', '1.2.4'), + ('TRIQS', '3.2.0'), +] + +builddependencies = [ + ('CMake', '3.26.3') +] + +separate_build_dir = True + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libtriqs_tprf_c.a'], + 'dirs': ['include/triqs_tprf', 'lib', 'share', + 'lib/python%(pyshortver)s/site-packages/triqs_tprf'], +} + +sanity_check_commands = ["python -c 'import triqs_tprf'"] + +modextrapaths = { + 'CPLUS_INCLUDE_PATH': 'include', + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'CMAKE_PREFIX_PATH': 'lib/cmake/triqs_tprf', +} +modextravars = { + 'TRIQS_TPRF_ROOT': '%(installdir)s', + 'TRIQS_TPRF_VERSION': '%(version)s' +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/t/TRIQS/TRIQS-3.2.0-foss-2023a.eb b/easybuild/easyconfigs/t/TRIQS/TRIQS-3.2.0-foss-2023a.eb new file mode 100644 index 00000000000..7daf38a60f6 --- /dev/null +++ b/easybuild/easyconfigs/t/TRIQS/TRIQS-3.2.0-foss-2023a.eb @@ -0,0 +1,69 @@ +easyblock = 'CMakeMake' + +name = 'TRIQS' +version = '3.2.0' + +homepage = 'https://triqs.github.io/triqs' +description = """ + TRIQS (Toolbox for Research on Interacting Quantum Systems) is a + scientific project providing a set of C++ and Python libraries to + develop new tools for the study of interacting quantum systems. +""" + +docurls = ['https://triqs.github.io/triqs/%(version_major_minor)s.x/'] +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/TRIQS/triqs/releases/download/%(version)s/'] +sources = ['triqs-%(version)s.tar.gz'] +checksums = ['b001ed1339ff6024f62b4e61fb8a955b044feac2d53b5a58575a3175e9bf6776'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost', '1.82.0'), + ('Clang', '16.0.6'), + ('Clang-Python-bindings', '16.0.6'), + ('GMP', '6.2.1'), + ('HDF5', '1.14.0'), + ('Mako', '1.2.4'), + ('mpi4py', '3.1.4') +] + +builddependencies = [ + ('CMake', '3.26.3') +] + +separate_build_dir = True + +# Remove installation directory before building. This fixes problems with +# failing builds in the presence of preexisting installation. +preconfigopts = "rm -rf %(installdir)s && " + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libtriqs.%s' % SHLIB_EXT], + 'dirs': ['include/triqs', 'include/itertools', 'include/mpi', 'include/cpp2py', + 'lib/python%(pyshortver)s/site-packages', 'share'], +} + +sanity_check_commands = [ + "triqs++ --help", + "c++2py --help", + "python -c 'import triqs'" +] + +modextrapaths = { + 'CPLUS_INCLUDE_PATH': 'include', + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'CMAKE_PREFIX_PATH': ['lib/cmake/triqs', 'lib/cmake/cpp2py'] +} +modextravars = { + 'TRIQS_ROOT': '%(installdir)s', + 'TRIQS_VERSION': '%(version)s' +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/t/TensorRT/TensorRT-8.6.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/TensorRT/TensorRT-8.6.1-foss-2022a-CUDA-11.7.0.eb index d3862ffba61..02ef8ec6c80 100644 --- a/easybuild/easyconfigs/t/TensorRT/TensorRT-8.6.1-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/t/TensorRT/TensorRT-8.6.1-foss-2022a-CUDA-11.7.0.eb @@ -1,4 +1,3 @@ - name = 'TensorRT' version = '8.6.1' versionsuffix = '-CUDA-%(cudaver)s' @@ -18,6 +17,7 @@ builddependencies = [ dependencies = [ ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), ('CUDA', '11.7.0', '', SYSTEM), ('cuDNN', '8.4.1.50', '-CUDA-%(cudaver)s', SYSTEM), ('protobuf-python', '3.19.4'), diff --git a/easybuild/easyconfigs/t/Togl/Togl-2.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/Togl/Togl-2.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..613a304992d --- /dev/null +++ b/easybuild/easyconfigs/t/Togl/Togl-2.0-GCCcore-11.2.0.eb @@ -0,0 +1,49 @@ +# Last contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2022 + +easyblock = 'ConfigureMake' + +name = 'Togl' +version = '2.0' + +homepage = 'https://sourceforge.net/projects/togl/' +description = """A Tcl/Tk widget for OpenGL rendering.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://downloads.sourceforge.net/project/%(namelower)s/%(name)s/%(version)s/'] +sources = ['%(name)s%(version)s-src.tar.gz'] +patches = [ + 'Togl-2.0_configure.patch', + 'Togl-2.0_decl.patch', +] +checksums = [ + 'b7d4a90bbad3aca618d505ee99e7fd8fb04c829f63231dda2360f557ba3f7610', # Togl2.0-src.tar.gz + 'da97f36b60cd107444cd92453809135b14dc1e8775146b3ba0731da8002e6f9f', # Togl-2.0_configure.patch + '05db6b3ca5139f60616d074903883a3070fcfb1eb8c965b0938779b4f9a6ec6a', # Togl-2.0_decl.patch +] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Mesa', '21.1.7'), + ('Tk', '8.6.11'), + ('Tcl', '8.6.11'), +] + +preconfigopts = 'export CFLAGS="$CFLAGS -DTOGL_USE_FONTS=0" && ' + +configopts = "--prefix=%(installdir)s --exec-prefix=%(installdir)s " +configopts += "--with-tcl=$EBROOTTCL/lib --with-tk=$EBROOTTK/lib" + +sanity_check_paths = { + 'files': [], + 'dirs': ['include', 'lib', 'lib/%(name)s%(version)s'], +} + +modextrapaths = { + 'LD_LIBRARY_PATH': 'lib/%(name)s%(version)s', + 'LIBRARY_PATH': 'lib/%(name)s%(version)s', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.2-GCC-12.3.0.eb b/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..2d1b9e04531 --- /dev/null +++ b/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.2-GCC-12.3.0.eb @@ -0,0 +1,41 @@ +# Author: Jasper Grimm (UoY) +# Updated: Petr Král (INUITS) + +easyblock = 'ConfigureMake' + +name = 'tabixpp' +version = '1.1.2' + +homepage = 'https://github.com/ekg/tabixpp' +description = """C++ wrapper to tabix indexer""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_use-external-HTSlib.patch'] + +checksums = [ + 'c850299c3c495221818a85c9205c60185c8ed9468d5ec2ed034470bb852229dc', # v1.1.2.tar.gz + 'a4684b6c3a69258d0686f601564b635ae3dc098e712783b46d9ca5b7ff996906', # tabixpp-1.1.2_use-external-HTSlib.patch +] + +dependencies = [ + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.2'), + ('HTSlib', '1.18'), + ('PCRE', '8.45'), +] + +skipsteps = ['configure'] + +preinstallopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/tabix++', 'lib/libtabixpp.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20220427-linux64.eb b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20220427-linux64.eb index 8cb78e848ca..c1d2f495db6 100644 --- a/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20220427-linux64.eb +++ b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20220427-linux64.eb @@ -2,8 +2,9 @@ # Author: Pablo Escobar Lopez # sciCORE - University of Basel # SIB Swiss Institute of Bioinformatics +# revised by Ariel Lozano -easyblock = 'CmdCp' +easyblock = 'Bundle' name = 'tbl2asn' version = '20220427' @@ -14,27 +15,42 @@ description = """Tbl2asn is a command-line program that automates the creation o sequence records for submission to GenBank""" toolchain = SYSTEM +builddependencies = [ + ('binutils', '2.35'), +] + +default_easyblock = 'CmdCp' # It is not entirely clean how long NCBI keeps "older" versions. At April 29, 2022, we had six timestamps/versions, # reporiting the same verion (tbl2asn --help -> 25.8) but 5 out of 6 (gunzipped) executables have different sha256 # checksums. -source_urls = ['https://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/versions/%s/all/' % - (version[:4] + '-' + version[4:6] + '-' + version[6:])] -sources = [{'download_filename': 'tbl2asn.%s.gz' % versionsuffix[1:], - 'filename': '%(name)s-%(version)s%(versionsuffix)s.gz'}] -checksums = ['c76481700e196ebd98a83f4174e0146569db9d6fe5753ac18691e9836d5c6a75'] - -cmds_map = [('.*', "cp %(name)s-%(version)s%(versionsuffix)s tbl2asn")] -files_to_copy = [ - (['tbl2asn'], 'bin'), +components = [ + ('libidn', '1.34', { + 'easyblock': 'ConfigureMake', + 'source_urls': [GNU_SOURCE], + 'sources': [SOURCELOWER_TAR_GZ], + 'start_dir': '%(namelower)s-%(version)s', + 'checksums': ['3719e2975f2fb28605df3479c380af2cf4ab4e919e1506527e4c7670afff6e3c'], + }), + (name, version, { + 'source_urls': ['https://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/versions/%s/all/' % + (version[:4] + '-' + version[4:6] + '-' + version[6:])], + 'sources': [{'download_filename': 'tbl2asn.%s.gz' % versionsuffix[1:], + 'filename': '%(name)s-%(version)s%(versionsuffix)s.gz'}], + 'checksums': ['c76481700e196ebd98a83f4174e0146569db9d6fe5753ac18691e9836d5c6a75'], + 'cmds_map': [('.*', "cp %(name)s-%(version)s%(versionsuffix)s tbl2asn")], + 'files_to_copy': [(['tbl2asn'], 'bin')], + }), ] +postinstallcmds = ["chmod +x %(installdir)s/bin/tbl2asn"] + sanity_check_paths = { - 'files': ['bin/tbl2asn'], - 'dirs': [], + 'files': ['bin/tbl2asn', 'bin/idn', 'lib/libidn.%s' % SHLIB_EXT], + 'dirs': ['include'], } -postinstallcmds = ["chmod +x %(installdir)s/bin/tbl2asn"] +sanity_check_commands = ['tbl2asn --help'] moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20230713-linux64.eb b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20230713-linux64.eb index 1f682d08a35..71b750650ba 100644 --- a/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20230713-linux64.eb +++ b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20230713-linux64.eb @@ -2,8 +2,9 @@ # Author: Pablo Escobar Lopez # sciCORE - University of Basel # SIB Swiss Institute of Bioinformatics +# revised by Ariel Lozano -easyblock = 'CmdCp' +easyblock = 'Bundle' name = 'tbl2asn' version = '20230713' @@ -14,27 +15,42 @@ description = """Tbl2asn is a command-line program that automates the creation o sequence records for submission to GenBank""" toolchain = SYSTEM +builddependencies = [ + ('binutils', '2.35'), +] + +default_easyblock = 'CmdCp' # It is not entirely clean how long NCBI keeps "older" versions. At April 29, 2022, we had six timestamps/versions, # reporiting the same verion (tbl2asn --help -> 25.8) but 5 out of 6 (gunzipped) executables have different sha256 # checksums. -source_urls = ['https://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/versions/%s/all/' % - (version[:4] + '-' + version[4:6] + '-' + version[6:])] -sources = [{'download_filename': 'tbl2asn.%s.gz' % versionsuffix[1:], - 'filename': '%(name)s-%(version)s%(versionsuffix)s.gz'}] -checksums = ['544c4a2a53f2121fd21c44778fc61980a701ce852ea0142979241c0465c38a0c'] - -cmds_map = [('.*', "cp %(name)s-%(version)s%(versionsuffix)s tbl2asn")] -files_to_copy = [ - (['tbl2asn'], 'bin'), +components = [ + ('libidn', '1.34', { + 'easyblock': 'ConfigureMake', + 'source_urls': [GNU_SOURCE], + 'sources': [SOURCELOWER_TAR_GZ], + 'start_dir': '%(namelower)s-%(version)s', + 'checksums': ['3719e2975f2fb28605df3479c380af2cf4ab4e919e1506527e4c7670afff6e3c'], + }), + (name, version, { + 'source_urls': ['https://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/versions/%s/all/' % + (version[:4] + '-' + version[4:6] + '-' + version[6:])], + 'sources': [{'download_filename': 'tbl2asn.%s.gz' % versionsuffix[1:], + 'filename': '%(name)s-%(version)s%(versionsuffix)s.gz'}], + 'checksums': ['544c4a2a53f2121fd21c44778fc61980a701ce852ea0142979241c0465c38a0c'], + 'cmds_map': [('.*', "cp %(name)s-%(version)s%(versionsuffix)s tbl2asn")], + 'files_to_copy': [(['tbl2asn'], 'bin')], + }), ] +postinstallcmds = ["chmod +x %(installdir)s/bin/tbl2asn"] + sanity_check_paths = { - 'files': ['bin/tbl2asn'], - 'dirs': [], + 'files': ['bin/tbl2asn', 'bin/idn', 'lib/libidn.%s' % SHLIB_EXT], + 'dirs': ['include'], } -postinstallcmds = ["chmod +x %(installdir)s/bin/tbl2asn"] +sanity_check_commands = ['tbl2asn --help'] moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tensorboard/tensorboard-2.15.1-gfbf-2023a.eb b/easybuild/easyconfigs/t/tensorboard/tensorboard-2.15.1-gfbf-2023a.eb new file mode 100644 index 00000000000..9c74e1a8f87 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorboard/tensorboard-2.15.1-gfbf-2023a.eb @@ -0,0 +1,86 @@ +easyblock = 'PythonBundle' + +name = 'tensorboard' +version = '2.15.1' + +homepage = 'https://github.com/tensorflow/tensorboard' +description = """TensorBoard is a suite of web applications for inspecting and +understanding your TensorFlow runs and graphs.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('protobuf-python', '4.24.0'), +] + +exts_list = [ + ('absl-py', '2.1.0', { + 'modulename': 'absl', + 'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'], + }), + ('cachetools', '5.3.2', { + 'checksums': ['086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2'], + }), + ('pyasn1_modules', '0.3.0', { + 'checksums': ['5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('google-auth', '2.26.2', { + 'modulename': 'google.auth', + 'checksums': ['97327dbbf58cccb58fc5a1712bba403ae76668e64814eb30f7316f7e27126b81'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('google-auth-oauthlib', '1.2.0', { + 'checksums': ['292d2d3783349f2b0734a0a0207b1e1e322ac193c2c09d8f7c613fb7cc501ea8'], + }), + ('grpcio', '1.60.0', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['2199165a1affb666aa24adf0c97436686d0a61bc5fc113c037701fb7c7fceb96'], + }), + ('Markdown', '3.5.2', { + 'checksums': ['e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8'], + }), + ('tensorboard_data_server', '0.7.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('Werkzeug', '3.0.1', { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['507e811ecea72b18a404947aded4b3390e1db8f826b494d76550ef45bb3b1dcc'], + }), + (name, version, { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['c46c1d1cf13a458c429868a78b2531d8ff5f682058d69ec0840b0bc7a38f1c0f'], + }), +] + +# Relax restriction on protobuf dependency as issue was fixed +# in https://github.com/protocolbuffers/upb/pull/1514 +# see also: https://github.com/easybuilders/easybuild-easyconfigs/pull/19671 +postinstallcmds = [ + 'sed -i "s/Requires-Dist: protobuf.*/Requires-Dist: protobuf >=3.19.6/g" ' + + '%(installdir)s/lib/python%(pyshortver)s/site-packages/%(name)s-%(version)s.dist-info/METADATA', +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2022b.eb b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2022b.eb new file mode 100644 index 00000000000..2091399890c --- /dev/null +++ b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2022b.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'tensorboardX' +version = '2.6.2.2' + +homepage = 'https://github.com/lanpa/tensorboardX' +description = "Tensorboard for PyTorch." + +toolchain = {'name': 'foss', 'version': '2022b'} + +# tensorboardX v2.x works with tensorboards generated with TensorFlow 2, +# but TensorFlow is not needed to use tensorboardX +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('protobuf-python', '4.23.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': '%(name)s', + 'checksums': ['c6476d7cd0d529b0b72f4acadb1269f9ed8b22f441e87a84f2a3b940bb87b666'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb new file mode 100644 index 00000000000..c6f2278fae0 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'tensorboardX' +version = '2.6.2.2' + +homepage = 'https://github.com/lanpa/tensorboardX' +description = "Tensorboard for PyTorch." + +toolchain = {'name': 'foss', 'version': '2023a'} + +# tensorboardX v2.x works with tensorboards generated with TensorFlow 2, +# but TensorFlow is not needed to use tensorboardX +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('protobuf-python', '4.24.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['c6476d7cd0d529b0b72f4acadb1269f9ed8b22f441e87a84f2a3b940bb87b666'], + 'modulename': '%(name)s', + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.20.0-foss-2023a.eb b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.20.0-foss-2023a.eb new file mode 100644 index 00000000000..c86b16b035f --- /dev/null +++ b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.20.0-foss-2023a.eb @@ -0,0 +1,47 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Authors:: Dugan Witherick (University of Warwick) +# License:: MIT/GPL +# $Id$ +# +# Updated to 0.19.0 +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update to 0.20.0: Pavel Tománek (INUITS) + +easyblock = 'PythonBundle' + +name = 'tensorflow-probability' +version = '0.20.0' + +homepage = 'https://www.tensorflow.org/probability' +description = """TensorFlow Probability (TFP) is a library for probabilistic reasoning and statistical analysis.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True, 'pic': True} + +dependencies = [ + ('Python', '3.11.3'), + ('TensorFlow', '2.13.0'), + ('dm-tree', '0.1.8'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + (name, version, { + 'modulename': 'tensorflow_probability', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/probability/archive/'], + 'checksums': ['f0fb9a1f88a36a8f57d4d9cce4f9bf8dfacb6fc7778751729fe3c3067e5a1363'], + }), +] + +sanity_check_commands = ["python -c 'import tensorflow; import tensorflow_probability'"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/texinfo/texinfo-7.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/texinfo/texinfo-7.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4622c62f424 --- /dev/null +++ b/easybuild/easyconfigs/t/texinfo/texinfo-7.1-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +## +# Author: Robert Mijakovic +## +# Update: Petr Král (INUITS) + +easyblock = 'ConfigureMake' + +name = 'texinfo' +version = '7.1' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """Texinfo is the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['deeec9f19f159e046fdf8ad22231981806dac332cc372f1c763504ad82b30953'] + +builddependencies = [('binutils', '2.40')] + +osdependencies = ['texlive'] + +preinstallopts = "make TEXMF=%(installdir)s/texmf install-tex && " + +# This will overwrite a users $TEXMFHOME so this module is best used as a build dependency +modextravars = {'TEXMFHOME': '%(installdir)s/texmf'} +modloadmsg = "\n\nWARNING: This texinfo module has (re)defined the value for the environment variable $TEXMFHOME.\n" +modloadmsg += "If you use a custom texmf directory (such as ~/texmf) you should copy files found in the\n" +modloadmsg += "new $TEXMFHOME to your custom directory and reset the value of $TEXMFHOME to point to that space:\n" +modloadmsg += "\tcp -r $TEXMFHOME/* /path/to/your/texmf\n" +modloadmsg += "\texport TEXMFHOME=/path/to/your/texmf\n\n" + +sanity_check_paths = { + 'files': [ + 'texmf/tex/texinfo/texinfo.tex', + 'bin/install-info', 'bin/makeinfo', 'bin/pdftexi2dvi', 'bin/pod2texi', 'bin/texi2pdf' + ], + 'dirs': ['bin', 'share', 'texmf'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-12.3.0.eb b/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-12.3.0.eb new file mode 100644 index 00000000000..0cf99eed71c --- /dev/null +++ b/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-12.3.0.eb @@ -0,0 +1,78 @@ +# Based off the 2017 version by John Dey jfdey@fredhutch.org +# https://github.com/easybuilders/easybuild-easyconfigs/pull/5085 +easyblock = 'Tarball' + +name = 'texlive' +version = '20230313' +local_ver_year = version[:4] + +homepage = 'https://tug.org' +description = """TeX is a typesetting language. Instead of visually formatting your text, you enter your manuscript + text intertwined with TeX commands in a plain text file. You then run TeX to produce formatted output, such as a + PDF file. Thus, in contrast to standard word processors, your document is a separate file that does not pretend to + be a representation of the final typeset output, and so can be easily edited and manipulated.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = [ + 'ftp://tug.org/texlive/historic/%s/' % local_ver_year, + 'https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/' % local_ver_year, +] +sources = [ + { + 'download_filename': 'install-tl-unx.tar.gz', + 'filename': 'install-tl-unx-%(version)s.tar.gz' + } +] +checksums = ['d97bdb3b1903428e56373e70861b24db448243d74d950cdff96f4e888f008605'] + +dependencies = [ + ('X11', '20230603'), + ('libpng', '1.6.39'), + ('libGLU', '9.0.3'), + ('Perl', '5.36.1'), + ('HarfBuzz', '5.3.1'), + ('poppler', '23.09.0'), + ('cairo', '1.17.8'), + ('fontconfig', '2.14.2'), + ('zlib', '1.2.13'), + ('graphite2', '1.3.14'), +] + +# For the latest release, the tlnet-final repository isn't available yet, so we use the default +# But, the default can _not_ be used for the historic releases. The only way to write an EasyConfig +# that will work today and in the future, is to try one by one. +# Similarly, ftp is not available on all HPC systems, hence providing fallback to https +# See https://github.com/easybuilders/easybuild-easyconfigs/issues/17871 +local_install_tl = "%%(builddir)s/install-tl-%%(version)s/install-tl -profile %%(installdir)s/texlive.profile %s" +local_ftp = '-repository ftp://ftp.math.utah.edu/pub/tex/historic/systems/textlive/%s/tlnet-final' % local_ver_year +local_https = '-repository https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/tlnet-final' % local_ver_year +local_install_tl_or = ( + ' || '.join([ + local_install_tl % '', + local_install_tl % local_ftp, + local_install_tl % local_https, + ]) +) +postinstallcmds = [ + 'echo "TEXDIR %%(installdir)s/" > %%(installdir)s/texlive.profile && ' + 'echo "TEXMFLOCAL %%(installdir)s/texmf-local" >> %%(installdir)s/texlive.profile && ' + 'echo "TEXMFSYSCONFIG %%(installdir)s/texmf-config" >> %%(installdir)s/texlive.profile && ' + 'echo "TEXMFSYSVAR %%(installdir)s/texmf-var" >> %%(installdir)s/texlive.profile && ' + '%s' % local_install_tl_or +] + +sanity_check_paths = { + 'files': ['bin/%(arch)s-linux/tex', 'bin/%(arch)s-linux/latex'], + 'dirs': ['bin/%(arch)s-linux', 'texmf-dist'], +} + +modextrapaths = { + 'INFOPATH': 'texmf-dist/doc/info', + 'MANPATH': 'texmf-dist/doc/man', + 'PATH': 'bin/%(arch)s-linux', +} + +modextravars = {'TEXMFHOME': '%(installdir)s/texmf-dist'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/timm/timm-0.9.7-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/timm/timm-0.9.7-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..f97e02d9b16 --- /dev/null +++ b/easybuild/easyconfigs/t/timm/timm-0.9.7-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,473 @@ +easyblock = 'CargoPythonBundle' + +name = 'timm' +version = '0.9.7' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://huggingface.co/docs/timm' +description = """ +timm is a library containing SOTA computer vision models, layers, utilities, +optimizers, schedulers, data-loaders, augmentations, and training/evaluation +scripts. It comes packaged with >700 pretrained models, and is designed to be +flexible and easy to use. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', '1.12.0', versionsuffix), + ('PyYAML', '6.0'), + ('tqdm', '4.64.0'), + ('torchvision', '0.13.1', versionsuffix), +] + +builddependencies = [ + ('maturin', '1.3.2', '-Rust-1.65.0'), +] + +crates = [ + # crates for PyO3 + ('ahash', '0.8.7'), + ('allocator-api2', '0.2.16'), + ('android-tzdata', '0.1.1'), + ('android_system_properties', '0.1.5'), + ('anyhow', '1.0.79'), + ('arrayvec', '0.7.4'), + ('assert_approx_eq', '1.1.0'), + ('autocfg', '1.1.0'), + ('basic-toml', '0.1.8'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.2'), + ('bumpalo', '3.14.0'), + ('cc', '1.0.83'), + ('cfg-if', '1.0.0'), + ('chrono', '0.4.33'), + ('core-foundation-sys', '0.8.6'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-utils', '0.8.19'), + ('either', '1.9.0'), + ('equivalent', '1.0.1'), + ('eyre', '0.6.11'), + ('getrandom', '0.2.12'), + ('glob', '0.3.1'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('iana-time-zone', '0.1.59'), + ('iana-time-zone-haiku', '0.1.2'), + ('indenter', '0.3.3'), + ('indexmap', '2.1.0'), + ('indoc', '2.0.4'), + ('inventory', '0.3.15'), + ('itoa', '1.0.10'), + ('js-sys', '0.3.67'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.152'), + ('libm', '0.2.8'), + ('lock_api', '0.4.11'), + ('log', '0.4.20'), + ('memoffset', '0.9.0'), + ('num-bigint', '0.4.4'), + ('num-complex', '0.4.4'), + ('num-integer', '0.1.45'), + ('num-traits', '0.2.17'), + ('once_cell', '1.19.0'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('ppv-lite86', '0.2.17'), + ('proc-macro2', '1.0.78'), + ('proptest', '1.4.0'), + ('python3-dll-a', '0.2.9'), + ('quote', '1.0.35'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rand_xorshift', '0.3.0'), + ('rayon', '1.8.1'), + ('rayon-core', '1.12.1'), + ('redox_syscall', '0.4.1'), + ('regex-syntax', '0.8.2'), + ('rust_decimal', '1.33.1'), + ('ryu', '1.0.16'), + ('scopeguard', '1.2.0'), + ('send_wrapper', '0.6.0'), + ('serde', '1.0.195'), + ('serde_derive', '1.0.195'), + ('serde_json', '1.0.111'), + ('smallvec', '1.13.1'), + ('syn', '2.0.48'), + ('target-lexicon', '0.12.13'), + ('termcolor', '1.4.1'), + ('trybuild', '1.0.89'), + ('unarray', '0.1.4'), + ('unicode-ident', '1.0.12'), + ('unindent', '0.2.3'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.90'), + ('wasm-bindgen-backend', '0.2.90'), + ('wasm-bindgen-macro', '0.2.90'), + ('wasm-bindgen-macro-support', '0.2.90'), + ('wasm-bindgen-shared', '0.2.90'), + ('widestring', '0.5.1'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.6'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-core', '0.52.0'), + ('windows-targets', '0.48.5'), + ('windows-targets', '0.52.0'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.0'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.0'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.0'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.0'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.0'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.0'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.0'), + ('zerocopy', '0.7.32'), + ('zerocopy-derive', '0.7.32'), + # crates for safetensors + ('aho-corasick', '1.1.2'), + ('anes', '0.1.6'), + ('atty', '0.2.14'), + ('autocfg', '1.1.0'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.6.3'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.2'), + ('bumpalo', '3.14.0'), + ('cast', '0.3.0'), + ('cfg-if', '1.0.0'), + ('ciborium', '0.2.2'), + ('ciborium-io', '0.2.2'), + ('ciborium-ll', '0.2.2'), + ('clap', '3.2.25'), + ('clap_lex', '0.2.4'), + ('criterion', '0.4.0'), + ('criterion-plot', '0.5.0'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-utils', '0.8.19'), + ('crunchy', '0.2.2'), + ('either', '1.9.0'), + ('errno', '0.3.8'), + ('fastrand', '2.0.1'), + ('fnv', '1.0.7'), + ('getrandom', '0.2.12'), + ('half', '2.3.1'), + ('hashbrown', '0.12.3'), + ('hermit-abi', '0.1.19'), + ('indexmap', '1.9.3'), + ('itertools', '0.10.5'), + ('itoa', '1.0.10'), + ('js-sys', '0.3.67'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.152'), + ('libm', '0.2.8'), + ('linux-raw-sys', '0.4.13'), + ('log', '0.4.20'), + ('memchr', '2.7.1'), + ('memmap2', '0.5.10'), + ('num-traits', '0.2.17'), + ('once_cell', '1.19.0'), + ('oorandom', '11.1.3'), + ('os_str_bytes', '6.6.1'), + ('plotters', '0.3.5'), + ('plotters-backend', '0.3.5'), + ('plotters-svg', '0.3.5'), + ('ppv-lite86', '0.2.17'), + ('proc-macro2', '1.0.78'), + ('proptest', '1.4.0'), + ('pyo3', '0.20.2'), + ('pyo3-build-config', '0.20.2'), + ('pyo3-ffi', '0.20.2'), + ('pyo3-macros', '0.20.2'), + ('pyo3-macros-backend', '0.20.2'), + ('quick-error', '1.2.3'), + ('quote', '1.0.35'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rand_xorshift', '0.3.0'), + ('rayon', '1.8.1'), + ('rayon-core', '1.12.1'), + ('redox_syscall', '0.4.1'), + ('regex', '1.10.3'), + ('regex-automata', '0.4.4'), + ('regex-syntax', '0.8.2'), + ('rustix', '0.38.30'), + ('rusty-fork', '0.3.0'), + ('ryu', '1.0.16'), + ('same-file', '1.0.6'), + ('serde', '1.0.195'), + ('serde_derive', '1.0.195'), + ('serde_json', '1.0.111'), + ('syn', '2.0.48'), + ('tempfile', '3.9.0'), + ('textwrap', '0.16.0'), + ('tinytemplate', '1.2.1'), + ('unarray', '0.1.4'), + ('unicode-ident', '1.0.12'), + ('wait-timeout', '0.2.0'), + ('walkdir', '2.4.0'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.90'), + ('wasm-bindgen-backend', '0.2.90'), + ('wasm-bindgen-macro', '0.2.90'), + ('wasm-bindgen-macro-support', '0.2.90'), + ('wasm-bindgen-shared', '0.2.90'), + ('web-sys', '0.3.67'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.6'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.52.0'), + ('windows_aarch64_gnullvm', '0.52.0'), + ('windows_aarch64_msvc', '0.52.0'), + ('windows_i686_gnu', '0.52.0'), + ('windows_i686_msvc', '0.52.0'), + ('windows_x86_64_gnu', '0.52.0'), + ('windows_x86_64_gnullvm', '0.52.0'), + ('windows_x86_64_msvc', '0.52.0'), +] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'timm-0.9.7.tar.gz': '2bfb1029e90b72e65eb9c75556169815f2e82257eaa1f6ebd623a4b4a52867a2'}, + {'ahash-0.8.7.tar.gz': '77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01'}, + {'allocator-api2-0.2.16.tar.gz': '0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5'}, + {'android-tzdata-0.1.1.tar.gz': 'e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0'}, + {'android_system_properties-0.1.5.tar.gz': '819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311'}, + {'anyhow-1.0.79.tar.gz': '080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca'}, + {'arrayvec-0.7.4.tar.gz': '96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711'}, + {'assert_approx_eq-1.1.0.tar.gz': '3c07dab4369547dbe5114677b33fbbf724971019f3818172d59a97a61c774ffd'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'basic-toml-0.1.8.tar.gz': '2db21524cad41c5591204d22d75e1970a2d1f71060214ca931dc7d5afe2c14e5'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.2.tar.gz': 'ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf'}, + {'bumpalo-3.14.0.tar.gz': '7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec'}, + {'cc-1.0.83.tar.gz': 'f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'chrono-0.4.33.tar.gz': '9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb'}, + {'core-foundation-sys-0.8.6.tar.gz': '06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f'}, + {'crossbeam-deque-0.8.5.tar.gz': '613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d'}, + {'crossbeam-epoch-0.9.18.tar.gz': '5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e'}, + {'crossbeam-utils-0.8.19.tar.gz': '248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'eyre-0.6.11.tar.gz': 'b6267a1fa6f59179ea4afc8e50fd8612a3cc60bc858f786ff877a4a8cb042799'}, + {'getrandom-0.2.12.tar.gz': '190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'hashbrown-0.14.3.tar.gz': '290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'iana-time-zone-0.1.59.tar.gz': 'b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539'}, + {'iana-time-zone-haiku-0.1.2.tar.gz': 'f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f'}, + {'indenter-0.3.3.tar.gz': 'ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683'}, + {'indexmap-2.1.0.tar.gz': 'd530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f'}, + {'indoc-2.0.4.tar.gz': '1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8'}, + {'inventory-0.3.15.tar.gz': 'f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'js-sys-0.3.67.tar.gz': '9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.152.tar.gz': '13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'num-bigint-0.4.4.tar.gz': '608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0'}, + {'num-complex-0.4.4.tar.gz': '1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214'}, + {'num-integer-0.1.45.tar.gz': '225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9'}, + {'num-traits-0.2.17.tar.gz': '39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'proc-macro2-1.0.78.tar.gz': 'e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae'}, + {'proptest-1.4.0.tar.gz': '31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf'}, + {'python3-dll-a-0.2.9.tar.gz': 'd5f07cd4412be8fa09a721d40007c483981bbe072cd6a21f2e83e04ec8f8343f'}, + {'quote-1.0.35.tar.gz': '291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rand_xorshift-0.3.0.tar.gz': 'd25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f'}, + {'rayon-1.8.1.tar.gz': 'fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051'}, + {'rayon-core-1.12.1.tar.gz': '1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'rust_decimal-1.33.1.tar.gz': '06676aec5ccb8fc1da723cc8c0f9a46549f21ebb8753d3915c6c41db1e7f1dc4'}, + {'ryu-1.0.16.tar.gz': 'f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'send_wrapper-0.6.0.tar.gz': 'cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73'}, + {'serde-1.0.195.tar.gz': '63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02'}, + {'serde_derive-1.0.195.tar.gz': '46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c'}, + {'serde_json-1.0.111.tar.gz': '176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4'}, + {'smallvec-1.13.1.tar.gz': 'e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7'}, + {'syn-2.0.48.tar.gz': '0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f'}, + {'target-lexicon-0.12.13.tar.gz': '69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae'}, + {'termcolor-1.4.1.tar.gz': '06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755'}, + {'trybuild-1.0.89.tar.gz': '9a9d3ba662913483d6722303f619e75ea10b7855b0f8e0d72799cf8621bb488f'}, + {'unarray-0.1.4.tar.gz': 'eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.90.tar.gz': 'b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406'}, + {'wasm-bindgen-backend-0.2.90.tar.gz': 'fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd'}, + {'wasm-bindgen-macro-0.2.90.tar.gz': '3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999'}, + {'wasm-bindgen-macro-support-0.2.90.tar.gz': 'bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7'}, + {'wasm-bindgen-shared-0.2.90.tar.gz': '4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b'}, + {'widestring-0.5.1.tar.gz': '17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.6.tar.gz': 'f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-core-0.52.0.tar.gz': '33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows-targets-0.52.0.tar.gz': '8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.0.tar.gz': 'cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.0.tar.gz': 'bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.0.tar.gz': 'a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.0.tar.gz': 'ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.0.tar.gz': '3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.0.tar.gz': '1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.0.tar.gz': 'dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04'}, + {'zerocopy-0.7.32.tar.gz': '74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be'}, + {'zerocopy-derive-0.7.32.tar.gz': '9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'anes-0.1.6.tar.gz': '4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299'}, + {'atty-0.2.14.tar.gz': 'd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.2.tar.gz': 'ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf'}, + {'bumpalo-3.14.0.tar.gz': '7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec'}, + {'cast-0.3.0.tar.gz': '37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'ciborium-0.2.2.tar.gz': '42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e'}, + {'ciborium-io-0.2.2.tar.gz': '05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757'}, + {'ciborium-ll-0.2.2.tar.gz': '57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9'}, + {'clap-3.2.25.tar.gz': '4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123'}, + {'clap_lex-0.2.4.tar.gz': '2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5'}, + {'criterion-0.4.0.tar.gz': 'e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb'}, + {'criterion-plot-0.5.0.tar.gz': '6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1'}, + {'crossbeam-deque-0.8.5.tar.gz': '613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d'}, + {'crossbeam-epoch-0.9.18.tar.gz': '5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e'}, + {'crossbeam-utils-0.8.19.tar.gz': '248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345'}, + {'crunchy-0.2.2.tar.gz': '7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'getrandom-0.2.12.tar.gz': '190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5'}, + {'half-2.3.1.tar.gz': 'bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, + {'indexmap-1.9.3.tar.gz': 'bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'js-sys-0.3.67.tar.gz': '9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.152.tar.gz': '13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'linux-raw-sys-0.4.13.tar.gz': '01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'memchr-2.7.1.tar.gz': '523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149'}, + {'memmap2-0.5.10.tar.gz': '83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327'}, + {'num-traits-0.2.17.tar.gz': '39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'oorandom-11.1.3.tar.gz': '0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575'}, + {'os_str_bytes-6.6.1.tar.gz': 'e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1'}, + {'plotters-0.3.5.tar.gz': 'd2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45'}, + {'plotters-backend-0.3.5.tar.gz': '9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609'}, + {'plotters-svg-0.3.5.tar.gz': '38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'proc-macro2-1.0.78.tar.gz': 'e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae'}, + {'proptest-1.4.0.tar.gz': '31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf'}, + {'pyo3-0.20.2.tar.gz': '9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0'}, + {'pyo3-build-config-0.20.2.tar.gz': '07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be'}, + {'pyo3-ffi-0.20.2.tar.gz': 'dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1'}, + {'pyo3-macros-0.20.2.tar.gz': '05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3'}, + {'pyo3-macros-backend-0.20.2.tar.gz': '0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-1.0.35.tar.gz': '291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rand_xorshift-0.3.0.tar.gz': 'd25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f'}, + {'rayon-1.8.1.tar.gz': 'fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051'}, + {'rayon-core-1.12.1.tar.gz': '1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'regex-1.10.3.tar.gz': 'b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15'}, + {'regex-automata-0.4.4.tar.gz': '3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'rustix-0.38.30.tar.gz': '322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca'}, + {'rusty-fork-0.3.0.tar.gz': 'cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f'}, + {'ryu-1.0.16.tar.gz': 'f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'serde-1.0.195.tar.gz': '63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02'}, + {'serde_derive-1.0.195.tar.gz': '46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c'}, + {'serde_json-1.0.111.tar.gz': '176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4'}, + {'syn-2.0.48.tar.gz': '0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f'}, + {'tempfile-3.9.0.tar.gz': '01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa'}, + {'textwrap-0.16.0.tar.gz': '222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d'}, + {'tinytemplate-1.2.1.tar.gz': 'be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc'}, + {'unarray-0.1.4.tar.gz': 'eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'wait-timeout-0.2.0.tar.gz': '9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6'}, + {'walkdir-2.4.0.tar.gz': 'd71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.90.tar.gz': 'b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406'}, + {'wasm-bindgen-backend-0.2.90.tar.gz': 'fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd'}, + {'wasm-bindgen-macro-0.2.90.tar.gz': '3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999'}, + {'wasm-bindgen-macro-support-0.2.90.tar.gz': 'bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7'}, + {'wasm-bindgen-shared-0.2.90.tar.gz': '4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b'}, + {'web-sys-0.3.67.tar.gz': '58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.6.tar.gz': 'f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.52.0.tar.gz': '8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd'}, + {'windows_aarch64_gnullvm-0.52.0.tar.gz': 'cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea'}, + {'windows_aarch64_msvc-0.52.0.tar.gz': 'bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef'}, + {'windows_i686_gnu-0.52.0.tar.gz': 'a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313'}, + {'windows_i686_msvc-0.52.0.tar.gz': 'ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a'}, + {'windows_x86_64_gnu-0.52.0.tar.gz': '3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd'}, + {'windows_x86_64_gnullvm-0.52.0.tar.gz': '1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e'}, + {'windows_x86_64_msvc-0.52.0.tar.gz': 'dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04'}, +] + +use_pip = True + +exts_list = [ + ('huggingface_hub', '0.17.3', { + 'checksums': ['40439632b211311f788964602bf8b0d9d6b7a2314fba4e8d67b2ce3ecea0e3fd'], + }), + ('safetensors', '0.4.2', { + 'checksums': ['acc85dcb09ec5e8aa787f588d7ad4d55c103f31e4ff060e17d92cc0e8b8cac73'], + }), + (name, version, { + 'checksums': ['2bfb1029e90b72e65eb9c75556169815f2e82257eaa1f6ebd623a4b4a52867a2'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tiny-cuda-nn/tiny-cuda-nn-1.6-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/tiny-cuda-nn/tiny-cuda-nn-1.6-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..d38b5962f49 --- /dev/null +++ b/easybuild/easyconfigs/t/tiny-cuda-nn/tiny-cuda-nn-1.6-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonPackage' + +name = 'tiny-cuda-nn' +version = '1.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVlabs/tiny-cuda-nn' +description = """is a small, self-contained framework for training and +querying neural networks. Most notably, it contains a lightning fast +"fully fused" multi-layer perceptron (technical paper), a versatile +multiresolution hash encoding (technical paper), as well as support for +various other input encodings, losses, and optimizers.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'NVlabs' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_external_fmt+cutlass.patch', +] +checksums = [ + {'v1.6.tar.gz': '490c944b58af1b376bfaaa3695f86d16eef81c3f903b67acdbd4d08612b099c5'}, + {'tiny-cuda-nn-1.6_use_external_fmt+cutlass.patch': + 'ef01a927d6efe9c23cc83173a6fbebe3f597747c6d545a450f4928ed5971959f'}, +] + +builddependencies = [ + ('Ninja', '1.10.2'), + ('fmt', '9.1.0'), + ('CUTLASS', '2.11.0', versionsuffix), # tiny-cuda-nn is not compatible with CUTLASS 3.x yet +] + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', '1.12.1', versionsuffix), +] + +start_dir = 'bindings/torch' + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +# Even though CMake isn't a dependency the template value is still available +preinstallopts = 'export TCNN_CUDA_ARCHITECTURES="%(cuda_cc_cmake)s" && ' + +options = {'modulename': 'tinycudann'} + +sanity_check_commands = [ + 'python -c "from tinycudann.modules import _C;"', +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/t/tiny-cuda-nn/tiny-cuda-nn-1.6_use_external_fmt+cutlass.patch b/easybuild/easyconfigs/t/tiny-cuda-nn/tiny-cuda-nn-1.6_use_external_fmt+cutlass.patch new file mode 100644 index 00000000000..cfe7171ed17 --- /dev/null +++ b/easybuild/easyconfigs/t/tiny-cuda-nn/tiny-cuda-nn-1.6_use_external_fmt+cutlass.patch @@ -0,0 +1,67 @@ +Use external fmt and CUTLASS + +Åke Sandgren, 2023-11-23 +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 600bc41..c1bfba9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,14 +44,6 @@ if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "RelWithDebInfo") + endif() + +-if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/cutlass/CMakeLists.txt") +- message(FATAL_ERROR +- "Some tiny-cuda-nn dependencies are missing. " +- "If you forgot the \"--recursive\" flag when cloning this project, " +- "this can be fixed by calling \"git submodule update --init --recursive\"." +- ) +-endif() +- + if (APPLE) + set(CMAKE_MACOSX_RPATH ON) + endif() +@@ -187,7 +179,6 @@ find_library( + ) + + set(BUILD_SHARED_LIBS OFF) +-add_subdirectory("dependencies/fmt") + + ############################################################################### + # tiny-cuda-nn library, samples, and benchmarks +@@ -225,9 +216,6 @@ target_compile_options(tiny-cuda-nn PUBLIC $<$:${CUDA_NVC + target_include_directories(tiny-cuda-nn PUBLIC + "include" + "dependencies" +- "dependencies/cutlass/include" +- "dependencies/cutlass/tools/util/include" +- "dependencies/fmt/include" + ) + target_link_libraries(tiny-cuda-nn PUBLIC ${CUDA_LIBRARIES} cuda cublas fmt) + +diff --git a/bindings/torch/setup.py b/bindings/torch/setup.py +index 351a2ed..5a2886f 100644 +--- a/bindings/torch/setup.py ++++ b/bindings/torch/setup.py +@@ -89,8 +89,6 @@ bindings_dir = os.path.dirname(__file__) + root_dir = os.path.abspath(os.path.join(bindings_dir, "../..")) + source_files = [ + "tinycudann/bindings.cpp", +- "../../dependencies/fmt/src/format.cc", +- "../../dependencies/fmt/src/os.cc", + "../../src/cpp_api.cu", + "../../src/common.cu", + "../../src/common_device.cu", +@@ -115,12 +113,9 @@ ext = CUDAExtension( + include_dirs=[ + "%s/include" % root_dir, + "%s/dependencies" % root_dir, +- "%s/dependencies/cutlass/include" % root_dir, +- "%s/dependencies/cutlass/tools/util/include" % root_dir, +- "%s/dependencies/fmt/include" % root_dir, + ], + extra_compile_args={"cxx": cflags, "nvcc": nvcc_flags}, +- libraries=["cuda", "cudadevrt", "cudart_static"], ++ libraries=["cuda", "cudadevrt", "cudart_static", "fmt"], + ) + ext_modules = [ext] + diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.14.1-foss-2022b.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.14.1-foss-2022b.eb new file mode 100644 index 00000000000..4b7c687138c --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.14.1-foss-2022b.eb @@ -0,0 +1,21 @@ +name = 'torchvision' +version = '0.14.1' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ced67e1cf1f97e168cdf271851a4d0b6d382ab7936e7bcbb39aaa87239c324b6'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('Pillow-SIMD', '9.5.0'), + ('PyTorch', '1.13.1'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.16.0-foss-2023a.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.0-foss-2023a.eb new file mode 100644 index 00000000000..f9988fed3fe --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.0-foss-2023a.eb @@ -0,0 +1,32 @@ +name = 'torchvision' +version = '0.16.0' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'cstd': 'c++17'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_fix-build-with-FFmpeg6.patch', +] +checksums = [ + {'v0.16.0.tar.gz': '79b30b082237e3ead21e74587cedf4a4d832f977cf7dfeccfb65f67988b12ceb'}, + {'torchvision-0.16.0_fix-build-with-FFmpeg6.patch': + 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('FFmpeg', '6.0'), + ('Pillow-SIMD', '9.5.0'), + ('PyTorch', '2.1.2'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.16.0_fix-build-with-FFmpeg6.patch b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.0_fix-build-with-FFmpeg6.patch new file mode 100644 index 00000000000..7a3637f3adc --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.0_fix-build-with-FFmpeg6.patch @@ -0,0 +1,36 @@ +From 86620bd84b872b76db0acafec167949dca03a29e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= + +Date: Tue, 7 Nov 2023 10:43:11 +0100 +Subject: [PATCH] Fix build with ffmpeg 6.0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Zoltán Böszörményi +--- + torchvision/csrc/io/decoder/stream.cpp | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/torchvision/csrc/io/decoder/stream.cpp b/torchvision/csrc/io/decoder/stream.cpp +index 0d625ef211c..8c914050587 100644 +--- a/torchvision/csrc/io/decoder/stream.cpp ++++ b/torchvision/csrc/io/decoder/stream.cpp +@@ -63,15 +63,8 @@ int Stream::openCodec(std::vector* metadata, int num_threads) { + codecCtx_->thread_count = num_threads; + } else { + // otherwise set sensible defaults +- // with the special case for the different MPEG4 codecs +- // that don't have threading context functions +- if (codecCtx_->codec->capabilities & AV_CODEC_CAP_INTRA_ONLY) { +- codecCtx_->thread_type = FF_THREAD_FRAME; +- codecCtx_->thread_count = 2; +- } else { +- codecCtx_->thread_count = 8; +- codecCtx_->thread_type = FF_THREAD_SLICE; +- } ++ codecCtx_->thread_count = 8; ++ codecCtx_->thread_type = FF_THREAD_SLICE; + } + + int ret; diff --git a/easybuild/easyconfigs/t/tox/tox-3.25.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/t/tox/tox-3.25.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..d6014a40f3b --- /dev/null +++ b/easybuild/easyconfigs/t/tox/tox-3.25.1-GCCcore-10.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'tox' +version = '3.25.1' + +homepage = 'https://tox.wiki' +description = "tox aims to automate and standardize testing in Python" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['c138327815f53bc6da4fe56baec5f25f00622ae69ef3fe4e1e385720e22486f9'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [('Python', '3.8.6')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tox/tox-3.25.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/tox/tox-3.25.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..86664cd8be0 --- /dev/null +++ b/easybuild/easyconfigs/t/tox/tox-3.25.1-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'tox' +version = '3.25.1' + +homepage = 'https://tox.wiki' +description = "tox aims to automate and standardize testing in Python" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['c138327815f53bc6da4fe56baec5f25f00622ae69ef3fe4e1e385720e22486f9'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [('Python', '3.10.4')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tqdm/tqdm-4.66.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tqdm/tqdm-4.66.1-GCCcore-12.3.0.eb index 1fce3aea1b1..c61e2a04e53 100644 --- a/easybuild/easyconfigs/t/tqdm/tqdm-4.66.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/t/tqdm/tqdm-4.66.1-GCCcore-12.3.0.eb @@ -16,7 +16,6 @@ checksums = ['d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7'] builddependencies = [ ('binutils', '2.40'), - ('hatchling', '1.18.0'), ] dependencies = [('Python', '3.11.3')] diff --git a/easybuild/easyconfigs/t/tqdm/tqdm-4.66.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/tqdm/tqdm-4.66.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..7277b56af66 --- /dev/null +++ b/easybuild/easyconfigs/t/tqdm/tqdm-4.66.2-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'tqdm' +version = '4.66.2' + +homepage = "https://github.com/tqdm/tqdm" +description = """A fast, extensible progress bar for Python and CLI""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [('Python', '3.11.5')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ab4fbb5db3d --- /dev/null +++ b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated by: +# R.QIAO +# DeepThought, Flinders University +# and +# Pavel Tománek (INUITS) + +easyblock = 'MakeCp' + +name = 'trimAl' +version = '1.4.1' + +homepage = 'https://github.com/scapella/trimal' +description = """EVB, FEP and LIE simulator.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'scapella' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cb8110ca24433f85c33797b930fa10fe833fa677825103d6e7f81dd7551b9b4e'] + +builddependencies = [ + ('binutils', '2.40'), + +] +start_dir = 'source' + +files_to_copy = [(['trimal', 'readal', 'statal'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/trimal', 'bin/readal', 'bin/statal'], + 'dirs': [] +} + +sanity_check_commands = ["trimal -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.10.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.10.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c87ca2d6b25 --- /dev/null +++ b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.10.0-GCCcore-13.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'typing-extensions' +version = '4.10.0' + +homepage = 'https://github.com/python/typing_extensions' +description = 'Typing Extensions - Backported and Experimental Type Hints for Python' + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = ['typing_extensions-%(version)s.tar.gz'] +checksums = ['b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.5')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..6d941d6f971 --- /dev/null +++ b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'typing-extensions' +version = '4.9.0' + +homepage = 'https://github.com/python/typing/blob/master/typing_extensions/README.rst' +description = 'Typing Extensions – Backported and Experimental Type Hints for Python' + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = ['typing_extensions-%(version)s.tar.gz'] +checksums = ['23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..44a057a01fd --- /dev/null +++ b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'typing-extensions' +version = '4.9.0' + +homepage = 'https://github.com/python/typing/blob/master/typing_extensions/README.rst' +description = 'Typing Extensions – Backported and Experimental Type Hints for Python' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = ['typing_extensions-%(version)s.tar.gz'] +checksums = ['23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.3')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.3.0.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb similarity index 96% rename from easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.3.0.eb rename to easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb index c292b853f63..7ddf4131415 100644 --- a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.3.0.eb +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb @@ -33,7 +33,7 @@ builddependencies = [ dependencies = [ ('zlib', '1.2.13'), ('UCX', version), - ('CUDA', '12.3.0', '', SYSTEM), + ('CUDA', '12.4.0', '', SYSTEM), ('GDRCopy', '2.4'), ] diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..42f38528005 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.16.0-rc4' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'download_filename': 'ucx-%s.tar.gz' % version.split('-')[0], 'filename': SOURCELOWER_TAR_GZ}] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.16.0-rc4.tar.gz': 'bc82ba145bec5de2eb3a7428a4d11a066090b5c307d8daed4e75351f9f3919b0'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.11'), + ('numactl', '2.0.14'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3627a39308c --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.16.0-rc4' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'download_filename': 'ucx-%s.tar.gz' % version.split('-')[0], 'filename': SOURCELOWER_TAR_GZ}] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.16.0-rc4.tar.gz': 'bc82ba145bec5de2eb3a7428a4d11a066090b5c307d8daed4e75351f9f3919b0'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.12'), + ('numactl', '2.0.14'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b49c37a93ed --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.16.0-rc4' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'download_filename': 'ucx-%s.tar.gz' % version.split('-')[0], 'filename': SOURCELOWER_TAR_GZ}] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.16.0-rc4.tar.gz': 'bc82ba145bec5de2eb3a7428a4d11a066090b5c307d8daed4e75351f9f3919b0'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.12'), + ('numactl', '2.0.16'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b4530aa124a --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.16.0-rc4' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'download_filename': 'ucx-%s.tar.gz' % version.split('-')[0], 'filename': SOURCELOWER_TAR_GZ}] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.16.0-rc4.tar.gz': 'bc82ba145bec5de2eb3a7428a4d11a066090b5c307d8daed4e75351f9f3919b0'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.5'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.13'), + ('numactl', '2.0.16'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..66faa507c27 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-13.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.16.0-rc4' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'download_filename': 'ucx-%s.tar.gz' % version.split('-')[0], 'filename': SOURCELOWER_TAR_GZ}] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.16.0-rc4.tar.gz': 'bc82ba145bec5de2eb3a7428a4d11a066090b5c307d8daed4e75351f9f3919b0'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('pkgconf', '2.0.3'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.13'), + ('numactl', '2.0.16'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1170be53a33 --- /dev/null +++ b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-13.2.0.eb @@ -0,0 +1,44 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg, Ghent University +# Authors:: Fotis Georgatos , Kenneth Hoste (Ghent University) +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-97.html +## + +easyblock = 'ConfigureMake' + +name = 'UDUNITS' +version = '2.2.28' + +homepage = 'https://www.unidata.ucar.edu/software/udunits/' +description = """UDUNITS supports conversion of unit specifications between formatted and binary forms, + arithmetic manipulation of units, and conversion of values between compatible scales of measurement.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://artifacts.unidata.ucar.edu/repository/downloads-udunits/%(version)s/', + 'https://sources.easybuild.io/u/UDUNITS/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['590baec83161a3fd62c00efa66f6113cec8a7c461e3f61a5182167e0cc5d579e'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('expat', '2.5.0')] + +sanity_check_paths = { + 'files': ['bin/udunits2', 'include/converter.h', 'include/udunits2.h', 'include/udunits.h', + 'lib/libudunits2.a', 'lib/libudunits2.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +parallel = 1 + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/u/UMI-tools/UMI-tools-1.1.4-foss-2023a.eb b/easybuild/easyconfigs/u/UMI-tools/UMI-tools-1.1.4-foss-2023a.eb new file mode 100644 index 00000000000..1f6142bd5d2 --- /dev/null +++ b/easybuild/easyconfigs/u/UMI-tools/UMI-tools-1.1.4-foss-2023a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'UMI-tools' +version = '1.1.4' + +homepage = 'https://umi-tools.readthedocs.io' +description = "Tools for handling Unique Molecular Identifiers in NGS data sets" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('Pysam', '0.22.0'), +] + +use_pip = True + +exts_list = [ + ('regex', '2023.10.3', { + 'checksums': ['3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f'], + }), + ('pybktree', '1.1', { + 'checksums': ['eec0037cdd3d7553e6d72435a4379bede64be17c6712f149e485169638154d2b'], + }), + (name, version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/CGATOxford/UMI-tools/archive/'], + 'checksums': ['945c4c98e2007369c301a7a009c6f9deb0fda74b0117cd14e14bd134164a4ff6'], + }), +] + +sanity_check_paths = { + 'files': ['bin/umi_tools'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.5-foss-2023a.eb b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.5-foss-2023a.eb new file mode 100644 index 00000000000..061f83b7ade --- /dev/null +++ b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.5-foss-2023a.eb @@ -0,0 +1,42 @@ +# Author: Denis Krišťák (INUITS) +# This is a contribution from HPCNow! (http://hpcnow.com) +# Update: Erica Bianco +# License:: GPL-v3.0 +easyblock = "PythonBundle" + +name = 'umap-learn' +version = '0.5.5' + +homepage = 'https://umap-learn.readthedocs.io/en/latest/' +description = """ +Uniform Manifold Approximation and Projection (UMAP) is a dimension reduction technique +that can be used for visualisation similarly to t-SNE, but also for general non-linear +dimension reduction. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('numba', '0.58.1'), + ('LLVM', '16.0.6'), + ('tqdm', '4.66.1'), +] + +use_pip = True + +exts_list = [ + ('pynndescent', '0.5.11', { + 'checksums': ['6f44ced9d5a9da2c87d9b2fff30bb5308540c0657605e4d5cde7ed3275bbad50'], + }), + (name, version, { + 'modulename': 'umap', + 'checksums': ['c54d607364413eade968b73ba07c8b3ea14412817f53cd07b6f720ac957293c4'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/uncertainties/uncertainties-3.1.7-foss-2023a.eb b/easybuild/easyconfigs/u/uncertainties/uncertainties-3.1.7-foss-2023a.eb new file mode 100644 index 00000000000..2b643d74ce6 --- /dev/null +++ b/easybuild/easyconfigs/u/uncertainties/uncertainties-3.1.7-foss-2023a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'uncertainties' +version = '3.1.7' + +homepage = 'http://uncertainties-python-package.readthedocs.io' +description = """Transparent calculations with uncertainties on the quantities involved (aka error propagation); + fast calculation of derivatives""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/v/VEP/VEP-111-GCC-12.2.0.eb b/easybuild/easyconfigs/v/VEP/VEP-111-GCC-12.2.0.eb new file mode 100644 index 00000000000..3266a41274c --- /dev/null +++ b/easybuild/easyconfigs/v/VEP/VEP-111-GCC-12.2.0.eb @@ -0,0 +1,42 @@ +name = 'VEP' +version = '111' + +homepage = 'https://www.ensembl.org/info/docs/tools/vep' +description = """Variant Effect Predictor (VEP) determines the effect of your + variants (SNPs, insertions, deletions, CNVs or structural variants) on genes, + transcripts, and protein sequence, as well as regulatory regions. + Includes EnsEMBL-XS, which provides pre-compiled replacements for frequently + used routines in VEP.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/Ensembl/ensembl-vep/archive/release/'] +sources = ['%(version)s.tar.gz'] +checksums = ['4e46a81640e8527e2717d6684fca13e6766fe7970c0410589195d77e19bd2971'] + +dependencies = [ + ('Perl', '5.36.0'), + ('Archive-Zip', '1.68'), + ('DBD-mysql', '4.050'), + ('BioPerl', '1.7.8'), + ('Bio-DB-HTS', '3.01'), + # VEP requires Compress::Raw::Zlib >= 2.103 + ('Compress-Raw-Zlib', '2.202'), +] + +# To select all species use 'all' (but this was broken as of 2024.02.01 and species need to explicitly listed +# with comma separation, see https://github.com/Ensembl/ensembl-vep/issues/1364#issuecomment-1753080504) +species = 'cyprinus_carpio_carpio' + +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", "") + +exts_list = [ + ('Bio::EnsEMBL::XS', '2.3.2', { + 'source_urls': ['https://github.com/Ensembl/ensembl-xs/archive'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['aafc59568cd1042259196575e99cdfeef9c0fb7966e5f915cfaf38c70885ffa5'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VSCode/VSCode-1.85.0.eb b/easybuild/easyconfigs/v/VSCode/VSCode-1.85.0.eb index 87bd4a020ed..a07a5ae511c 100644 --- a/easybuild/easyconfigs/v/VSCode/VSCode-1.85.0.eb +++ b/easybuild/easyconfigs/v/VSCode/VSCode-1.85.0.eb @@ -18,7 +18,7 @@ toolchain = {'name': 'system', 'version': 'system'} source_urls = ['https://code.visualstudio.com/sha/download?build=stable&os=linux-x64&'] sources = ['code-stable-x64-%s.tar.gz' % local_version_id] -checksums = ['01669d69e567a5290336b1d2f7b2f0f1816e9d7099004b81a26f8f40ee17c9fc'] +checksums = [None] # the tarballs are not stable modaliases = {'vscode': '%(installdir)s/bin/code'} diff --git a/easybuild/easyconfigs/v/Vala/Vala-0.56.14-GCCcore-12.3.0.eb b/easybuild/easyconfigs/v/Vala/Vala-0.56.14-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..26fa6d03ef8 --- /dev/null +++ b/easybuild/easyconfigs/v/Vala/Vala-0.56.14-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Vala' +version = '0.56.14' + +homepage = 'https://wiki.gnome.org/Projects/Vala' +description = """Vala is a programming language using modern high level abstractions without imposing additional runtime +requirements and without using a different ABI compared to applications and libraries written in C.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['http://download.gnome.org/sources/vala/%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['9382c268ca9bdc02aaedc8152a9818bf3935273041f629c56de410e360a3f557'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('Graphviz', '8.1.0'), +] + +dependencies = [ + ('GLib', '2.77.1'), +] + +sanity_check_paths = { + 'files': ['bin/vala', 'bin/valac', 'bin/valadoc', 'lib/libvala-%%(version_major_minor)s.%s' % SHLIB_EXT, + 'lib/libvaladoc-%%(version_major_minor)s.%s' % SHLIB_EXT], + 'dirs': ['include/vala-%(version_major_minor)s'], +} + +sanity_check_commands = [ + "vala --help", + "valac --help", + "valadoc --help", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/v/Vamb/Vamb-3.0.9-foss-2021b-CUDA-11.5.2.eb b/easybuild/easyconfigs/v/Vamb/Vamb-3.0.9-foss-2021b-CUDA-11.5.2.eb new file mode 100644 index 00000000000..6d8e9f25697 --- /dev/null +++ b/easybuild/easyconfigs/v/Vamb/Vamb-3.0.9-foss-2021b-CUDA-11.5.2.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'Vamb' +version = '3.0.9' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/RasmussenLab/vamb' +description = """Vamb is a metagenomic binner which feeds sequence +composition information from a contig catalogue and co-abundance +information from BAM files into a variational autoencoder and clusters +the latent representation.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('CUDA', '11.5.2', '', SYSTEM), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Pysam', '0.17.0'), + ('PyTorch', '1.12.1', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('setuptools', '59.6.0', { + 'source_tmpl': 'setuptools-%(version)s.tar.gz', + 'checksums': ['22c7348c6d2976a52632c67f7ab0cdf40147db7789f9aed18734643fe9cf3373'], + }), + (name, version, { + 'patches': ['%(name)s-%(version)s_allow_pytorch_1.12.patch'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/RasmussenLab/vamb/archive'], + 'checksums': [ + {'v3.0.9.tar.gz': '3a9025ddc3e9e54e3debe65855ac2367335f920efbcb9e5ecc671a1036455d1e'}, + {'Vamb-3.0.9_allow_pytorch_1.12.patch': '52f909a91d7d63ead3dfa1314c66efb2918a3606212a8f3d8e3a9f7ee7b33c86'}, + ], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/Vamb/Vamb-3.0.9_allow_pytorch_1.12.patch b/easybuild/easyconfigs/v/Vamb/Vamb-3.0.9_allow_pytorch_1.12.patch new file mode 100644 index 00000000000..f19bf52595b --- /dev/null +++ b/easybuild/easyconfigs/v/Vamb/Vamb-3.0.9_allow_pytorch_1.12.patch @@ -0,0 +1,15 @@ +Drop requirement of pytorch to 1.12 to allow the use of foss/2021b toolchain + +Åke Sandgren, 2023-03-01 +diff -ru vamb-3.0.9.orig/setup.py vamb-3.0.9/setup.py +--- vamb-3.0.9.orig/setup.py 2022-11-24 11:02:48.000000000 +0100 ++++ vamb-3.0.9/setup.py 2023-03-01 08:26:12.432734868 +0100 +@@ -22,7 +22,7 @@ + "ext_modules": [Extension("vamb._vambtools", + sources=["src/_vambtools.pyx"], + language="c")], +- "install_requires": ["numpy>=1.20", "torch>=1.13", "pysam>=0.14"], ++ "install_requires": ["numpy>=1.20", "torch>=1.12", "pysam>=0.14"], + "setup_requires": ['Cython>=0.29', "setuptools>=58.0"], + "python_requires": ">=3.5", + "classifiers":[ diff --git a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2023a-mt-kmer_191.eb b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2023a-mt-kmer_191.eb new file mode 100644 index 00000000000..3b712ec8ed1 --- /dev/null +++ b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2023a-mt-kmer_191.eb @@ -0,0 +1,35 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA, 2012-2013 The Cyprus Institute +# Authors:: Cedric Laczny , Fotis Georgatos , +# Thekla Loizou , Andreas Panteli +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +name = 'Velvet' +version = '1.2.10' +versionsuffix = '-mt-kmer_191' + +homepage = 'https://github.com/dzerbino/velvet/' +description = """Sequence assembler for very short reads""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True, 'pic': True} + +github_account = 'dzerbino' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4615e52dc2e8a05f1009daf2c0978c218860be364afa044f73677cd298f10c7b'] + +dependencies = [('zlib', '1.2.13')] + +buildopts = "OPENMP=1 MAXKMERLENGTH=%s LONGSEQUENCES=1" % versionsuffix.split('_')[1] + +postinstallcmds = ["cd contrib/MetaVelvet-1.* && make && cd ../../ && cp -a contrib %(installdir)s/"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/Vim/Vim-9.1.0004-GCCcore-12.3.0.eb b/easybuild/easyconfigs/v/Vim/Vim-9.1.0004-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d0ee82a07da --- /dev/null +++ b/easybuild/easyconfigs/v/Vim/Vim-9.1.0004-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'Vim' +version = "9.1.0004" + +homepage = 'http://www.vim.org' +description = """ Vim is an advanced text editor that seeks to provide the power + of the de-facto Unix editor 'Vi', with a more complete feature set. """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b930d02549e246a220d6ee95a4ef4938e56881e33b82e992e9439ac0f9fc7c13'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Perl', '5.36.1'), + ('PCRE', '8.45'), +] + +configopts = "--with-features=huge --enable-python3interp=yes --enable-perlinterp=yes" + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/vimtutor', 'bin/xxd'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['%(namelower)s --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/VisPy/VisPy-0.12.2-gfbf-2023a.eb b/easybuild/easyconfigs/v/VisPy/VisPy-0.12.2-gfbf-2023a.eb new file mode 100644 index 00000000000..ea5153042cc --- /dev/null +++ b/easybuild/easyconfigs/v/VisPy/VisPy-0.12.2-gfbf-2023a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'VisPy' +version = '0.12.2' + +homepage = 'https://vispy.org' +description = """VisPy is a high-performance interactive 2D/3D data visualization library + leveraging the computational power of modern Graphics Processing Units (GPUs) through the + OpenGL library to display very large datasets.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyQt5', '5.15.10'), + ('matplotlib', '3.7.2'), # for kiwisolver + ('freetype', '2.13.0'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True + +# setuptools-scm needs the .git dir to determine the version, otherwise it shows as 0.0.0 +_fix_pip_version = """sed -i 's/setup(/setup(version="%(version)s",/g' setup.py && """ + +exts_list = [ + ('freetype_py', '2.4.0', { + 'modulename': 'freetype', + 'sources': ['freetype-py-2.4.0.zip'], + 'checksums': ['8ad81195d2f8f339aba61700cebfbd77defad149c51f59b75a2a5e37833ae12e'], + 'preinstallopts': _fix_pip_version, + }), + ('hsluv', '5.0.4', { + 'checksums': ['2281f946427a882010042844a38c7bbe9e0d0aaf9d46babe46366ed6f169b72e'], + }), + ('vispy', version, { + 'checksums': ['141c2ddccc1158555bc89f09010c4b1d754487e816357333f31e795a7146a024'], + 'preinstallopts': _fix_pip_version, + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..44fc3e502f6 --- /dev/null +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'Voro++' +version = '0.4.6' + +homepage = 'http://math.lbl.gov/voro++/' +description = """Voro++ is a software library for carrying out three-dimensional computations of the Voronoi +tessellation. A distinguishing feature of the Voro++ library is that it carries out cell-based calculations, +computing the Voronoi cell for each particle individually. It is particularly well-suited for applications that +rely on cell-based statistics, where features of Voronoi cells (eg. volume, centroid, number of faces) can be used +to analyze a system of particles.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://math.lbl.gov/voro++/download/dir/', + 'https://download.lammps.org/thirdparty', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e'] + +builddependencies = [('binutils', '2.40')] + + +# No configure +skipsteps = ['configure'] + +# Override CXX and CFLAGS variables from Makefile +buildopts = 'CXX="$CXX" CFLAGS="$CXXFLAGS"' + +# Override PREFIX variable from Makefile +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ['bin/voro++', 'lib/libvoro++.a', 'include/voro++/voro++.hh'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9-gfbf-2023a-R-4.3.2.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9-gfbf-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..3d7ab00d6de --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9-gfbf-2023a-R-4.3.2.eb @@ -0,0 +1,82 @@ +# Author: Jasper Grimm (UoY) +# Updated: Denis Kristak (INUITS) +# Updated: Petr Král (INUITS) +easyblock = 'CMakeMake' + +name = 'vcflib' +version = '1.0.9' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/vcflib/vcflib' +description = """vcflib provides methods to manipulate and interpret sequence variation as it can be + described by VCF. The Variant Call Format (VCF) is a flat-file, tab-delimited textual format intended + to concisely describe reference-indexed genetic variations between individuals.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} +toolchainopts = {'openmp': True} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'vcflib-1.0.9_use-external-deps_and_fix_shared_lib.patch', +] +checksums = [ + {'v1.0.9.tar.gz': 'd17fcf8a34d65f1dfecf4b4290d058be744422b6baf34ecdef8ea912d59a4569'}, + {'vcflib-1.0.9_use-external-deps_and_fix_shared_lib.patch': + '82f622a6b4bac1501b10bbc82c4e6567e095869c17b7d34d92b8c4836816b5a1'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), + ('pybind11', '2.11.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Perl', '5.36.1'), + ('R', '4.3.2'), + ('XZ', '5.4.2'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('HTSlib', '1.18'), + ('tabixpp', '1.1.2'), + ('intervaltree', '0.1'), + ('fastahack', '1.0.0'), + ('filevercmp', '20191210'), + ('fsom', '20151117'), + ('multichoose', '1.0.3'), + ('smithwaterman', '20160702'), + ('WFA2', '2.3.4'), +] + +preconfigopts = "find %(builddir)s/%(name)s-%(version)s/src -type f " +preconfigopts += r"-regextype egrep -regex '.*\.(h|cpp)' -exec sed -i" +preconfigopts += " -e 's|SmithWatermanGotoh.h|smithwaterman/SmithWatermanGotoh.h|g'" +preconfigopts += " -e 's|IntervalTree.h|intervaltree/IntervalTree.h|g'" +preconfigopts += " -e 's|multichoose.h|multichoose/multichoose.h|g' -e 's|filevercmp.h|filevercmp/filevercmp.h|g'" +preconfigopts += " -e 's|tabix.hpp|tabixpp/tabix.hpp|g' -e 's|Fasta.h|fastahack/Fasta.h|g'" +preconfigopts += r" -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " + +configopts = "-DZIG=OFF -DWFA_GITMODULE=OFF -DWFA_INCLUDE_DIRS=$EBROOTWFA2/include/wfa2lib " +configopts += "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python" + +postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] + +modextrapaths = { + 'PATH': 'scripts', + 'PYTHONPATH': 'lib', +} + +sanity_check_paths = { + 'files': ['bin/vcffilter', 'bin/vcfcombine', 'lib/libvcflib.a', 'lib/libvcflib.%s' % SHLIB_EXT], + 'dirs': ['scripts', 'include'], +} + +sanity_check_commands = [ + "python -c 'import pyvcflib'", + "vcfwave --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9_use-external-deps_and_fix_shared_lib.patch b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9_use-external-deps_and_fix_shared_lib.patch new file mode 100644 index 00000000000..17f1f91c75d --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9_use-external-deps_and_fix_shared_lib.patch @@ -0,0 +1,204 @@ +Use external deps for as much as possible +Add shared library +Update VERSION +Based on patches from 1.0.3 and old 1.0.9 + +Åke Sandgren, 2024-01-16 +diff -ru vcflib-1.0.9.orig/CMakeLists.txt vcflib-1.0.9/CMakeLists.txt +--- vcflib-1.0.9.orig/CMakeLists.txt 2023-02-11 17:41:26.000000000 +0100 ++++ vcflib-1.0.9/CMakeLists.txt 2024-01-16 08:10:32.112086067 +0100 +@@ -45,6 +45,12 @@ + + set(EXTRA_FLAGS " ") # otherwise it injects OFF + ++# ---- Get version ++ ++file (STRINGS "VERSION" BUILD_NUMBER) ++add_definitions(-DVCFLIB_VERSION="${BUILD_NUMBER}") ++add_definitions(-DVERSION="${BUILD_NUMBER}") ++ + # ---- Dependencies + + if(OPENMP) +@@ -59,7 +65,7 @@ + set_package_properties(Threads PROPERTIES TYPE REQUIRED) + + pkg_check_modules(HTSLIB htslib) # Optionally builds from contrib/ +-pkg_check_modules(TABIXPP tabixpp) # Optionally builds from contrib/ ++#pkg_check_modules(TABIXPP tabixpp) # Optionally builds from contrib/ + + # ---- Build switches + set(CMAKE_POSITION_INDEPENDENT_CODE ON) +@@ -109,25 +115,25 @@ + # ---- Include files + + include_directories(include) +-include_directories(contrib/fastahack) +-include_directories(contrib/intervaltree) +-include_directories(contrib/smithwaterman) +-include_directories(contrib/multichoose) +-include_directories(contrib/filevercmp) ++# include_directories(contrib/fastahack) ++# include_directories(contrib/intervaltree) ++# include_directories(contrib/smithwaterman) ++# include_directories(contrib/multichoose) ++# include_directories(contrib/filevercmp) + include_directories(contrib/c-progress-bar) + +-if(NOT HTSLIB_FOUND) +- set(HTSLIB_LOCAL contrib/tabixpp/htslib) +- set(TABIX_FOUND OFF) # also build tabixpp if htslib is missing +-endif() +- +-if (NOT TABIX_FOUND) +- set(TABIXPP_LOCAL contrib/tabixpp) +- include_directories(contrib/tabixpp) +- set(tabixpp_SOURCE +- contrib/tabixpp/tabix.cpp +- ) +-endif() ++# if(NOT HTSLIB_FOUND) ++# set(HTSLIB_LOCAL contrib/tabixpp/htslib) ++# set(TABIX_FOUND OFF) # also build tabixpp if htslib is missing ++#endif() ++ ++#if (NOT TABIX_FOUND) ++# set(TABIXPP_LOCAL contrib/tabixpp) ++# include_directories(contrib/tabixpp) ++# set(tabixpp_SOURCE ++# contrib/tabixpp/tabix.cpp ++# ) ++#endif() + + if(WFA_GITMODULE) + set(WFA_LOCAL contrib/WFA2-lib) +@@ -135,14 +141,14 @@ + + file(GLOB INCLUDES + src/*.h* +- contrib/multichoose/*.h* +- contrib/intervaltree/*.h* +- contrib/smithwaterman/*.h* +- contrib/fastahack/*.h* +- contrib/filevercmp/*.h* +- ) ++# contrib/multichoose/*.h* ++# contrib/intervaltree/*.h* ++# contrib/smithwaterman/*.h* ++# contrib/fastahack/*.h* ++# contrib/filevercmp/*.h* ++) + +-set(vcflib_SOURCE ++set(SOURCES + src/vcf-c-api.cpp + src/legacy.cpp + src/vcf-wfa.cpp +@@ -158,14 +164,14 @@ + src/LeftAlign.cpp + src/cigar.cpp + src/allele.cpp +- contrib/fastahack/Fasta.cpp +- contrib/smithwaterman/SmithWatermanGotoh.cpp +- contrib/smithwaterman/Repeats.cpp +- contrib/smithwaterman/IndelAllele.cpp +- contrib/smithwaterman/disorder.cpp +- contrib/smithwaterman/LeftAlign.cpp +- contrib/fsom/fsom.c +- contrib/filevercmp/filevercmp.c ++# contrib/fastahack/Fasta.cpp ++# contrib/smithwaterman/SmithWatermanGotoh.cpp ++# contrib/smithwaterman/Repeats.cpp ++# contrib/smithwaterman/IndelAllele.cpp ++# contrib/smithwaterman/disorder.cpp ++# contrib/smithwaterman/LeftAlign.cpp ++# contrib/fsom/fsom.c ++# contrib/filevercmp/filevercmp.c + contrib/c-progress-bar/progress.c + ) + +@@ -173,10 +179,6 @@ + list(APPEND vcflib_SOURCE ${tabixpp_SOURCE}) + endif() + +-add_library(vcflib STATIC +- ${vcflib_SOURCE} +- ) +- + set(BINS + vcfecho + dumpContigsFromHeader +@@ -304,12 +306,6 @@ + vcfvarstats + ) + +-# ---- Get version +- +-file (STRINGS "VERSION" BUILD_NUMBER) +-add_definitions(-DVCFLIB_VERSION="${BUILD_NUMBER}") +-add_definitions(-DVERSION="${BUILD_NUMBER}") +- + # ---- Build htslib + # + # Note by default we use the distributed htslib! These are +@@ -363,7 +359,7 @@ + add_subdirectory(${WFA_LOCAL} EXCLUDE_FROM_ALL) + set(WFALIB wfa2) # pick up the wfa2 lib target from the included CMakeLists.txt + else(WFA_GITMODULE) +- set(WFA_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/wfa2lib) ++ # set(WFA_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/wfa2lib) + find_library(WFALIB wfa2 wfa) # distro search for shared lib + if(NOT WFALIB) + message(STATUS "ERROR: Can not find libfwa! Make sure it is installed or use the git submodule instead") +@@ -419,9 +415,9 @@ + ${ZLIB_LIBRARIES} + ${LIBLZMA_LIBRARIES} + ${BZIP2_LIBRARIES} +- ${TABIXPP_LIBRARIES} ++ tabixpp + ${CMAKE_THREAD_LIBS_INIT} +- ${WFA_LINK_LIBRARIES} ++ ${WFALIB} + ${HTSLIB_LINK_LIBRARIES} + ) + +@@ -429,7 +425,14 @@ + list(APPEND vcflib_LIBS ${ZIG_LINK_LIBRARIES}) + endif() + ++add_library(vcflib_static STATIC ${SOURCES}) ++set_target_properties(vcflib_static PROPERTIES OUTPUT_NAME vcflib) ++add_library(vcflib SHARED ${SOURCES}) ++set_target_properties(vcflib PROPERTIES VERSION ${BUILD_NUMBER} SOVERSION 1) ++target_link_libraries(vcflib tabixpp fastahack sw fsom filevercmp ${WFALIB} ${LDFLAGS} ${LIBS}) ++ + add_dependencies(vcflib ${vcflib_DEPS}) ++add_dependencies(vcflib_static ${vcflib_DEPS}) + + # ---- Build all + +@@ -437,7 +440,7 @@ + foreach(BIN ${BINS}) + add_executable(${BIN} src/${BIN}.cpp) + add_dependencies(${BIN} vcflib) +- target_link_libraries(${BIN} PUBLIC ${vcflib_LIBS} vcflib) ++ target_link_libraries(${BIN} PUBLIC vcflib ${vcflib_LIBS}) + endforeach(BIN ${BINS}) + # These binaries include WFALIB + target_link_libraries(vcfallelicprimitives PUBLIC ${WFALIB}) +@@ -576,7 +579,8 @@ + + # ---- Install + +-install(TARGETS vcflib ARCHIVE DESTINATION ${CMAKE_INSTALL_BINDIR}) ++install(TARGETS vcflib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(TARGETS vcflib_static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + install(FILES ${INCLUDES} DESTINATION include) + +diff -ru vcflib-1.0.9.orig/VERSION vcflib-1.0.9/VERSION +--- vcflib-1.0.9.orig/VERSION 2023-02-11 17:41:26.000000000 +0100 ++++ vcflib-1.0.9/VERSION 2024-01-15 16:33:28.640523913 +0100 +@@ -1 +1 @@ +-1.0.7 ++1.0.9 diff --git a/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.4.0.eb b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.4.0.eb new file mode 100644 index 00000000000..e9340780aab --- /dev/null +++ b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.4.0.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'vsc-mympirun' +version = '5.4.0' + +homepage = 'https://github.com/hpcugent/vsc-mympirun' +description = """mympirun is a tool to make it easier for users of HPC clusters to +run MPI programs with good performance.""" + +# we build this to work with every python version +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +use_pip = False + +exts_list = [ + ('setuptools', '41.6.0', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['6afa61b391dcd16cb8890ec9f66cc4015a8a31a6e1c2b4e0c464514be1a3d722'], + }), + ('future', '1.0.0', { + 'checksums': ['bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05'], + }), + ('pbr', '6.0.0', { + 'checksums': ['d1377122a5a00e2f940ee482999518efe16d745d423a670c27773dfbc3c9a7d9'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('mock', '5.1.0', { + 'checksums': ['5e96aad5ccda4718e0a229ed94b2024df75cc2d55575ba5762d31f5767b8767d'], + }), + ('IPy', '1.01', { + 'modulename': 'IPy', + 'checksums': ['edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a'], + }), + ('vsc-install', '0.20.1', { + 'modulename': 'vsc.install', + 'checksums': ['2eba4768205bf61c0845666a8ddb4eb0e2697e433d1800d75be8310159483cac'], + }), + ('vsc-base', '3.5.9', { + 'modulename': 'vsc.utils', + 'checksums': ['05015bf13c921e6e09fedce774e50fa4c7e71247e65666189aef212206af3fb6'], + }), + (name, version, { + 'modulename': False, + 'checksums': ['3321106e4b6ba0b09634309003ff6f5a0e5e51d4419650ab826a46c150e05c6d'], + }), +] + +# we ship something in bin/fake +modextrapaths = {'PATH': 'bin/fake'} + +sanity_check_paths = { + 'files': ['bin/mympirun', 'bin/mypmirun', 'bin/mympisanity', 'bin/mytasks'], + 'dirs': ['bin/fake'], +} +sanity_check_commands = ["mympirun --help"] + +# can't enable 'pip check' since pip may not be installed in OS +sanity_pip_check = False + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-13.2.0.eb b/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-13.2.0.eb new file mode 100644 index 00000000000..4a6ebb8aacf --- /dev/null +++ b/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'WCSLIB' +version = '7.11' + +homepage = 'https://www.atnf.csiro.au/people/mcalabre/WCS/' +description = """The FITS "World Coordinate System" (WCS) standard defines keywords +and usage that provide for the description of astronomical coordinate systems in a +FITS image header.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.atnf.csiro.au/pub/software/%(namelower)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['46befbfdf50cd4953896676a7d570094dc7661e2ae9677b092e7fb13cee3da5f'] + +builddependencies = [ + ('binutils', '2.40'), + ('M4', '1.4.19'), + ('flex', '2.6.4'), +] +dependencies = [ + ('CFITSIO', '4.3.1'), + ('PGPLOT', '5.2.2'), + ('X11', '20231019'), +] + +configopts = "--with-cfitsiolib=$EBROOTCFITSIO/lib --with-cfitsioinc=$EBROOTCFITSIO/include " +configopts += "--with-pgplotlib=$EBROOTPGPLOT/lib --with-pgplotinc=$EBROOTPGPLOT/include " + +sanity_check_paths = { + 'files': ['bin/wcsgrid', 'bin/wcsware', 'lib/libpgsbox-%(version)s.a', 'lib/libpgsbox.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ["wcsgrid --help 2>&1 | grep '^Usage: wcsgrid'"] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WFA2/WFA2-2.3.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/w/WFA2/WFA2-2.3.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..90cdfd83d9c --- /dev/null +++ b/easybuild/easyconfigs/w/WFA2/WFA2-2.3.4-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'WFA2' +version = '2.3.4' + +homepage = 'https://github.com/smarco/WFA2-lib' +description = """The wavefront alignment (WFA) algorithm is an exact + gap-affine algorithm that takes advantage of homologous regions + between the sequences to accelerate the alignment process.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/smarco/WFA2-lib/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3a02d19b45c7efcdcabdd956421b1e449e771fca0b0f072e02d7aa65ebb29f23'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] + +configopts = "-DOPENMP=ON" + +sanity_check_paths = { + 'files': ['lib/libwfa2.a'], + 'dirs': ['include/wfa2lib'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2-intel-2021b.eb b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2-intel-2021b.eb new file mode 100644 index 00000000000..a8881dbe118 --- /dev/null +++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2-intel-2021b.eb @@ -0,0 +1,78 @@ +name = 'WIEN2k' +version = '23.2' + +homepage = 'http://www.wien2k.at/' +description = """The program package WIEN2k allows to perform electronic structure calculations of solids +using density functional theory (DFT). It is based on the full-potential (linearized) augmented plane-wave +((L)APW) + local orbitals (lo) method, one among the most accurate schemes for band structure calculations. +WIEN2k is an all-electron scheme including relativistic effects and has many features.""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +sources = ['%(name)s_%(version)s.tar'] +patches = [ + '%(name)s-%(version)s_fix_libxc_for_lapw0_mpi.patch', + '%(name)s-%(version)s_fix_system_stderr_redirection.patch', +] +checksums = [ + '3a71565a4fb114a2f9af9a1710bd3160781a7566bb2746bef1ba8af372b4d7b0', # WIEN2k_23.2.tar + '1cc480a4824d9185ad5918dfc68c47bcb7826114626c8133d573be901bbdca84', # WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch + 'eb3f987b1f839b9f10c315d3f7a57e181e46bc98bec3a18e5b9942689b75fcc7', + # WIEN2k-23.2_fix_system_stderr_redirection.patch +] + + +download_instructions = """ +WIEN2k can be ordered at http://susi.theochem.tuwien.ac.at/index.html. +""" + +dependencies = [ + ('Python', '3.9.6'), + ('Perl', '5.34.0'), + ('DFT-D3', '3.2.0'), + ('ELPA', '2021.05.001'), + ('FFTW', '3.3.10'), + ('libxc', '5.1.6'), +] + +osdependencies = [ + ('glibc-devel', 'libc6-dev'), # required for libpthread. + ('tcsh') +] + +# remote = 'pbsssh' +# If using a Slurm batch system it is highly recommended to use +# 'srun -n_NP_ _EXEC_' for wien_mpirun +wien_mpirun = 'mpirun -np _NP_ _EXEC_' +use_remote = False +mpi_remote = False +wien_granularity = True +taskset = 'no' + +# Change as needed, these are the defaults +# nmatmax = 19000 +# nume = 6000 + +fix_perl_shebang_for = [ + 'iniel_pressure_in2reader.pl_lapw', + 'iniel_pressure_reader.pl_lapw', + 'setrmt_lapw', + 'elast_setup_input.pl_lapw', + 'bashtime2csh.pl_lapw', +] + +tests = [ + # test case 1: NaCl + ('NaCl', '-b', '-i 100', [r'^:DIS.*0.1', r'^:ENE.*-1248.1']), + # test case 2: TiO2 + ('TiO2', + '-b -numk 1000 -rkmax 7.5', + '-in1ef -cc 0.00001 -fc 0.5 -i 100', + [ + r'^:ENE.*-4018.0', + r'^:FGL001.*\s+[0.]+\s+[0.]+\s+[0.]+\s+total forces', + r'^:FGL002.*15.*total forces', + ]), +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch new file mode 100644 index 00000000000..473da9ef378 --- /dev/null +++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch @@ -0,0 +1,30 @@ +The Makefile.orig lapw0 is not updated according to how the Makefile works. +That causes a build failure for lapw0_mpi with libxc + +Åke Sandgren, 20210910 +diff -ru wien2k.orig/SRC_lapw0/Makefile.orig wien2k/SRC_lapw0/Makefile.orig +--- wien2k.orig/SRC_lapw0/Makefile.orig 2021-03-13 09:40:10.023772496 +0100 ++++ wien2k/SRC_lapw0/Makefile.orig 2021-09-10 14:53:07.875144996 +0200 +@@ -55,7 +55,9 @@ + #-------------- loader options ------------- + LDFLAGS = _LDFLAGS_ + R_LIBS = $(FFTW_LIBS) _R_LIBS_ $(LIBXC_LIBS) ++RR_LIBS = $(FFTW_LIBS) $(R_LIBS) $(LIBXC_LIBS) + RP_LIBS = $(FFTW_PLIBS) _RP_LIBS_ ++RPP_LIBS = $(FFTW_PLIBS) $(FFTW_LIBS) $(RP_LIBS) $(LIBXC_LIBS) + + ############################################################################### + # End of user defined variables # +@@ -128,10 +130,10 @@ + #.............................................................................. + + $(S_EXEC): $(OBJS) +- $(FORT) -o $(S_EXEC) $(OBJS) $(LDFLAGS) $(R_LIBS) ++ $(FORT) -o $(S_EXEC) $(OBJS) $(LDFLAGS) $(RR_LIBS) + + $(P_EXEC): $(OBJS) +- $(FORT) -o $(P_EXEC) $(OBJS) $(LDFLAGS) $(RP_LIBS) ++ $(FORT) -o $(P_EXEC) $(OBJS) $(LDFLAGS) $(RPP_LIBS) + + # sequential + keep_s_files: diff --git a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2_fix_system_stderr_redirection.patch b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2_fix_system_stderr_redirection.patch new file mode 100644 index 00000000000..4c0a3adaeef --- /dev/null +++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2_fix_system_stderr_redirection.patch @@ -0,0 +1,31 @@ +This fix removes the assumption that tcsh is being used to run the software. + +--- SRC_Globals/W2kinit.F.orig 2023-11-08 17:54:06.183370012 +0100 ++++ SRC_Globals/W2kinit.F 2023-11-08 18:29:21.436975434 +0100 +@@ -403,7 +403,7 @@ + logical AVX512, AVX2, AVX, SSE + integer istat, system + AVX512=.false.; AVX2=.false.; AVX=.false.; SSE=.false. +- istat=system('ls /proc/cpuinfo > /dev/null') ++ istat=system('test -f /proc/cpuinfo') + if(istat.ne.0.and.myid.eq.0) then + print*, "Could not read your /proc/cpuinfo. The default kernel of your ELPA installation" + print*, "will be used." +@@ -413,13 +413,13 @@ + !_REAL print*, " ELPA_DEFAULT_real_kernel" + !_COMPLEX print*, " ELPA_DEFAULT_complex_kernel" + else +- istat=system('grep -i avx512 /proc/cpuinfo > /dev/null') ++ istat=system('grep -qi avx512 /proc/cpuinfo') + if(istat.eq.0) AVX512=.true. +- istat=system('grep -i avx2 /proc/cpuinfo > /dev/null') ++ istat=system('grep -qi avx2 /proc/cpuinfo') + if(istat.eq.0) AVX2=.true. +- istat=system('grep -i avx /proc/cpuinfo > /dev/null') ++ istat=system('grep -qi avx /proc/cpuinfo') + if(istat.eq.0) AVX=.true. +- istat=system('grep -i sse /proc/cpuinfo > /dev/null') ++ istat=system('grep -qi sse /proc/cpuinfo') + if(istat.eq.0) SSE=.true. + endif + return diff --git a/easybuild/easyconfigs/w/WSClean/WSClean-3.4-foss-2023b.eb b/easybuild/easyconfigs/w/WSClean/WSClean-3.4-foss-2023b.eb new file mode 100644 index 00000000000..b1bdea0de21 --- /dev/null +++ b/easybuild/easyconfigs/w/WSClean/WSClean-3.4-foss-2023b.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'WSClean' +version = '3.4' + +homepage = 'https://wsclean.readthedocs.io/' +description = """WSClean (w-stacking clean) is a fast generic widefield imager. +It implements several gridding algorithms and offers fully-automated multi-scale +multi-frequency deconvolution.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +sources = [ + { + 'source_urls': ['https://gitlab.com/aroffringa/%(namelower)s/-/package_files/97237455/'], + 'filename': '%(namelower)s-v%(version)s.tar.bz2', + 'download_filename': 'download' + }, +] +checksums = ['b43d8ca490ccf34dd22aae6c5ca88a5dcb3cff0526835d3f97fa6d239745e641'] + +builddependencies = [ + ('CMake', '3.27.6'), +] +dependencies = [ + ('casacore', '3.5.0'), + ('EveryBeam', '0.5.2'), + ('Boost', '1.83.0'), + ('CFITSIO', '4.3.1'), + ('GSL', '2.7'), + ('HDF5', '1.14.3'), + ('Python', '3.11.5'), + ('IDG', '1.2.0'), +] + + +sanity_check_paths = { + 'files': ['include/wscleaninterface.h', 'bin/%(namelower)s'], + 'dirs': ['bin'], +} + +sanity_check_commands = [('%(namelower)s', '--version')] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2022b.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2022b.eb new file mode 100644 index 00000000000..c696e0ffde0 --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2022b.eb @@ -0,0 +1,32 @@ +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '3.1.0' + +homepage = 'http://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'intel', 'version': '2022b'} +toolchainopts = {'usempi': True} + +github_account = 'wannier-developers' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +patches = ['Wannier90_3x_ignore_makeinc.patch'] +checksums = [ + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz + '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch +] + +buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" ' +buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' +buildopts += 'COMMS=mpi' + +files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')] + +sanity_check_paths = { + 'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'], + 'dirs': [] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.1-foss-2022b.eb b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.1-foss-2022b.eb new file mode 100644 index 00000000000..6aff37fd851 --- /dev/null +++ b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.1-foss-2022b.eb @@ -0,0 +1,54 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonBundle' + +name = 'WhatsHap' +version = '2.1' + +homepage = 'https://whatshap.readthedocs.io' +description = """WhatsHap is a software for phasing genomic variants using DNA +sequencing reads, also called read-based phasing or haplotype assembly. It is +especially suitable for long reads, but works also well with short reads.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('Pysam', '0.21.0'), + ('networkx', '3.0'), + ('SciPy-bundle', '2023.02'), + ('Biopython', '1.81'), + ('Yasm', '1.3.0'), + ('pyfaidx', '0.7.2.1'), + ('python-isal', '1.1.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('xopen', '1.7.0', { + 'preinstallopts': """sed -i -e 's/^dynamic = \\["version"\\]/version = "%(version)s"/' """ + + "%(start_dir)s/pyproject.toml && ", + 'checksums': ['901f9c8298e95ed74767a4bd76d9f4cf71d8de27b8cf296ac3e7bc1c11520d9f'], + }), + ('pulp', '2.8.0', { + 'source_tmpl': 'PuLP-%(version)s.tar.gz', + 'checksums': ['4903bf96110bbab8ed2c68533f90565ebb76aa367d9e4df38e51bf727927c125'], + }), + (name, version, { + 'preinstallopts': """sed -i -e 's/^dynamic = \\["version",/version = "%(version)s"\\ndynamic = \\[/' """ + + "%(start_dir)s/pyproject.toml && ", + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['9b61812eda1dd5251ba8d02db16d7ddda152ccc813cb3db6a1ec796f1865fe8d'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.2-foss-2023a.eb b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.2-foss-2023a.eb new file mode 100644 index 00000000000..7ea2d435758 --- /dev/null +++ b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.2-foss-2023a.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'WhatsHap' +version = '2.2' + +homepage = 'https://whatshap.readthedocs.io' +description = """WhatsHap is a software for phasing genomic variants using DNA +sequencing reads, also called read-based phasing or haplotype assembly. It is +especially suitable for long reads, but works also well with short reads.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('hatchling', '1.18.0')] + +dependencies = [ + ('Python', '3.11.3'), + ('Pysam', '0.22.0'), + ('networkx', '3.1'), + ('SciPy-bundle', '2023.07'), + ('Biopython', '1.83'), + ('Yasm', '1.3.0'), + ('pyfaidx', '0.8.1.1'), + ('python-isal', '1.1.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('xopen', '1.7.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['c4c6c978bb5f6f2a4364438da09f4f8fde078b6df4de18e3f72fccc472d1ee33'], + }), + ('PuLP', '2.8.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['4a19814a5b0a4392d788ac2315263435293579b0583c3469943fe0c6a586f263'], + }), + ('whatshap', version, { + 'checksums': ['4cd34e9b82930c4f42e9e6b7dce2e321e4c81f934fdb980b6093ad91a06ae30a'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1-foss-2022b.eb b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1-foss-2022b.eb new file mode 100644 index 00000000000..62cb10d007e --- /dev/null +++ b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1-foss-2022b.eb @@ -0,0 +1,56 @@ +# easyconfig file for waLBerla v6.1 +easyblock = 'CMakeMakeCp' + +name = 'waLBerla' +version = '6.1' + +homepage = "https://walberla.net/index.html" +description = """Widely applicable Lattics-Boltzmann from Erlangen is a +block-structured high-performance framework for multiphysics simulations""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://i10git.cs.fau.de/walberla/walberla/-/archive/v6.1'] +sources = ['%(name)s-v%(version)s.tar.gz'] +patches = ['waLBerla-6.1_fix_cmakelist_for_easybuild_without_python.patch'] +checksums = [ + {'waLBerla-v6.1.tar.gz': 'f0acdd9ad6543bc9306c8aae953dd5065986271d4398916ae0469db8b21c007a'}, + {'waLBerla-6.1_fix_cmakelist_for_easybuild_without_python.patch': + 'e64927d85ed6ac4c52921c33c504d4f6e7038fd618c89cf7efdadbcf638a1048'}, +] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Boost.MPI', '1.81.0'), +] + +parallel = 1 + +configopts = "-DWALBERLA_BUILD_WITH_PYTHON=OFF " +configopts += "-DWALBERLA_BUILD_SHOWCASES=OFF " +configopts += "-DWALBERLA_BUILD_DOC=OFF " +configopts += "-DWALBERLA_BUILD_BENCHMARKS=OFF" + + +files_to_copy = [ + (['%(builddir)s/easybuild_obj/*'], 'build'), + (['%(start_dir)s/src/*'], 'src'), +] + +sanity_check_paths = { + 'files': [ + 'build/src/waLBerlaDefinitions.h', + 'build/apps/tutorials/basics/01_Tutorial_BlocksAndFields1', + 'build/utilities/filterCompileCommands.py' + ], + 'dirs': ['src', 'build/apps', 'build/tests', 'build/utilities'] +} + +sanity_check_commands = [ + "mkdir -p %(builddir)s && cp -a %(installdir)s/build/apps/tutorials/lbm %(builddir)s/", + "cd %(builddir)s/lbm && chmod -R u+w . && ./01_BasicLBM 01_BasicLBM.prm", +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1_fix_cmakelist_for_easybuild_without_python.patch b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1_fix_cmakelist_for_easybuild_without_python.patch new file mode 100644 index 00000000000..44686c013d9 --- /dev/null +++ b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1_fix_cmakelist_for_easybuild_without_python.patch @@ -0,0 +1,15 @@ +diff -ruN walberla-v6.1.orig/CMakeLists.txt walberla-v6.1/CMakeLists.txt +--- walberla-v6.1.orig/CMakeLists.txt 2023-10-17 13:06:02.619565000 +0200 ++++ walberla-v6.1/CMakeLists.txt 2023-10-26 19:28:03.622447001 +0200 +@@ -1313,8 +1313,9 @@ + configure_file ( src/waLBerlaDefinitions.in.h + src/waLBerlaDefinitions.h ) + +-install( FILES ${walberla_BINARY_DIR}/src/waLBerlaDefinitions.h DESTINATION walberla/ ) +- ++install( FILES ${walberla_BINARY_DIR}/src/waLBerlaDefinitions.h DESTINATION . ) ++install( DIRECTORY ${walberla_BINARY_DIR}/apps/benchmarks/ DESTINATION benchmarks/ ) ++install( DIRECTORY ${walberla_BINARY_DIR}/apps/tutorials/ DESTINATION tutorials/ ) + + # test + if ( WALBERLA_BUILD_TESTS ) diff --git a/easybuild/easyconfigs/w/wandb/wandb-0.16.1-GCC-12.3.0.eb b/easybuild/easyconfigs/w/wandb/wandb-0.16.1-GCC-12.3.0.eb index 5c06dc3de1b..878f6cc3f72 100644 --- a/easybuild/easyconfigs/w/wandb/wandb-0.16.1-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/w/wandb/wandb-0.16.1-GCC-12.3.0.eb @@ -26,9 +26,6 @@ exts_list = [ 'modulename': 'dockerpycreds', 'checksums': ['6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4'], }), - ('urllib3', '2.1.0', { - 'checksums': ['df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54'], - }), ('sentry-sdk', '1.39.1', { 'checksums': ['320a55cdf9da9097a0bead239c35b7e61f53660ef9878861824fd6d9b2eaf3b5'], }), diff --git a/easybuild/easyconfigs/w/wget/wget-1.21.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/w/wget/wget-1.21.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d77cd2923d7 --- /dev/null +++ b/easybuild/easyconfigs/w/wget/wget-1.21.4-GCCcore-13.2.0.eb @@ -0,0 +1,50 @@ +easyblock = 'ConfigureMake' + +name = 'wget' +version = '1.21.4' + +homepage = 'https://www.gnu.org/software/wget' +description = """GNU Wget is a free software package for retrieving files using HTTP, HTTPS and FTP, + the most widely-used Internet protocols. It is a non-interactive commandline tool, + so it may easily be called from scripts, cron jobs, terminals without X-Windows support, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = [ + {SOURCE_TAR_GZ: '81542f5cefb8faacc39bbbc6c82ded80e3e4a88505ae72ea51df27525bcde04c'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Perl', '5.38.0'), +] +dependencies = [ + ('PCRE', '8.45'), + ('libidn2', '2.3.2'), + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date gnutls for security reasons + # ('GnuTLS', '3.7.1'), +] + +# make sure pkgconfig picks up system packages (OpenSSL & co) +local_pc = "%(sysroot)s/usr/lib64/pkgconfig:" +local_pc += "%(sysroot)s/usr/lib/pkgconfig:" +local_pc += "%(sysroot)s/usr/lib/x86_64-linux-gnu/pkgconfig" +preconfigopts = "export PKG_CONFIG_PATH=%s && " % local_pc +configopts = '--with-ssl=openssl ' + +# Optionally, you can use gnutls (default) instead of OpenSSL. +# Do not forget to comment out configopts in that case. +# osdependencies = [('gnutls-devel', 'gnutls-dev', 'libgnutls-devel')] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.4.1-foss-2023a.eb b/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.4.1-foss-2023a.eb new file mode 100644 index 00000000000..bc0634647b0 --- /dev/null +++ b/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.4.1-foss-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'wrf-python' +version = '1.3.4.1' + +homepage = 'https://wrf-python.readthedocs.io' +description = """A collection of diagnostic and interpolation routines for use with output from + the Weather Research and Forecasting (WRF-ARW) Model.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.11.3'), + ('netcdf4-python', '1.6.4'), + ('xarray', '2023.9.0'), + ('matplotlib', '3.7.2'), + ('Cartopy', '0.22.0'), + ('basemap', '1.3.9'), +] + +use_pip = True + +exts_list = [ + ('wrapt', '1.16.0', { + 'checksums': ['5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d'], + }), + (name, version, { + 'modulename': 'wrf', + 'checksums': ['e349578da8c3f108b8169c19d2186e72d79f610561f2e11c59fbf6eda3f9a2e7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..60e7b3d6bd2 --- /dev/null +++ b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'XCFun' +version = '2.1.1' + +homepage = 'https://xcfun.readthedocs.io' +description = """Arbitrary order exchange-correlation functional library""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/dftlibs/xcfun/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8b602df74c7be83d501532565deafd1b7881946d94789122f24c309a669298ab'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3') +] + +modextravars = {'XCFun_DIR': '%(installdir)s/share/cmake/XCFun/'} + +sanity_check_paths = { + 'files': ['lib/libxcfun.%s' % SHLIB_EXT], + 'dirs': ['include/XCFun'] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-intel-2021b.eb b/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-intel-2021b.eb new file mode 100644 index 00000000000..1efe81bd188 --- /dev/null +++ b/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-intel-2021b.eb @@ -0,0 +1,40 @@ +# Contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2022 + +name = 'XCrySDen' +version = '1.6.2' + +homepage = "http://www.xcrysden.org/" +docurls = "http://www.xcrysden.org/Documentation.html" +description = """ +XCrySDen is a crystalline and molecular structure visualisation program aiming at display of isosurfaces +and contours, which can be superimposed on crystalline structures and interactively rotated and manipulated. +It also possesses some tools for analysis of properties in reciprocal space such as interactive selection +of k-paths in the Brillouin zone for the band-structure plots, and visualisation of Fermi surfaces. +""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +source_urls = ["http://www.xcrysden.org/download/"] +sources = [SOURCELOWER_TAR_GZ] +patches = ['XCrySDen-1.6.2-no-bwidget-tcl-download.patch'] +checksums = [ + '811736ee598bec1a5b427fd10e4e063a30dd7cadae96a43a50b36ce90a4f503f', # xcrysden-1.6.2.tar.gz + 'e5f79c77116c6faf441d63f62bb3d22c5520163995b28e505d2168424a587bac', # XCrySDen-1.6.2-no-bwidget-tcl-download.patch +] + +dependencies = [ + ('Togl', '2.0'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('bwidget', '1.9.15'), +] + +sanity_check_commands = [ + 'xcrysden --help', + # requires DISPLAY + # 'xcrysden --xsf $EBROOTXCRYSDEN/share/%(namelower)s-%(version)s/examples/XSF_Files/GaAsH.xsf --print output.png \ + # && rm output.png', +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0208-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0208-GCCcore-12.2.0.eb index 23fbad63969..3172f2c2daa 100644 --- a/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0208-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0208-GCCcore-12.2.0.eb @@ -58,7 +58,7 @@ modextrapaths = { sanity_check_paths = { 'files': [], - 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/XML/LibXML'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/XML/LibXML'], } moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0209-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0209-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..38708f32b6a --- /dev/null +++ b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0209-GCCcore-12.3.0.eb @@ -0,0 +1,65 @@ +# updated toolchain, version, and dependency versions +# Thomas Eylenbosch 5-Jun-23 + +easyblock = 'Bundle' + +name = 'XML-LibXML' +version = '2.0209' + +homepage = 'https://metacpan.org/pod/distribution/XML-LibXML/LibXML.pod' +description = "Perl binding for libxml2" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), + ('libxml2', '2.11.4'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('File::chdir', '0.1011', { + 'source_tmpl': 'File-chdir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['31ebf912df48d5d681def74b9880d78b1f3aca4351a0ed1fe3570b8e03af6c79'], + }), + ('Alien::Base', '2.80', { + 'source_tmpl': 'Alien-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/'], + 'checksums': ['d9edc936b06705bb5cb5ee5a2ea8bcf6111a3e8815914f177e15e3c0fed301f3'], + }), + ('Alien::Build::Plugin::Download::GitLab', '0.01', { + 'source_tmpl': 'Alien-Build-Plugin-Download-GitLab-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['c1f089c8ea152a789909d48a83dbfcf2626f773daf30431c8622582b26aba902'], + }), + ('Alien::Libxml2', '0.19', { + 'source_tmpl': 'Alien-Libxml2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['f4a674099bbd5747c0c3b75ead841f3b244935d9ef42ba35368024bd611174c9'], + }), + ('XML::LibXML', version, { + 'source_tmpl': 'XML-LibXML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/'], + 'checksums': ['b4a5abbcd689aa2fbbc8b7b45339e961c4984e48108494eb6c282b4748222425'], + }), +] + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/XML/LibXML'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..bd3ec06470c --- /dev/null +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.5-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'Xerces-C++' +version = '3.2.5' + +homepage = 'https://xerces.apache.org/xerces-c/' + +description = """Xerces-C++ is a validating XML parser written in a portable +subset of C++. Xerces-C++ makes it easy to give your application the ability to +read and write XML data. A shared library is provided for parsing, generating, +manipulating, and validating XML documents using the DOM, SAX, and SAX2 +APIs.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://archive.apache.org/dist/xerces/c/%(version_major)s/sources/'] +sources = ['xerces-c-%(version)s.tar.gz'] +checksums = ['545cfcce6c4e755207bd1f27e319241e50e37c0c27250f11cda116018f1ef0f5'] + +builddependencies = [ + ('pkgconf', '2.0.3'), + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +dependencies = [ + ('cURL', '8.3.0'), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/XInclude', + 'include/xercesc/xinclude/XIncludeUtils.hpp', + 'lib/libxerces-c-3.2.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.1.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.1.9-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..74d6a7ef4c5 --- /dev/null +++ b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.1.9-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'XlsxWriter' +version = '3.1.9' + +homepage = 'https://xlsxwriter.readthedocs.io/' +description = "A Python module for creating Excel XLSX files" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['de810bf328c6a4550f4ffd6b0b34972aeb7ffcf40f3d285a0413734f9b63a929'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/vba_extract.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['vba_extract.py --help'] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/xpdf/xpdf-4.04-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/xpdf/xpdf-4.04-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..09172b35159 --- /dev/null +++ b/easybuild/easyconfigs/x/xpdf/xpdf-4.04-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2023/11 +easyblock = 'CMakeMake' + +name = 'xpdf' +version = '4.04' + +homepage = 'https://www.xpdfreader.com/' +description = """Xpdf was first released in 1995. It was written, and is still developed, by +Derek Noonburg. +Xpdf is a free PDF viewer and toolkit, including a text extractor, image +converter, HTML converter, and more. Most of the tools are available as open source.""" +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [ + 'https://dl.xpdfreader.com/', + 'https://dl.xpdfreader.com/old', +] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['63ce23fcbf76048f524c40be479ac3840d7a2cbadb6d1e0646ea77926656bade'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('freetype', '2.13.0'), + ('libpng', '1.6.39'), + ('Qt5', '5.15.10'), + ('LittleCMS', '2.15') +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["pdfinfo --help 2>&1 | grep 'pdfinfo version %(version)s'"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.6.1-foss-2023a.eb b/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2023a.eb similarity index 95% rename from easybuild/easyconfigs/x/xtb/xtb-6.6.1-foss-2023a.eb rename to easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2023a.eb index 2c7121360de..7b92e5920d5 100644 --- a/easybuild/easyconfigs/x/xtb/xtb-6.6.1-foss-2023a.eb +++ b/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2023a.eb @@ -6,7 +6,7 @@ version = '6.6.1' homepage = 'https://xtb-docs.readthedocs.io' description = """ xtb - An extended tight-binding semi-empirical program package. """ -toolchain = {'name': 'foss', 'version': '2023a'} +toolchain = {'name': 'gfbf', 'version': '2023a'} github_account = 'grimme-lab' source_urls = [GITHUB_LOWER_SOURCE] diff --git a/easybuild/easyconfigs/x/xtensor/xtensor-0.24.0-foss-2021b.eb b/easybuild/easyconfigs/x/xtensor/xtensor-0.24.0-foss-2021b.eb index afb2af5900a..14ae87a2bac 100644 --- a/easybuild/easyconfigs/x/xtensor/xtensor-0.24.0-foss-2021b.eb +++ b/easybuild/easyconfigs/x/xtensor/xtensor-0.24.0-foss-2021b.eb @@ -37,6 +37,7 @@ components = [ }), ('xtensor-python', '0.26.0', { 'checksums': ['04dcfe84181c23f364b1e68a6d55d89d1679f31d8da0372db01af72534baf728'], + 'configopts': '-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python', }), ] diff --git a/easybuild/easyconfigs/x/xxHash/xxHash-0.8.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f91989c338f --- /dev/null +++ b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.2-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'xxHash' +version = '0.8.2' + +homepage = 'https://cyan4973.github.io/xxHash' +description = "xxHash is an extremely fast non-cryptographic hash algorithm, working at RAM speed limit." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/Cyan4973/xxHash/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['baee0c6afd4f03165de7a4e67988d16f0f2b257b51d0e3cb91909302a26a79c4'] + +builddependencies = [ + ('binutils', '2.40'), +] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ['bin/xxhsum', 'include/xxh3.h', 'include/xxhash.h', + 'lib/libxxhash.a', 'lib/libxxhash.%s' % SHLIB_EXT, 'lib/pkgconfig/libxxhash.pc'], + 'dirs': ['share/man'], +} + +sanity_check_commands = ["xxhsum --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/y/YAXT/YAXT-0.10.0-gompi-2022b.eb b/easybuild/easyconfigs/y/YAXT/YAXT-0.10.0-gompi-2022b.eb new file mode 100644 index 00000000000..05012a3ba84 --- /dev/null +++ b/easybuild/easyconfigs/y/YAXT/YAXT-0.10.0-gompi-2022b.eb @@ -0,0 +1,29 @@ +# Updated to new URL and version 0.9.2.1 +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'YAXT' +version = '0.10.0' + +homepage = 'https://www.dkrz.de/redmine/projects/yaxt' +description = "Yet Another eXchange Tool" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = [ + 'https://swprojects.dkrz.de/redmine/attachments/download/529/', + 'https://www.dkrz.de/redmine/attachments/download/529/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2d1de5197927b8e587f4e920a1ea31e359076a5de208fd46127d658cc7deb903'] + +configopts = 'FC="$F90" FCFLAGS="$F90FLAGS -cpp"' + +sanity_check_paths = { + 'files': ['include/yaxt.h', 'include/yaxt.mod', 'lib/libyaxt.a', 'lib/libyaxt.%s' % SHLIB_EXT], + 'dirs': ['include/xt'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/y/YODA/YODA-1.9.7-GCC-11.3.0.eb b/easybuild/easyconfigs/y/YODA/YODA-1.9.7-GCC-11.3.0.eb index 31487c94983..56d2cc9a275 100644 --- a/easybuild/easyconfigs/y/YODA/YODA-1.9.7-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/y/YODA/YODA-1.9.7-GCC-11.3.0.eb @@ -23,10 +23,12 @@ builddependencies = [ ] dependencies = [ - ('Python', '3.10.4') + ('Python', '3.10.4'), + ('zlib', '1.2.12') ] -configopts = "--disable-root --enable-pyext --disable-static" +configopts = "--disable-root --enable-pyext --disable-static " +configopts += "--with-zlib=${EBROOTZLIB:-%(sysroot)s/usr}" buildopts = "YODA_PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages" installopts = buildopts diff --git a/easybuild/easyconfigs/y/YODA/YODA-1.9.9-GCC-12.3.0.eb b/easybuild/easyconfigs/y/YODA/YODA-1.9.9-GCC-12.3.0.eb new file mode 100644 index 00000000000..61927358ec2 --- /dev/null +++ b/easybuild/easyconfigs/y/YODA/YODA-1.9.9-GCC-12.3.0.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'YODA' +version = '1.9.9' + +homepage = 'https://yoda.hepforge.org/' +description = """ +Yet more Objects for (High Energy Physics) Data Analysis +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://yoda.hepforge.org/downloads?f='] +sources = ['%(name)s-%(version)s.tar.bz2'] +checksums = ['ebcad55369a1cedcee3a2de059407c851652ba44495113f5c09d8c2e57f516aa'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('zlib', '1.2.13') +] +configopts = "--disable-root --enable-pyext --disable-static " +configopts += "--with-zlib=${EBROOTZLIB:-%(sysroot)s/usr}" +buildopts = "YODA_PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages" +installopts = buildopts + +sanity_check_paths = { + 'files': ['bin/yoda-config', 'lib/libYODA.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} +sanity_check_commands = ["python -c 'import yoda'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/y/Yices/Yices-2.6.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/y/Yices/Yices-2.6.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f755f69bbec --- /dev/null +++ b/easybuild/easyconfigs/y/Yices/Yices-2.6.4-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'Yices' +version = '2.6.4' + +homepage = "https://yices.csl.sri.com/index.html" +description = """Yices 2 is an SMT solver that decides the satisfiability of formulas containing uninterpreted + function symbols with equality, real and integer arithmetic, bitvectors, scalar types, and tuples. Yices 2 supports + both linear and nonlinear arithmetic.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://yices.csl.sri.com/releases/%(version)s/'] +sources = ['%(namelower)s-%(version)s-src.tar.gz'] +checksums = ['533a24e020ecb7d64c03a965d598430d193651e2887e6f46924dec5786db78cb'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('gperf', '3.1'), +] + +preconfigopts = 'autoconf &&' +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libyices.a', 'lib/libyices.%s' % SHLIB_EXT, 'include/yices.h'], + 'dirs': [], +} + +sanity_check_commands = ['%s --help' % x for x in ['yices', 'yices-sat', 'yices-smt', 'yices-smt2']] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb new file mode 100644 index 00000000000..47eba698998 --- /dev/null +++ b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb @@ -0,0 +1,50 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +easyblock = 'PythonPackage' + +name = 'yaff' +version = '1.6.0' + +homepage = 'https://molmod.github.io/yaff/' +description = """Yaff stands for 'Yet another force field'. It is a pythonic force-field code.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('pkgconfig', '1.5.5', '-python')] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0'), + ('molmod', '1.4.8'), + ('nose3', '1.3.8') +] + +source_urls = ['https://github.com/molmod/yaff/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'yaff-1.6.0_fix-random-import.patch', + 'yaff-1.6.0_fix-h5py.patch', + 'yaff-1.6.0_fix-nose-dep.patch', +] +checksums = [ + {'yaff-1.6.0.tar.gz': 'a266ab032778e37bb2e93152aefb67f396827aa728151651403984429c74ceaa'}, + {'yaff-1.6.0_fix-random-import.patch': + 'a38afacbcbfbf16a80742ae8253852e725e656c9d684310894c806f689362840'}, + {'yaff-1.6.0_fix-h5py.patch': + 'bd2a73f375910360fd5dd22b3ec006344527476e80dea549f4d82297257105f9'}, + {'yaff-1.6.0_fix-nose-dep.patch': + '2314c487c4a847d7740d7dfc97052cf7efd764ced726d098def0a1aef0b498e0'}, +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +runtest = ' '.join([ + "export MATPLOTLIBRC=$PWD;", + "echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;", + "python setup.py build_ext -i; nosetests -v", +]) + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-h5py.patch b/easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-h5py.patch new file mode 100644 index 00000000000..13476202a1a --- /dev/null +++ b/easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-h5py.patch @@ -0,0 +1,293 @@ +Adds write mode to ensure h5 files are created as intended. + +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/test_rdf.py.orig 2023-12-11 16:49:03.170062363 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/test_rdf.py 2023-12-11 16:54:57.393259317 +0000 +@@ -54,7 +54,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File(__name__ + 'test_rdf1_online.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + 'test_rdf1_online.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + select = ff.system.get_indexes('O') + rdf0 = RDF(4.5*angstrom, 0.1*angstrom, f, select0=select) +@@ -85,7 +85,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File(__name__ + '.test_rdf2_online.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_rdf2_online.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + select0 = ff.system.get_indexes('O') + select1 = ff.system.get_indexes('H') +@@ -156,7 +156,7 @@ + fn_xyz = pkg_resources.resource_filename(__name__, '../../data/test/chloro_pos.xyz') + fn_vol = pkg_resources.resource_filename(__name__, '../../data/test/chloro_vol.txt') + system = System.from_file(fn_xyz, rvecs=np.diag([48.877]*3)) +- with h5.File(__name__ + '.test_rdf_from_file_variable_cell', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_rdf_from_file_variable_cell', mode='w', driver='core', backing_store=False) as f: + # Prepare in-memory HDF5 file + system.to_hdf5(f) + xyz_to_hdf5(f, fn_xyz) +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/test_spectrum.py.orig 2023-12-11 16:56:45.254710284 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/test_spectrum.py 2023-12-11 16:57:01.733626405 +0000 +@@ -58,7 +58,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File('yaff.analysis.test.test_spectrum.test_spectrum_online_%i.h5' % bsize, driver='core', backing_store=False) as f: ++ with h5.File('yaff.analysis.test.test_spectrum.test_spectrum_online_%i.h5' % bsize, mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + spectrum0 = Spectrum(f, bsize=bsize) + nve = VerletIntegrator(ff, 1.0*femtosecond, hooks=[hdf5, spectrum0]) +@@ -95,7 +95,7 @@ + + + def test_spectrum_iter_indexes(): +- with h5.File('yaff.analysis.test.test_spectrum.test_spectrum_iter_indexes.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.analysis.test.test_spectrum.test_spectrum_iter_indexes.h5', mode='w', driver='core', backing_store=False) as f: + spectrum = Spectrum(f, bsize=10) + l = list(spectrum._iter_indexes(np.zeros((10, 5, 3), float))) + assert l == [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_cp2k.py.orig 2023-12-11 16:58:37.780137513 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_cp2k.py 2023-12-11 16:58:51.184069284 +0000 +@@ -33,7 +33,7 @@ + + + def test_cp2k_ener_to_hdf5(): +- with h5.File(__name__ + '.test_xyz_to_hdf5.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_xyz_to_hdf5.h5', mode='w', driver='core', backing_store=False) as f: + # Bad practice. The trajectory file has no system directory... + # Actual trajectory conversion, twice + for i in range(2): +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_dlpoly.py.orig 2023-12-11 17:01:09.540364868 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_dlpoly.py 2023-12-11 17:01:36.290228634 +0000 +@@ -33,7 +33,7 @@ + + + def test_dlpoly_history_uo(): +- with h5.File(__name__ + '.test_dlpoly_history_uo.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_dlpoly_history_uo.h5', mode='w', driver='core', backing_store=False) as f: + # Bad practice. The trajectory file has no system directory... + # Actual trajectory conversion, twice + for i in range(2): +@@ -60,7 +60,7 @@ + + + def test_dlpoly_history_sam(): +- with h5.File(__name__ + '.test_dlpoly_history_sam.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_dlpoly_history_sam.h5', mode='w', driver='core', backing_store=False) as f: + # Bad practice. The trajectory file has no system directory... + # Actual trajectory conversion, twice + for i in range(2): +@@ -84,7 +84,7 @@ + + def test_dlpoly_history_an(): + raise SkipTest('Fails, ask An why because dlpoly_history_sam does work') +- with h5.File(__name__ + '.test_dlpoly_history_an.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_dlpoly_history_an.h5', mode='w', driver='core', backing_store=False) as f: + # Bad practice. The trajectory file has no system directory... + # Actual trajectory conversion, par1 + fn = pkg_resources.resource_filename(__name__, '../../data/test/dlpoly_HISTORY_an1') +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_gaussian.py.orig 2023-12-11 17:03:12.986736177 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_gaussian.py 2023-12-11 17:03:28.326658047 +0000 +@@ -85,7 +85,7 @@ + vel_unit = np.sqrt(amu)/second + fn_xyz = pkg_resources.resource_filename(__name__, '../../data/test/gaussian_sioh4_md.xyz') + fn_log = pkg_resources.resource_filename(__name__, '../../data/test/gaussian_sioh4_md.log') +- with h5.File('yaff.conversion.test.test_gaussian.test_to_hdf5.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.conversion.test.test_gaussian.test_to_hdf5.h5', mode='w', driver='core', backing_store=False) as f: + system = System.from_file(fn_xyz) + system.to_hdf5(f) + # Actual trajectory conversion, twice +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_xyz.py.orig 2023-12-11 17:04:41.964283021 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_xyz.py 2023-12-11 17:04:52.624228732 +0000 +@@ -34,7 +34,7 @@ + + + def test_xyz_to_hdf5(): +- with h5.File('yaff.conversion.test.test_xyz.test_xyz_to_hdf5.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.conversion.test.test_xyz.test_xyz_to_hdf5.h5', mode='w', driver='core', backing_store=False) as f: + # Bad practice. Proper use is to initialize the system object from a + # different XYZ (or yet something else) with a single geometry. + fn_xyz = pkg_resources.resource_filename(__name__, '../../data/test/water_trajectory.xyz') +@@ -55,7 +55,7 @@ + + + def test_xyz_to_hdf5_alt(): +- with h5.File('yaff.conversion.test.test_xyz.test_xyz_to_hdf5_alt.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.conversion.test.test_xyz.test_xyz_to_hdf5_alt.h5', mode='w', driver='core', backing_store=False) as f: + # Bad practice. Proper use is to initialize the system object from a + # different XYZ (or yet something else) with a single geometry. + fn_xyz = pkg_resources.resource_filename(__name__, '../../data/test/water_trajectory.xyz') +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/examples/001_tutorial_bks/nvt/analysis.py.orig 2023-12-11 17:16:05.373802516 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/examples/001_tutorial_bks/nvt/analysis.py 2023-12-11 17:16:27.458690041 +0000 +@@ -48,7 +48,7 @@ + p_unit = 1e9*pascal + + # Open the trajectory file for post-processing the MD simulation +-with h5.File('traj_%s.h5' % suffix) as f: ++with h5.File('traj_%s.h5' % suffix, mode='r+') as f: + # Get the isotropic pressure. This is the trace of the time-dependent virial + # stress divided by three. + press = np.array(f['trajectory/press'][nskip:]) + +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_verlet.py.orig 2023-12-11 17:37:15.223312935 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_verlet.py 2023-12-11 17:37:28.158245974 +0000 +@@ -77,7 +77,7 @@ + + + def test_hdf5(): +- with h5.File('yaff.sampling.test.test_verlet.test_hdf5.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_verlet.test_hdf5.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + nve = VerletIntegrator(get_ff_water32(), 1.0*femtosecond, hooks=hdf5) + nve.run(15) +@@ -88,7 +88,7 @@ + + + def test_hdf5_start(): +- with h5.File('yaff.sampling.test.test_verlet.test_hdf5_start.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_verlet.test_hdf5_start.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f, start=2) + nve = VerletIntegrator(get_ff_water32(), 1.0*femtosecond, hooks=hdf5) + nve.run(5) +@@ -99,7 +99,7 @@ + + + def test_hdf5_step(): +- with h5.File('yaff.sampling.test.test_verlet.test_hdf5_step.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_verlet.test_hdf5_step.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f, step=2) + nve = VerletIntegrator(get_ff_water32(), 1.0*femtosecond, hooks=hdf5) + nve.run(5) +@@ -113,7 +113,7 @@ + # This test does not write all possible outputs + sys = get_system_water() + ff = ForceField.generate(sys, pkg_resources.resource_filename(__name__, '../../data/test/parameters_water_bondharm.txt')) +- with h5.File('yaff.sampling.test.test_verlet.test_hdf5_simple.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_verlet.test_hdf5_simple.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + nve = VerletIntegrator(ff, 1.0*femtosecond, hooks=hdf5) + nve.run(15) +@@ -138,7 +138,7 @@ + part_bias.add_term(bias1) + cv_tracker = CVStateItem([cv0,cv1]) + bias_tracker = BiasStateItem(part_bias) +- with h5.File('yaff.sampling.test.test_verlet.test_hdf5_cvs.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_verlet.test_hdf5_cvs.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + nve = VerletIntegrator(ff, 1.0*femtosecond, hooks=hdf5, state=[cv_tracker, bias_tracker]) + nve.run(5) +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/common.py.orig 2023-12-11 17:47:09.632235821 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/common.py 2023-12-11 17:47:19.706183672 +0000 +@@ -40,7 +40,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File('%s/output.h5' % dn_tmp) as f: ++ with h5.File('%s/output.h5' % dn_tmp, mode='w') as f: + hdf5 = HDF5Writer(f) + nve = VerletIntegrator(ff, 1.0*femtosecond, hooks=hdf5) + nve.run(5) +@@ -55,7 +55,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File('%s/output.h5' % dn_tmp) as f: ++ with h5.File('%s/output.h5' % dn_tmp, mode='w') as f: + hdf5 = HDF5Writer(f) + thermostat = LangevinThermostat(temp=300) + nvt = VerletIntegrator(ff, 1.0*femtosecond, hooks=[hdf5, thermostat]) +@@ -71,7 +71,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File('%s/output.h5' % dn_tmp) as f: ++ with h5.File('%s/output.h5' % dn_tmp, mode='w') as f: + hdf5 = HDF5Writer(f) + opt = CGOptimizer(FullCellDOF(ff), hooks=hdf5) + opt.run(5) +@@ -94,7 +94,7 @@ + # Dihedral angles are periodic, this has to be taken into account! + periodicities = np.array([2.0*np.pi,2.0*np.pi]) + # Run a test simulation +- with h5.File('%s/output.h5' % dn_tmp) as f: ++ with h5.File('%s/output.h5' % dn_tmp, mode='w') as f: + hdf5 = HDF5Writer(f) + mtd = MTDHook(ff, [cv0,cv1], sigmas, K, f=f, start=pace, step=pace, + periodicities=periodicities) +53c53 +< with h5.File('yaff.sampling.test.test_enhanced.test_mtd_alanine.h5', driver='core', backing_store=False) as f: +--- +> with h5.File('yaff.sampling.test.test_enhanced.test_mtd_alanine.h5', mode='w', driver='core', backing_store=False) as f: +140c140 +< driver='core', backing_store=False) as f0: +--- +> mode='w', driver='core', backing_store=False) as f0: +148c148 +< driver='core', backing_store=False) as f1: +--- +> mode='w', driver='core', backing_store=False) as f1: +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/test_diffusion.py.orig 2023-12-11 17:54:24.258996848 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/test_diffusion.py 2023-12-11 17:54:35.027941887 +0000 +@@ -53,7 +53,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File('yaff.analysis.test.test_diffusion.test_diff_online.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.analysis.test.test_diffusion.test_diff_online.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + select = ff.system.get_indexes('O') + diff0 = Diffusion(f, select=select) +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_enhanced.py.orig 2023-12-11 17:55:55.676530269 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_enhanced.py 2023-12-11 17:56:12.271445571 +0000 +@@ -50,7 +50,7 @@ + # Construct metadynamics as a Yaff hook + ff = get_alaninedipeptide_amber99ff() + cv = CVInternalCoordinate(ff.system, DihedAngle(4,6,8,14)) +- with h5.File('yaff.sampling.test.test_enhanced.test_mtd_alanine.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_enhanced.test_mtd_alanine.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + mtd = MTDHook(ff, cv, sigma, K, f = f, start=pace, step=pace, periodicities=2*np.pi) + nvt = VerletIntegrator(ff, 1.0*femtosecond, hooks=[mtd]) +@@ -137,7 +137,7 @@ + ff = get_alaninedipeptide_amber99ff() + cv = CVInternalCoordinate(ff.system, DihedAngle(4,6,8,14)) + with h5.File('yaff.sampling.test.test_enhanced.test_mtd_restart.h5', +- driver='core', backing_store=False) as f0: ++ mode='w', driver='core', backing_store=False) as f0: + hdf5 = HDF5Writer(f0) + mtd = MTDHook(ff, cv, sigma, K, f = f0, start=pace, step=pace, periodicities=2*np.pi) + nvt = VerletIntegrator(ff, 1.0*femtosecond, hooks=[mtd]) +@@ -145,7 +145,7 @@ + nvt.run(12) + ff = get_alaninedipeptide_amber99ff() + with h5.File('yaff.sampling.test.test_enhanced.test_mtd_restarted.h5', +- driver='core', backing_store=False) as f1: ++ mode='w', driver='core', backing_store=False) as f1: + mtd_restart = MTDHook(ff, cv, sigma, K, f=f1, start=pace, + step=pace, restart_file=f0, periodicities=2*np.pi) + nvt = VerletIntegrator(ff, 1.0*femtosecond, hooks=[mtd_restart]) +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_mc.py.orig 2023-12-11 17:57:03.929181919 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_mc.py 2023-12-11 17:57:38.412005932 +0000 +@@ -110,7 +110,7 @@ + fn_host = pkg_resources.resource_filename(__name__, '../../data/test/CAU_13.chk') + fn_pars = pkg_resources.resource_filename(__name__, '../../data/test/parameters_CAU-13_xylene.txt') + fn_guest = pkg_resources.resource_filename(__name__, '../../data/test/xylene.chk') +- with h5.File('yaff.sampling.test.test_verlet.test_hdf5_start.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_verlet.test_hdf5_start.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = MCHDF5Writer(f) + gcmc = GCMC.from_files(fn_guest, fn_pars, host=fn_host, hooks=[hdf5]) + gcmc.set_external_conditions(200*kelvin, 1000*bar) +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_opt.py.orig 2023-12-11 18:10:36.504037548 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_opt.py 2023-12-11 18:10:48.346977460 +0000 +@@ -120,7 +120,7 @@ + + + def test_cg_hdf5(): +- with h5.File(__name__ + '.test_cg_hdf5.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_cg_hdf5.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + opt = CGOptimizer(CartesianDOF(get_ff_water32()), hooks=hdf5) + opt.run(15) diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-nose-dep.patch b/easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-nose-dep.patch new file mode 100644 index 00000000000..eae5fd3999f --- /dev/null +++ b/easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-nose-dep.patch @@ -0,0 +1,13 @@ +This patch replaces the dependency on nose with a dependency on nose3. + +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/setup.py.orig 2023-12-11 18:18:12.215725329 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/setup.py 2023-12-11 18:19:04.794458554 +0000 +@@ -90,7 +90,7 @@ + include_package_data=True, + zip_safe=False, + setup_requires=['numpy>=1.5', 'cython>=0.26'], +- install_requires=['numpy>=1.5', 'nose>=0.11', 'cython>=0.26', 'matplotlib>1.0.0', ++ install_requires=['numpy>=1.5', 'nose3', 'cython>=0.26', 'matplotlib>1.0.0', + 'h5py>=2.0.0', 'molmod>=1.4.1', 'scipy>=0.17.1'], + ext_modules=[ + Extension("yaff.pes.ext", diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-random-import.patch b/easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-random-import.patch new file mode 100644 index 00000000000..787c1d31a84 --- /dev/null +++ b/easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-random-import.patch @@ -0,0 +1,14 @@ +Replaces import of scipy.random with numpy.random. + +--- /dev/shm/yaff/1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/pca.py.orig 2023-12-11 16:29:17.807097965 +0000 ++++ /dev/shm/yaff/1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/pca.py 2023-12-11 16:29:46.094953909 +0000 +@@ -30,7 +30,7 @@ + import numpy as np + import scipy.linalg as spla + import matplotlib.pyplot as pt +-from scipy import random ++from numpy import random + + from molmod.units import * + from molmod.constants import boltzmann + diff --git a/easybuild/easyconfigs/y/yt/yt-4.3.0-foss-2022a.eb b/easybuild/easyconfigs/y/yt/yt-4.3.0-foss-2022a.eb new file mode 100644 index 00000000000..d0d113b80ef --- /dev/null +++ b/easybuild/easyconfigs/y/yt/yt-4.3.0-foss-2022a.eb @@ -0,0 +1,77 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'yt' +version = '4.3.0' + +homepage = 'https://yt-project.org' +description = """yt is an open-source, permissively-licensed python package for +analyzing and visualizing volumetric data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Cython', '3.0.8'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('astropy', '5.1.1'), + ('h5py', '3.7.0'), + ('SciPy-bundle', '2022.05'), + ('IPython', '8.5.0'), + ('matplotlib', '3.5.2'), + ('Pillow', '9.1.1'), + ('tqdm', '4.64.0'), + ('sympy', '1.10.1'), + ('poetry', '1.2.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cmyt', '2.0.0', { + 'checksums': ['4beef670f488818efc6ac30491bae81b63a71590936e8cdd3dc3fc9027ab4bfd'], + }), + ('ewah-bool-utils', '1.1.0', { + 'source_tmpl': 'ewah_bool_utils-%(version)s.tar.gz', + 'checksums': ['7050b5a25f4df14f05f8898fd9e797cd0a0f7103207c618e0467a450d3dee987'], + }), + ('unyt', '2.9.5', { + 'checksums': ['99892f33b5c6bf97053beac84c8a136747631828f030725e9a01147d48377337'], + }), + ('typing-extensions', '4.6.3', { + 'source_tmpl': 'typing_extensions-%(version)s.tar.gz', + 'checksums': ['d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5'], + }), + ('traitlets', '5.14.1', { + 'checksums': ['8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e'], + }), + ('comm', '0.2.1', { + 'checksums': ['0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a'], + }), + ('deprecation', '2.1.0', { + 'checksums': ['72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff'], + }), + ('jupyter-packaging', '0.12.3', { + 'source_tmpl': 'jupyter_packaging-%(version)s.tar.gz', + 'checksums': ['9d9b2b63b97ffd67a8bc5391c32a421bc415b264a32c99e4d8d8dd31daae9cf4'], + }), + ('jupyterlab-widgets', '3.0.9', { + 'source_tmpl': 'jupyterlab_widgets-%(version)s.tar.gz', + 'checksums': ['6005a4e974c7beee84060fdfba341a3218495046de8ae3ec64888e5fe19fdb4c'], + }), + ('widgetsnbextension', '4.0.9', { + 'checksums': ['3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385'], + }), + ('ipywidgets', '8.1.1', { + 'checksums': ['40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8'], + }), + (name, version, { + 'checksums': ['cdcab7c07d8c46fe87d94fcec4bbac750394aa40b88cb7381abc843dcdce30ee'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0.eb index 2d9ade32924..e34dbd5ade0 100644 --- a/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0.eb @@ -1,35 +1,51 @@ -easyblock = 'CMakeMake' +easyblock = 'PythonBundle' name = 'Z3' version = '4.12.2' homepage = 'https://github.com/Z3Prover/z3' -description = """ - Z3 is a theorem prover from Microsoft Research. +description = """Z3 is a theorem prover from Microsoft Research with support for bitvectors, +booleans, arrays, floating point numbers, strings, and other data types. This +module includes z3-solver, the Python interface of Z3. """ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} -source_urls = ['https://github.com/Z3Prover/z3/archive/'] -sources = [SOURCELOWER_TAR_GZ] -checksums = [ - {'z3-4.12.2.tar.gz': '9f58f3710bd2094085951a75791550f547903d75fe7e2fcb373c5f03fc761b8f'}, -] - builddependencies = [ ('CMake', '3.26.3'), ('binutils', '2.40'), ] dependencies = [ + ('Python', '3.11.3'), ('GMP', '6.2.1'), ] -configopts = '-DZ3_USE_LIB_GMP=ON -DZ3_LINK_TIME_OPTIMIZATION=ON ' +use_pip = True + +_fix_parallelism = """sed -i 's/str(multiprocessing.cpu_count())/"%(parallel)s"/' setup.py && """ +_enable_gmp = """sed -i "s/Z3_USE_LIB_GMP.*/Z3_USE_LIB_GMP' : True,/" setup.py && """ + +exts_list = [ + ('z3-solver', version + '.0', { + 'modulename': 'z3', + 'checksums': ['65ab47a0a8ef0bfb80db0670775beb11b32c3c0ae4b35943e44121f4af7ef411'], + 'preinstallopts': _fix_parallelism + _enable_gmp, + }), +] + +# make Z3 headers and libraries accessible in their usual location +local_z3_site_path = "lib/python%(pyshortver)s/site-packages/%(namelower)s" +postinstallcmds = [ + 'ln -s %s/include "%%(installdir)s/include"' % local_z3_site_path, + 'cd "%%(installdir)s"; for lib in %s/lib/*; do ln -s ../$lib lib/$(basename $lib); done' % local_z3_site_path +] + +sanity_pip_check = True sanity_check_paths = { 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], - 'dirs': [], + 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], } moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0-Python-3.11.3.eb b/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.2.0.eb similarity index 62% rename from easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0-Python-3.11.3.eb rename to easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.2.0.eb index 0eb7b2c600f..b30bdb6cf49 100644 --- a/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0-Python-3.11.3.eb +++ b/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.2.0.eb @@ -1,8 +1,7 @@ easyblock = 'PythonBundle' name = 'Z3' -version = '4.12.2' -versionsuffix = '-Python-%(pyver)s' +version = '4.13.0' homepage = 'https://github.com/Z3Prover/z3' description = """Z3 is a theorem prover from Microsoft Research with support for bitvectors, @@ -10,43 +9,41 @@ booleans, arrays, floating point numbers, strings, and other data types. This module includes z3-solver, the Python interface of Z3. """ -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} builddependencies = [ - ('CMake', '3.26.3'), + ('CMake', '3.27.6'), ('binutils', '2.40'), ] - dependencies = [ - ('Python', '3.11.3'), - ('GMP', '6.2.1'), + ('Python', '3.11.5'), + ('GMP', '6.3.0'), ] use_pip = True -_fix_parallelism = """sed -i 's/str(multiprocessing.cpu_count())/"%(parallel)s"/' setup.py &&""" -_enable_gmp = """sed -i "s/Z3_USE_LIB_GMP.*/Z3_USE_LIB_GMP' : True,/" setup.py &&""" +_fix_parallelism = """sed -i 's/str(multiprocessing.cpu_count())/"%(parallel)s"/' setup.py && """ +_enable_gmp = """sed -i "s/Z3_USE_LIB_GMP.*/Z3_USE_LIB_GMP' : True,/" setup.py && """ exts_list = [ ('z3-solver', version + '.0', { 'modulename': 'z3', - 'checksums': ['65ab47a0a8ef0bfb80db0670775beb11b32c3c0ae4b35943e44121f4af7ef411'], + 'checksums': ['52588e92aec7cb338fd6288ce93758ae01770f62ca0c80e8f4f2b2333feaf51b'], 'preinstallopts': _fix_parallelism + _enable_gmp, }), ] # make Z3 headers and libraries accessible in their usual location local_z3_site_path = "lib/python%(pyshortver)s/site-packages/%(namelower)s" -local_libz3 = 'libz3.' + SHLIB_EXT postinstallcmds = [ - "ln -s %s/include '%%(installdir)s/include'" % local_z3_site_path, - "ln -s ../%s/lib/%s '%%(installdir)s/lib/%s'" % (local_z3_site_path, local_libz3, local_libz3) + 'ln -s %s/include "%%(installdir)s/include"' % local_z3_site_path, + 'cd "%%(installdir)s"; for lib in %s/lib/*; do ln -s ../$lib lib/$(basename $lib); done' % local_z3_site_path ] sanity_pip_check = True sanity_check_paths = { - 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.' + SHLIB_EXT], 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], } diff --git a/easybuild/easyconfigs/z/Zeo++/Zeo++-0.3-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/z/Zeo++/Zeo++-0.3-intel-compilers-2023.1.0.eb new file mode 100644 index 00000000000..0246ec88d36 --- /dev/null +++ b/easybuild/easyconfigs/z/Zeo++/Zeo++-0.3-intel-compilers-2023.1.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MakeCp' + +name = 'Zeo++' +version = '0.3' + +homepage = 'https://www.zeoplusplus.org/' +description = """ + Zeo++ is a software package for analysis of crystalline porous materials. + Zeo++ can be used to perform geometry-based analysis of structure and + topology of the void space inside a material, + to assemble or alternate structures as well as to generate structure + representations to be used in structure similarity calculations. + Zeo++ can be used to either analyze a single structure or perform high-throughput analysis of a large database. + """ + +toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} + +source_urls = ['https://github.com/mharanczyk/zeoplusplus/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0361659094ec97add5d5846f14326863293e3d9a78997ba4890719f9ffae224a'] + +# first build libvoro in voro++ subdir, which is required by Zeo++ +prebuildopts = "cd voro++ && make && ls src/libvoro* && cd - && " + +buildopts = "all statlib" + +files_to_copy = [ + (['network', 'framework_builder', 'molecule_to_abstract'], 'bin'), + (['voro++/src/libvoro++.a', 'libzeo++.a'], 'lib') +] + +sanity_check_paths = { + 'files': ['bin/network', 'bin/framework_builder', 'bin/molecule_to_abstract', + 'lib/libvoro++.a', 'lib/libzeo++.a'], + 'dirs': [] +} + +sanity_check_commands = [ + "network --help", + "command -v framework_builder", + "command -v molecule_to_abstract", +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/z/zUMIs/zUMIs-2.9.7-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/z/zUMIs/zUMIs-2.9.7-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..3334e3ee95b --- /dev/null +++ b/easybuild/easyconfigs/z/zUMIs/zUMIs-2.9.7-foss-2023a-R-4.3.2.eb @@ -0,0 +1,50 @@ +easyblock = 'Tarball' + +name = 'zUMIs' +version = '2.9.7' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/sdparekh/zUMIs' +description = """A fast and flexible pipeline to process RNA sequencing data with UMIs.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = 'sdparekh' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['11eb3d99804a67e47b36b69accd0298c93c76b642d801292a618bc7888d34962'] + +dependencies = [ + ('Python', '3.11.3'), + ('pigz', '2.8'), + ('Pysam', '0.22.0'), + ('SAMtools', '1.18'), + ('STAR', '2.7.11a'), + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', '-R-%(rver)s'), +] + +postinstallcmds = [ + # remove updated/deleted/not-working stuff from --help text + "sed -i '33 s/${zumis}/zumis/' %(installdir)s/zUMIs.sh", + "sed -i '43,46d' %(installdir)s/zUMIs.sh", + "sed -i '7,10d' %(installdir)s/zUMIs.sh", + "mkdir -p %(installdir)s/bin", + "ln -s %(installdir)s/zUMIs.sh %(installdir)s/bin/zumis", +] + +modloadmsg = """ +To run zUMIs do not use '$ zUMIs.sh ...' command but only '$ zumis ...' instead. +Do NOT run with conda (do not use flag '-c'). +""" + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': ["bin/zumis"], + 'dirs': [], +} + +sanity_check_commands = ['zumis -h 2>&1 | grep "USAGE"'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11.eb index 38e3bed9d4a..2fad13cb84d 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11.eb @@ -18,7 +18,7 @@ source_urls = ['https://zlib.net/fossils/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] -# need to take care of $CFLAGS ourselves with dummy toolchain +# need to take care of $CFLAGS ourselves with SYSTEM toolchain # we need to add -fPIC, but should also include -O* option to avoid # compiling with -O0 (default for GCC) buildopts = 'CFLAGS="-O2 -fPIC"' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.12.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.12.eb index 75f1815ef62..f6b625eac3d 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.12.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.12.eb @@ -22,7 +22,7 @@ checksums = [ 'f35eb05334a4f8d7b40b6c5610a6369f654863b5fa1a19c2507888f918025238', # zlib-1.2.12_fix-CC-logic-in-configure.patch ] -# need to take care of $CFLAGS ourselves with dummy toolchain +# need to take care of $CFLAGS ourselves with SYSTEM toolchain # we need to add -fPIC, but should also include -O* option to avoid # compiling with -O0 (default for GCC) buildopts = 'CFLAGS="-O2 -fPIC"' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.13.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.13.eb index 397dbe63b57..1e59f99d6a0 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.13.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.13.eb @@ -18,7 +18,7 @@ source_urls = ['https://zlib.net/fossils/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30'] -# need to take care of $CFLAGS ourselves with dummy toolchain +# need to take care of $CFLAGS ourselves with SYSTEM toolchain # we need to add -fPIC, but should also include -O* option to avoid # compiling with -O0 (default for GCC) buildopts = 'CFLAGS="-O2 -fPIC"' diff --git a/setup.py b/setup.py index 9f8a58a694d..a5b10c2eb30 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,5 @@ ## -# Copyright 2012-2023 Ghent University +# Copyright 2012-2024 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), @@ -44,7 +44,7 @@ # recent setuptools versions will *TRANSFORM* something like 'X.Y.Zdev' into 'X.Y.Z.dev0', with a warning like # UserWarning: Normalizing '2.4.0dev' to '2.4.0.dev0' # This causes problems further up the dependency chain... -VERSION = '4.9.0' +VERSION = '4.9.1' MAJ_VER = VERSION.split('.')[0] MAJMIN_VER = '.'.join(VERSION.split('.')[0:2]) diff --git a/test/__init__.py b/test/__init__.py index 01ba03af458..8ab7c0ed706 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -1,5 +1,5 @@ ## -# Copyright 2009-2023 Ghent University +# Copyright 2009-2024 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index f041f7f7b7d..e3fcacd6bd3 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -1,5 +1,5 @@ ## -# Copyright 2013-2023 Ghent University +# Copyright 2013-2024 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), @@ -336,6 +336,14 @@ def test_deps(self): fails = [] for ec in self.parsed_easyconfigs: + # make sure we don't add backdoored XZ versions (5.6.0, 5.6.1) + # see https://access.redhat.com/security/cve/CVE-2024-3094 + if ec['ec']['name'] == 'XZ' and ec['ec']['version'] in ('5.6.0', '5.6.1'): + fail = ("XZ versions 5.6.0 and 5.6.1 contain malicious code, and should not be introduced into" + " EasyBuild. Please use another version instead. For more details, see" + " https://access.redhat.com/security/cve/CVE-2024-3094") + fails.append(fail) + # make sure that no odd versions (like 1.13) of HDF5 are used as a dependency, # since those are released candidates - only even versions (like 1.12) are stable releases; # see https://docs.hdfgroup.org/archive/support/HDF5/doc/TechNotes/Version.html @@ -394,6 +402,18 @@ def check_dep_vars(self, gen, dep, dep_vars): if all(ec.startswith('%s-%s-' % (parent_name, dep_ver)) for ec in ecs) and len(dep_vars) > 1: dep_vars.pop(key) + # multiple variants of Meson is OK as long as they are deps for meson-python, since meson-python should only be + # a build dependency elsewhere + if dep == 'Meson' and len(dep_vars) > 1: + for key in list(dep_vars): + ecs = dep_vars[key] + # filter out Meson variants that are only used as a dependency for meson-python + if all(ec.startswith('meson-python-') for ec in ecs): + dep_vars.pop(key) + # always retain at least one dep variant + if len(dep_vars) == 1: + break + # multiple versions of Boost is OK as long as they are deps for a matching Boost.Python if dep == 'Boost' and len(dep_vars) > 1: for key in list(dep_vars): @@ -456,7 +476,7 @@ def check_dep_vars(self, gen, dep, dep_vars): # for some dependencies, we allow exceptions for software that depends on a particular version, # as long as that's indicated by the versionsuffix versionsuffix_deps = ['ASE', 'Boost', 'CUDA', 'CUDAcore', 'Java', 'Lua', - 'PLUMED', 'PyTorch', 'R', 'TensorFlow'] + 'PLUMED', 'PyTorch', 'R', 'Rust', 'TensorFlow'] if dep in versionsuffix_deps and len(dep_vars) > 1: # check for '-CUDA-*' versionsuffix for CUDAcore dependency @@ -484,6 +504,21 @@ def check_dep_vars(self, gen, dep, dep_vars): if len(dep_vars) == 1: break + # for some dependencies, we allow exceptions for software with the same version + # but with a -int64 versionsuffix in both the dependency and all its dependents + int64_deps = ['SCOTCH', 'METIS'] + if dep in int64_deps and len(dep_vars) > 1: + unique_dep_vers = {version_regex.search(x).group('version') for x in list(dep_vars)} + if len(unique_dep_vers) == 1: + for key in list(dep_vars): + if all(re.search('-int64', v) for v in dep_vars[key]) and re.search( + '; versionsuffix: .*-int64', key + ): + dep_vars.pop(key) + # always retain at least one dep variant + if len(dep_vars) == 1: + break + # filter out variants that are specific to a particular version of CUDA cuda_dep_vars = [v for v in dep_vars.keys() if '-CUDA' in v] if len(dep_vars) >= len(cuda_dep_vars) and len(dep_vars) > 1: @@ -572,6 +607,10 @@ def check_dep_vars(self, gen, dep, dep_vars): # OpenFOAM 5.0 requires older ParaView, CFDEMcoupling depends on OpenFOAM 5.0 (r'5\.4\.1', [r'CFDEMcoupling-3\.8\.0', r'OpenFOAM-5\.0-20180606']), ], + 'pydantic': [ + # GTDB-Tk v2.3.2 requires pydantic 1.x (see https://github.com/Ecogenomics/GTDBTk/pull/530) + ('1.10.13;', ['GTDB-Tk-2.3.2-']), + ], # medaka 1.1.*, 1.2.*, 1.4.* requires Pysam 0.16.0.1, # which is newer than what others use as dependency w.r.t. Pysam version in 2019b generation; # decona 0.1.2 and NGSpeciesID 0.1.1.1 depend on medaka 1.1.3 @@ -824,6 +863,30 @@ def test_check_dep_vars(self): 'version: 2020.03; versionsuffix:': ['matplotlib-3.2.1-foss-2020a.eb'], })) + # multiple dependency variants of specific software is OK, but only if indicated via versionsuffix + self.assertTrue(self.check_dep_vars('2019b', 'TensorFlow', { + 'version: 1.15.2; versionsuffix: -TensorFlow-1.15.2': + ['Horovod-0.18.2-fosscuda-2019b-TensorFlow-1.15.2.eb'], + 'version: 2.2.0; versionsuffix: -TensorFlow-2.2.0-Python-3.7.4': + ['Horovod-0.19.5-fosscuda-2019b-TensorFlow-2.2.0-Python-3.7.4.eb'], + 'version: 2.1.0; versionsuffix: -Python-3.7.4': ['Keras-2.3.1-foss-2019b-Python-3.7.4.eb'], + })) + + self.assertFalse(self.check_dep_vars('2019b', 'TensorFlow', { + 'version: 1.15.2; versionsuffix: ': ['Horovod-0.18.2-fosscuda-2019b.eb'], + 'version: 2.1.0; versionsuffix: -Python-3.7.4': ['Keras-2.3.1-foss-2019b-Python-3.7.4.eb'], + })) + + self.assertTrue(self.check_dep_vars('2022b', 'Rust', { + 'version: 1.65.0; versionsuffix: ': ['maturin-1.1.0-GCCcore-12.2.0.eb'], + 'version: 1.75.0; versionsuffix: -Rust-1.75.0': ['maturin-1.4.0-GCCcore-12.2.0-Rust-1.75.0.eb'], + })) + + self.assertFalse(self.check_dep_vars('2022b', 'Rust', { + 'version: 1.65.0; versionsuffix: ': ['maturin-1.1.0-GCCcore-12.2.0.eb'], + 'version: 1.75.0; versionsuffix: ': ['maturin-1.4.0-GCCcore-12.2.0.eb'], + })) + def test_dep_versions_per_toolchain_generation(self): """ Check whether there's only one dependency version per toolchain generation actively used. @@ -1307,7 +1370,7 @@ def template_easyconfig_test(self, spec): # cache the parsed easyconfig, to avoid that it is parsed again EasyConfigTest._parsed_easyconfigs.append(ecs[0]) else: - self.assertTrue(False, "easyconfig %s does not contain blocks, yields only one parsed easyconfig" % spec) + self.fail("easyconfig %s does not contain blocks, yields only one parsed easyconfig" % spec) # check easyconfig file name expected_fn = '%s-%s.eb' % (ec['name'], det_full_ec_version(ec)) @@ -1351,18 +1414,20 @@ def template_easyconfig_test(self, spec): app = app_class(ec) # more sanity checks - self.assertTrue(name, app.name) - self.assertTrue(ec['version'], app.version) + self.assertEqual(name, app.name) + self.assertEqual(ec['version'], app.version) + + failing_checks = [] # make sure that deprecated 'dummy' toolchain is no longer used, should use 'system' toolchain instead - ec_fn = os.path.basename(spec) - error_msg_tmpl = "%s should use 'system' toolchain rather than deprecated 'dummy' toolchain" - self.assertFalse(ec['toolchain']['name'] == 'dummy', error_msg_tmpl % os.path.basename(spec)) + if ec['toolchain']['name'] == 'dummy': + failing_checks.append("%s should use 'system' toolchain rather than deprecated 'dummy' toolchain") # make sure that $root is not used, since it is not compatible with module files in Lua syntax res = re.findall(r'.*\$root.*', ec.rawtxt, re.M) - error_msg = "Found use of '$root', not compatible with modules in Lua syntax, use '%%(installdir)s' instead: %s" - self.assertFalse(res, error_msg % res) + if res: + failing_checks.append("Found use of '$root', not compatible with modules in Lua syntax, " + "use '%%(installdir)s' instead: %s" % res) # check for redefined easyconfig parameters, there should be none... param_def_regex = re.compile(r'^(?P\w+)\s*=', re.M) @@ -1373,10 +1438,9 @@ def template_easyconfig_test(self, spec): if cnt > 1: redefined_keys.append((key, cnt)) - redefined_keys_error_msg = "There should be no redefined easyconfig parameters, found %d: " % len(redefined_keys) - redefined_keys_error_msg += ', '.join('%s (%d)' % x for x in redefined_keys) - - self.assertFalse(redefined_keys, redefined_keys_error_msg) + if redefined_keys: + failing_checks.append("There should be no redefined easyconfig parameters, found %d: " % len(redefined_keys) + + ', '.join('%s (%d)' % x for x in redefined_keys)) # make sure old GitHub urls for EasyBuild that include 'hpcugent' are no longer used old_urls = [ @@ -1384,8 +1448,7 @@ def template_easyconfig_test(self, spec): 'hpcugent.github.com/easybuild', 'hpcugent.github.io/easybuild', ] - for old_url in old_urls: - self.assertFalse(old_url in ec.rawtxt, "Old URL '%s' not found in %s" % (old_url, spec)) + failing_checks.extend("Old URL '%s' found" % old_url for old_url in old_urls if old_url in ec.rawtxt) # make sure binutils is included as a (build) dep if toolchain is GCCcore if ec['toolchain']['name'] == 'GCCcore': @@ -1410,8 +1473,8 @@ def template_easyconfig_test(self, spec): # in some cases, binutils can also be a runtime dep (e.g. for Clang) # Also using GCC directly as a build dep is also allowed (it includes the correct binutils) dep_names = [d['name'] for d in ec.dependencies()] - self.assertTrue('binutils' in dep_names or 'GCC' in dep_names, - "binutils or GCC is a build dep in %s: %s" % (spec, dep_names)) + if 'binutils' not in dep_names and 'GCC' not in dep_names: + failing_checks.append("binutils or GCC is a build dep: " + str(dep_names)) # make sure that OpenSSL wrapper is used rather than OS dependency, # for easyconfigs using a 2021a (sub)toolchain or more recent common toolchain version @@ -1431,7 +1494,8 @@ def template_easyconfig_test(self, spec): gcc_subtc_2021a = tcname in ('GCCcore', 'GCC') and tcver > LooseVersion('10.3') if gcc_subtc_2021a or (tcname in ('foss', 'gompi', 'iimpi', 'intel') and tcver >= LooseVersion('2021')): - self.assertFalse(openssl_osdep, "OpenSSL should not be listed as OS dependency in %s" % spec) + if openssl_osdep: + failing_checks.append("OpenSSL should not be listed as OS dependency") src_cnt = len(ec['sources']) patch_checksums = ec['checksums'][src_cnt:] @@ -1439,7 +1503,6 @@ def template_easyconfig_test(self, spec): # make sure all patch files are available specdir = os.path.dirname(spec) basedir = os.path.dirname(os.path.dirname(specdir)) - specfn = os.path.basename(spec) for idx, patch in enumerate(ec['patches']): patch_dir = specdir if isinstance(patch, str): @@ -1453,29 +1516,29 @@ def template_easyconfig_test(self, spec): # only check actual patch files, not other files being copied via the patch functionality patch_full = os.path.join(patch_dir, patch_name) - if patch_name.endswith('.patch'): - msg = "Patch file %s is available for %s" % (patch_full, specfn) - self.assertTrue(os.path.isfile(patch_full), msg) - + if patch_name.endswith('.patch') and not os.path.isfile(patch_full): + failing_checks.append("Patch file %s is missing" % patch_full) # verify checksum for each patch file - if idx < len(patch_checksums) and (os.path.exists(patch_full) or patch_name.endswith('.patch')): + elif idx < len(patch_checksums) and (os.path.exists(patch_full) or patch_name.endswith('.patch')): checksum = patch_checksums[idx] - error_msg = "Invalid checksum for patch file %s in %s: %s" % (patch_name, ec_fn, checksum) - res = verify_checksum(patch_full, checksum) - self.assertTrue(res, error_msg) + if not verify_checksum(patch_full, checksum): + failing_checks.append("Invalid checksum for patch file %s: %s" % (patch_name, checksum)) # make sure 'source' step is not being skipped, # since that implies not verifying the checksum - error_msg = "'source' step should not be skipped in %s, since that implies not verifying checksums" % ec_fn - self.assertFalse(ec['checksums'] and ('source' in ec['skipsteps']), error_msg) + if ec['checksums'] and ('source' in ec['skipsteps']): + failing_checks.append("'source' step should not be skipped, since that implies not verifying checksums") for ext in ec.get_ref('exts_list'): if isinstance(ext, (tuple, list)) and len(ext) == 3: ext_name = ext[0] - self.assertTrue(isinstance(ext[2], dict), - "3rd element of extension spec for %s must be a dictionary" % ext_name) + if not isinstance(ext[2], dict): + failing_checks.append("3rd element of extension spec for %s must be a dictionary" % ext_name) + + # Need to check now as collect_exts_file_info relies on correct exts_list + if failing_checks: + self.fail('Verification for %s failed:\n' % os.path.basename(spec) + '\n'.join(failing_checks)) - ext_patch_issues = [] # After the sanity check above, use collect_exts_file_info to resolve templates etc. correctly for ext in app.collect_exts_file_info(fetch_files=False, verify_checksums=False): try: @@ -1495,22 +1558,21 @@ def template_easyconfig_test(self, spec): # only check actual patch files, not other files being copied via the patch functionality ext_patch_full = os.path.join(specdir, ext_patch['name']) if ext_patch_full.endswith('.patch') and not os.path.isfile(ext_patch_full): - ext_patch_issues.append("Patch file %s for extension %s is missing." % (ext_patch['name'], ext_name)) + failing_checks.append("Patch file %s for extension %s is missing." % (ext_patch['name'], ext_name)) continue # verify checksum for each patch file if idx < len(patch_checksums) and os.path.exists(ext_patch_full): checksum = patch_checksums[idx] if not verify_checksum(ext_patch_full, checksum): - ext_patch_issues.append("Invalid checksum for patch %s for extension %s: %s." - % (ext_patch['name'], ext_name, checksum)) - if ext_patch_issues: - self.fail("Verification of patches for %s failed:\n%s" % (ec_fn, '\n'.join(ext_patch_issues))) + failing_checks.append("Invalid checksum for patch %s for extension %s: %s." + % (ext_patch['name'], ext_name, checksum)) # check whether all extra_options defined for used easyblock are defined extra_opts = app.extra_options() for key in extra_opts: - self.assertTrue(key in app.cfg) + if key not in app.cfg: + failing_checks.append("Missing extra_option '%s'" % key) app.close_log() os.remove(app.logfile) @@ -1548,24 +1610,32 @@ def template_easyconfig_test(self, spec): # if may get resolved using a subtoolchain, which is then hardcoded in the dumped easyconfig if key in DEPENDENCY_PARAMETERS: # number of dependencies should remain the same - self.assertEqual(len(orig_val), len(dumped_val)) + if len(orig_val) != len(dumped_val): + failing_checks.append("Length difference for %s: %s vs %s" % (key, orig_val, dumped_val)) + continue for orig_dep, dumped_dep in zip(orig_val, dumped_val): # name should always match - self.assertEqual(orig_dep[0], dumped_dep[0]) + if orig_dep[0] != dumped_dep[0]: + failing_checks.append("Different name in %s: %s vs %s" % (key, orig_dep[0], dumped_dep[0])) + desc = '%s of %s' % (orig_dep[0], key) # version should always match, or be a possibility from the version dict if isinstance(orig_dep[1], dict): - self.assertTrue(dumped_dep[1] in orig_dep[1].values()) - else: - self.assertEqual(orig_dep[1], dumped_dep[1]) + if dumped_dep[1] not in orig_dep[1].values(): + failing_checks.append("Wrong version in %s: %s vs %s" + % (desc, dumped_dep[1], orig_dep[1].values())) + elif orig_dep[1] != dumped_dep[1]: + failing_checks.append("Different version in %s: %s vs %s" % (desc, orig_dep[1], dumped_dep[1])) # 3rd value is versionsuffix; if len(dumped_dep) >= 3: # if no versionsuffix was specified in original dep spec, then dumped value should be empty string if len(orig_dep) >= 3: - self.assertEqual(dumped_dep[2], orig_dep[2]) - else: - self.assertEqual(dumped_dep[2], '') + if orig_dep[2] != dumped_dep[2]: + failing_checks.append("Different versionsuffix in %s: %s vs %s" + % (desc, orig_dep[2], dumped_dep[2])) + elif dumped_dep[2] != '': + failing_checks.append("Unexpected versionsuffix in %s: %s" % (desc, dumped_dep[2])) # 4th value is toolchain spec if len(dumped_dep) >= 4: @@ -1573,31 +1643,38 @@ def template_easyconfig_test(self, spec): # use of `True` is deprecated in favour of the more intuitive `SYSTEM` template if orig_dep[3] is True: if skip_system_template_check: - self.assertEqual(dumped_dep[3], EASYCONFIG_CONSTANTS['SYSTEM'][0]) + if dumped_dep[3] != EASYCONFIG_CONSTANTS['SYSTEM'][0]: + failing_checks.append("Should use SYSTEM in %s, found %s" + % (desc, dumped_dep[3])) else: - error_msg = ( - "use of `True` to indicate the system toolchain for dependency " - "%s is deprecated, use the `SYSTEM` template constant instead" % dumped_dep[0] + failing_checks.append( + "use of `True` to indicate the system toolchain for " + "%s is deprecated, use the `SYSTEM` template constant instead" % desc ) - self.fail(error_msg) - else: - self.assertEqual(dumped_dep[3], orig_dep[3]) + elif orig_dep[3] != dumped_dep[3]: + failing_checks.append("Different toolchain in %s: %s vs %s" + % (desc, orig_dep[3], dumped_dep[3])) else: # if a subtoolchain is specifed (only) in the dumped easyconfig, # it should *not* be the same as the parent toolchain - self.assertNotEqual(dumped_dep[3], (orig_toolchain['name'], orig_toolchain['version'])) + parent_tc = (orig_toolchain['name'], orig_toolchain['version']) + if dumped_dep[3] == parent_tc: + failing_checks.append("Explicit toolchain in %s should not be the parent toolchain (%s)" + % (desc, parent_tc)) # take into account that for some string-valued easyconfig parameters (configopts & co), # the easyblock may have injected additional values, which affects the dumped easyconfig file elif isinstance(orig_val, string_type): - error_msg = "%s value '%s' should start with '%s'" % (key, dumped_val, orig_val) - self.assertTrue(dumped_val.startswith(orig_val), error_msg) - else: - error_msg = "%s value should be equal in original and dumped easyconfig: '%s' vs '%s'" - self.assertEqual(orig_val, dumped_val, error_msg % (key, orig_val, dumped_val)) + if not dumped_val.startswith(orig_val): + failing_checks.append("%s value '%s' should start with '%s'" % (key, dumped_val, orig_val)) + elif orig_val != dumped_val: + failing_checks.append("%s value should be equal in original and dumped easyconfig: '%s' vs '%s'") + + if failing_checks: + self.fail('Verification for %s failed:\n' % os.path.basename(spec) + '\n'.join(failing_checks)) - # test passed, so set back to True - single_tests_ok = True and prev_single_tests_ok + # test passed, so set back + single_tests_ok = prev_single_tests_ok def suite(loader=None): diff --git a/test/easyconfigs/styletests.py b/test/easyconfigs/styletests.py index e765cdfc3f1..8c695514aba 100644 --- a/test/easyconfigs/styletests.py +++ b/test/easyconfigs/styletests.py @@ -1,5 +1,5 @@ ## -# Copyright 2016-2023 Ghent University +# Copyright 2016-2024 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), diff --git a/test/easyconfigs/suite.py b/test/easyconfigs/suite.py index c058d96f0c5..4218fcaa7b2 100644 --- a/test/easyconfigs/suite.py +++ b/test/easyconfigs/suite.py @@ -1,6 +1,6 @@ #!/usr/bin/python ## -# Copyright 2012-2023 Ghent University +# Copyright 2012-2024 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),